/* MAGNETIKS — main.css
 * Refonte 2026-05-29 alignée sur le design Lovable existant.
 * Dark mode, accent rouge #be1522, hero centré alarmiste-crédible,
 * bande rouge alerte, sections noires denses, tags pills, FAQ accordéons.
 */

/* === Reveal on scroll (opt-in via [data-reveal]) === */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-revealed{opacity:1;transform:translateY(0)}
[data-reveal-delay="1"].is-revealed{transition-delay:.08s}
[data-reveal-delay="2"].is-revealed{transition-delay:.16s}
[data-reveal-delay="3"].is-revealed{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
	[data-reveal]{opacity:1;transform:none;transition:none}
}

/* === Reset === */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol{margin:0;padding:0}
ul[role="list"],ol[role="list"]{list-style:none}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
button{font:inherit;cursor:pointer;border:0;background:transparent;padding:0}
a{color:inherit;text-decoration:none}

/* === Base === */
html,body{height:100%}
:focus-visible{outline:2px solid var(--mag-red-500);outline-offset:3px;border-radius:2px}
section[id],h1[id],h2[id],h3[id]{scroll-margin-top:96px}
body{
	font-family:var(--mag-font-sans);
	font-size:var(--mag-size-md);
	line-height:1.6;
	color:var(--mag-fg);
	background:var(--mag-bg);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

::selection{background:var(--mag-red-500);color:var(--mag-white)}

h1,h2,h3,h4{
	font-family:var(--mag-font-sans);
	line-height:1.02;
	letter-spacing:-0.025em;
	color:var(--mag-white);
	font-weight:800;
	text-transform:uppercase;
}
h1{font-size:clamp(2.5rem,6.4vw,5.5rem);letter-spacing:-0.045em;font-weight:800;line-height:0.98;text-wrap:balance}
h2{font-size:clamp(1.875rem,3.6vw,3rem);font-weight:800;letter-spacing:-0.035em;line-height:1.04;text-wrap:balance}
h3{font-size:var(--mag-size-xl);font-weight:700;letter-spacing:-0.01em;text-transform:none;line-height:1.25}
h4{font-size:var(--mag-size-md);font-weight:700;letter-spacing:-0.005em;text-transform:none;line-height:1.3}

p{color:var(--mag-grey-300);max-width:68ch;font-size:1rem;line-height:1.65}
p.lead{font-size:clamp(1.0625rem,1.3vw,1.25rem);color:var(--mag-grey-200);line-height:1.55;max-width:68ch;font-weight:400}

.red, em.red, .accent-red{color:var(--mag-red-500);font-style:normal}
/* Hero garde l'accent rouge ; les titres de section (h2) passent en blanc pour calmer le rouge. */
.h1-line-red{color:var(--mag-red-500);display:inline}
.h2-line-red{color:var(--mag-white);display:inline}
/* Variante quand on veut forcer la ligne (utilisable via .h1-line-red--block) */
.h1-line-red--block,.h2-line-red--block{display:block}
.text-center{text-align:center}
.text-red{color:var(--mag-red-500)}
.muted{color:var(--mag-grey-400)}
.center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--mag-sp-4)}
.center .eyebrow{margin-bottom:0}
.center h2{margin:0}
.center p{margin:0;max-width:60ch}
.center-actions{display:flex;gap:var(--mag-sp-3);flex-wrap:wrap;justify-content:center;margin-top:var(--mag-sp-4)}

/* VERA OS detailed block (home) */
.vera-detailed{gap:clamp(2rem,4vw,4rem);align-items:center}
.vera-detailed__list{margin-top:var(--mag-sp-5)}
.vera-detailed__actions{display:flex;gap:var(--mag-sp-3);flex-wrap:wrap;margin-top:var(--mag-sp-6)}

/* === Eyebrow / micro-label === */
.eyebrow{
	display:inline-block;
	font-family:var(--mag-font-mono);
	font-size:var(--mag-size-xs);
	font-weight:500;
	letter-spacing:0.20em;
	text-transform:uppercase;
	color:var(--mag-red-500);
	margin-bottom:var(--mag-sp-4);
}
.eyebrow--white{color:var(--mag-white)}
.eyebrow--muted{color:var(--mag-grey-400)}

/* === Container === */
.container{width:100%;max-width:var(--mag-container-max);margin-inline:auto;padding-inline:var(--mag-container-pad)}
.container--narrow{max-width:920px}
.container--wide{max-width:1440px}

/* === Section === */
.section{padding-block:clamp(3rem,5vw,4.5rem);position:relative}
.section--tight{padding-block:clamp(2rem,3.5vw,3.25rem)}
.section--soft{background:var(--mag-bg-soft);position:relative}
.section--soft::before,.section--soft::after{
	content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--mag-border) 30%,var(--mag-border) 70%,transparent 100%);
}
.section--soft::before{top:0}.section--soft::after{bottom:0}
.section--dark{background:var(--mag-black)}
.section--dark + .section,.section + .section--dark{position:relative}
.section--red{background:var(--mag-red-500);color:var(--mag-white)}
.section--red h2,.section--red h3,.section--red h4{color:var(--mag-white)}
.section--red p{color:rgba(255,255,255,0.92)}
.section--red .eyebrow{color:rgba(255,255,255,0.9)}

/* Section header (eyebrow + h2 + lead) */
.section-head{margin-bottom:clamp(1.75rem,3.5vw,2.75rem);display:flex;flex-direction:column;gap:var(--mag-sp-4)}
.section-head .eyebrow{margin-bottom:0}
.section-head h2{margin:0}
.section-head--center{text-align:center;max-width:820px;margin-inline:auto;align-items:center}
.section-head p.lead{margin-top:0;color:var(--mag-grey-300)}
.section-head--center p.lead{text-align:center;margin-inline:auto}

/* Section avec barre rouge horizontale au-dessus du titre */
.section-bar{position:relative}
.section-bar::before{
	content:"";
	display:block;
	width:48px;
	height:3px;
	background:var(--mag-red-500);
	margin-bottom:var(--mag-sp-4);
	border-radius:2px;
}
.section-bar--center{align-items:center}
.section-bar--center::before{margin-inline:auto}

/* === Buttons === */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:var(--mag-sp-2);
	padding:0.85rem 1.5rem;
	font-family:var(--mag-font-sans);
	font-weight:600;font-size:0.8125rem;
	letter-spacing:0.06em;
	text-transform:uppercase;
	border-radius:var(--mag-radius-md);
	transition:background .15s ease, color .15s ease, transform .12s ease, box-shadow .15s ease, border-color .15s ease;
	white-space:nowrap;
	border:1px solid transparent;
	line-height:1.2;
	cursor:pointer;
	user-select:none;
}
.btn--primary{background:var(--mag-red-500);color:var(--mag-white);border-color:var(--mag-red-500);box-shadow:0 4px 14px -4px rgba(190,21,34,0.45)}
.btn--primary:hover{background:var(--mag-red-600);border-color:var(--mag-red-600);transform:translateY(-1px);box-shadow:0 14px 32px -10px rgba(190,21,34,0.6)}
.btn--primary:active{transform:translateY(0)}
.btn--white{background:var(--mag-white);color:var(--mag-black);border-color:var(--mag-white)}
.btn--white:hover{background:var(--mag-grey-100);border-color:var(--mag-grey-100);transform:translateY(-1px);box-shadow:0 12px 28px -8px rgba(0,0,0,0.35)}
.btn--outline-white{background:transparent;color:var(--mag-white);border-color:rgba(255,255,255,0.55)}
.btn--outline-white:hover{background:var(--mag-white);color:var(--mag-black);border-color:var(--mag-white)}
.btn--ghost{background:transparent;color:var(--mag-white);border-color:var(--mag-dark-5)}
.btn--ghost:hover{border-color:var(--mag-red-500);color:var(--mag-red-400);background:rgba(190,21,34,0.06)}
.btn--ghost-red{background:transparent;color:var(--mag-red-500);border-color:var(--mag-red-500)}
.btn--ghost-red:hover{background:var(--mag-red-500);color:var(--mag-white)}
.btn--lg{padding:1.0625rem 2rem;font-size:0.875rem}
.btn--arrow{position:relative}
.btn--arrow::after{
	content:"";
	display:inline-block;
	width:14px;height:14px;
	margin-left:0.125rem;
	background-color:currentColor;
	-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>") center/contain no-repeat;
	        mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>") center/contain no-repeat;
	transition:transform .2s cubic-bezier(.4,0,.2,1);
}
.btn--arrow:hover::after{transform:translateX(4px)}
.btn:focus-visible{outline:2px solid var(--mag-red-500);outline-offset:3px}

