@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;
}


: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;
}


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


html{
	width:100%;
	min-width:0;
	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;
}


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

#wrapper{
}

#contenu{
}

#bandeau_info{
}


#heading{
	background:var(--couleur_primaire);
	color:var(--couleur_texte_clair);
	text-align:center;
	padding:10px 40px;
	font-size:14px;
	line-height:1.4;
}

#heading p{
	margin:0;
}

#heading a{
	color:inherit;
	text-decoration:underline;
}


#en_tete{
	background:var(--couleur_fond);
	padding:28px 0;
	position:sticky;
	top:0;
	z-index:10001;
	transition:background 0.35s ease;
}


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{
	display:flex;
	align-items:center;
}

.burger > ul{
	display:flex;
	align-items:center;
	gap:34px;
	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;
}


.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);
}


.menu-links{
	display:none;
}


#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: absolute;
	top: 0;
	right: 0;
	z-index: 10002;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 15px;
}

.langue_lien img{
	display: block;
	width: 23px;
	height: 14px;
	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);
}


.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{
}


.titre_hero{
}

.bandeau_arguments{
}

.bandeau_inner{
}


#popup_contact{
	position:fixed;
	inset:0;
	z-index:10010;
	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;
}

#popup_contact .popup_fond{
	position:absolute;
	inset:0;
	background:rgba(33, 45, 29, 0.55);
	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);
}


#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;
}

#popup_contact .formulaire_retour{
	flex:0 0 100%;
	margin:0;
	padding:14px 18px;
	font-size:15px;
	line-height:1.45;
	border-left:4px solid var(--couleur_primaire);
	background:var(--couleur_fond_alt);
	color:var(--couleur_texte);
}

#popup_contact .formulaire_retour_erreur{
	border-left-color:#b23a2f;
}

#popup_contact .formulaire_retour a{
	color:var(--couleur_primaire);
	text-decoration:underline;
}

#popup_contact .popup_formulaire.envoye .formulaire_champ,
#popup_contact .popup_formulaire.envoye .btn_principal{
	display:none;
}

#popup_contact .formulaire_piege{
	position:absolute;
	left:-10000px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}


#home{
}


html.chargement,
html.chargement body{
	overflow:hidden;
}

#hero-loader{
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:20000;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:38px;
	background:#0d0f0e;
	transition:opacity 0.7s ease, visibility 0.7s ease;
}

#hero-loader.masque{
	opacity:0;
	visibility:hidden;
	pointer-events:none;
}

#hero-loader .loader_logo{
	width:320px;
	max-width:60vw;
	height:auto;
}


#hero-loader .logo_trait{
	fill:#ffffff;
	fill-opacity:0;
	stroke:#ffffff;
	stroke-width:1;
	stroke-dasharray:1;
	stroke-dashoffset:1;
	animation:logo_trace 1.1s ease-in-out forwards, logo_remplissage 0.8s ease-out forwards;
}

#hero-loader .lettre_f{ animation-delay:0.10s, 0.90s; }
#hero-loader .lettre_u{ animation-delay:0.22s, 1.02s; }
#hero-loader .lettre_e{ animation-delay:0.34s, 1.14s; }
#hero-loader .lettre_l{ animation-delay:0.46s, 1.26s; }
#hero-loader .lettre_s{ animation-delay:0.58s, 1.38s; }
#hero-loader .lettre_x{ animation-delay:0.80s, 1.60s; }

@keyframes logo_trace{
	to{ stroke-dashoffset:0; }
}

@keyframes logo_remplissage{
	to{ fill-opacity:1; }
}


#hero-loader .loader_barre{
	width:180px;
	height:2px;
	background:rgba(255, 255, 255, 0.18);
	overflow:hidden;
}

#hero-loader .loader_barre span{
	display:block;
	width:100%;
	height:100%;
	background:#ffffff;
	transform:scaleX(0);
	transform-origin:left center;
	transition:transform 0.45s ease;
}

@media (prefers-reduced-motion: reduce){
	#hero-loader .logo_trait{
		animation:none;
		fill-opacity:1;
		stroke:none;
	}
}


#home #accueil{
	position:relative;
	z-index:2;
	margin-top:-111px;
	padding:111px 0 0;
	height:calc(100vh + 111px);
	min-height:760px;
	overflow:hidden;
	background:#0d0f0e;
}


