/* ================================================================ */
/* FUELS X - FEUILLE PRINCIPALE                                       */
/* Layout fixe 1200px - le responsive sera gere par des feuilles      */
/* complementaires (fuelsx_medium / _small / _tiny) generees apres    */
/* validation du design desktop.                                      */
/* ================================================================ */



/* --------------- POLICES --------------- */
/* Avenir LT Pro - 6 graisses x 2 styles (normal + italique).         */
/* Mapping CSS : Light=300, Book=400, Roman=450, Medium=500,          */
/* Heavy=700, Black=900.                                              */

@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProLight.otf') format('opentype');
	font-weight:300;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProLightOblique.otf') format('opentype');
	font-weight:300;
	font-style:italic;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProBook.otf') format('opentype');
	font-weight:400;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProBookOblique.otf') format('opentype');
	font-weight:400;
	font-style:italic;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProRoman.otf') format('opentype');
	font-weight:450;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProOblique.otf') format('opentype');
	font-weight:450;
	font-style:italic;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProMedium.otf') format('opentype');
	font-weight:500;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProMediumOblique.otf') format('opentype');
	font-weight:500;
	font-style:italic;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProHeavy.otf') format('opentype');
	font-weight:700;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProHeavyOblique.otf') format('opentype');
	font-weight:700;
	font-style:italic;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProBlack.otf') format('opentype');
	font-weight:900;
	font-style:normal;
	font-display:swap;
}
@font-face{
	font-family:'Avenir';
	src:url('fonts/AvenirLTProBlackOblique.otf') format('opentype');
	font-weight:900;
	font-style:italic;
	font-display:swap;
}



/* --------------- VARIABLES --------------- */

:root{
	--couleur_primaire:		#2f5d50;
	--couleur_secondaire:	#96a480;
	--couleur_texte:		#212d1d;
	--couleur_texte_clair:	#ffffff;
	--couleur_fond:			#e7e5e1;
	--couleur_fond_alt:		#ffffff;
	--couleur_bordure:		#96a480;
	--police_principale:	'Avenir', sans-serif;
}



/* --------------- RESET --------------- */

*{
	padding:0px;
	border:0px;
	margin:0px;
	box-sizing:border-box;
}



/* --------------- BALISES GENERIQUES --------------- */

html{
	width:100%;
	min-width:1200px;
	scroll-behavior: smooth;
}

body{
	font-family:var(--police_principale);
	font-weight:400;
	color:var(--couleur_texte);
	background:var(--couleur_fond);
	line-height:1.4;
}

h1, h2, h3, h4, h5, h6{
	font-family:var(--police_principale);
	font-weight:600;
	line-height:1.2;
}

p{
	margin:0;
}

a{
	color:inherit;
	text-decoration:none;
}

a:hover{
	text-decoration:none;
}

img{
	display:block;
	max-width:100%;
	height:auto;
	border:0;
}

ul, ol{
	list-style:none;
}



/* --------------- LAYOUT GLOBAL --------------- */

.main_width{
	width:1200px;
	margin:auto;
}

#wrapper{
}

#contenu{
}

#bandeau_info{
}



/* --------------- HEADER & NAVIGATION --------------- */

#en_tete{
	background:var(--couleur_fond);
	padding:28px 0;
	position:sticky;   /* reste visible en haut pendant le scroll de l'intro */
	top:0;
	z-index:10001;     /* toujours au-dessus de tout, y compris le fût 3D et le logo d'intro */
	transition:background 0.35s ease;
}

/* Fond transparent tant que l'intro est épinglée ; le fond apparaît en fondu */
/* quand la page commence vraiment à scroller (classe posée par baril3d.js) */
html.intro_epinglee #en_tete{
	background:transparent;
}

.en_tete_inner{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:40px;
}

.logo_lien{
	flex-shrink:0;
	display:inline-block;
}

.logo_lien img{
	display:block;
	height:55px;
	width:auto;
}

/* .burger sert de wrapper au menu (structure heritee).                */
/* En desktop il se comporte comme un simple conteneur en ligne.       */

.burger{
	display:flex;
	align-items:center;
}

.burger > ul{
	display:flex;
	align-items:center;
	gap:51px;
	margin:0;
	padding:0;
	list-style:none;
}

.burger > ul > li{
	margin:0;
	padding:0;
}

.burger > ul > li > a:not(.btn_principal){
	display:inline-block;
	font-family:var(--police_principale);
	font-weight:300;
	font-size:13px;
	letter-spacing:0.12em;
	text-transform:uppercase;
	color:var(--couleur_primaire);
	padding:8px 0;
	transition:opacity 0.2s ease;
}

.burger > ul > li > a:not(.btn_principal):hover{
	opacity:0.65;
}

/* Sous-menu deroulant (SECTORS) */

.burger > ul > li.a_sous_menu{
	position:relative;
}

.burger > ul > li.a_sous_menu > a::after{
	content:'';
	display:inline-block;
	margin-left:8px;
	margin-top: -5px;
	width:0;
	height:0;
	border-left:4px solid transparent;
	border-right:4px solid transparent;
	border-top:4px solid var(--couleur_secondaire);
	vertical-align:middle;
	transition:transform 0.2s ease;
}

.burger > ul > li.a_sous_menu:hover > a::after{
	transform:rotate(180deg);
}

.sous_menu{
	display:none;
	position:absolute;
	top:100%;
	left:50%;
	transform:translateX(-50%);
	min-width:200px;
	margin:0;
	padding:8px 0;
	background:var(--couleur_fond_alt);
	box-shadow:0 4px 16px rgba(0, 0, 0, 0.08);
	list-style:none;
	z-index:60;
}

.burger > ul > li.a_sous_menu:hover .sous_menu,
.burger > ul > li.a_sous_menu:focus-within .sous_menu{
	display:block;
}

.sous_menu li{
	margin:0;
	padding:0;
}

.sous_menu li a{
	display:block;
	padding:10px 20px;
	text-align:center;
	font-family:var(--police_principale);
	font-weight:500;
	font-size:12px;
	letter-spacing:0.12em;
	text-transform:uppercase;
	color:var(--couleur_primaire);
	transition:background 0.2s ease;
}

.sous_menu li a:hover{
	background:rgba(47, 93, 80, 0.08);
}

/* Icones burger : visibles uniquement en mobile (feuilles responsive) */

.menu-links{
	display:none;
}

/* Header sticky au scroll (fixedheader.js) */

#en_tete.fixed{
	position:fixed;
	top:0;
	left:0;
	right:0;
	background:var(--couleur_fond);
	box-shadow:0 2px 12px rgba(0, 0, 0, 0.08);
	padding:16px 0;
	z-index:100;
}