/* === Site header === */
.site-header{
	position:sticky;top:0;z-index:50;
	background:rgba(10,10,10,0.78);
	backdrop-filter:saturate(180%) blur(18px);
	-webkit-backdrop-filter:saturate(180%) blur(18px);
	border-bottom:1px solid var(--mag-border);
	transition:background .25s ease, border-color .25s ease;
}
.site-header.is-scrolled{background:rgba(10,10,10,0.92);border-bottom-color:var(--mag-dark-5)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--mag-sp-8);padding-block:var(--mag-sp-4)}
.site-header__brand{display:flex;align-items:center;gap:var(--mag-sp-3);flex-shrink:0}
.site-header__logo{display:block;height:34px;width:auto;max-width:160px;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:var(--mag-sp-5)}
.site-nav__list{display:flex;align-items:center;gap:0.125rem;list-style:none;margin:0;padding:0}
.site-nav__list a{
	display:inline-block;padding:0.5rem 0.875rem;
	font-weight:500;font-size:0.875rem;
	color:var(--mag-grey-300);border-radius:var(--mag-radius-sm);
	transition:color .15s ease, background .15s ease;
	position:relative;
}
.site-nav__list a:hover{color:var(--mag-white);background:rgba(255,255,255,0.04)}
.site-nav__list .current-menu-item > a,
.site-nav__list .current_page_item > a,
.site-nav__list a.is-active{color:var(--mag-white);font-weight:600}
.site-nav__list .current-menu-item > a::after,
.site-nav__list .current_page_item > a::after,
.site-nav__list a.is-active::after{
	content:"";position:absolute;left:0.875rem;right:0.875rem;bottom:-2px;
	height:2px;background:var(--mag-red-500);border-radius:2px;
}
.site-nav__cta{margin-left:var(--mag-sp-3)}
.site-nav__cta .btn{padding:0.625rem 1.125rem;font-size:0.75rem}

/* Skip link a11y */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--mag-red-500);color:var(--mag-white);padding:0.75rem 1.25rem;font-weight:600;font-size:0.875rem;z-index:9999;border-radius:0 0 var(--mag-radius-md) 0}
.skip-link:focus{left:0}

/* Burger button */
.site-nav__burger{
	display:none;
	width:44px;height:44px;
	background:transparent;border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-sm);
	position:relative;
	cursor:pointer;
	transition:border-color .15s ease;
}
.site-nav__burger:hover{border-color:var(--mag-red-500)}
.site-nav__burger span{
	position:absolute;left:50%;transform:translateX(-50%);
	display:block;width:18px;height:2px;background:var(--mag-white);border-radius:2px;
	transition:transform .25s ease, opacity .15s ease, top .25s ease;
}
.site-nav__burger span:nth-child(1){top:14px}
.site-nav__burger span:nth-child(2){top:21px}
.site-nav__burger span:nth-child(3){top:28px}
.site-nav__burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:translateX(-50%) rotate(45deg)}
.site-nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-nav__burger[aria-expanded="true"] span:nth-child(3){top:21px;transform:translateX(-50%) rotate(-45deg)}

/* Mobile nav drawer */
.mobile-nav{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end;visibility:hidden;pointer-events:none}
.mobile-nav.is-open{visibility:visible;pointer-events:auto}
.mobile-nav__backdrop{
	position:absolute;inset:0;background:rgba(10,10,10,0.78);
	backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
	opacity:0;transition:opacity .25s ease;
}
.mobile-nav.is-open .mobile-nav__backdrop{opacity:1}
.mobile-nav__panel{
	position:relative;
	width:min(360px,92vw);
	height:100%;
	background:var(--mag-dark-1);
	border-left:1px solid var(--mag-border);
	display:flex;flex-direction:column;
	padding:var(--mag-sp-6) var(--mag-sp-6) var(--mag-sp-8);
	transform:translateX(100%);
	transition:transform .3s cubic-bezier(.4,0,.2,1);
	overflow-y:auto;
}
.mobile-nav.is-open .mobile-nav__panel{transform:translateX(0)}
.mobile-nav__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--mag-sp-6);border-bottom:1px solid var(--mag-border);margin-bottom:var(--mag-sp-4)}
.mobile-nav__label{font-family:var(--mag-font-mono);font-size:0.6875rem;letter-spacing:0.20em;text-transform:uppercase;color:var(--mag-grey-400)}
.mobile-nav__close{
	width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
	border:1px solid var(--mag-border);border-radius:var(--mag-radius-sm);
	color:var(--mag-white);transition:border-color .15s ease, color .15s ease;
}
.mobile-nav__close:hover{border-color:var(--mag-red-500);color:var(--mag-red-500)}
.mobile-nav__close svg{width:18px;height:18px}
.mobile-nav__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.mobile-nav__list li{border-bottom:1px solid var(--mag-border)}
.mobile-nav__list a{
	display:block;padding:1rem 0;
	color:var(--mag-grey-200);font-size:1.0625rem;font-weight:500;
	transition:color .15s ease, padding-left .2s ease;
}
.mobile-nav__list a:hover,.mobile-nav__list a.is-active{color:var(--mag-white);padding-left:var(--mag-sp-2)}
.mobile-nav__list a.is-active{font-weight:700;color:var(--mag-red-400)}
.mobile-nav__cta{margin-top:var(--mag-sp-6);display:flex;flex-direction:column;gap:var(--mag-sp-3)}
.mobile-nav__cta .btn{width:100%;padding-block:1rem}
@media (prefers-reduced-motion:reduce){
	.mobile-nav__panel{transition:none}
	.mobile-nav__backdrop{transition:none}
}