#home .hero_video{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
	z-index:0;
	pointer-events:none;
	transform: scaleX(-1);
}


#home #accueil::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:1;
	background:linear-gradient(100deg, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.34) 45%, rgba(0,0,0,0) 78%);
	pointer-events:none;
}

#home #accueil .main_width{
	position: relative;
	z-index: 3;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	transform:translateY(-150px);
}


#home .hero_contenu{
}

#home .hero_texte{
	text-align:center;
	margin:0;
}

#home .hero_texte h1{
	font-family:var(--police_principale);
	font-weight:700;
	font-style:italic;
	font-size:58px;
	line-height:1.06;
	letter-spacing:-0.01em;
	color:var(--couleur_texte_clair);
	margin:0;
}


#home .hero_encart{
	position:absolute;
	left:20px;
	bottom:calc(100% - 93vh + 14px);
	z-index:3;
	width:560px;
	max-width:100%;
	padding:24px 28px;
	display:flex;
	flex-direction:column;
	gap:18px;
	border-left:2px solid rgba(255, 255, 255, 0.45);
	background:rgba(255, 255, 255, 0.07);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
}

#home .hero_argument{
	display:flex;
	align-items:flex-start;
	gap:12px;
}

#home .hero_argument img{
	width:24px;
	height:24px;
	flex-shrink:0;
	margin-top:2px;
	filter:brightness(0) invert(1);
	opacity:0.8;
}

#home .hero_argument p{
	font-family:var(--police_principale);
	font-weight:300;
	font-size:17px;
	line-height:1.55;
	color:rgba(255, 255, 255, 0.82);
	margin:0;
}

#home .hero_argument p .title{
	display:block;
	font-weight:500;
	font-size:13px;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:#ffffff;
	margin-bottom:5px;
}


html.intro_epinglee .burger > ul > li > a:not(.btn_principal){
	color:#ffffff;
}

html.intro_epinglee .logo_lien img{
	filter:brightness(0) invert(1);
}


#hero-scroll-hint{
	position:absolute;
	left:50%;
	top: 93vh;
	transform:translateX(-50%);
	z-index:4;
	pointer-events:none;
	opacity:0;
}

#hero-scroll-hint .mouse{
	display:block;
	width:26px;
	height:42px;
	border:2px solid rgba(255, 255, 255, 0.75);
	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:#ffffff;
	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 #arguments,
#home #arguments_bis{
	position:relative;
	z-index:4;
	background:var(--couleur_secondaire);
	padding:24px 0;
	margin-top:-34px;
	transform:skewY(-2deg);
}

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

#home #arguments .argument_item,
#home #arguments_bis .argument_item{
	font-family: var(--police_principale);
	font-weight: 500;
	font-style: italic;
	font-size:16px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--couleur_texte_clair);
	margin: 0;
	position: relative;
	width: 100%;
	text-align: center;
}

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


#home #arguments_bis{
	margin-top:0;
	margin-bottom:60px;
}


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

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

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

#home #technology .technology_texte h2{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:28px;
	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:-157px;
    right:-458px;
    width:800px;
    height: auto;
    z-index: 1;
}


#home #technology .technology_visuel_x{
	position:relative;
	z-index:1;
	width:100%;
	aspect-ratio:1054 / 964;
	-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%;
	object-fit:cover;
	will-change:transform;
}

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


#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;
}


#home #performances{
	padding:70px 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:28px;
	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;
}


#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;
}


#home #performances.c5_techno .performances_blocs::before{
	content:"";
	position:absolute;
	top:101px;
	left:-10px;
	right:-10px;
	height:1.5px;
	background:var(--couleur_primaire);
	transform:rotate(350deg);
	transform-origin:center;
	z-index:1;
}


#home #performances.c5_techno .performances_blocs::after{
	content: "";
    position: absolute;
    top:6px;
    right:-11px;
    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;
}


#home #performances.c5_techno .performance_carte:first-child{
	margin-top:95px;
}

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


#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:28px;
	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;
}


#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:7px;
	font-size:15px;
	font-weight:700;
	color:var(--couleur_texte);
}


#home #performances.c5_techno .secteur{
	clip-path:inset(0 100% 0 0);
	will-change:clip-path;
}