.choix_langues{
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10002;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 15px;
}

.langue_lien img{
	display: block;
	width: 20px;
	height: 13px;
	border-radius: 4px;
	object-fit: cover;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.langue_lien:hover img{
	opacity:1;
	transform:scale(1.12);
}



/* --------------- BOUTONS GENERIQUES --------------- */

.btn_principal{
	display:inline-block;
	background:var(--couleur_secondaire) url('images/arrow-right-white.svg') no-repeat right 29px top 17px;
	background-size:14px auto;
	color:var(--couleur_texte_clair);
	padding:14px 50px 14px 28px;
	font-family:var(--police_principale);
	font-weight:500;
	font-size:13px;
	letter-spacing:0.12em;
	text-transform:uppercase;
	clip-path:polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
	transition:opacity 0.2s ease;
}

.btn_principal:hover{
	opacity:0.85;
	color:var(--couleur_texte_clair);
}

.btn_contour{
	display:inline-block;
	background:var(--couleur_secondaire) url('images/arrow-right-white.svg') no-repeat right 22px center;
	background-size:14px auto;
	color:var(--couleur_texte_clair);
	padding:14px 50px 14px 28px;
	font-family:var(--police_principale);
	font-weight:500;
	font-size:13px;
	letter-spacing:0.12em;
	text-transform:uppercase;
	clip-path:polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
	transition:opacity 0.2s ease;
}

.btn_contour:hover{
	opacity:0.85;
	color:var(--couleur_texte_clair);
}

.btn_gamme{
}



/* --------------- COMPOSANTS PARTAGES --------------- */

.titre_hero{
}

.bandeau_arguments{
}

.bandeau_inner{
}


/* --- Popup de contact (mailform.php, ouverte par .btn_contact) --- */

#popup_contact{
	position:fixed;
	inset:0;
	z-index:10010;   /* au-dessus du header (10001) */
	display:flex;
	align-items:center;
	justify-content:center;
	opacity:0;
	transition:opacity 0.25s ease;
}

#popup_contact.visible{
	opacity:1;
}

#popup_contact[hidden]{
	display:none;   /* prime sur le display:flex ci-dessus */
}

#popup_contact .popup_fond{
	position:absolute;
	inset:0;
	background:rgba(33, 45, 29, 0.55);   /* --couleur_texte en voile */
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
	cursor:pointer;
}

#popup_contact .popup_boite{
	position:relative;
	display:flex;
	width:1020px;
	max-width:calc(100vw - 80px);
	max-height:calc(100vh - 80px);
	overflow:auto;
	background:var(--couleur_fond);
	box-shadow:0 30px 80px rgba(0, 0, 0, 0.35);
	transform:translateY(16px) scale(0.98);
	transition:transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

#popup_contact.visible .popup_boite{
	transform:translateY(0) scale(1);
}

#popup_contact .popup_fermer{
	position:absolute;
	top:16px;
	right:20px;
	border:0;
	background:none;
	font-size:36px;
	font-weight:300;
	line-height:1;
	color:var(--couleur_primaire);
	cursor:pointer;
	transition:transform 0.2s ease, opacity 0.2s ease;
}

#popup_contact .popup_fermer:hover{
	opacity:0.65;
	transform:rotate(90deg);
}

/* Panneau gauche : bloc vert foncé, bord droit biseauté (rappel du X) */
#popup_contact .popup_infos{
	flex:0 0 340px;
	background:var(--couleur_primaire);
	clip-path:polygon(0 0, 100% 0, calc(100% - 28px) 100%, 0 100%);
	padding:64px 68px 64px 44px;
	display:flex;
	flex-direction:column;
}

#popup_contact .popup_infos h2{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:38px;
	line-height:1.05;
	color:var(--couleur_texte_clair);
	margin:0 0 18px;
}

#popup_contact .popup_intro{
	font-size:15px;
	line-height:1.6;
	color:rgba(255, 255, 255, 0.85);
	margin:0 0 auto;
	padding-bottom:36px;
}

#popup_contact .popup_coordonnees{
	list-style:none;
	margin:0;
	padding:0;
}

#popup_contact .popup_coordonnees li{
	font-size:14px;
	line-height:1.6;
	color:rgba(255, 255, 255, 0.85);
	padding:12px 0;
	border-top:1px solid rgba(255, 255, 255, 0.18);
}

#popup_contact .popup_coordonnees a{
	color:var(--couleur_texte_clair);
	font-weight:600;
	transition:color 0.2s ease;
}

#popup_contact .popup_coordonnees a:hover{
	color:var(--couleur_secondaire);
}

#popup_contact .popup_formulaire{
	flex:1;
	display:flex;
	flex-wrap:wrap;
	gap:22px 24px;
	align-content:flex-start;
	padding:64px 56px 48px 40px;
}

#popup_contact .formulaire_champ{
	flex:0 0 calc(50% - 12px);
	display:flex;
	flex-direction:column;
	gap:7px;
}

#popup_contact .formulaire_champ_message{
	flex:0 0 100%;
}

#popup_contact .formulaire_champ label{
	font-family:var(--police_principale);
	font-weight:600;
	font-size:11px;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:var(--couleur_primaire);
}

#popup_contact .formulaire_champ input,
#popup_contact .formulaire_champ textarea{
	border:0;
	border-bottom:2px solid var(--couleur_bordure);
	background:transparent;
	padding:8px 2px 10px;
	font-family:var(--police_principale);
	font-size:15px;
	color:var(--couleur_texte);
	transition:border-color 0.25s ease;
}

#popup_contact .formulaire_champ input::placeholder,
#popup_contact .formulaire_champ textarea::placeholder{
	color:rgba(33, 45, 29, 0.35);
}

#popup_contact .formulaire_champ input:focus,
#popup_contact .formulaire_champ textarea:focus{
	outline:none;
	border-bottom-color:var(--couleur_primaire);
}

#popup_contact .formulaire_champ textarea{
	resize:vertical;
	min-height:96px;
	border:2px solid var(--couleur_bordure);
	padding:12px 14px;
	background:var(--couleur_fond_alt);
}

#popup_contact .formulaire_champ textarea:focus{
	border-color:var(--couleur_primaire);
}

#popup_contact .popup_formulaire .btn_principal{
	border:0;
	cursor:pointer;
	margin-left:auto;
	margin-top:6px;
}



/* ================================================================ */
/* PAGE HOME                                                          */
/* ================================================================ */

#home{
}


/* --- Section c1 : Hero --- */