/* === Hero (centré, alarmiste-crédible, motif réseau en arrière-plan) === */
.hero{
	position:relative;overflow:hidden;
	background:
		radial-gradient(50% 40% at 80% 20%, rgba(190,21,34,0.30), transparent 70%),
		radial-gradient(40% 35% at 15% 85%, rgba(190,21,34,0.18), transparent 65%),
		var(--mag-black);
	color:var(--mag-white);
	border-bottom:1px solid var(--mag-border);
}
.hero::before,.hero::after{
	content:"";position:absolute;pointer-events:none;z-index:0;
	background-repeat:no-repeat;background-position:center;background-size:contain;opacity:0.5;
}
.hero::before{
	top:-15%;right:-10%;width:520px;height:520px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600' fill='none' stroke='%23be1522' stroke-width='0.8' opacity='0.35'><circle cx='300' cy='300' r='290'/><circle cx='300' cy='300' r='220'/><circle cx='300' cy='300' r='150'/><circle cx='300' cy='300' r='90'/><line x1='10' y1='300' x2='590' y2='300'/><line x1='300' y1='10' x2='300' y2='590'/><line x1='90' y1='90' x2='510' y2='510'/><line x1='90' y1='510' x2='510' y2='90'/></svg>");
}
.hero::after{
	bottom:-20%;left:-15%;width:420px;height:420px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600' fill='none' stroke='%23be1522' stroke-width='0.6' opacity='0.25'><circle cx='300' cy='300' r='290'/><circle cx='300' cy='300' r='200'/><circle cx='300' cy='300' r='110'/></svg>");
}
.hero__inner{position:relative;z-index:1;padding-block:clamp(3.5rem,8vh,5.5rem) clamp(3rem,6vh,4.5rem);max-width:none;margin-inline:auto;text-align:center}
.hero__eyebrow{font-family:var(--mag-font-mono);font-size:0.6875rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--mag-grey-400);margin-bottom:var(--mag-sp-6);display:inline-block}
.hero h1{color:var(--mag-white);max-width:none;margin-inline:auto;text-wrap:balance}
.hero__copy{margin-top:var(--mag-sp-6);max-width:820px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--mag-sp-3)}
.hero__copy p{color:var(--mag-grey-200);font-size:1.0625rem;line-height:1.65;margin-inline:auto;max-width:none}
.hero__actions{display:flex;gap:var(--mag-sp-3);flex-wrap:wrap;margin-top:var(--mag-sp-8);justify-content:center}
.hero__trust{margin-top:var(--mag-sp-8);font-family:var(--mag-font-mono);font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--mag-grey-500)}
.hero__trust span{margin-inline:var(--mag-sp-3)}

/* Hero variants */
.hero--compact .hero__inner{padding-block:clamp(3rem,7vh,4.5rem) clamp(2.5rem,5vh,3.75rem)}

/* === Bande rouge alerte (full width, sous le hero) === */
.alert-strip{
	background:linear-gradient(90deg,var(--mag-red-600) 0%,var(--mag-red-500) 50%,var(--mag-red-600) 100%);
	color:var(--mag-white);
	padding-block:var(--mag-sp-4);
	text-align:center;
	font-size:var(--mag-size-sm);
	font-weight:500;
	line-height:1.5;
	border-top:1px solid rgba(255,255,255,0.08);
	border-bottom:1px solid rgba(0,0,0,0.18);
}
.alert-strip__inner{display:flex;align-items:center;justify-content:center;gap:var(--mag-sp-3);flex-wrap:wrap}
.alert-strip strong{font-weight:700}
.alert-strip a{text-decoration:underline;text-underline-offset:3px;font-weight:600;text-decoration-thickness:1px}
.alert-strip a:hover{color:var(--mag-black);text-decoration-thickness:2px}
.alert-strip__icon{width:18px;height:18px;flex-shrink:0;animation:alert-pulse 2.4s ease-in-out infinite}
@keyframes alert-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.7;transform:scale(0.95)}}
@media (prefers-reduced-motion:reduce){.alert-strip__icon{animation:none}}

/* === Grid === */
.grid{display:grid;gap:var(--mag-sp-6);align-items:stretch}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid > *{height:100%}
.grid-auto-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-auto-2{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}

@media (max-width:1024px){
	.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:880px){
	.grid-3,.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
	.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}

/* === Card (style Lovable : eyebrow rouge en haut, h3, p, CTA underline) === */
.card{
	position:relative;
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-md);
	padding:clamp(1.75rem,2.5vw,2.5rem);
	transition:background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .25s ease;
	display:flex;flex-direction:column;gap:var(--mag-sp-4);
	overflow:hidden;
	isolation:isolate;
}
.card::before{
	content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
	background:radial-gradient(120% 80% at 100% 0%, rgba(190,21,34,0.10), transparent 60%);
	opacity:0;transition:opacity .25s ease;
}
.card:hover{background:var(--mag-bg-card-hov);border-color:rgba(190,21,34,0.45);transform:translateY(-3px);box-shadow:0 18px 48px -24px rgba(190,21,34,0.35)}
.card:hover::before{opacity:1}
.card .eyebrow{margin-bottom:0}
.card h3{color:var(--mag-white);margin:0}
.card p{margin:0;color:var(--mag-grey-300);font-size:0.9375rem;line-height:1.65;max-width:none}
.card__cta{display:inline-flex;align-items:center;gap:0.4rem;color:var(--mag-red-500);font-weight:600;font-size:0.8125rem;text-transform:uppercase;letter-spacing:0.10em;font-family:var(--mag-font-mono);margin-top:auto;align-self:flex-start}
.card__cta::after{content:"→";font-family:var(--mag-font-sans);font-weight:700;transition:transform .15s ease;display:inline-block}
.card:hover .card__cta{color:var(--mag-red-400)}
.card:hover .card__cta::after{transform:translateX(4px)}

/* Card vertical bar style (filet rouge à gauche, comme dans le design Lovable section 3 leviers) */
.card--bar{border-left:3px solid var(--mag-red-500)}
.card--bar:hover{border-left-color:var(--mag-red-400)}

/* Card featured (offer signature highlight, sans débord d'absolu) */
.card--featured{
	border-color:rgba(190,21,34,0.45);
	background:linear-gradient(180deg,rgba(190,21,34,0.06) 0%,var(--mag-bg-card) 60%);
	box-shadow:0 18px 48px -24px rgba(190,21,34,0.35);
}
.card--featured:hover{border-color:var(--mag-red-500)}
.card__ribbon{
	display:inline-flex;align-items:center;align-self:flex-start;
	background:var(--mag-red-500);color:var(--mag-white);
	padding:0.3rem 0.65rem;border-radius:var(--mag-radius-sm);
	font-family:var(--mag-font-mono);font-size:0.625rem;font-weight:600;
	letter-spacing:0.18em;text-transform:uppercase;
	margin-bottom:var(--mag-sp-2);
}

/* Card "levier" (offres hub : eyebrow + h3 plus grand + zone pricing + CTA pinned) */
.card--lever{padding:clamp(2rem,3vw,2.75rem);gap:var(--mag-sp-5)}
.card--lever h3{font-size:1.375rem;line-height:1.25}
.card--lever p{flex:1}
.card__pricing{
	margin-top:var(--mag-sp-2);
	padding-top:var(--mag-sp-5);
	border-top:1px solid var(--mag-border);
	display:flex;flex-direction:column;gap:0.5rem;
}
.card__pricing-label{font-family:var(--mag-font-mono);font-size:0.6875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--mag-grey-400)}
.card__pricing-value{color:var(--mag-white);font-weight:700;font-size:1.0625rem;line-height:1.35}

/* Card avec badge eyebrow rouge (style "URGENCE", "DOMINATION", "AUDIT PRIORITAIRE") */
.card--badge{position:relative}
.card--badge > .eyebrow{display:inline-flex;align-items:center;background:var(--mag-red-500);color:var(--mag-white);padding:0.3rem 0.7rem;border-radius:var(--mag-radius-sm);font-size:0.6875rem;letter-spacing:0.15em;margin-bottom:0;align-self:flex-start}
.card--badge > .card__hint{position:absolute;top:var(--mag-sp-8);right:var(--mag-sp-8);font-family:var(--mag-font-mono);font-size:0.75rem;letter-spacing:0.10em;color:var(--mag-red-400);text-transform:uppercase;font-weight:700;background:rgba(190,21,34,0.08);padding:0.3rem 0.6rem;border-radius:var(--mag-radius-sm)}
.card__hint{font-family:var(--mag-font-mono);font-size:0.6875rem;letter-spacing:0.15em;color:var(--mag-grey-500);text-transform:uppercase}
.card__hint--inline{display:inline-block;margin-left:var(--mag-sp-3)}

/* === Urgency grid (pourquoi maintenant) === */
.urgency-grid{
	display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr);
	gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