#home #performances.c5_techno .secteur.trace{
	animation:secteur_balayage 0.9s cubic-bezier(0.65, 0, 0.35, 1) both;
	animation-delay:0.45s;
}


#home #performances.c5_techno .secteur.trace:nth-of-type(2){ animation-delay:0.95s; }
#home #performances.c5_techno .secteur.trace:nth-of-type(3){ animation-delay:1.45s; }

@keyframes secteur_balayage{
	from{ clip-path:inset(0 100% 0 0); }
	to{ clip-path:inset(0 0 0 0); }
}

@media (prefers-reduced-motion: reduce){
	#home #performances.c5_techno .secteur{ clip-path:none; }
	#home #performances.c5_techno .secteur.trace{ animation:none; }
}


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


#home #sectors{
	position: relative;
    padding:720px 0 0;
    margin-top: -75px;
    overflow: hidden;
}


#home #sectors .sectors_video{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:top center;
	z-index:1;
	pointer-events:none;
	opacity:0;
	transition:opacity 1s ease;
}

#home #sectors .sectors_video.visible{
	opacity:1;
}


#home #sectors .sectors_vague{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:300px;
	z-index:3;
	display:block;
	pointer-events:none;
}

#home #sectors .sectors_vague path{
	fill:var(--couleur_fond);
}

#home #sectors .main_width{
	position:relative;
	z-index:4;
	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;
}


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

#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:60px;
	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;
}


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

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

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


#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:52px;
	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:24px;
	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;
}


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


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

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

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


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


#marches #marches_hero .main_width{
	display:flex;
	align-items:center;
	gap:50px;
}

#marches #marches_hero .marches_hero_contenu{
	flex:0 0 560px;
	max-width:560px;
}


#marches #marches_hero .marches_baril{
	flex:1;
	min-width:0;
	max-width:100%;
	align-self:stretch;
	min-height:400px;
	display:block;
	pointer-events:none;
}

#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:40px;
	line-height:1.05;
	letter-spacing:-0.01em;
	color:var(--couleur_primaire);
	margin:0 0 28px;
}

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


#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;
	scroll-margin-top:140px;
	display:flex;
	align-items:baseline;
	gap:30px;
	border-top:1.5px solid var(--couleur_secondaire);
	padding:24px 24px;
	overflow:hidden;
}


#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:38px;
	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);
}


#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:30px;
}

#marches .strategie_bloc{
	padding:42px 40px;
	clip-path:polygon(24px 0, 100% 0, calc(100% - 24px) 100%, 0 100%);
	display:flex;
	flex-direction:column;
}


#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);
}


#marches .strategie_validation{
	background:var(--couleur_fond_alt);
}

#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;
}


#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;
}


#marches #marches_cta{
	position:relative;
	background:var(--couleur_primaire);
	padding:100px 0 211px;
	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 .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:26px;
	line-height:1.2;
	text-transform:uppercase;
	color:var(--couleur_texte_clair);
	margin:0;
}


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

#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:60px;
	line-height:1.05;
	letter-spacing:-0.01em;
	color:var(--couleur_primaire);
	margin:0;
}


#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:40px 30px;
}

#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:22px 22px 26px;
}

#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:20px;
	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;
}


#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;
}


#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:42px;
	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%);
}

#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;
}


#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);
}


#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);
}


#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;
}


#news #articles_lies{
	padding:70px 0 100px;
}

#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:30px;
}

#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;
}


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


#pied_de_page .pied_baril{
	position:absolute;
	top:0;
	left:0;
	width:280px;
	height:100%;
	z-index:4;
	display:block;
	pointer-events:none;
}

#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:50px;
    background-image: url(images/footer-background.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding:30px 40px 50px 250px;
    width: 100%;
    max-width: 1700px;
    box-sizing: border-box;
	align-items: flex-start;
    justify-content: center;
}

#pied_de_page .pied_identite{
	flex:0 0 290px;
	align-items: center;
	margin-right:30px;
	margin-left:0;
}

#pied_de_page .pied_logo_lien{
	display:block;
}

#pied_de_page .pied_logo{
	display:block;
	width:290px;
	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_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;
}


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

#e404 h1{
	font-family:var(--police_principale);
	font-weight:900;
	font-style:italic;
	font-size:60px;
	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;
}


#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;
}