/* Track : sa hauteur = durée d'épinglage (le scrub se joue dedans).
   Pas de z-index élevé : l'intro reste sous le header (header visible),
   c'est le canvas FIXE (hors flux) qui passe au-dessus de tout. */
#home .accueil_track{
	position:relative;
	/* 100vh (hauteur du hero épinglé) + ~scrub : l'intro se désépingle juste
	   après l'animation (≈1000px) -> plus de longue pause morte */
	height:calc(100vh + 1150px);
	/* Remonte le hero sous le header (transparent en haut de page) pour que
	   la vidéo occupe l'écran jusqu'au sommet : -111px = hauteur du header
	   (padding 28px x2 + logo 55px) */
	margin-top:-111px;
}

#home #accueil{
	position:sticky;   /* l'intro reste épinglée pendant que le scroll assemble le fût */
	top:0;             /* épinglée au sommet : le header transparent passe par-dessus */
	z-index:2;
	background:var(--couleur_fond) url('images/hero-background.svg') center top / 100% auto no-repeat;
	padding:141px 0 0; /* 111px (header) + 30px d'origine : le contenu garde sa place */
	min-height:780px;
	height:100vh;
	overflow:visible;
}

#home #accueil .main_width{
	position:relative;
	z-index:3;   /* texte au-dessus du fût plein-écran */
}

#home .hero_texte{
	text-align:center;
	position:relative;
	z-index:2;
	margin-top:50px;      /* h1 descendu de 50px */
	margin-bottom:-30px;
}

#home .hero_texte h1{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:108px;
	line-height:1;
	letter-spacing:-0.01em;
	color:var(--couleur_primaire);
	margin:0;
}

#home .hero_visuel{
	position:relative;
	height:560px;
	z-index:3;
}

/* Vidéo de fond full-width du hero (remplace les éclaboussures) */
#home .hero_video{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
	z-index:0;          /* fond : derrière le texte et le fût */
	pointer-events:none;
}

/* Fût 3D : couche FIXE plein-écran, au-dessus de tout (titre, argument, header) */
#home .hero_baril{
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	z-index:9999;
	display:block;
	pointer-events:none;   /* laisse passer les clics (menu, etc.) */
	background:#d4d6d8;     /* gris du « cul » du fût pendant le chargement (retiré en JS une fois prêt) */
}

/* Logo SVG d'intro, centré plein écran */
#hero-logo-intro{
	position:fixed;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:10000;
	pointer-events:none;
	will-change:opacity, transform;
}
#hero-logo-intro svg{
	width:360px;
	max-width:60vw;
	height:auto;
}

/* Animation d'intro du logo : tracé des contours puis remplissage des lettres */
#hero-logo-intro .logo_trait{
	fill:var(--couleur_secondaire);
	fill-opacity:0;
	stroke:var(--couleur_secondaire);
	stroke-width:1;
	stroke-dasharray:1;
	stroke-dashoffset:1;
	animation:logo_trace 1.1s ease-in-out forwards, logo_remplissage .8s ease-out forwards;
}
/* Délai global de 2 s avant le début du tracé (attente après le chargement) */
#hero-logo-intro .lettre_f{ animation-delay:2s, 2.8s; }
#hero-logo-intro .lettre_u{ animation-delay:2.12s, 2.92s; }
#hero-logo-intro .lettre_e{ animation-delay:2.24s, 3.04s; }
#hero-logo-intro .lettre_l{ animation-delay:2.36s, 3.16s; }
#hero-logo-intro .lettre_s{ animation-delay:2.48s, 3.28s; }
#hero-logo-intro .lettre_x{ animation-delay:2.7s, 3.5s; }
@keyframes logo_trace{
	to{ stroke-dashoffset:0; }
}
@keyframes logo_remplissage{
	to{ fill-opacity:1; }
}
@media (prefers-reduced-motion: reduce){
	#hero-logo-intro .logo_trait{
		animation:none;
		fill-opacity:1;
		stroke:none;
	}
}

/* Indicateur de scroll animé (bas de la 1re frame) */
#hero-scroll-hint{
	position:fixed;
	left:50%;
	bottom:34px;
	transform:translateX(-50%);
	z-index:10000;
	pointer-events:none;
}
#hero-scroll-hint .mouse{
	display:block;
	width:26px;
	height:42px;
	border:2px solid var(--couleur_primaire);
	border-radius:14px;
	position:relative;
}
#hero-scroll-hint .mouse::before{
	content:"";
	position:absolute;
	left:50%;
	top:7px;
	width:4px;
	height:8px;
	margin-left:-2px;
	border-radius:2px;
	background:var(--couleur_primaire);
	animation:scrollWheel 1.6s ease-in-out infinite;
}
@keyframes scrollWheel{
	0%{ opacity:0; transform:translateY(0); }
	25%{ opacity:1; }
	60%{ opacity:1; transform:translateY(13px); }
	100%{ opacity:0; transform:translateY(13px); }
}
@media (prefers-reduced-motion: reduce){
	#hero-scroll-hint .mouse::before{ animation:none; }
}

#home .hero_argument{
	position: absolute;
    left: 50%;
    top: 509px;
    margin-left: 235px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 430px;
    z-index: 3;
}

#home .hero_argument img{
	width: 34px;
    height: 36px;
    margin-top: 0px;
    flex-shrink: 0;
}

#home .hero_argument p{
	font-family:var(--police_principale);
	font-weight:400;
	font-size:14px;
	line-height:1.4;
	color:var(--couleur_texte);
	margin:0;
}

#home .hero_argument p .title{
	display: block;
    font-weight: 600;
}

#home .hero_argument::before {
	content: "";
	position: absolute;
	right: 97%;
	top: -57px;
	width: 150px;
	height: 2px;
	background: var(--couleur_secondaire);
	margin-right: 16px;
	transform: rotate(28deg);
}

#home .hero_argument::after {
    content: "";
    position: absolute;
    right: 1px;
    top: -22px;
    width: 103%;
    height: 2px;
    background: var(--couleur_secondaire);
}

/* --- Variante "Innovation" : à gauche du fût et plus haut que "Vision" --- */

#home .hero_argument_innovation{
	left: auto;
	right: 50%;
	margin-left: 0;
	margin-right: 235px;
	top: 280px;
}

#home .hero_argument_innovation::before{
	right: auto;
	left: 97%;
	margin-right: 0;
	margin-left: 16px;
	transform: rotate(209deg);
	top: 14px;
	width: 150px;
}

#home .hero_argument_innovation::after{
	right:auto;
	left:1px;
}


/* --- Section c2 : Bandeau d'arguments --- */