@media (max-width:880px){.urgency-grid{grid-template-columns:1fr;gap:var(--mag-sp-8)}}
.urgency-grid__copy{display:flex;flex-direction:column;gap:var(--mag-sp-4)}
.urgency-grid__copy .eyebrow{margin-bottom:0}
.urgency-grid__copy h2{margin:0}
.urgency-grid__copy p{margin:0;color:var(--mag-grey-300)}
.urgency-grid__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mag-sp-4)}
.urgency-stat{
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-left:3px solid var(--mag-red-500);
	border-radius:var(--mag-radius-md);
	padding:var(--mag-sp-6);
	display:flex;flex-direction:column;gap:var(--mag-sp-3);
	transition:border-color .25s ease, transform .25s ease;
}
.urgency-stat:hover{border-color:rgba(190,21,34,0.45);transform:translateY(-2px)}
.urgency-stat__value{font-family:var(--mag-font-sans);font-weight:800;font-size:clamp(1.75rem,3vw,2.25rem);color:var(--mag-red-500);line-height:1;letter-spacing:-0.03em}
.urgency-stat__label{font-size:0.8125rem;color:var(--mag-grey-300);line-height:1.5}

/* === Stats (chiffres clés rouge) === */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--mag-sp-6);margin-top:var(--mag-sp-6)}
.stat{display:flex;flex-direction:column;gap:var(--mag-sp-2)}
.stat__value{font-size:clamp(2.25rem,4.5vw,3.75rem);font-weight:800;color:var(--mag-red-500);line-height:1;letter-spacing:-0.03em}
.stat__label{font-size:var(--mag-size-sm);color:var(--mag-grey-300);max-width:28ch;line-height:1.5}

/* === Verbatim (citation client, centrée, sobre) === */
.verbatim{
	max-width:780px;margin-inline:auto;text-align:center;
	padding:var(--mag-sp-10) var(--mag-sp-8);
}
.verbatim__icon{display:inline-block;font-size:3rem;color:var(--mag-red-500);line-height:1;margin-bottom:var(--mag-sp-4);font-family:Georgia,serif}
.verbatim__quote{font-family:var(--mag-font-sans);font-size:clamp(1.125rem,1.4vw,1.375rem);line-height:1.55;color:var(--mag-grey-100);font-weight:400;max-width:60ch;margin:0 auto;font-style:italic}
.verbatim__author{margin-top:var(--mag-sp-6);font-family:var(--mag-font-sans);font-size:var(--mag-size-sm);color:var(--mag-white);font-weight:700;letter-spacing:0.02em}
.verbatim__role{display:block;color:var(--mag-grey-400);font-weight:400;font-size:0.75rem;margin-top:4px;letter-spacing:0.10em;text-transform:uppercase;font-family:var(--mag-font-mono)}

/* === Founder block (photo + bio fondateur) === */
.founder{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
	gap:clamp(2rem,5vw,4.5rem);
	align-items:center;
}
@media (max-width:880px){.founder{grid-template-columns:1fr}}
.founder__media{display:flex;flex-direction:column;gap:var(--mag-sp-4)}
.founder__photo{
	width:100%;max-width:520px;
	height:auto;display:block;margin-inline:auto;
	border-radius:var(--mag-radius-lg);
	object-fit:cover;
	box-shadow:0 24px 60px -30px rgba(190,21,34,0.45), 0 0 0 1px var(--mag-border);
}
.founder__caption{text-align:center;display:flex;flex-direction:column;gap:0.25rem}
.founder__caption strong{color:var(--mag-white);font-size:var(--mag-size-md);font-weight:700}
.founder__caption span{color:var(--mag-grey-400);font-family:var(--mag-font-mono);font-size:0.6875rem;letter-spacing:0.12em;text-transform:uppercase}
.founder__copy{display:flex;flex-direction:column;gap:var(--mag-sp-4)}
.founder__copy .eyebrow{margin-bottom:0}
.founder__copy h2{margin:0}
.founder__copy p{color:var(--mag-grey-300);margin:0;max-width:62ch}
.founder__copy p strong{color:var(--mag-white);font-weight:600}
.founder__actions{display:flex;gap:var(--mag-sp-3);flex-wrap:wrap;margin-top:var(--mag-sp-3)}

/* === Testimonial card (verbatim moderne, en grid) === */
.testimonial{
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-left:3px solid var(--mag-red-500);
	border-radius:var(--mag-radius-md);
	padding:clamp(2rem,3vw,2.75rem);
	display:flex;flex-direction:column;gap:var(--mag-sp-5);
	position:relative;overflow:hidden;
	transition:border-color .2s ease, transform .2s ease, box-shadow .25s ease;
}
.testimonial:hover{border-color:rgba(190,21,34,0.45);border-left-color:var(--mag-red-400);transform:translateY(-2px);box-shadow:0 18px 48px -24px rgba(190,21,34,0.3)}
.testimonial::before{
	content:"";position:absolute;top:var(--mag-sp-4);right:var(--mag-sp-6);
	font:900 5rem/0.8 Georgia,serif;color:rgba(190,21,34,0.10);
	content:"\201C";pointer-events:none;
}
.testimonial__quote{
	font-style:italic;
	color:var(--mag-grey-100);
	font-size:1.0625rem;
	line-height:1.65;
	max-width:none;
	margin:0;
	position:relative;z-index:1;
}
.testimonial__author{
	display:flex;flex-direction:column;gap:0.25rem;
	padding-top:var(--mag-sp-4);
	border-top:1px solid var(--mag-border);
	margin-top:auto;
}
.testimonial__author-name{font-weight:700;color:var(--mag-white);font-size:var(--mag-size-md)}
.testimonial__author-role{font-family:var(--mag-font-mono);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--mag-grey-400)}

/* Compat ancien ref-box → on l'aligne sur le style card--bar */
.ref-box{
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-left:3px solid var(--mag-red-500);
	border-radius:var(--mag-radius-md);
	padding:clamp(1.75rem,3vw,2.5rem) clamp(1.75rem,3.5vw,3rem);
	text-align:left;
	font-family:var(--mag-font-sans);
	max-width:none;
}
.ref-box__label{font-size:var(--mag-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--mag-red-500);margin-bottom:var(--mag-sp-3);font-family:var(--mag-font-mono);display:block}
.ref-box__value{font-size:var(--mag-size-xl);font-weight:700;color:var(--mag-white)}
.ref-box__intro{font-size:var(--mag-size-md);color:var(--mag-grey-200);line-height:1.6;max-width:72ch;margin-top:var(--mag-sp-3)}
.ref-box .stats{margin-top:var(--mag-sp-6)}
.ref-box__cta{margin-top:var(--mag-sp-6);display:inline-flex}

/* === Pills / Tags (secteurs d'intervention, organisations) === */
.pills{display:flex;flex-wrap:wrap;gap:var(--mag-sp-3);justify-content:center}
.pill{
	display:inline-flex;align-items:center;
	padding:0.5rem 1rem;
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-pill);
	font-size:var(--mag-size-sm);
	color:var(--mag-grey-200);
	transition:border-color .15s ease,color .15s ease,background .15s ease;
}
.pill:hover{border-color:var(--mag-red-500);color:var(--mag-white);background:var(--mag-bg-card-hov)}

/* === Clients marquee/carousel (défilement infini, fade généreux pour cacher les coutures) === */
.clients-marquee{
	position:relative;overflow:hidden;
	margin-top:var(--mag-sp-8);
	mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);
}
.clients-marquee__track{
	display:flex;align-items:center;gap:var(--mag-sp-8);
	width:max-content;
	animation:marquee 50s linear infinite;
	will-change:transform;
}
.clients-marquee:hover .clients-marquee__track{animation-play-state:paused}
.clients-marquee__item{
	display:inline-flex;align-items:center;gap:var(--mag-sp-3);
	padding:0.875rem 1.5rem;
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-md);
	font-family:var(--mag-font-sans);
	font-size:0.9375rem;
	font-weight:500;
	color:var(--mag-grey-200);
	letter-spacing:-0.005em;
	white-space:nowrap;
	transition:border-color .2s ease, color .2s ease;
	flex-shrink:0;
}
.clients-marquee__item:hover{border-color:var(--mag-red-500);color:var(--mag-white)}
.clients-marquee__item::before{
	content:"";width:5px;height:5px;border-radius:50%;background:var(--mag-red-500);flex-shrink:0;
}
@keyframes marquee{
	from{transform:translateX(0)}
	to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
	.clients-marquee__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
}

