:root{
	--spide-blue:#0000FF;
	--spide-grey:#767676;
	--spide-black:#2D2D2D;
	--spide-white:#F1F1F1;
}

.spide-hero *,
.spide-hero *::before,
.spide-hero *::after{ box-sizing:border-box; }

.spide-hero{
	font-family:"Montserrat",sans-serif;
	position:relative;
}

/* ============ BAND 1 — TOP (blanc) ============ */
.spide-hero__top{
	position:relative;
	background:#fff;
}

/* ============ BAND MÉDIA — image écrou (bande dédiée) ============ */
.spide-hero__media{
	width:100%;
	height:clamp(220px,32vw,460px);
	background-image:url("https://spide.dev-commpagnie.com/wp-content/uploads/2026/06/Rectangle-4-scaled.png");
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
.spide-hero__top-inner{
	max-width:1600px;
	margin-inline:auto;
	padding:clamp(26px,3vw,52px) clamp(24px,4vw,72px);
	display:flex;
	gap:32px;
	align-items:flex-start;
	justify-content:space-between;
}

/* Colonne gauche : overline + titre */
.spide-hero__intro{
	flex:1 1 auto;
	max-width:760px;
}
.spide-overline{
	display:block;
	font-size:14px;
	font-weight:600;
	line-height:1.5;
	color:var(--spide-grey);
	margin:0 0 clamp(20px,3vw,40px);
}
.spide-overline .plus{ color:var(--spide-blue); }

.spide-hero__title{
	margin:0;
	font-size:clamp(26px,3.2vw,36px);
	font-weight:700;
	line-height:1.28;
	letter-spacing:.005em;
	text-transform:uppercase;
	color:var(--spide-black);
}

/* Colonne droite : panneau gris + CTA sombre */
.spide-hero__aside{
	flex:0 0 auto;
	width:clamp(240px,24vw,330px);
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:22px;
}
.spide-hero__expertise{
	margin:0;
	font-size:18px;
	font-weight:600;
	line-height:1.4;
	text-transform:uppercase;
	color:var(--spide-grey);
}
.spide-hero__expertise .plus{ color:var(--spide-blue); }

.spide-btn-dark{
	display:inline-flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	width:100%;
	padding:22px 33px;
	background:var(--spide-black);
	color:var(--spide-white);
	font-size:14px;
	font-weight:600;
	letter-spacing:.02em;
	text-transform:uppercase;
	text-decoration:none;
	border:0;
	cursor:pointer;
	transition:background-color .18s ease;
}
.spide-btn-dark svg{ flex:0 0 auto; }

/* ============ BAND 2 — BOTTOM (bleu + pattern) ============ */
.spide-hero__bottom{
	position:relative;
	background-color:var(--spide-blue);
	background-image:radial-gradient(rgba(255,255,255,.16) 1.4px, transparent 1.5px);
	background-size:22px 22px;
	background-position:0 0;
}
.spide-hero__scroll{
	position:absolute;
	top:clamp(20px,2.6vw,34px);
	left:50%;
	transform:translateX(-50%);
	width:54px;
	height:54px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:var(--spide-blue);
	border:1.4px solid rgba(241,241,241,.55);
	color:var(--spide-white);
	cursor:pointer;
	z-index:2;
	transition:background-color .18s ease,color .18s ease;
}
.spide-hero__scroll:hover,
.spide-hero__scroll:focus{ background:var(--spide-white); color:var(--spide-blue); }

.spide-hero__bottom-inner{
	max-width:1600px;
	margin-inline:auto;
	padding:clamp(80px,8vw,150px) clamp(24px,4vw,72px) clamp(56px,6vw,96px);
	display:flex;
	gap:clamp(72px,10vw,160px);
	align-items:flex-start;
}

/* Colonne gauche */
.spide-hero__left{
	flex:0 0 auto;
	width:clamp(320px,40%,542px);
}
.spide-hero__eyebrow{
	display:block;
	font-size:14px;
	font-weight:600;
	line-height:1.5;
	color:var(--spide-white);
	margin:0 0 clamp(18px,2.4vw,30px);
}
.spide-hero__eyebrow .plus{ opacity:.9; }
.spide-hero__h2{
	margin:0 0 clamp(28px,3.4vw,44px);
	font-size:clamp(22px,2.6vw,30px);
	font-weight:700;
	line-height:1.3;
	text-transform:uppercase;
	color:var(--spide-white);
}
.spide-btn-outline{
	display:inline-flex;
	align-items:center;
	gap:14px;
	height:54px;
	padding:0 clamp(28px,3vw,54px);
	border:1.4px solid var(--spide-white);
	color:var(--spide-white);
	font-size:14px;
	font-weight:600;
	letter-spacing:.02em;
	text-transform:uppercase;
	text-decoration:none;
	transition:background-color .18s ease,color .18s ease;
}
.spide-btn-outline:hover{ background:var(--spide-white); color:var(--spide-blue); }

/* Colonne droite */
.spide-hero__right{
	flex:1 1 auto;
	max-width:630px;
	display:flex;
	flex-direction:column;
	gap:22px;
}
.spide-hero__right p{
	margin:0;
	font-size:16px;
	font-weight:500;
	line-height:1.4;
	color:var(--spide-white);
}
.spide-hero__right strong{ font-weight:600; }
.spide-hero__right .brand{ font-weight:700; }
.spide-hero__list{
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.spide-hero__list li{
	position:relative;
	padding-left:22px;
	font-size:16px;
	font-weight:500;
	line-height:1.4;
	color:var(--spide-white);
}
.spide-hero__list li::before{
	content:"";
	position:absolute;
	left:2px;
	top:.5em;
	width:6px;
	height:6px;
	border-radius:50%;
	background:var(--spide-white);
}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
	.spide-hero__top-inner{
		flex-direction:column;
		gap:36px;
	}
	.spide-hero__media{ height:clamp(180px,40vw,300px); }
	.spide-hero__aside{ width:100%; max-width:420px; }
	.spide-hero__bottom-inner{
		flex-direction:column;
		gap:40px;
	}
	.spide-hero__left{ width:100%; }
	.spide-hero__right{ max-width:none; }
}

@media (max-width:480px){
	.spide-hero__title{ font-size:24px; }
	.spide-btn-dark{ padding:18px 24px; }
}

/* ============ SECTION BESOINS (cartes) ============ */
.spide-besoins{
	background:#fff;
	font-family:"Montserrat",sans-serif;
	--bsd-pad:clamp(24px,4vw,72px);
	--bsd-gap:clamp(24px,3.4vw,66px);
	--bsd-padt:clamp(56px,6vw,104px);
	--bsd-padb:clamp(72px,8vw,140px);
}
.spide-besoins__inner{
	position:relative;
	max-width:1600px;
	margin-inline:auto;
	padding:var(--bsd-padt) var(--bsd-pad) var(--bsd-padb);
}
/* Séparateurs central + droite : pleine hauteur de section (haut → section suivante) */
.spide-besoins__rule--center,
.spide-besoins__rule--right{
	position:absolute;
	top:0;
	bottom:0;
	width:1px;
	background:var(--spide-light);
}
.spide-besoins__rule--center{ left:50%; }
.spide-besoins__rule--right{ left:calc(75% - .5 * var(--bsd-pad) + .25 * var(--bsd-gap)); }
.spide-besoins__head{
	max-width:560px;
	margin-bottom:clamp(40px,5vw,80px);
}
.spide-besoins__overline{
	display:block;
	font-size:14px;
	font-weight:600;
	color:var(--spide-grey);
	margin-bottom:24px;
}
.spide-besoins__overline .plus{ color:var(--spide-blue); }
.spide-besoins__title{
	margin:0;
	font-size:clamp(22px,2.6vw,30px);
	font-weight:700;
	line-height:1.3;
	text-transform:uppercase;
	color:var(--spide-black);
}

.spide-besoins__grid{
	position:relative;
	display:grid;
	grid-template-columns:repeat(4,1fr);
	column-gap:var(--bsd-gap);
}
/* Séparateur gauche : démarre au niveau des cartes, descend jusqu'à la section suivante */
.spide-besoins__rule--left{
	position:absolute;
	top:0;
	bottom:calc(-1 * var(--bsd-padb));
	left:calc(25% - .25 * var(--bsd-gap));
	width:1px;
	background:var(--spide-light);
}

/* Décalage en quinconce (cartes paires plus basses) */
.spide-besoin-card:nth-child(even){ margin-top:clamp(60px,7vw,106px); }

.spide-besoin-card__link{
	display:flex;
	flex-direction:column;
	gap:24px;
	text-decoration:none;
	color:inherit;
}
.spide-besoin-card__media{
	position:relative;
	display:block;
	aspect-ratio:27/30;
	background:#eef0f3;
	margin-bottom:28px;
}
.spide-besoin-card__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.spide-besoin-card__arrow{
	position:absolute;
	left:0;
	bottom:0;
	transform:translateY(50%);
	width:84px;
	height:55px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#fff;
	border-left:1px solid rgba(0,0,255,.10);
	border-bottom:1px solid rgba(0,0,255,.10);
	color:var(--spide-blue);
	transition:background-color .18s ease,color .18s ease;
}
.spide-besoin-card__title{
	margin:0;
	font-size:22px;
	font-weight:700;
	line-height:1.25;
	text-transform:uppercase;
	color:var(--spide-black);
	transition:color .18s ease;
}
.spide-besoin-card__text{
	font-size:16px;
	font-weight:500;
	line-height:1.4;
	color:var(--spide-grey);
}
.spide-besoin-card__text p{ margin:0; }
.spide-besoin-card__text strong{ font-weight:600; }

/* État hover / focus = style « INDUSTRIALISATION » */
.spide-besoin-card__link:hover .spide-besoin-card__title,
.spide-besoin-card__link:focus .spide-besoin-card__title{ color:var(--spide-blue); }
.spide-besoin-card__link:hover .spide-besoin-card__arrow,
.spide-besoin-card__link:focus .spide-besoin-card__arrow{
	background:var(--spide-blue);
	color:#fff;
}

@media (max-width:1024px){
	.spide-besoins__grid{ grid-template-columns:repeat(2,1fr); row-gap:clamp(40px,6vw,64px); }
	.spide-besoins__rule{ display:none; }
	.spide-besoin-card:nth-child(even){ margin-top:0; }
	.spide-besoin-card:nth-child(2){ margin-top:clamp(60px,8vw,106px); }
	.spide-besoin-card:nth-child(4){ margin-top:clamp(60px,8vw,106px); }
}
@media (max-width:640px){
	.spide-besoins__grid{ grid-template-columns:1fr; }
	.spide-besoin-card:nth-child(n){ margin-top:0; }
}

/* ============ SECTION SECTEURS D'ACTIVITÉ ============ */
.spide-secteurs{
	background:#fff;
	font-family:"Montserrat",sans-serif;
}
.spide-secteurs__inner{
	position:relative;
	max-width:1600px;
	margin-inline:auto;
	padding-inline:0;
}
.spide-secteurs__media{
	position:relative;
	width:100%;
	height:clamp(360px,40vw,560px);
}
.spide-secteurs__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.spide-secteurs__card{
	position:absolute;
	left:0;
	bottom:0;
	width:min(840px,90%);
	background:#fff;
	padding:clamp(34px,3.6vw,64px) clamp(44px,4vw,80px) clamp(30px,3.2vw,52px);
}
.spide-secteurs__overline{
	display:block;
	font-size:14px;
	font-weight:600;
	color:var(--spide-grey);
	margin-bottom:24px;
}
.spide-secteurs__overline .plus{ color:var(--spide-blue); }
.spide-secteurs__title{
	margin:0 0 clamp(24px,2.6vw,36px);
	font-size:clamp(22px,2.6vw,30px);
	font-weight:700;
	line-height:1.3;
	text-transform:uppercase;
	color:var(--spide-black);
}
.spide-secteurs__text{
	margin:0;
	max-width:700px;
	font-size:16px;
	font-weight:500;
	line-height:1.4;
	color:var(--spide-grey);
}
.spide-secteurs__text strong{ font-weight:600; }

@media (max-width:768px){
	.spide-secteurs__media{ height:clamp(300px,60vw,460px); }
	.spide-secteurs__card{
		position:static;
		width:100%;
		padding:clamp(28px,6vw,40px) clamp(20px,5vw,28px) clamp(20px,5vw,32px);
	}
}

/* ============ LISTE DES SECTEURS (2 colonnes) ============ */
.spide-sectors{
	background:#fff;
	font-family:"Montserrat",sans-serif;
	border-top:1px solid var(--spide-light);
}
.spide-sectors__inner{
	position:relative;
	max-width:1600px;
	margin-inline:auto;
	padding:clamp(48px,5vw,90px) clamp(24px,4vw,72px);
	display:grid;
	grid-template-columns:1fr 1fr;
	column-gap:clamp(48px,6vw,120px);
}
/* Séparateur central pleine hauteur */
.spide-sectors__rule{
	position:absolute;
	top:0;
	bottom:0;
	left:50%;
	width:1px;
	background:var(--spide-light);
}
.spide-sec__half{
	display:flex;
	align-items:center;
	gap:clamp(24px,3vw,56px);
}
.spide-sec__list{
	flex:1 1 auto;
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:clamp(20px,2.2vw,34px);
}
.spide-sec__link{
	display:inline-flex;
	align-items:center;
	gap:14px;
	font-size:clamp(17px,1.5vw,20px);
	font-weight:700;
	line-height:1.2;
	text-transform:uppercase;
	color:var(--spide-black);
	text-decoration:none;
	transition:color .15s ease;
}
.spide-sec__label{
	border-bottom:2px solid transparent;
	padding-bottom:2px;
	transition:border-color .15s ease;
}
.spide-sec__arrow{
	flex:0 0 auto;
	color:var(--spide-blue);
	opacity:0;
	transition:opacity .15s ease;
}
.spide-sec__link:hover,
.spide-sec__link.is-active{ color:var(--spide-blue); }
.spide-sec__link:hover .spide-sec__label,
.spide-sec__link.is-active .spide-sec__label{ border-bottom-color:var(--spide-blue); }
.spide-sec__link:hover .spide-sec__arrow,
.spide-sec__link.is-active .spide-sec__arrow{ opacity:1; }
.spide-sec__media{
	flex:0 0 auto;
	width:clamp(220px,24vw,330px);
	aspect-ratio:33/29;
	background:#eef0f3;
}
.spide-sec__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.spide-sectors__cta{
	max-width:1600px;
	margin-inline:auto;
	padding:clamp(44px,5vw,84px) clamp(24px,4vw,72px);
	border-top:1px solid var(--spide-light);
	display:flex;
	justify-content:center;
}
.spide-btn-contact{
	display:inline-flex;
	align-items:center;
	gap:14px;
	height:58px;
	padding-inline:clamp(40px,5vw,90px);
	border:1.4px solid var(--spide-blue);
	color:var(--spide-blue);
	font-size:14px;
	font-weight:600;
	letter-spacing:.02em;
	text-transform:uppercase;
	text-decoration:none;
	transition:background-color .18s ease,color .18s ease;
}
.spide-btn-contact:hover,
.spide-btn-contact:focus,
.spide-btn-contact:active{ background-color:var(--spide-blue); color:#fff; }

@media (max-width:1024px){
	.spide-sectors__inner{ grid-template-columns:1fr; row-gap:clamp(40px,7vw,64px); }
	.spide-sectors__rule{ display:none; }
}
@media (max-width:560px){
	.spide-sec__half{ flex-direction:column; align-items:stretch; gap:24px; }
	.spide-sec__media{ width:100%; aspect-ratio:16/10; order:-1; }
}

/* ============ SECTION PROJETS CLIENTS (intro) ============ */
.spide-projets{
	background:#ECECEC;
	font-family:"Montserrat",sans-serif;
	overflow:hidden;
}
.spide-projets__inner{
	position:relative;
	max-width:1600px;
	margin-inline:auto;
	padding:clamp(32px,3.5vw,64px) clamp(24px,4vw,72px) 0;
	min-height:clamp(392px,46vw,690px);
}
.spide-projets__media{
	position:absolute;
	z-index:2;
	top:0;
	left:36%;
	width:min(1340px,78vw);
	height:auto;
}
.spide-projets__media img{
	width:100%;
	height:auto;
	display:block;
}
.spide-projets__intro{
	position:absolute;
	z-index:1;
	left:0;
	bottom:0;
	width:min(680px,52%);
	background:#fff;
	padding:clamp(30px,3vw,48px) clamp(36px,4vw,72px);
}
.spide-projets__overline{
	display:block;
	font-size:14px;
	font-weight:600;
	color:var(--spide-grey);
	margin-bottom:clamp(24px,3vw,44px);
}
.spide-projets__overline .plus{ color:var(--spide-blue); }
.spide-projets__title{
	margin:0 0 clamp(24px,3vw,40px);
	font-size:clamp(24px,3vw,34px);
	font-weight:700;
	line-height:1.2;
	text-transform:uppercase;
	color:var(--spide-black);
}
.spide-projets__text{
	margin:0;
	max-width:520px;
	font-size:16px;
	font-weight:500;
	line-height:1.4;
	color:var(--spide-grey);
}

/* Très grand écran : image beaucoup plus petite + section moins haute */
@media (min-width:1600px){
	.spide-projets__media{ width:min(900px,52vw); }
	.spide-projets__inner{ min-height:clamp(470px,33vw,600px); }
}

@media (max-width:900px){
	.spide-projets__inner{ min-height:0; display:flex; flex-direction:column; }
	.spide-projets__media{
		position:static;
		width:100%;
		height:auto;
		justify-content:center;
		margin-bottom:clamp(24px,5vw,40px);
	}
	.spide-projets__media img{ width:auto; max-width:100%; max-height:clamp(240px,48vw,420px); margin-inline:auto; }
	.spide-projets__intro{
		position:static;
		width:100%;
	}
}

/* ============ PAGE UNIQUE SECTEUR ============ */
.spide-secteur__inner{
	max-width:1100px;
	margin-inline:auto;
	padding:clamp(40px,5vw,80px) clamp(24px,4vw,72px) clamp(56px,7vw,120px);
	font-family:"Montserrat",sans-serif;
}
.spide-secteur__overline{
	display:block;
	font-size:14px;
	font-weight:600;
	color:var(--spide-grey);
	margin-bottom:20px;
}
.spide-secteur__overline .plus{ color:var(--spide-blue); }
.spide-secteur__title{
	margin:0 0 clamp(28px,3.4vw,44px);
	font-size:clamp(26px,3.4vw,40px);
	font-weight:700;
	line-height:1.2;
	text-transform:uppercase;
	color:var(--spide-black);
}
.spide-secteur__media{ margin-bottom:clamp(28px,3.4vw,44px); }
.spide-secteur__media img{ width:100%; height:auto; display:block; }
.spide-secteur__content{
	font-size:16px;
	font-weight:500;
	line-height:1.55;
	color:var(--spide-grey);
}
.spide-secteur__content strong{ font-weight:600; color:var(--spide-black); }

/* ============ NOS SOLUTIONS — pile au scroll ============ */
.spide-solutions{
	position:relative;
	background:#fff;
	font-family:"Montserrat",sans-serif;
}
.sol-card{
	position:sticky;
	top:0;
	min-height:100vh;
	display:flex;
	background:#fff;
}
.sol-card__inner{
	width:100%;
	max-width:1600px;
	height:100vh;
	margin-inline:auto;
	display:flex;
	flex-direction:column;
	background:#fff;
	transform-origin:top center;
	will-change:transform;
}
/* Bloc texte : 2 colonnes + croix de séparateurs */
.sol-card__text{
	flex:0 0 auto;
	display:grid;
	grid-template-columns:1fr 1fr;
	border-bottom:1px solid var(--spide-light);
}
.sol-card__col{
	padding:clamp(28px,3.4vw,64px) clamp(28px,3.4vw,64px) clamp(28px,3vw,52px);
}
.sol-card__col--left{ border-right:1px solid var(--spide-light); }
.sol-card__title{
	margin:0 0 18px;
	font-size:clamp(22px,2.4vw,30px);
	font-weight:700;
	line-height:1.2;
	text-transform:uppercase;
	color:var(--spide-black);
}
.sol-card__year{
	display:inline-block;
	margin-bottom:clamp(20px,2.4vw,34px);
	padding:7px 18px;
	border:1.4px solid var(--spide-blue);
	border-radius:999px;
	font-size:14px;
	font-weight:600;
	color:var(--spide-blue);
}
.sol-card__block{ margin-top:clamp(18px,2vw,28px); }
.sol-card__block:first-of-type{ margin-top:0; }
.sol-card__block h4{
	margin:0 0 8px;
	font-size:16px;
	font-weight:700;
	color:var(--spide-black);
}
.sol-card__block p{
	margin:0 0 6px;
	font-size:16px;
	font-weight:500;
	line-height:1.45;
	color:var(--spide-grey);
}
.sol-card__moe strong{ font-weight:700; color:var(--spide-black); }
.sol-card__link{
	color:var(--spide-blue);
	font-weight:600;
	text-decoration:underline;
	white-space:nowrap;
}
/* Bloc images : 2 colonnes, divisées par le même axe central */
.sol-card__media{
	flex:1 1 auto;
	min-height:0;
	display:grid;
	grid-template-columns:1fr 1fr;
}
.sol-card__img{ position:relative; overflow:hidden; }
.sol-card__img:first-child{ border-right:1px solid var(--spide-light); }
.sol-card__img img{ width:100%; height:100%; display:block; }
.sol-card__img:first-child img{ object-fit:contain; background:#ECECEC; }
.sol-card__img:last-child img{ object-fit:cover; }

@media (max-width:1024px){
	.sol-card{ position:static; min-height:0; }
	.sol-card + .sol-card{ margin-top:0; }
	.sol-card__inner{ height:auto; transform:none !important; }
	.sol-card__text{ grid-template-columns:1fr; }
	.sol-card__col--left{ border-right:0; border-bottom:1px solid var(--spide-light); }
	.sol-card__media{ grid-template-columns:1fr; }
	.sol-card__img{ aspect-ratio:16/10; }
	.sol-card__img:first-child{ border-right:0; border-bottom:1px solid var(--spide-light); }
}

/* CTA bas de la section solutions */
.spide-solutions__cta{
	background:#fff;
	display:flex;
	justify-content:center;
	padding:clamp(40px,5vw,80px) clamp(24px,4vw,72px);
}

/* ============ AVIS CLIENTS — carrousel ============ */
.spide-avis{
	position:relative;
	background:#fff;
	font-family:"Montserrat",sans-serif;
	padding-block:clamp(40px,5vw,90px) clamp(48px,6vw,110px);
	overflow:hidden;
}
.spide-avis__bg{
	position:absolute;
	left:0;
	top:0;
	/* bas = padding-bas + marge flèches + hauteur flèches + demi-hauteur de slide
	   → le fond s'arrête au milieu d'une carte avis */
	bottom:calc(clamp(48px,6vw,110px) + clamp(28px,3vw,48px) + 55px + clamp(190px,19vw,250px));
	width:calc(100% - clamp(40px,6vw,140px));
	background:var(--spide-white);
	z-index:0;
}
.spide-avis__inner{
	position:relative;
	z-index:1;
	max-width:1600px;
	margin-inline:auto;
	padding-inline:clamp(24px,4vw,72px);
}
.spide-avis__head{
	text-align:center;
	max-width:860px;
	margin:0 auto clamp(36px,4vw,64px);
}
.spide-avis__overline{
	display:block;
	font-size:14px;
	font-weight:600;
	color:var(--spide-grey);
	margin-bottom:22px;
}
.spide-avis__overline .plus{ color:var(--spide-blue); }
.spide-avis__title{
	margin:0;
	font-size:clamp(22px,2.6vw,30px);
	font-weight:700;
	line-height:1.3;
	text-transform:uppercase;
	color:var(--spide-black);
}
.spide-avis__viewport{ overflow:hidden; }
.spide-avis__track{
	display:flex;
	gap:clamp(20px,2vw,40px);
	transition:transform .5s cubic-bezier(.4,0,.2,1);
	will-change:transform;
}
.avis-slide{
	flex:0 0 auto;
	width:min(1060px,90vw);
	height:clamp(380px,38vw,500px);
	display:flex;
}
.avis-slide__media{ flex:0 0 41%; }
.avis-slide__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.avis-slide__panel{
	flex:1 1 auto;
	background-color:var(--spide-blue);
	background-image:radial-gradient(rgba(255,255,255,.18) 1.3px, transparent 1.4px);
	background-size:20px 20px;
	color:var(--spide-white);
	padding:clamp(34px,4vw,57px) clamp(34px,4.6vw,76px);
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.avis-slide__title{
	margin:0 0 14px;
	font-size:clamp(20px,2.2vw,30px);
	font-weight:700;
	line-height:1.2;
	text-transform:uppercase;
	color:var(--spide-white);
}
.avis-slide__stars{ display:flex; gap:4px; margin-bottom:clamp(22px,2.6vw,36px); }
.avis-star{ font-size:20px; line-height:1; color:rgba(255,255,255,.32); }
.avis-star.is-on{ color:var(--spide-white); }
.avis-slide__quote{
	margin:0;
	max-width:500px;
	font-style:italic;
	font-size:16px;
	font-weight:400;
	line-height:1.4;
	color:var(--spide-white);
}
.spide-avis__nav{
	display:flex;
	justify-content:flex-end;
	gap:20px;
	margin-top:clamp(28px,3vw,48px);
}
.spide-avis__btn{
	width:55px;
	height:55px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:0;
	border-radius:0;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	transition:background-color .18s ease,color .18s ease;
}
.spide-avis__btn:disabled{ opacity:.32; cursor:default; }
.spide-avis__btn--prev{ background:var(--spide-blue); color:#fff; }
.spide-avis__btn--next{ background:#fff; color:var(--spide-blue); box-shadow:inset 0 0 0 1.4px var(--spide-blue); }
.spide-avis__btn--prev:hover,
.spide-avis__btn--prev:focus,
.spide-avis__btn--prev:active{ background:#0000cc; color:#fff; }
.spide-avis__btn--next:hover,
.spide-avis__btn--next:focus,
.spide-avis__btn--next:active{ background:var(--spide-blue); color:#fff; box-shadow:inset 0 0 0 1.4px var(--spide-blue); }

@media (max-width:768px){
	.avis-slide{ flex-direction:column; height:auto; }
	.avis-slide__media{ flex:0 0 auto; height:clamp(200px,55vw,300px); }
	.avis-slide__panel{ padding:clamp(28px,7vw,40px); }
	.spide-avis__bg{ display:none; }
	.spide-avis__nav{ justify-content:center; }
}

/* ============ SPIDE EN QUELQUES CHIFFRES ============ */
.spide-chiffres{
	background:#fff;
	font-family:"Montserrat",sans-serif;
}
.spide-chiffres__inner{
	max-width:1600px;
	margin-inline:auto;
	padding:clamp(48px,6vw,100px) clamp(24px,4vw,72px);
}
.spide-chiffres__head{
	text-align:center;
	max-width:720px;
	margin:0 auto clamp(40px,5vw,64px);
}
.spide-chiffres__overline{
	display:block;
	font-size:14px;
	font-weight:600;
	color:var(--spide-grey);
	margin-bottom:22px;
}
.spide-chiffres__overline .plus{ color:var(--spide-blue); }
.spide-chiffres__title{
	margin:0;
	font-size:clamp(22px,2.6vw,30px);
	font-weight:700;
	line-height:1.3;
	text-transform:uppercase;
	color:var(--spide-black);
}
.spide-chiffres__band{
	border-top:1px solid var(--spide-light);
	border-bottom:1px solid var(--spide-light);
	padding-block:clamp(40px,5vw,72px);
}
.spide-chiffres__row{
	max-width:1064px;
	margin-inline:auto;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:clamp(40px,6vw,91px);
}
.chiffre{
	flex:0 1 226px;
	display:flex;
	flex-direction:column;
	gap:14px;
}
.chiffre__num{
	font-size:clamp(36px,4.4vw,48px);
	font-weight:700;
	line-height:1;
	text-transform:uppercase;
	color:var(--spide-black);
}
.chiffre__label{
	font-size:16px;
	font-weight:500;
	line-height:1.4;
	color:var(--spide-grey);
}
.chiffre__sep{
	flex:0 0 auto;
	width:1px;
	align-self:stretch;
	min-height:140px;
	background:var(--spide-light);
}

@media (max-width:768px){
	.spide-chiffres__row{ flex-direction:column; gap:0; }
	.chiffre{ flex:1 1 auto; width:100%; text-align:center; align-items:center; padding-block:clamp(24px,6vw,36px); }
	.chiffre__sep{ width:100%; min-height:0; height:1px; align-self:stretch; }
}

/* ============ NOS VALEURS — 4 cartes / image partagée ============ */
.spide-valeurs{
	background:#fff;
	font-family:"Montserrat",sans-serif;
}
.spide-valeurs__inner{
	max-width:1600px;
	margin-inline:auto;
	padding:clamp(48px,6vw,100px) clamp(24px,4vw,72px) clamp(40px,5vw,72px);
}
.spide-valeurs__intro{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:clamp(40px,6vw,120px);
	align-items:start;
}
.spide-valeurs__overline{
	display:block;
	font-size:14px;
	font-weight:600;
	color:var(--spide-grey);
	margin-bottom:22px;
}
.spide-valeurs__overline .plus{ color:var(--spide-blue); }
.spide-valeurs__title{
	margin:0;
	font-size:clamp(22px,2.6vw,30px);
	font-weight:700;
	line-height:1.25;
	text-transform:uppercase;
	color:var(--spide-black);
}
.spide-valeurs__lead{
	margin:clamp(8px,1vw,18px) 0 0;
	max-width:630px;
	font-size:16px;
	font-weight:500;
	line-height:1.4;
	color:var(--spide-grey);
}
.spide-valeurs__lead strong{ font-weight:600; }

.spide-valeurs__cards{
	max-width:1600px;
	margin-inline:auto;
	padding-inline:clamp(24px,4vw,72px);
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:clamp(2px,0.3vw,5px);
}
.valeur-card{
	position:relative;
	min-height:clamp(320px,28vw,400px);
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding:clamp(24px,2.2vw,40px);
	overflow:hidden;
	color:#fff;
}
.valeur-card::before{
	content:"";
	position:absolute;
	inset:0;
	background-image:var(--valeurs-img);
	background-size:400% 100%;
	background-position:var(--pos) center;
	background-repeat:no-repeat;
	z-index:0;
}
.valeur-card::after{
	content:"";
	position:absolute;
	inset:0;
	background-color:rgba(0,0,0,.42);
	transition:background-color .28s ease;
	z-index:1;
}
.valeur-card:hover::after,
.valeur-card:focus-within::after{
	background-color:var(--spide-blue);
	background-image:radial-gradient(rgba(255,255,255,.18) 1.3px, transparent 1.4px);
	background-size:20px 20px;
}
.valeur-card > *{ position:relative; z-index:2; }
.valeur-card__num{ font-size:16px; font-weight:600; }
.valeur-card__body{ display:flex; flex-direction:column; }
.valeur-card__title{
	margin:0;
	font-size:clamp(18px,1.6vw,22px);
	font-weight:700;
	line-height:1.2;
	text-transform:uppercase;
}
.valeur-card__desc{
	max-height:0;
	opacity:0;
	overflow:hidden;
	font-size:16px;
	font-weight:500;
	line-height:1.4;
	color:var(--spide-white);
	transition:max-height .4s ease,opacity .3s ease,margin-top .4s ease;
}
.valeur-card__desc strong{ font-weight:600; }
.valeur-card:hover .valeur-card__desc,
.valeur-card:focus-within .valeur-card__desc{
	max-height:340px;
	opacity:1;
	margin-top:20px;
}

@media (max-width:900px){
	.spide-valeurs__intro{ grid-template-columns:1fr; gap:clamp(20px,4vw,32px); }
	.spide-valeurs__cards{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
	.spide-valeurs__cards{ grid-template-columns:1fr; }
	.valeur-card{ min-height:260px; }
	.valeur-card__desc{ max-height:none; opacity:1; margin-top:16px; }
}

/* ============ PARTENAIRES — bandeau défilant ============ */
.spide-partners{
	background:#fff;
	font-family:"Montserrat",sans-serif;
	padding-block:clamp(48px,6vw,100px);
	overflow:hidden;
}
.spide-partners__head{
	text-align:center;
	max-width:780px;
	margin:0 auto clamp(40px,5vw,70px);
	padding-inline:clamp(24px,4vw,72px);
}
.spide-partners__overline{
	display:block;
	font-size:14px;
	font-weight:600;
	color:var(--spide-grey);
	margin-bottom:22px;
}
.spide-partners__overline .plus{ color:var(--spide-blue); }
.spide-partners__title{
	margin:0;
	font-size:clamp(22px,2.6vw,30px);
	font-weight:700;
	line-height:1.3;
	text-transform:uppercase;
	color:var(--spide-black);
}
.spide-partners__marquee{
	overflow:hidden;
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.spide-partners__track{
	display:flex;
	width:max-content;
	gap:clamp(16px,1.6vw,28px);
	animation:spide-marquee 40s linear infinite;
}
.spide-partners__marquee:hover .spide-partners__track{ animation-play-state:paused; }
@keyframes spide-marquee{
	from{ transform:translateX(0); }
	to{ transform:translateX(-50%); }
}
.spide-partner{
	flex:0 0 auto;
	width:clamp(190px,18vw,272px);
	height:clamp(110px,11vw,160px);
	display:flex;
	align-items:center;
	justify-content:center;
	padding:clamp(18px,2vw,32px);
	border:1px solid var(--spide-light);
	background:#fff;
	text-decoration:none;
}
.spide-partner img{
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
	object-fit:contain;
	display:block;
	filter:grayscale(1);
	opacity:.75;
	transition:filter .2s ease,opacity .2s ease;
}
a.spide-partner:hover img{ filter:grayscale(0); opacity:1; }

@media (prefers-reduced-motion:reduce){
	.spide-partners__track{ animation:none; }
}

/* ============ Neutralise le rose #c36 du reset hello-elementor ============ */
/* Burger : jamais de fond rose */
.spide-header__burger:hover,
.spide-header__burger:focus,
.spide-header__burger:active{
	background:none !important;
	color:inherit;
}
/* Boutons sombres / outline : conserver leur état voulu, jamais de rose */
.spide-btn-outline:hover,
.spide-btn-outline:focus,
.spide-btn-outline:active{ background-color:var(--spide-white); color:var(--spide-blue); }
.spide-cta:hover,
.spide-cta:focus,
.spide-cta:active{ background-color:var(--spide-blue); color:#fff; }