#home #arguments{
	position:relative;
	z-index:4;   /* passe au-dessus du fût quand il s'efface (mais reste sous le header z50) */
	background:var(--couleur_secondaire);
	padding:24px 0;
	margin-top:-30px;
	transform:skewY(-3deg);
}

#home #arguments .main_width{
	display:flex;
	justify-content:space-between;
	align-items:center;
}

#home #arguments .argument_item{
	font-family:var(--police_principale);
	font-weight:500;
	font-style:italic;
	font-size:17px;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:var(--couleur_texte_clair);
	margin:0;
	position: relative;
}

#home #arguments .argument_item+.argument_item:after{
	content: '/';
    position: absolute;
    left: -52px;
    color: #fff;
    opacity: 0.6;
    font-size: 35px;
    top: -10px;
}


/* --- Section c3 : Technology --- */

#home #technology{
	position: relative;
    padding: 196px 0 186px;
    margin-top: -50px;
    background: var(--couleur_fond);
    overflow: hidden;
    width: 100%;
	margin-bottom: 100px;
}

#home #technology .main_width{
	position:relative;
	display:flex;
	gap:70px;
	align-items:center;
}

#home #technology .technology_texte{
	flex:0 0 560px;
	position:relative;
	z-index:2;
}

#home #technology .technology_texte h2{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:32px;
	line-height:1.2;
	color:var(--couleur_primaire);
	margin:50px 0 24px;
	position: relative;
}

#home #technology .technology_texte h2:after{
	content: '';
	position: absolute;
	left: 0;
	top: -34px;
	width: 91px;
	height: 40px;
	background-image: url(images/logo-fuelsx.svg);
	background-position: left top;
	background-size: contain;
	background-repeat: no-repeat;
}

#home #technology .technology_texte p{
	font-size:15px;
	line-height:1.6;
	color:var(--couleur_texte);
	margin:0 0 16px;
}

#home #technology .technology_texte .chiffre_cle{
	font-family:var(--police_principale);
	font-style:italic;
	font-weight:900;
	font-size:18px;
	text-transform:uppercase;
	letter-spacing:0.04em;
	color:var(--couleur_primaire);
	margin:28px 0 16px;
}

#home #technology .technology_texte .btn_contour{
	margin-top:24px;
}

#home #technology .technology_visuel{
	position: absolute;
    top: -187px;
    right: -546px;
    width: 954px;
    height: auto;
    z-index: 1;
}

/* Fenêtre en forme de X (mask) : la photo pleine défile à l'intérieur (xparallax.js) */
#home #technology .technology_visuel_x{
	position:relative;
	z-index:1;
	width:100%;
	aspect-ratio:1054 / 964;   /* même emprise que l'ancienne image découpée */
	-webkit-mask:url('images/x-mask.svg') center / contain no-repeat;
	mask:url('images/x-mask.svg') center / contain no-repeat;
	overflow:hidden;
}

#home #technology .x_parallax_photo{
	display:block;
	width:100%;
	height:160%;               /* 60% plus haute que le X = grande réserve de défilement */
	object-fit:cover;
	will-change:transform;
}

#home #technology .technology_visuel_deco{
	position: absolute;
    top: -43px;
    left: -8px;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}


/* --- Section c4 : Visuel rallye --- */

#home #visuel_rallye{
	padding:30px 0;
	background:var(--couleur_fond);
	overflow:hidden;
}

#home #visuel_rallye img{
	display:block;
	width:100%;
	height:auto;
}

#home #galerie {
	display: flex;
    width: 100%;
    height: 546px;
    margin: 40px 0 50px;
    background-image: url(images/voiture-rallye.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    position: relative;
    clip-path: polygon(0 80px, 100% 0, 100% calc(100% - 80px), 0 100%);
    overflow: hidden;
}

#home .galerie_slide {
	flex: 1;
	height: 100%;
	position: relative;
}

#home .galerie_slide:not(:last-child)::after {
	content: "";
	position: absolute;
	top: -40px;
	right: -16px;
	width: 32px;
	height: calc(100% + 80px);
	background: var(--couleur_fond);
	transform: skewX(-12deg);
	z-index: 2;
}


/* --- Section c5 : Performances --- */

#home #performances{
	padding:80px 0;
	background:var(--couleur_fond);
}

#home #performances .main_width{
	display: flex;
    gap: 80px;
    align-items: flex-start;
    justify-content: center;
}

#home #performances .performances_intro{
	flex:0 0 360px;
	position: relative;
    top: 60px;
}

#home #performances .performances_intro h2{
	font-family:var(--police_principale);
	font-weight:800;
	font-style:italic;
	font-size:30px;
	line-height:1.2;
	color:var(--couleur_primaire);
	margin:0 0 20px;
}

#home #performances .performances_intro p{
	font-size:15px;
	line-height:1.6;
	color:var(--couleur_texte);
	margin:0 0 28px;
}

#home #performances .performances_blocs{
	flex:1;
	max-width: 600px;
}

#home #performances .performance_carte{
	padding:24px 0;
	border-bottom:1px solid var(--couleur_bordure);
	margin:0;
}

#home #performances .performance_carte:first-child{
	padding-top:0;
}

#home #performances .performance_carte:last-child{
	border-bottom:none;
}

#home #performances .performance_entete{
	display:flex;
	align-items:center;
	gap:14px;
	margin-bottom:10px;
}

#home #performances .performance_entete img{
	flex-shrink:0;
	width:24px;
	height:auto;
}

#home #performances .performance_entete h3{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:17px;
	color:var(--couleur_texte);
	margin:0;
}

#home #performances .performance_carte p{
	font-size:14px;
	line-height:1.55;
	color:var(--couleur_texte);
	margin:0;
}


/* --- Section c5 (variante) : Plateforme technologique modulaire / timeline --- */

#home #performances.c5_techno .main_width{
	display:block;
}

#home #performances.c5_techno .performances_intro{
	flex:none;
	max-width:760px;
	margin:0 auto 50px;
	position:static;
	top:0;
	text-align:center;
}

#home #performances.c5_techno .performances_intro p{
	margin:0;
}

#home #performances.c5_techno .performances_blocs{
	max-width:none;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:80px;
	position:relative;
}

/* ligne diagonale du timeline */
#home #performances.c5_techno .performances_blocs::before{
	content:"";
	position:absolute;
	top:118px;
	left:-30px;
	right:-30px;
	height:1.5px;
	background:var(--couleur_primaire);
	transform:rotate(350deg);
	transform-origin:center;
	z-index:1;
}