/* === Pricing === */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--mag-sp-8);margin-top:var(--mag-sp-12)}
.pricing-card{background:var(--mag-bg-card);border:1px solid var(--mag-border);border-radius:var(--mag-radius-md);padding:clamp(2rem,3vw,3rem);display:flex;flex-direction:column}
.pricing-card--featured{border:1px solid var(--mag-red-500);box-shadow:0 24px 64px -16px rgba(190,21,34,0.35);background:linear-gradient(180deg,rgba(190,21,34,0.08) 0%,var(--mag-bg-card) 60%);position:relative}
.pricing-card--featured::before{
	content:"Recommandé";
	position:absolute;top:0;right:var(--mag-sp-6);transform:translateY(-50%);
	background:var(--mag-red-500);color:var(--mag-white);
	font-family:var(--mag-font-mono);font-size:0.625rem;font-weight:600;
	letter-spacing:0.15em;text-transform:uppercase;
	padding:0.4rem 0.75rem;border-radius:var(--mag-radius-sm);
}
@media (min-width:880px){.pricing-card--featured{transform:translateY(-8px)}}
.pricing-card__plan{font-family:var(--mag-font-mono);font-size:var(--mag-size-xs);letter-spacing:0.20em;text-transform:uppercase;color:var(--mag-red-500);margin-bottom:var(--mag-sp-3)}
.pricing-card__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--mag-sp-2);font-weight:800;color:var(--mag-white);font-size:clamp(1.75rem,1.2rem + 1.4vw,var(--mag-size-4xl));line-height:1.05;letter-spacing:-0.03em}
.pricing-card__price-unit{font-size:var(--mag-size-md);color:var(--mag-fg-muted);font-weight:500;letter-spacing:0}
.pricing-card__setup{margin-top:var(--mag-sp-2);font-size:var(--mag-size-sm);color:var(--mag-fg-muted)}
.pricing-card__users{margin-top:var(--mag-sp-3);font-size:var(--mag-size-sm);color:var(--mag-grey-200);font-weight:500}
.pricing-card__features{list-style:none;padding:0;margin:var(--mag-sp-6) 0;display:flex;flex-direction:column;gap:var(--mag-sp-3);flex-grow:1}
.pricing-card__features li{position:relative;padding-left:1.5rem;font-size:var(--mag-size-sm);color:var(--mag-grey-300)}
.pricing-card__features li::before{
	content:"";position:absolute;left:0;top:0.55em;width:0.875rem;height:0.875rem;
	background:var(--mag-red-500);
	-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'><path d='M20 6L9 17l-5-5'/></svg>") center/contain no-repeat;
	        mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'><path d='M20 6L9 17l-5-5'/></svg>") center/contain no-repeat;
}
.pricing-card .btn{margin-top:auto;justify-content:center}
.pricing-note{
	margin-top:var(--mag-sp-8);
	padding:var(--mag-sp-4) var(--mag-sp-6);
	border:1px solid var(--mag-border);
	border-left:3px solid var(--mag-red-500);
	border-radius:var(--mag-radius-sm);
	background:var(--mag-bg-card);
	font-size:var(--mag-size-sm);
	color:var(--mag-grey-300);
	line-height:1.6;
	max-width:72ch;
}

/* === Process timeline (home, parcours cabinet) === */
.process-timeline{
	list-style:none;padding:0;margin:0;
	display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--mag-sp-6);
	counter-reset:process;
	position:relative;
}
@media (max-width:1024px){.process-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.process-timeline{grid-template-columns:1fr}}
.process-timeline__step{
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-top:3px solid var(--mag-red-500);
	border-radius:var(--mag-radius-md);
	padding:clamp(1.5rem,2.5vw,2.25rem);
	display:flex;flex-direction:column;gap:var(--mag-sp-4);
	position:relative;
	transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.process-timeline__step:hover{transform:translateY(-3px);box-shadow:0 18px 40px -20px rgba(190,21,34,0.3)}
.process-timeline__num{
	font-family:var(--mag-font-mono);font-weight:600;
	font-size:0.875rem;letter-spacing:0.14em;
	color:var(--mag-red-500);
	display:inline-block;
}
.process-timeline__body{display:flex;flex-direction:column;gap:var(--mag-sp-3)}
.process-timeline__body .eyebrow{margin-bottom:0;font-size:0.625rem}
.process-timeline__body h3{color:var(--mag-white);font-size:1.125rem;margin:0;letter-spacing:-0.01em}
.process-timeline__body p{color:var(--mag-grey-300);font-size:0.9375rem;line-height:1.6;margin:0}

/* === Process steps (style 01/02/03/04 du design audits) === */
.process{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--mag-sp-8);margin-top:var(--mag-sp-12)}
.process__step{display:flex;flex-direction:column;gap:var(--mag-sp-3)}
.process__num{font-family:var(--mag-font-mono);font-size:var(--mag-size-sm);font-weight:600;color:var(--mag-red-500);letter-spacing:0.2em}
.process__title{font-family:var(--mag-font-sans);font-size:var(--mag-size-md);font-weight:700;color:var(--mag-white);text-transform:uppercase;letter-spacing:0.05em}
.process__desc{font-size:0.9375rem;color:var(--mag-grey-300);line-height:1.6}

/* === Bulleted features list (checks rouge à gauche) === */
.features-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--mag-sp-3);margin-top:var(--mag-sp-4)}
.card .features-list,.card--bar .features-list{margin-top:var(--mag-sp-3)}
.features-list li{position:relative;padding-left:1.75rem;font-size:0.9375rem;color:var(--mag-grey-200);line-height:1.6}
.features-list li::before{
	content:"";position:absolute;left:0;top:0.45em;width:1rem;height:1rem;
	background:var(--mag-red-500);
	-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'><path d='M20 6L9 17l-5-5'/></svg>") center/contain no-repeat;
	        mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'><path d='M20 6L9 17l-5-5'/></svg>") center/contain no-repeat;
}

/* === FAQ accordéons (style Apple/Stripe : minimal, séparateurs fins, grosse typo) === */
.faq{display:flex;flex-direction:column;max-width:920px;margin-inline:auto;margin-top:var(--mag-sp-14);border-top:1px solid var(--mag-border)}
.faq details{
	border-bottom:1px solid var(--mag-border);
	padding-block:var(--mag-sp-1);
	transition:background .25s ease;
}
.faq details:hover{background:rgba(255,255,255,0.015)}
.faq summary{
	font-family:var(--mag-font-sans);
	font-weight:500;
	color:var(--mag-grey-100);
	cursor:pointer;
	font-size:clamp(1.0625rem,1.4vw,1.25rem);
	letter-spacing:-0.005em;
	list-style:none;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:var(--mag-sp-8);
	padding-block:var(--mag-sp-6);
	line-height:1.45;
	transition:color .2s ease;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--mag-white)}