/* pointe de fleche a droite */
#home #performances.c5_techno .performances_blocs::after{
	content: "";
    position: absolute;
    top: 2px;
    right: -29px;
    width: 12px;
    height: 12px;
    border-top: 2px solid var(--couleur_primaire);
    border-right: 2px solid var(--couleur_primaire);
    transform: rotate(35deg);
    z-index: 1;
}

#home #performances.c5_techno .performance_carte{
	padding:0;
	border:none;
	margin:0;
	position:relative;
	z-index:2;
	text-align:left;
}

/* decalage vertical : MTG plus bas que MTD */
#home #performances.c5_techno .performance_carte:first-child{
	margin-top:120px;
}

#home #performances.c5_techno .performance_entete{
	flex-direction:column;
	align-items:center;
	gap:0;
	margin-bottom:22px;
}

/* pastille ronde verte contenant le becher blanc */
#home #performances.c5_techno .performance_entete img{
	width:56px;
	height:56px;
	padding:26px;
	box-sizing:content-box;
	background:var(--couleur_primaire);
	border-radius:50%;
	margin-bottom:26px;
}

#home #performances.c5_techno .performance_entete .small{
	font-size:15px;
	font-weight:700;
	color:var(--couleur_texte);
	text-align:center;
	margin-bottom:4px;
}

#home #performances.c5_techno .performance_entete h3{
	font-size:30px;
	font-weight:800;
	font-style:italic;
	color:var(--couleur_primaire);
	text-align:center;
	margin:0;
}

#home #performances.c5_techno .performance_carte p{
	font-size:15px;
	line-height:1.6;
}

/* secteurs : E-Diesel / Marine Fuel / E-Saf avec icones */
#home #performances.c5_techno .secteurs{
	display:flex;
	gap:48px;
	margin-top:26px;
	justify-content: center;
}

#home #performances.c5_techno .secteur{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:12px;
	font-size:15px;
	font-weight:700;
	color:var(--couleur_texte);
}

#home #performances.c5_techno .secteur img{
	height:30px;
	width:auto;
}


/* --- Section c6 : Sectors --- */

#home #sectors{
	position: relative;
    padding: 900px 0 0;
    margin-top: -250px;
    transform: scaleX(-1);
}

#home #sectors .sectors_fond{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:1;
}

#home #sectors .sectors_fond img{
	width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

#home #sectors .main_width{
	position:relative;
	z-index:2;
	top: 50px;
}

#home #sectors .sectors_carrousel{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:24px;
}

#home #sectors .gamme_carte{
	flex:1;
	max-width:300px;
	background:var(--couleur_fond_alt);
	padding:25px 30px;
	text-align:center;
	box-shadow:0 4px 24px rgba(0, 0, 0, 0.1);
	border: 2px solid var(--couleur_bordure);
}

#home #sectors .gamme_carte:nth-child(2){
	transform: scale(1.3);
}

#home #sectors .gamme_carte h3{
	margin:0 0 45px;
}

#home #sectors .gamme_carte h3 img{
	display:block;
	margin:0 auto;
	width:auto;
	max-width:170px;
	height:auto;
}

#home #sectors .gamme_carte .gamme_baseline{
	font-weight: 700;
    font-size: 15px;
    color: var(--couleur_texte);
    margin: 0 0 10px;
    letter-spacing: 0.04em;
}

#home #sectors .gamme_carte p:last-child{
	font-size:13px;
	line-height:1.5;
	color:var(--couleur_texte);
	margin:0;
}



/* ================================================================ */
/* PAGE IMPACT                                                        */
/* ================================================================ */

/* --- Section c1 : Hero --- */

#impact #impact_hero{
	background:var(--couleur_fond) url('images/hero-background.svg') center top / 100% auto no-repeat;
	padding:110px 0 90px;
}

#impact #impact_hero .impact_surtitre{
	font-family:var(--police_principale);
	font-weight:600;
	font-size:13px;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--couleur_secondaire);
	margin:0 0 18px;
}

#impact #impact_hero h1{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:72px;
	line-height:1.05;
	letter-spacing:-0.01em;
	color:var(--couleur_primaire);
	margin:0 0 28px;
}

#impact #impact_hero .impact_chapeau{
	font-size:17px;
	line-height:1.6;
	color:var(--couleur_texte);
	max-width:640px;
	margin:0;
}

/* --- Section c2 : Grille des 4 impacts --- */

#impact #impact_liste{
	padding:40px 0 120px;
}

#impact .impact_grille{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:70px 90px;
}

#impact .impact_carte{
	position:relative;
	border-top:1.5px solid var(--couleur_secondaire);
	padding-top:26px;
}

/* biseau décoratif sur le filet supérieur (rappel des boutons et du X) */
#impact .impact_carte::before{
	content:"";
	position:absolute;
	top:-1.5px;
	left:0;
	width:56px;
	height:5px;
	background:var(--couleur_secondaire);
	clip-path:polygon(0 0, 100% 0, calc(100% - 5px) 100%, 0 100%);
}

#impact .impact_numero{
	display:block;
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:58px;
	line-height:1;
	color:var(--couleur_secondaire);
	opacity:0.35;
	margin-bottom:10px;
}

#impact .impact_carte h2{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:26px;
	line-height:1.2;
	color:var(--couleur_primaire);
	margin:0 0 14px;
}

#impact .impact_carte p{
	font-size:15px;
	line-height:1.6;
	color:var(--couleur_texte);
	margin:0;
}

/* --- Section c3 : Bandeau CTA --- */

#impact #impact_cta{
	position: relative;
	background: var(--couleur_primaire);
	padding: 120px 0 231px;
	transform: skewY(-3deg);
	margin: 40px 0 -100px;
	overflow: hidden;
}

/* photo d'autoroute contre-inclinée (droite à l'écran) et débordante */
#impact #impact_cta::before{
	content:"";
	position:absolute;
	inset:-100px 0;
	background:url('images/deco-full-background.jpg') center / cover no-repeat;
	transform:skewY(3deg);
}

/* voile vert pour la lisibilité, plus dense côté texte */
#impact #impact_cta::after{
	content:"";
	position:absolute;
	inset:0;
	background: linear-gradient(90deg, rgba(47, 93, 80, 0.55) 0%, rgba(47, 93, 80, 0.45) 55%, rgba(47, 93, 80, 0.15) 100%);
}

#impact #impact_cta .main_width{
	position:relative;
	z-index:1;               /* au-dessus de la photo et du voile */
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:40px;
	transform:skewY(3deg);   /* annule l'inclinaison pour le contenu */
}

#impact #impact_cta .impact_cta_texte{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:30px;
	line-height:1.2;
	text-transform:uppercase;
	color:var(--couleur_texte_clair);
	margin:0;
}



/* ================================================================ */
/* PAGE MARCHES                                                       */
/* ================================================================ */

/* --- Section c1 : Hero --- */

#marches #marches_hero{
	background:var(--couleur_fond) url('images/hero-background.svg') center top / 100% auto no-repeat;
	padding:110px 0 90px;
}

#marches #marches_hero .marches_surtitre{
	font-family:var(--police_principale);
	font-weight:600;
	font-size:13px;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--couleur_secondaire);
	margin:0 0 18px;
}

#marches #marches_hero h1{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:72px;
	line-height:1.05;
	letter-spacing:-0.01em;
	color:var(--couleur_primaire);
	margin:0 0 28px;
}

#marches #marches_hero .marches_chapeau{
	font-size:17px;
	line-height:1.6;
	color:var(--couleur_texte);
	max-width:640px;
	margin:0;
}

/* --- Section c2 : Liste éditoriale des marchés --- */

#marches #marches_liste{
	padding:20px 0 120px;
}

#marches .marches_lignes{
	list-style:none;
	margin:0;
	padding:0;
	border-bottom:1.5px solid var(--couleur_secondaire);
}

#marches .marche_ligne{
	position:relative;
	display:flex;
	align-items:baseline;
	gap:36px;
	border-top:1.5px solid var(--couleur_secondaire);
	padding:26px 28px;
	overflow:hidden;
}

/* fond biseauté qui balaye la ligne au survol */
#marches .marche_ligne::before{
	content:"";
	position:absolute;
	inset:0;
	background:var(--couleur_secondaire);
	clip-path:polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
	transform:translateX(-102%);
	transition:transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

#marches .marche_ligne:hover::before{
	transform:translateX(0);
}

#marches .marche_numero{
	position:relative;
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:22px;
	color:var(--couleur_secondaire);
	opacity:0.6;
	flex-shrink:0;
	transition:color 0.25s ease, opacity 0.25s ease;
}

#marches .marche_nom{
	position:relative;
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:42px;
	line-height:1.1;
	letter-spacing:0.01em;
	text-transform:uppercase;
	color:var(--couleur_primaire);
	margin:0;
	transition:color 0.25s ease, transform 0.25s ease;
}

#marches .marche_ligne:hover .marche_numero{
	color:var(--couleur_texte_clair);
	opacity:0.8;
}

#marches .marche_ligne:hover .marche_nom{
	color:var(--couleur_texte_clair);
	transform:translateX(10px);
}

/* --- Section c3 : Stratégie d'entrée sur le marché (2 panneaux) --- */

#marches #marches_strategie{
	padding:0 0 120px;
}

#marches .strategie_intro{
	max-width:640px;
	margin-bottom:50px;
}

#marches .strategie_intro h2{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:32px;
	line-height:1.2;
	color:var(--couleur_primaire);
	margin:0 0 16px;
}

#marches .strategie_intro p{
	font-size:15px;
	line-height:1.6;
	color:var(--couleur_texte);
	margin:0;
}

#marches .strategie_grille{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px;
}

#marches .strategie_bloc{
	padding:48px 44px;
	clip-path:polygon(24px 0, 100% 0, calc(100% - 24px) 100%, 0 100%);   /* biseau de la charte */
	display:flex;
	flex-direction:column;
}

/* panneau prioritaire : vert foncé, texte clair */
#marches .strategie_prioritaires{
	background:var(--couleur_primaire);
}

#marches .strategie_prioritaires h3,
#marches .strategie_prioritaires h4,
#marches .strategie_prioritaires li,
#marches .strategie_prioritaires .strategie_leviers{
	color:var(--couleur_texte_clair);
}

#marches .strategie_prioritaires h4{
	color:var(--couleur_secondaire);
}

#marches .strategie_prioritaires li::before{
	background:var(--couleur_secondaire);
}

#marches .strategie_prioritaires .strategie_leviers{
	border-top:1px solid rgba(255, 255, 255, 0.25);
}

/* panneau validation : fond clair, filets verts */
#marches .strategie_validation{
	background:var(--couleur_fond_alt);
	border:1.5px solid var(--couleur_bordure);
}

#marches .strategie_bloc h3{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:24px;
	line-height:1.2;
	color:var(--couleur_primaire);
	margin:0 0 28px;
}

#marches .strategie_bloc.strategie_prioritaires h3{
	color:#fff;
}

#marches .strategie_groupe{
	margin-bottom:26px;
}

#marches .strategie_bloc h4{
	font-family:var(--police_principale);
	font-weight:600;
	font-size:12px;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:var(--couleur_primaire);
	margin:0 0 12px;
}

#marches .strategie_bloc.strategie_prioritaires h4{
	color:#fff;
}

#marches .strategie_bloc ul{
	list-style:none;
	margin:0;
	padding:0;
}

#marches .strategie_bloc li{
	position:relative;
	font-size:14px;
	line-height:1.5;
	color:var(--couleur_texte);
	padding:4px 0 4px 22px;
}

#marches .strategie_bloc.strategie_prioritaires li{
	color:#fff;
}

/* tiret biseauté devant chaque item */
#marches .strategie_bloc li::before{
	content:"";
	position:absolute;
	left:0;
	top:12px;
	width:12px;
	height:3px;
	background:var(--couleur_primaire);
	clip-path:polygon(3px 0, 100% 0, calc(100% - 3px) 100%, 0 100%);
}

#marches .strategie_bloc.strategie_prioritaires li::before{
	background:#fff;
}

#marches .strategie_leviers{
	margin:auto 0 0;
	padding-top:22px;
	border-top:1px solid var(--couleur_bordure);
	font-size:13px;
	line-height:1.6;
	color:var(--couleur_texte);
}

#marches .strategie_leviers strong{
	font-weight:700;
}

/* --- Section c4 : Bandeau CTA (même recette que la page impact) --- */

#marches #marches_cta{
	position:relative;
	background:var(--couleur_primaire);
	padding:120px 0 231px;
	transform:skewY(-3deg);
	margin:40px 0 -100px;
	overflow:hidden;
}

#marches #marches_cta::before{
	content:"";
	position:absolute;
	inset:-100px 0;
	background:url('images/deco-full-background.jpg') center / cover no-repeat;
	transform:skewY(3deg);
}

#marches #marches_cta::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(47, 93, 80, 0.55) 0%, rgba(47, 93, 80, 0.45) 55%, rgba(47, 93, 80, 0.15) 100%);
}

#marches #marches_cta .main_width{
	position:relative;
	z-index:1;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:40px;
	transform:skewY(3deg);
}