.faq details[open] summary{color:var(--mag-white);font-weight:600}
.faq .summary__text{flex:1;display:block}
.faq summary::after{
	content:"";
	flex-shrink:0;
	width:14px;height:14px;
	margin-top:0.4rem;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9a9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	transition:transform .3s cubic-bezier(.4,0,.2,1), opacity .2s ease;
}
.faq summary:hover::after{opacity:0.85}
.faq details[open] summary::after{
	transform:rotate(180deg);
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23be1522' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
}
.faq details p{
	margin-top:0;
	margin-bottom:var(--mag-sp-8);
	padding-right:var(--mag-sp-12);
	color:var(--mag-grey-300);
	font-size:1rem;
	line-height:1.7;
	max-width:68ch;
	animation:faq-reveal .35s cubic-bezier(.4,0,.2,1);
}
@keyframes faq-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* === VERA Showcase (image produit) === */
.vera-showcase{
	max-width:1180px;margin:0 auto;
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-lg);
	overflow:hidden;
	box-shadow:0 60px 120px -40px rgba(190,21,34,0.35), 0 0 0 1px rgba(190,21,34,0.18);
	transition:transform .35s ease, box-shadow .35s ease;
}
.vera-showcase:hover{transform:translateY(-3px);box-shadow:0 80px 140px -40px rgba(190,21,34,0.45), 0 0 0 1px rgba(190,21,34,0.30)}
.vera-showcase__bar{
	display:flex;align-items:center;gap:var(--mag-sp-2);
	padding:0.875rem 1.125rem;
	background:var(--mag-dark-2);
	border-bottom:1px solid var(--mag-border);
}
.vera-showcase__bar > span{width:10px;height:10px;border-radius:50%;background:var(--mag-dark-5)}
.vera-showcase__bar > span:nth-child(1){background:#f56565}
.vera-showcase__bar > span:nth-child(2){background:#ecc94b}
.vera-showcase__bar > span:nth-child(3){background:#48bb78}
.vera-showcase__url{
	margin-left:var(--mag-sp-4);flex:1;
	font-family:var(--mag-font-mono);font-size:0.7rem;
	color:var(--mag-grey-400);letter-spacing:0.05em;
	text-transform:lowercase;
}
.vera-showcase__img{display:block;width:100%;height:auto}
.vera-showcase__caption{
	padding:var(--mag-sp-5) var(--mag-sp-6);
	background:var(--mag-dark-1);
	border-top:1px solid var(--mag-border);
	display:flex;flex-direction:column;gap:0.25rem;
	font-size:0.875rem;color:var(--mag-grey-300);line-height:1.55;
}
.vera-showcase__caption .eyebrow{margin-bottom:0;font-size:0.625rem}

/* === VERA Gallery (modules grid) === */
.vera-gallery{
	display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mag-sp-6);
	margin-top:var(--mag-sp-4);
}
@media (max-width:760px){.vera-gallery{grid-template-columns:1fr}}
.vera-gallery__item{
	margin:0;background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-md);
	overflow:hidden;
	display:flex;flex-direction:column;
	transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.vera-gallery__item:hover{transform:translateY(-3px);border-color:rgba(190,21,34,0.45);box-shadow:0 24px 56px -28px rgba(190,21,34,0.35)}
.vera-gallery__item--wide{grid-column:1 / -1}
.vera-gallery__item img{display:block;width:100%;height:auto;border-bottom:1px solid var(--mag-border)}
.vera-gallery__item figcaption{
	padding:var(--mag-sp-5) var(--mag-sp-6);
	display:flex;flex-direction:column;gap:0.5rem;
	background:var(--mag-dark-1);
}
.vera-gallery__item figcaption .eyebrow{margin-bottom:0;font-size:0.625rem}
.vera-gallery__item figcaption strong{color:var(--mag-white);font-size:1rem;font-weight:700}
.vera-gallery__item figcaption span:not(.eyebrow){color:var(--mag-grey-300);font-size:0.875rem;line-height:1.55}

/* === Dashboard preview (mockup VERA OS) === */
.dashboard-preview{
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-lg);
	padding:var(--mag-sp-6);
	box-shadow:0 30px 80px -30px rgba(190,21,34,0.25);
	overflow:hidden;
}
.dashboard-preview__bar{display:flex;gap:var(--mag-sp-2);margin-bottom:var(--mag-sp-4)}
.dashboard-preview__bar span{width:10px;height:10px;border-radius:50%;background:var(--mag-dark-5)}
.dashboard-preview__bar span:nth-child(1){background:#f56565}
.dashboard-preview__bar span:nth-child(2){background:#ecc94b}
.dashboard-preview__bar span:nth-child(3){background:#48bb78}
.dashboard-preview__inner{background:var(--mag-dark-1);border:1px solid var(--mag-border);border-radius:var(--mag-radius-sm);padding:var(--mag-sp-6);min-height:240px;display:grid;grid-template-columns:1fr 2fr;gap:var(--mag-sp-4)}
.dashboard-preview__nav{display:flex;flex-direction:column;gap:var(--mag-sp-2)}
.dashboard-preview__nav-item{height:10px;background:var(--mag-dark-3);border-radius:3px}
.dashboard-preview__nav-item.is-active{background:var(--mag-red-500)}
.dashboard-preview__main{display:flex;flex-direction:column;gap:var(--mag-sp-3)}
.dashboard-preview__line{height:8px;background:var(--mag-dark-3);border-radius:3px}
.dashboard-preview__line.is-short{width:60%}
.dashboard-preview__line.is-medium{width:80%}
.dashboard-preview__chart{margin-top:var(--mag-sp-3);height:80px;background:linear-gradient(180deg,rgba(190,21,34,0.15) 0%,transparent 100%);border-radius:var(--mag-radius-sm);position:relative}
.dashboard-preview__chart::after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(0deg,rgba(190,21,34,0.4),transparent);border-radius:var(--mag-radius-sm)}

/* === CTA band (section rouge finale) === */
.cta-band{
	background:var(--mag-red-500);
	color:var(--mag-white);
	padding-block:clamp(3.5rem,6vw,5.5rem);
	text-align:center;
	position:relative;
	overflow:hidden;
}
.cta-band::before{
	content:"";position:absolute;inset:0;pointer-events:none;
	background:
		radial-gradient(60% 50% at 80% 0%, rgba(0,0,0,0.18), transparent 70%),
		radial-gradient(50% 40% at 10% 100%, rgba(0,0,0,0.16), transparent 70%);
}
.cta-band > *{position:relative;z-index:1}
.cta-band h2{color:var(--mag-white);max-width:24ch;margin-inline:auto;font-size:clamp(1.75rem,3.2vw,2.875rem);line-height:1.1;letter-spacing:-0.03em;text-wrap:balance}
.cta-band h2 .h2-line-red{color:rgba(255,255,255,0.78);font-weight:700}
.cta-band__sub{color:rgba(255,255,255,0.92);margin-top:var(--mag-sp-4);max-width:58ch;margin-inline:auto;font-size:1.0625rem;line-height:1.6}
.cta-band__actions{display:flex;gap:var(--mag-sp-3);flex-wrap:wrap;justify-content:center;margin-top:var(--mag-sp-8)}
.cta-band__trust{margin-top:var(--mag-sp-8);font-family:var(--mag-font-mono);font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.72)}

/* === Footer === */
.site-footer{background:var(--mag-black);border-top:1px solid var(--mag-border);color:var(--mag-grey-300);padding-block:clamp(4rem,7vw,6rem) clamp(2.25rem,3.5vw,3rem);margin-top:clamp(3rem,6vw,5rem)}
.site-footer__cols{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1.2fr;gap:var(--mag-sp-12) var(--mag-sp-10)}
.site-footer__brand-pitch{font-size:0.8125rem;line-height:1.5;color:var(--mag-grey-400);margin-top:var(--mag-sp-1);max-width:30ch}
.site-footer__cta{margin-top:var(--mag-sp-3);align-self:flex-start}
.site-footer h4{
	font-family:var(--mag-font-mono);
	font-size:0.6875rem;
	font-weight:600;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--mag-grey-400);
	margin-bottom:var(--mag-sp-5);
}
.site-footer ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--mag-sp-3)}
.site-footer a{color:var(--mag-grey-300);font-size:var(--mag-size-sm);transition:color .12s ease;font-weight:400}
.site-footer a:hover{color:var(--mag-red-500)}
.site-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mag-sp-4)}
.site-footer__brand-logo{height:auto;width:160px;max-width:100%;display:block;margin-bottom:var(--mag-sp-2);object-fit:contain;align-self:flex-start}
.site-footer__brand-label{font-family:var(--mag-font-mono);font-size:0.75rem;letter-spacing:0.20em;text-transform:uppercase;color:var(--mag-red-500);font-weight:500}
.site-footer__contact{display:flex;flex-direction:column;gap:0.35rem;font-size:var(--mag-size-sm);color:var(--mag-grey-300);line-height:1.6;margin-top:var(--mag-sp-2)}
.site-footer__contact a{color:var(--mag-grey-300)}
.site-footer__contact a:hover{color:var(--mag-red-500)}
.site-footer__socials{display:flex;gap:var(--mag-sp-3);margin-top:var(--mag-sp-3)}
.site-footer__socials a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--mag-border);border-radius:var(--mag-radius-sm);color:var(--mag-grey-300);transition:border-color .15s ease,color .15s ease}
.site-footer__socials a:hover{border-color:var(--mag-red-500);color:var(--mag-red-500)}
.site-footer__socials svg{width:16px;height:16px}
.site-footer__col-trust{display:flex;flex-direction:column;gap:var(--mag-sp-4)}
.site-footer__french-tech{display:flex;align-items:center;gap:var(--mag-sp-3)}
.site-footer__french-tech img{height:40px;width:auto}
.site-footer__french-tech-label{font-size:var(--mag-size-sm);color:var(--mag-grey-200);font-weight:500}
.site-footer__badge-row{display:flex;align-items:center;gap:var(--mag-sp-3);font-size:0.8125rem;color:var(--mag-grey-300)}
.site-footer__badge-row svg{width:16px;height:16px;color:var(--mag-grey-400);flex-shrink:0}
.site-footer__bottom{
	display:flex;flex-wrap:wrap;gap:var(--mag-sp-4) var(--mag-sp-8);
	justify-content:space-between;
	margin-top:clamp(2.5rem,5vw,4rem);
	padding-top:var(--mag-sp-6);
	border-top:1px solid var(--mag-border);
	font-size:0.75rem;
	color:var(--mag-grey-500);
}
.site-footer__legal{display:flex;gap:var(--mag-sp-6);flex-wrap:wrap}
.site-footer__legal a{font-size:0.75rem;color:var(--mag-grey-500)}
.site-footer__legal a:hover{color:var(--mag-red-500)}