#marches #marches_cta .marches_cta_texte{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:30px;
	line-height:1.2;
	text-transform:uppercase;
	color:var(--couleur_texte_clair);
	margin:0;
}



/* ================================================================ */
/* PAGE NEWS                                                          */
/* ================================================================ */

/* --- Section c1 (liste) : Hero --- */

#news #news_hero{
	background:var(--couleur_fond) url('images/hero-background.svg') center top / 100% auto no-repeat;
	padding:110px 0 70px;
}

#news #news_hero .news_surtitre{
	font-family:var(--police_principale);
	font-weight:600;
	font-size:13px;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--couleur_secondaire);
	margin:0 0 18px;
}

#news #news_hero h1{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:72px;
	line-height:1.05;
	letter-spacing:-0.01em;
	color:var(--couleur_primaire);
	margin:0;
}

/* --- Section c2 (liste) : Grille des news --- */

#news #news_liste{
	padding:30px 0 120px;
}

#news .news_vide{
	font-size:16px;
	color:var(--couleur_texte);
}

#news .news_grille{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:50px 40px;
}

#news .news_carte{
	display:flex;
	flex-direction:column;
	background:var(--couleur_fond_alt);
	transition:transform 0.3s ease, box-shadow 0.3s ease;
}

#news .news_carte:hover{
	transform:translateY(-6px);
	box-shadow:0 18px 40px rgba(33, 45, 29, 0.15);
}

#news .carte_image{
	display:block;
	overflow:hidden;
	aspect-ratio:16 / 10;
}

#news .carte_image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 0.4s ease;
}

#news .news_carte:hover .carte_image img{
	transform:scale(1.05);
}

#news .carte_contenu{
	display:flex;
	flex-direction:column;
	flex:1;
	padding:24px 26px 28px;
}

#news .carte_meta{
	font-size:12px;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:var(--couleur_secondaire);
	margin-bottom:12px;
}

#news .carte_titre{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:21px;
	line-height:1.25;
	color:var(--couleur_primaire);
	margin:0 0 12px;
}

#news .carte_resume{
	font-size:14px;
	line-height:1.6;
	color:var(--couleur_texte);
	margin-bottom:20px;
}

/* faux bouton en bas de carte (la carte entière est cliquable) */
#news .carte_bouton{
	display:inline-block;
	align-self:flex-start;
	margin-top:auto;
	background:var(--couleur_secondaire) url('images/arrow-right-white.svg') no-repeat right 20px center;
	background-size:12px auto;
	color:var(--couleur_texte_clair);
	padding:10px 44px 10px 20px;
	font-weight:500;
	font-size:12px;
	letter-spacing:0.12em;
	text-transform:uppercase;
	clip-path:polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	transition:opacity 0.2s ease;
}

#news .news_carte:hover .carte_bouton{
	opacity:0.85;
}

/* --- Section c1 (article) : Article seul --- */

#news #news_article{
	background:var(--couleur_fond) url('images/hero-background.svg') center top / 100% auto no-repeat;
	padding:90px 0 100px;
}

#news .article_entete{
	max-width:820px;
	margin:0 auto 40px;
}

#news .article_retour{
	display:inline-block;
	font-size:12px;
	font-weight:600;
	letter-spacing:0.12em;
	text-transform:uppercase;
	color:var(--couleur_secondaire);
	margin-bottom:26px;
	transition:opacity 0.2s ease;
}

#news .article_retour::before{
	content:"\2190\00a0\00a0";
}

#news .article_retour:hover{
	opacity:0.65;
}

#news .article_meta{
	font-size:13px;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:var(--couleur_secondaire);
	margin:0 0 16px;
}

#news .article_entete h1{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:46px;
	line-height:1.12;
	color:var(--couleur_primaire);
	margin:0;
}

#news .article_photo{
	max-width:1020px;
	margin:0 auto 50px;
}

#news .article_photo img{
	display:block;
	width:100%;
	height:auto;
	clip-path:polygon(24px 0, 100% 0, calc(100% - 24px) 100%, 0 100%);   /* biseau de la charte */
}

#news .article_contenu{
	max-width:820px;
	margin:0 auto;
	font-size:16px;
	line-height:1.75;
	color:var(--couleur_texte);
}

#news .article_contenu p{
	margin:0 0 22px;
}

#news .article_contenu h2,
#news .article_contenu h3{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	color:var(--couleur_primaire);
	line-height:1.25;
	margin:40px 0 16px;
}

#news .article_contenu h2{ font-size:28px; }
#news .article_contenu h3{ font-size:22px; }

#news .article_contenu a{
	color:var(--couleur_primaire);
	font-weight:600;
	text-decoration:underline;
}

#news .article_contenu ul,
#news .article_contenu ol{
	margin:0 0 22px;
	padding-left:24px;
}

/* --- Galerie de photos secondaires (PhotoSwipe) --- */

#news .article_galerie{
	max-width:820px;
	margin:50px auto 0;
}

#news .demo-gallery{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:14px;
}

#news .galerie_item{
	display:block;
	position:relative;
	overflow:hidden;
	aspect-ratio:4 / 3;
}

#news .galerie_item img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 0.35s ease;
}

#news .galerie_item:hover img{
	transform:scale(1.07);
}

/* --- PDF attachés --- */

#news .article_pdfs{
	max-width:820px;
	margin:50px auto 0;
	display:flex;
	flex-wrap:wrap;
	gap:24px;
}

#news .pdf_item{
	display:flex;
	flex-direction:column;
	gap:10px;
	width:140px;
	font-size:13px;
	line-height:1.4;
	color:var(--couleur_texte);
	transition:opacity 0.2s ease;
}

#news .pdf_item:hover{
	opacity:0.75;
}

#news .pdf_item img{
	display:block;
	width:100%;
	height:auto;
	border:1px solid var(--couleur_bordure);
}

/* --- Navigation précédent / liste / suivant --- */

#news .article_navigation{
	max-width:820px;
	margin:70px auto 0;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:20px;
	border-top:1.5px solid var(--couleur_secondaire);
	padding-top:26px;
}

#news .article_navigation a{
	font-size:13px;
	font-weight:600;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color:var(--couleur_primaire);
	transition:opacity 0.2s ease;
}

#news .article_navigation a:hover{
	opacity:0.65;
}

#news .nav_precedent::before{ content:"\2190\00a0\00a0"; }
#news .nav_suivant::after{ content:"\00a0\00a0\2192"; }

#news .nav_vide{
	visibility:hidden;
}

/* --- Section c2 (article) : Articles liés --- */

#news #articles_lies{
	padding:80px 0 120px;
}

#news #articles_lies h2{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:32px;
	color:var(--couleur_primaire);
	margin:0 0 36px;
}

#news .lies_grille{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:40px;
}

#news .lie_carte{
	display:flex;
	flex-direction:column;
	gap:14px;
}

#news .lie_carte img{
	display:block;
	width:100%;
	aspect-ratio:16 / 10;
	object-fit:cover;
	transition:transform 0.3s ease;
}

#news .lie_carte:hover img{
	transform:scale(1.03);
}

#news .lie_titre{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:18px;
	line-height:1.3;
	color:var(--couleur_primaire);
	transition:opacity 0.2s ease;
}

#news .lie_carte:hover .lie_titre{
	opacity:0.7;
}



/* --------------- FOOTER --------------- */

#pied_de_page{
	position:relative;
	margin-top:0;
	padding:50px 0 30px;
	background-color: var(--couleur_secondaire);
}

#pied_de_page .pied_fond{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:auto;
	min-height:100%;
	z-index:1;
	object-fit:fill;
}

#pied_de_page .pied_inner{
	position: relative;
    z-index: 2;
    display: flex;
    gap: 60px;
    background-image: url(images/footer-background.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 100px 200px;
    width: 100%;
    max-width: 1700px;
    box-sizing: border-box;
	align-items: flex-start;
    justify-content: center;
}

#pied_de_page .pied_identite{
	flex:0 0 360px;
	align-items:center;
	margin-right: 100px;
}

#pied_de_page .pied_logo_lien{
	display:block;
}

#pied_de_page .pied_logo{
	display:block;
	width:360px;
	height:auto;
}

#pied_de_page .pied_col{
	flex:1;
	max-width:170px;
	color:var(--couleur_texte_clair);
}

#pied_de_page .pied_titre_col{
	font-family: var(--police_principale);
    font-weight: 900;
    font-style: italic;
    font-size: 18px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--couleur_texte_clair);
    margin: 0 0 11px;
    opacity: 0.7;
}

#pied_de_page .pied_col p,
#pied_de_page .pied_col a{
	color:var(--couleur_texte_clair);
	font-family:var(--police_principale);
	font-weight:400;
	font-size:15px;
	line-height:1.6;
	margin:0;
	text-decoration:none;
	transition:opacity 0.2s ease;
}

#pied_de_page .pied_col a:hover{
	opacity:0.7;
}

#pied_de_page .pied_col_contact .pied_nom_contact{
	margin-bottom:2px;
}

#pied_de_page .pied_col_contact .pied_adresse{
	margin-top:6px;
}

#pied_de_page .pied_col_contact .pied_responsable{
	margin-top:18px;
}

#pied_de_page .pied_col_contact .pied_responsable strong{
	font-weight:700;
	font-size: 18px;
}

#pied_de_page .pied_liste{
	list-style:none;
	margin:0;
	padding:0;
}

#pied_de_page .pied_liste li{
	margin:0 0 6px;
}

#pied_de_page .reseaux_sociaux{
	display:flex;
	gap:12px;
	margin:0;
	padding:0;
	list-style:none;
}

#pied_de_page .reseau_lien{
	display:inline-block;
	width:32px;
	height:32px;
	transition:opacity 0.2s ease;
}

#pied_de_page .reseau_lien:hover{
	opacity:0.7;
}

#pied_de_page .reseau_lien img{
	display:block;
	width:100%;
	height:auto;
}

/* Pied bas : mentions legales + credit Defaweux */

#pied_de_page p.copyright{
color:#fff;
text-align:center;
font-size:14px;
margin-top:30px;
padding-bottom:15px;
margin-bottom:0px;
}

#pied_de_page p.copyright a{
color:#fff;
text-decoration:underline;
}

#pied_de_page p.copyright+a{
width: 100px;
display: block;
margin: 0 auto;
padding-bottom: 30px;
}

#pied_de_page p.copyright+a img{
width: 100%;
height: auto;
opacity: 0.4;
}


/* ================================================================ */
/* PAGE 404                                                           */
/* ================================================================ */

#e404{
	background:var(--couleur_fond) url('images/hero-background.svg') center top / 100% auto no-repeat;
	padding:160px 0 220px;
	text-align:center;
}

#e404 h1{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:72px;
	line-height:1.05;
	color:var(--couleur_primaire);
	margin:0 0 18px;
}

#e404 p{
	font-size:17px;
	line-height:1.6;
	color:var(--couleur_texte);
	margin:0;
}


/* ***** Mentions légales ***** */


#legal{
text-align:center;
text-align:center;
padding-top:50px;
margin-bottom: 70px;
}


#legal h1{
text-align:center;
background-position:bottom center;
margin-bottom:73px;
}

#legal h2{
background-position: 0px 7px;
position: relative;
bottom: 0px;
margin-top: 14px;
margin-bottom: 14px;
font-size:28px;
line-height:30px;
background-position: bottom left;
padding-bottom: 7px;
}

#legal h3{
line-height:23px!important;
padding-bottom: 6px!important;
}

#legal p{
margin-bottom:5px;
}

#legal p span{
display:inline-block;
vertical-align:top;
width:166px;
text-decoration:underline;
}

#legal .c0{
width:600px;
text-align:left;
display:inline-block;
vertical-align:top;
border:1px solid #c0c0c0;
text-align:left;
padding:1%;
margin-bottom:30px;
background-color:white;
border-radius:13px;
}

#legal .c1{
display:inline-block;
vertical-align:top;
width:36%;
margin-right:6%;
padding:1%;
border:1px solid #c0c0c0;
text-align:left;
margin-bottom:30px;
min-height:262px;
background-color:white;
border-radius:13px;
}

#legal .c1.last{
margin-right:0px;
}

#legal .c1 p{
margin-bottom:8px;
font-size:13px;
line-height:22px;
}

#legal .c2{
width:36%;
padding:1%;
margin-right:4%;
text-align:left;
display:inline-block;
vertical-align:top;
border:1px solid #c0c0c0;
margin-bottom:30px;
height:600px;
overflow:auto;
padding-bottom:30px;
background-color:white;
border-radius:13px;
}

#legal .c2 h3{

}

#legal .c2 h4{

}

#legal .c2 p{
margin-bottom:8px;
font-size:13px;
line-height:22px;
}

#legal .c2 ul li{
margin-bottom:5px;
font-size:13px;
line-height:22px;
padding-left:15px;
list-style-type:none;
}

#legal .c2 ul ul li{
padding-left:30px;
}

#legal .c2.last{
margin-right:0px;
}