@media (max-width:1180px){
	.site-footer__cols{grid-template-columns:1.6fr 1fr 1fr}
	.site-footer__brand{grid-column:1 / -1}
}
@media (max-width:780px){
	.site-footer__cols{grid-template-columns:1fr 1fr}
	.site-footer__brand{grid-column:1 / -1}
	.site-footer__col-trust{grid-column:1 / -1}
}
@media (max-width:480px){
	.site-footer__cols{grid-template-columns:1fr}
	.site-footer__brand,.site-footer__col-trust{grid-column:auto}
}

/* === Contact hero stats === */
.contact-hero-stats{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:var(--mag-sp-3);
	max-width:880px;
	margin:var(--mag-sp-12) auto 0;
	padding:var(--mag-sp-5);
	background:rgba(255,255,255,0.025);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-md);
	backdrop-filter:blur(8px);
}
.contact-hero-stat{display:flex;flex-direction:column;gap:0.25rem;text-align:center;padding-block:var(--mag-sp-2)}
.contact-hero-stat__value{font-family:var(--mag-font-sans);font-weight:800;font-size:clamp(1.25rem,2vw,1.625rem);color:var(--mag-red-400);letter-spacing:-0.02em;line-height:1}
.contact-hero-stat__label{font-family:var(--mag-font-mono);font-size:0.625rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--mag-grey-400);line-height:1.3}
@media (max-width:720px){.contact-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* === Contact layout (form + sidebar sticky) === */
.contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media (max-width:980px){.contact-layout{grid-template-columns:1fr;gap:var(--mag-sp-8)}}
.contact-layout__sidebar{display:flex;flex-direction:column;gap:var(--mag-sp-6);position:sticky;top:var(--mag-sp-12)}
@media (max-width:980px){.contact-layout__sidebar{position:static}}

.contact-form-card{
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-lg);
	padding:clamp(2rem,3.5vw,3rem) clamp(2rem,3.5vw,3.5rem);
	box-shadow:0 30px 80px -40px rgba(190,21,34,0.15);
}
.contact-form-card__title{margin-top:var(--mag-sp-3);font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-0.02em}
.contact-form-card__intro{margin-top:var(--mag-sp-4);max-width:60ch;color:var(--mag-grey-300);font-size:0.9375rem;line-height:1.6}
.contact-form-card .contact-form{margin-top:var(--mag-sp-7);padding-top:var(--mag-sp-7);border-top:1px solid var(--mag-border)}

.contact-alert{margin-top:var(--mag-sp-6);padding:var(--mag-sp-5) var(--mag-sp-6);border-radius:var(--mag-radius-md);border:1px solid;display:flex;flex-direction:column;gap:0.25rem}
.contact-alert strong{color:var(--mag-white);font-size:var(--mag-size-md)}
.contact-alert p{margin:0;color:var(--mag-grey-200);font-size:var(--mag-size-sm)}
.contact-alert--ok{border-color:var(--mag-red-500);background:rgba(190,21,34,0.08)}
.contact-alert--err{border-color:#f59e0b;background:rgba(245,158,11,0.08)}
.contact-alert a{color:var(--mag-red-400);text-decoration:underline}

.contact-sidebar-card{
	background:var(--mag-bg-card);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-md);
	padding:clamp(1.75rem,2.5vw,2.25rem);
	display:flex;flex-direction:column;gap:var(--mag-sp-3);
}
.contact-sidebar-card h3{margin-top:var(--mag-sp-2);color:var(--mag-white);font-size:1.125rem;letter-spacing:-0.005em}
.contact-sidebar-card p{color:var(--mag-grey-300);font-size:0.9375rem;line-height:1.6;margin-top:var(--mag-sp-2);max-width:none}
.contact-sidebar-card--accent{border-left:3px solid var(--mag-red-500)}
.contact-sidebar-card--guarantees{background:linear-gradient(180deg,rgba(190,21,34,0.06) 0%,var(--mag-bg-card) 70%);border-color:rgba(190,21,34,0.25)}
.contact-sidebar-card--guarantees .features-list{margin-top:var(--mag-sp-4)}

.contact-sidebar-card__action{margin-top:var(--mag-sp-4);align-self:flex-start}
.contact-sidebar-card__lines{
	display:flex;flex-direction:column;gap:var(--mag-sp-5);
	margin-top:var(--mag-sp-5);
	padding-top:var(--mag-sp-5);
	border-top:1px solid var(--mag-border);
}
.contact-sidebar-line{display:flex;align-items:flex-start;gap:var(--mag-sp-4)}
.contact-sidebar-line__icon{
	width:20px;height:20px;flex-shrink:0;
	color:var(--mag-red-500);
	margin-top:0.15rem;
}
.contact-sidebar-line__title{font-size:var(--mag-size-md);color:var(--mag-white);font-weight:600;line-height:1.35}
.contact-sidebar-line__title a{color:var(--mag-white);transition:color .15s ease}
.contact-sidebar-line__title a:hover{color:var(--mag-red-500)}
.contact-sidebar-line__sub{font-size:0.75rem;color:var(--mag-grey-400);margin-top:0.25rem;font-family:var(--mag-font-mono);letter-spacing:0.06em;text-transform:uppercase}

/* === Contact form === */
.contact-form{display:grid;gap:var(--mag-sp-6)}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--mag-sp-5) var(--mag-sp-6)}
@media (max-width:620px){.contact-form__row{grid-template-columns:1fr}}
.contact-form label{display:flex;flex-direction:column;gap:0.5rem}
.contact-form label.checkbox-label{
	flex-direction:row;align-items:flex-start;gap:var(--mag-sp-3);
	background:var(--mag-dark-1);
	border:1px solid var(--mag-border);
	border-radius:var(--mag-radius-md);
	padding:var(--mag-sp-4) var(--mag-sp-5);
	font-size:0.8125rem;color:var(--mag-grey-300);line-height:1.6;
	cursor:pointer;
	transition:border-color .15s ease, background .15s ease;
}
.contact-form label.checkbox-label:hover{border-color:var(--mag-dark-5);background:var(--mag-dark-2)}
.contact-form label.checkbox-label:has(input:checked){border-color:var(--mag-red-500);background:rgba(190,21,34,0.06)}
.contact-form label.checkbox-label input[type="checkbox"]{margin-top:0.15rem;accent-color:var(--mag-red-500);width:18px;height:18px;flex-shrink:0;cursor:pointer}
.contact-form label.checkbox-label a{color:var(--mag-red-400);text-decoration:underline;text-underline-offset:2px}
.contact-form .form-label{font-family:var(--mag-font-mono);font-size:0.6875rem;color:var(--mag-grey-300);font-weight:500;letter-spacing:0.12em;text-transform:uppercase}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea,.contact-form select{
	background:var(--mag-dark-1);
	border:1px solid var(--mag-dark-4);
	border-radius:var(--mag-radius-md);
	padding:1rem 1.125rem;
	color:var(--mag-white);
	font-family:var(--mag-font-sans);
	font-size:var(--mag-size-md);
	transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
	width:100%;
	line-height:1.4;
}
.contact-form input:hover,.contact-form textarea:hover,.contact-form select:hover{border-color:var(--mag-dark-5)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--mag-grey-500);opacity:1}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--mag-red-500);background:var(--mag-dark-2);box-shadow:0 0 0 4px rgba(190,21,34,0.18)}
.contact-form input:user-invalid,.contact-form textarea:user-invalid{border-color:rgba(190,21,34,0.5)}
.contact-form textarea{resize:vertical;min-height:160px;line-height:1.6}
.contact-form__submit{display:flex;align-items:center;justify-content:space-between;gap:var(--mag-sp-4);flex-wrap:wrap;margin-top:var(--mag-sp-3);padding-top:var(--mag-sp-5);border-top:1px solid var(--mag-border)}
.contact-form__submit-note{font-family:var(--mag-font-mono);font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--mag-grey-500)}

.contact-info{display:flex;flex-direction:column;gap:var(--mag-sp-5)}
.contact-info__card{background:var(--mag-bg-card);border:1px solid var(--mag-border);border-radius:var(--mag-radius-md);padding:var(--mag-sp-7)}
.contact-info__card h3{color:var(--mag-white);margin-bottom:var(--mag-sp-3);font-size:1.125rem}
.contact-info__lines{font-size:var(--mag-size-md);line-height:1.8;color:var(--mag-grey-200)}
.contact-info__lines a{color:var(--mag-white);text-decoration:underline;text-decoration-color:var(--mag-dark-5);text-underline-offset:3px;transition:text-decoration-color .15s ease}
.contact-info__lines a:hover{text-decoration-color:var(--mag-red-500);color:var(--mag-red-500)}

/* === Cookie banner === */
.magnetiks-cookies{position:fixed;left:var(--mag-sp-4);right:var(--mag-sp-4);bottom:var(--mag-sp-4);z-index:9999;background:var(--mag-bg-card);border:1px solid var(--mag-red-500);border-radius:var(--mag-radius-lg);box-shadow:0 30px 60px rgba(0,0,0,0.6);opacity:0;transform:translateY(20px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.magnetiks-cookies.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.magnetiks-cookies__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--mag-sp-8);padding:var(--mag-sp-5) var(--mag-sp-6);flex-wrap:wrap}
.magnetiks-cookies__text{flex:1;min-width:280px}
.magnetiks-cookies__text p{margin-top:var(--mag-sp-2);font-size:var(--mag-size-sm);color:var(--mag-grey-300);max-width:760px}
.magnetiks-cookies__actions{display:flex;gap:var(--mag-sp-3);flex-shrink:0}

/* === Mobile === */
@media (max-width:880px){
	.site-nav{display:none}
	.site-nav__burger{display:inline-block}
	.site-nav__cta .btn{padding:0.5rem 0.875rem;font-size:0.7rem}
	.cta-band{padding-block:clamp(3.5rem,9vw,5rem)}
	.section{padding-block:clamp(3.5rem,9vw,5rem)}
	.hero__inner{padding-block:clamp(3.5rem,11vw,5rem)}
	.hero__actions{width:100%;flex-direction:column}
	.hero__actions .btn{width:100%}
	.hero::before,.hero::after{opacity:0.22}
	.hero__trust span{display:inline-block;margin-block:0.15rem}
	.section-head{margin-bottom:var(--mag-sp-10)}
	.magnetiks-cookies{left:var(--mag-sp-2);right:var(--mag-sp-2);bottom:var(--mag-sp-2)}
	.magnetiks-cookies__inner{flex-direction:column;align-items:flex-start;padding:var(--mag-sp-4)}
	.magnetiks-cookies__actions{width:100%}
	.magnetiks-cookies__actions .btn{flex:1}
	.alert-strip__inner{font-size:0.8125rem;text-align:left}
	.cta-band__actions{width:100%;flex-direction:column}
	.cta-band__actions .btn{width:100%}
	.faq summary{font-size:1rem;gap:var(--mag-sp-5);padding-block:var(--mag-sp-5)}
	.faq details p{padding-right:0;font-size:0.9375rem}
	.dashboard-preview__inner{grid-template-columns:1fr;min-height:auto}
	.dashboard-preview__nav{flex-direction:row;flex-wrap:wrap}
	.dashboard-preview__nav-item{flex:1;min-width:60px}
}

@media (max-width:560px){
	.hero__eyebrow{font-size:0.625rem;letter-spacing:0.20em}
	.contact-form-card{padding:var(--mag-sp-6)}
	.btn--lg{padding:0.875rem 1.5rem;font-size:0.8125rem}
}

/* === Print === */
@media print{
	*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}
	body{font-size:11pt;line-height:1.4}
	a{color:#000 !important;text-decoration:underline}
	a[href^="http"]::after{content:" (" attr(href) ")";font-size:0.85em;font-style:italic}
	a[href^="mailto:"]::after,a[href^="tel:"]::after,a[href^="#"]::after{content:""}
	.site-header,.mobile-nav,.magnetiks-cookies,.cta-band,.hero::before,.hero::after,.alert-strip,.site-nav__burger,.skip-link,.site-footer__socials,.clients-marquee{display:none !important}
	.hero,.section{padding-block:1.5rem !important}
	.hero__inner,.section-head{max-width:none}
	h1,h2,h3,h4{page-break-after:avoid;break-after:avoid;color:#000 !important}
	p,li{orphans:3;widows:3}
	.card,.testimonial,.process-timeline__step,.pricing-card,.urgency-stat{border:1px solid #ddd !important;page-break-inside:avoid;break-inside:avoid}
	.grid{display:block}
	.grid > *{margin-bottom:1rem}
	.faq details{break-inside:avoid}
	.faq details[open] summary::after,.faq summary::after{display:none}
	.btn{display:none}
	.site-footer{border-top:1px solid #ccc;padding:1rem 0}
}
