/* =========================================================
   ARCHIEMA STUDIO — Design system V2
   Angles droits partout. Seul le logo ©C est rond.
   Accent #C8F135 : CTA principal, numéros de levier, soulignements.
   ========================================================= */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; border-radius:0; }
:root {
  --black:#080808; --g1:#111111; --g2:#181818; --g3:#222222;
  --off:#F5F3EE; --warm:#FAFAF8;
  --m1:#8A867F; --m2:#B0ACA6; --ink2:#55524D;
  --lime:#C8F135;
  --line-d:rgba(245,243,238,0.12); --line-l:#DDD9D2;
  --pad:40px; --max:1320px;
}
html { scroll-behavior:smooth; }
body { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif; background:var(--black); color:var(--off); -webkit-font-smoothing:antialiased; overflow-x:hidden; font-size:16px; line-height:1.6; font-feature-settings:'tnum' 1; }
a { color:inherit; }
button, input, select, textarea { font:inherit; color:inherit; }
img { max-width:100%; display:block; }
.wrap { max-width:var(--max); margin:0 auto; }
.skip { position:absolute; left:-9999px; top:0; background:var(--lime); color:var(--black); padding:10px 16px; z-index:999; }
.skip:focus { left:16px; }
:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }

/* ---------- TYPO ---------- */
.label { font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.affiche { font-weight:900; text-transform:uppercase; letter-spacing:-.05em; line-height:.88; }
.h1 { font-size:clamp(52px,9.2vw,148px); }
.h-poster { font-size:clamp(44px,6.6vw,104px); }
.h2 { font-size:clamp(32px,4.2vw,58px); font-weight:800; letter-spacing:-.035em; line-height:1.02; }
.h3 { font-size:clamp(20px,1.9vw,26px); font-weight:700; letter-spacing:-.02em; line-height:1.2; }
.lead { font-size:clamp(16px,1.35vw,18px); line-height:1.7; color:var(--m2); max-width:620px; }
.light .lead, .light .muted { color:var(--ink2); }
.muted { color:var(--m1); }
.lime { color:var(--lime); }
.u-hover { text-decoration:none; background-image:linear-gradient(var(--lime),var(--lime)); background-size:0 2px; background-position:0 100%; background-repeat:no-repeat; transition:background-size .3s; }
.u-hover:hover { background-size:100% 2px; }
.note { font-size:12px; line-height:1.6; color:var(--m1); }
.light .note { color:#7A766F; }
mark.todo { background:#FFE8A3; color:#3A2E00; padding:1px 5px; font-size:.85em; font-weight:600; }

/* ---------- SECTIONS ---------- */
section, .section { padding:120px var(--pad); position:relative; }
.dark { background:var(--black); color:var(--off); }
.graphite { background:var(--g1); color:var(--off); }
.light { background:var(--off); color:var(--black); }
.sec-head { display:flex; align-items:baseline; gap:18px; padding-bottom:18px; margin-bottom:56px; border-bottom:1px solid var(--line-d); }
.light .sec-head { border-color:var(--line-l); }
.sec-head .n { color:var(--lime); }
.light .sec-head .n { color:var(--black); }
.sec-head .t { color:var(--m1); }
.light .sec-head .t { color:#7A766F; }
.split { display:grid; grid-template-columns:repeat(12,1fr); gap:40px; }
.col-5 { grid-column:span 5; } .col-6 { grid-column:span 6; } .col-7 { grid-column:span 7; } .col-4 { grid-column:span 4; } .col-8 { grid-column:span 8; } .col-12 { grid-column:span 12; }

/* ---------- NAV ---------- */
.nav { position:sticky; top:0; z-index:100; background:var(--black); border-bottom:1px solid var(--line-d); }
.nav-in { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 var(--pad); height:68px; max-width:var(--max); margin:0 auto; }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-mark { width:30px; height:30px; border:1.5px solid var(--off); border-radius:50% !important; display:flex; align-items:center; justify-content:center; font-size:9.5px; font-weight:800; letter-spacing:-.02em; }
.logo-text { font-size:11.5px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.nav-links { display:flex; align-items:center; gap:30px; }
.nav-links a { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--m2); text-decoration:none; padding:6px 0; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color:var(--off); }
.nav-links a[aria-current="page"] { box-shadow:inset 0 -2px 0 var(--lime); }
.nav-links .btn { color:var(--black); padding:12px 20px; }
.burger { display:none; background:none; border:1px solid var(--line-d); height:44px; padding:0 16px; cursor:pointer; font-size:12px; font-weight:700; letter-spacing:.12em; }

/* ---------- BUTTONS ---------- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:17px 28px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; border:1px solid transparent; cursor:pointer; transition:background .2s, color .2s, border-color .2s; white-space:nowrap; }
.btn-lime { background:var(--lime); color:var(--black); border-color:var(--lime); }
.btn-lime:hover { background:var(--off); border-color:var(--off); }
.btn-line { background:transparent; color:var(--off); border-color:var(--line-d); }
.btn-line:hover { border-color:var(--off); }
.light .btn-line { color:var(--black); border-color:#BDB8B0; }
.light .btn-line:hover { border-color:var(--black); }
.btn-ink { background:var(--black); color:var(--off); border-color:var(--black); }
.btn-ink:hover { background:var(--g3); }
.btn[disabled] { opacity:.35; cursor:not-allowed; }
.link-arrow { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; display:inline-flex; gap:10px; padding-bottom:4px; border-bottom:1px solid currentColor; }
.link-arrow:hover { border-color:var(--lime); }
.micro { margin-top:16px; font-size:12.5px; color:var(--m1); }

/* ---------- HERO ---------- */
.hero { padding:96px var(--pad) 0; }
.hero .label { color:var(--m1); display:block; margin-bottom:40px; }
.hero h1 { margin-bottom:44px; }
.hero h1 .ln { display:block; overflow:hidden; }
.hero h1 .ln > span { display:inline-block; transform:translateY(105%); animation:lineUp .9s cubic-bezier(.2,.7,0,1) forwards; }
.hero h1 .ln:nth-child(2) > span { animation-delay:.12s; }
.hero h1 .ln:nth-child(3) > span { animation-delay:.24s; }
@keyframes lineUp { to { transform:none; } }
.hero-foot { display:grid; grid-template-columns:repeat(12,1fr); gap:40px; align-items:end; padding-bottom:72px; }
.hero-foot .lead { grid-column:span 6; }
.hero-foot .cta { grid-column:8 / span 5; justify-self:end; text-align:right; }
.hero-foot .cta .row { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; }
.facts { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-d); }
.facts > div { padding:26px 24px 30px 0; border-right:1px solid var(--line-d); }
.facts > div + div { padding-left:24px; }
.facts > div:last-child { border-right:none; }
.facts b { display:block; font-size:15px; font-weight:700; margin-bottom:4px; letter-spacing:-.01em; }
.facts span { font-size:13px; color:var(--m1); }

/* page header (pages internes) */
.page-head { padding:104px var(--pad) 88px; border-bottom:1px solid var(--line-d); }
.crumb { display:flex; gap:10px; margin-bottom:44px; color:var(--m1); }
.crumb a { text-decoration:none; } .crumb a:hover { color:var(--off); }
.page-head h1 { margin-bottom:36px; }

/* ---------- LISTES NUMÉROTÉES ---------- */
.numlist { list-style:none; border-top:1px solid var(--line-d); }
.light .numlist { border-color:var(--line-l); }
.numlist li { display:grid; grid-template-columns:64px 1fr; gap:16px; padding:22px 0; border-bottom:1px solid var(--line-d); font-size:17px; line-height:1.5; }
.light .numlist li { border-color:var(--line-l); }
.numlist li .label { padding-top:4px; color:var(--m1); }

/* symptômes cochables */
.checks { list-style:none; border-top:1px solid var(--line-l); }
.check { display:grid; grid-template-columns:56px 1fr 28px; gap:16px; align-items:center; padding:20px 0; border-bottom:1px solid var(--line-l); cursor:pointer; font-size:17px; line-height:1.45; user-select:none; }
.check input { position:absolute; opacity:0; pointer-events:none; }
.check .label { color:#7A766F; }
.check .box { width:24px; height:24px; border:1.5px solid #9C978F; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:900; color:transparent; }
.check:hover .box { border-color:var(--black); }
.check.on .box { background:var(--black); border-color:var(--black); color:var(--lime); }
.check.on { font-weight:600; }
.check:focus-within { outline:2px solid var(--black); outline-offset:2px; }
.sym-out { margin-top:28px; background:var(--black); color:var(--off); padding:32px; display:none; }
.sym-out.show { display:block; animation:fade .4s ease; }
.sym-out .label { color:var(--m1); display:block; margin-bottom:14px; }
.sym-out h3 { margin-bottom:10px; }
.sym-out p { color:var(--m2); margin-bottom:20px; font-size:15px; }
.tags { display:flex; flex-wrap:wrap; gap:0; margin-bottom:24px; border-left:1px solid var(--line-d); }
.tags span { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:9px 14px; border:1px solid var(--line-d); border-left:none; }
.tags span b { color:var(--lime); margin-right:8px; }
@keyframes fade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }

/* effets */
.effects { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-l); margin-top:24px; }
.effects > div { padding:28px 24px 8px 0; }
.effects > div + div { padding-left:24px; border-left:1px solid var(--line-l); }
.effects h4 { font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; margin-bottom:12px; }
.effects p { font-size:15px; color:var(--ink2); line-height:1.6; }

/* ---------- LEVIERS ---------- */
.poles { border-top:1px solid var(--line-d); }
.pole { display:grid; grid-template-columns:220px 1fr; border-bottom:1px solid var(--line-d); }
.pole-name { padding:28px 24px 28px 0; border-right:1px solid var(--line-d); }
.pole-name .label { color:var(--m1); display:block; margin-bottom:8px; }
.pole-name strong { font-size:22px; font-weight:900; text-transform:uppercase; letter-spacing:-.03em; }
.lev { display:grid; grid-template-columns:72px 1.3fr 1.4fr 150px; gap:24px; align-items:baseline; padding:26px 0 26px 28px; text-decoration:none; border-bottom:1px solid var(--line-d); transition:background .2s; }
.lev:last-child { border-bottom:none; }
.lev:hover { background:var(--g1); }
.lev .num { font-size:30px; font-weight:900; letter-spacing:-.04em; color:var(--lime); line-height:1; }
.lev h3 { font-size:18px; font-weight:700; letter-spacing:-.015em; line-height:1.3; }
.lev h3 small { display:block; font-size:14px; font-weight:400; color:var(--m1); margin-top:6px; letter-spacing:0; }
.lev p { font-size:14.5px; color:var(--m2); line-height:1.55; }
.lev .delay { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--off); text-align:right; }

/* ---------- GEO ---------- */
.geo-points { list-style:none; margin-top:36px; border-top:1px solid var(--line-d); }
.geo-points li { padding:14px 0; border-bottom:1px solid var(--line-d); font-size:15px; display:flex; justify-content:space-between; gap:16px; }
.geo-points li span { color:var(--m1); }
.panel { background:var(--black); border:1px solid var(--line-d); }
.graphite .panel { background:var(--black); }
.panel-head { display:flex; justify-content:space-between; gap:16px; padding:18px 24px; border-bottom:1px solid var(--line-d); color:var(--m1); }
.panel-body { padding:28px 24px; }
.field { margin-bottom:16px; }
.field label { display:block; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--m2); margin-bottom:8px; }
.field label em { font-style:normal; font-weight:500; color:var(--m1); letter-spacing:.06em; text-transform:none; }
.field input, .field select, .field textarea { width:100%; background:transparent; border:none; border-bottom:1px solid var(--line-d); padding:12px 0; font-size:16px; color:var(--off); outline:none; transition:border-color .2s; }
.field textarea { resize:vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color:var(--lime); }
.field input::placeholder, .field textarea::placeholder { color:#5C5953; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.prompts { display:none; margin-top:8px; }
.prompts.show { display:block; animation:fade .4s ease; }
.prompt { display:grid; grid-template-columns:36px 1fr auto; gap:12px; align-items:start; padding:14px 0; border-bottom:1px solid var(--line-d); font-size:14.5px; line-height:1.5; }
.prompt b { color:var(--lime); font-size:12px; font-weight:800; padding-top:2px; }
.copy { background:none; border:1px solid var(--line-d); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:7px 10px; cursor:pointer; color:var(--m2); }
.copy.done { border-color:var(--lime); color:var(--lime); }
.grille { margin:20px 0; font-size:14px; line-height:1.7; color:var(--m2); padding:16px 0; border-top:1px solid var(--line-d); border-bottom:1px solid var(--line-d); }
.grille strong { color:var(--off); }
.optin { border:1px solid var(--line-d); padding:22px; }
.optin h4 { font-size:16px; font-weight:700; margin-bottom:6px; }
.optin p { font-size:14px; color:var(--m2); margin-bottom:14px; }
.optin form { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:end; }
.optin input { background:transparent; border:none; border-bottom:1px solid var(--line-d); padding:12px 0; font-size:15px; outline:none; }
.optin input:focus { border-color:var(--lime); }
.ok { display:none; margin-top:12px; font-size:14px; font-weight:600; }

/* ---------- PREUVES ---------- */
.cases { display:grid; grid-template-columns:1.25fr 1fr; gap:0; border:1px solid var(--line-l); }
.case { padding:40px; display:flex; flex-direction:column; }
.case + .case { border-left:1px solid var(--line-l); }
.case.feat { background:var(--black); color:var(--off); }
.case-top { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:28px; }
.case-top .label { color:#7A766F; }
.case.feat .case-top .label { color:var(--m1); }
.case-levers { display:flex; gap:10px; }
.case-levers span { font-size:12px; font-weight:900; letter-spacing:-.01em; }
.case.feat .case-levers span { color:var(--lime); }
.case h3 { margin-bottom:14px; }
.case > p { font-size:15px; color:var(--ink2); margin-bottom:26px; }
.case.feat > p { color:var(--m2); }
.kpis { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-l); margin-top:auto; }
.case.feat .kpis { border-color:var(--line-d); }
.kpis > div { padding:22px 16px 6px 0; }
.kpis > div + div { padding-left:16px; border-left:1px solid var(--line-l); }
.case.feat .kpis > div + div { border-color:var(--line-d); }
.kpis b { display:block; font-size:clamp(26px,2.6vw,38px); font-weight:900; letter-spacing:-.045em; line-height:1; margin-bottom:8px; }
.kpis span { font-size:12.5px; line-height:1.45; color:#6E6A63; display:block; }
.case.feat .kpis span { color:var(--m1); }
.case .note { margin-top:20px; }
.case .link-arrow { margin-top:24px; align-self:flex-start; }
.refs { margin-top:64px; display:grid; grid-template-columns:260px 1fr; gap:40px; align-items:start; }
.ref-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-l); border-left:1px solid var(--line-l); }
.ref-list > div { padding:22px 20px; border-right:1px solid var(--line-l); border-bottom:1px solid var(--line-l); }
.ref-list strong { display:block; font-size:16px; font-weight:800; letter-spacing:-.015em; margin-bottom:4px; }
.ref-list span { font-size:13px; color:#6E6A63; line-height:1.5; display:block; }
.founder { margin-top:64px; display:grid; grid-template-columns:260px 1fr auto; gap:40px; align-items:start; padding-top:40px; border-top:1px solid var(--line-l); }
.founder blockquote { font-size:clamp(22px,2.4vw,32px); font-weight:700; letter-spacing:-.025em; line-height:1.25; }
.founder p { font-size:15px; color:var(--ink2); margin-top:16px; max-width:640px; }
.cab-steps { list-style:none; margin-top:32px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-l); }
.cab-steps li { padding:20px 20px 0 0; font-size:14px; line-height:1.55; color:var(--ink2); }
.cab-steps li + li { padding-left:20px; border-left:1px solid var(--line-l); }
.cab-steps span { display:block; font-size:11px; font-weight:800; letter-spacing:.12em; color:#7A766F; margin-bottom:10px; }
.cab-steps b { display:block; font-size:16px; font-weight:800; letter-spacing:-.01em; color:var(--black); margin-bottom:6px; }

/* ---------- DIFFÉRENCE ---------- */
.versus { width:100%; border-collapse:collapse; margin-top:48px; }
.versus th { text-align:left; padding:0 24px 16px 0; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--m1); border-bottom:1px solid var(--line-d); }
.versus th:last-child { color:var(--off); }
.versus td { padding:20px 24px 20px 0; border-bottom:1px solid var(--line-d); font-size:16px; vertical-align:top; width:50%; }
.versus td:first-child { color:var(--m1); }
.versus td:last-child { font-weight:600; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); margin-top:64px; border-top:1px solid var(--line-d); }
.principles > div { padding:28px 24px 0 0; font-size:20px; font-weight:800; letter-spacing:-.02em; line-height:1.25; }
.principles > div + div { padding-left:24px; border-left:1px solid var(--line-d); }
.principles .label { display:block; color:var(--m1); margin-bottom:12px; }

/* ---------- MÉTHODE ---------- */
.steps { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-d); }
.light .steps { border-color:var(--line-l); }
.step { padding:32px 28px 8px 0; }
.step + .step { padding-left:28px; border-left:1px solid var(--line-d); }
.light .step + .step { border-color:var(--line-l); }
.step .big { font-size:56px; font-weight:900; letter-spacing:-.05em; line-height:1; margin-bottom:24px; }
.step h3 { font-size:18px; font-weight:800; margin-bottom:10px; }
.step p { font-size:15px; color:var(--m2); line-height:1.6; margin-bottom:18px; }
.light .step p { color:var(--ink2); }
.step .label { color:var(--m1); }

/* ---------- TARIFS ---------- */
.prices { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line-l); }
.price { padding:40px 32px; display:flex; flex-direction:column; }
.price + .price { border-left:1px solid var(--line-l); }
.price.feat { background:var(--black); color:var(--off); }
.price .label { color:#7A766F; margin-bottom:28px; }
.price.feat .label { color:var(--m1); }
.price .amt { font-size:clamp(30px,3.2vw,46px); font-weight:900; letter-spacing:-.05em; line-height:1; margin-bottom:8px; }
.price .unit { font-size:14px; color:#7A766F; margin-bottom:28px; }
.price.feat .unit { color:var(--m1); }
.price ul { list-style:none; border-top:1px solid var(--line-l); margin-bottom:32px; flex:1; }
.price.feat ul { border-color:var(--line-d); }
.price li { padding:12px 0; border-bottom:1px solid var(--line-l); font-size:15px; }
.price.feat li { border-color:var(--line-d); color:var(--m2); }
.price .btn { align-self:stretch; }
.price-note { margin-top:20px; }

/* ---------- QUALIFICATION ---------- */
.qual-grid { display:grid; grid-template-columns:5fr 7fr; gap:64px; align-items:start; }
.reassure { list-style:none; margin-top:36px; border-top:1px solid var(--line-d); }
.reassure li { padding:16px 0; border-bottom:1px solid var(--line-d); font-size:15px; color:var(--m2); display:grid; grid-template-columns:40px 1fr; }
.reassure li span { color:var(--m1); font-size:11px; font-weight:700; letter-spacing:.14em; padding-top:3px; }
.qual { border:1px solid var(--line-d); background:var(--g1); }
.qual-top { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 28px; border-bottom:1px solid var(--line-d); color:var(--m1); }
.progress { height:2px; background:var(--g3); }
.progress i { display:block; height:100%; width:0; background:var(--lime); transition:width .4s ease; }
.qual-body { padding:36px 28px 28px; }
.qstep { display:none; }
.qstep.active { display:block; animation:fade .35s ease; }
.qstep h3 { font-size:clamp(22px,2.3vw,30px); font-weight:800; letter-spacing:-.03em; line-height:1.15; margin-bottom:8px; }
.qstep .hint { font-size:14px; color:var(--m1); margin-bottom:24px; }
.opts { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line-d); border-left:1px solid var(--line-d); }
.opt { position:relative; display:block; cursor:pointer; border-right:1px solid var(--line-d); border-bottom:1px solid var(--line-d); }
.opt input { position:absolute; opacity:0; pointer-events:none; }
.opt span { display:block; height:100%; padding:18px 18px 18px 46px; font-size:15px; line-height:1.35; position:relative; transition:background .15s; }
.opt span::before { content:''; position:absolute; left:18px; top:20px; width:14px; height:14px; border:1.5px solid #6E6A63; }
.opt span small { display:block; font-size:13px; color:var(--m1); margin-top:4px; }
.opt:hover span { background:var(--g2); }
.opt input:checked + span { background:var(--g3); }
.opt input:checked + span::before { background:var(--lime); border-color:var(--lime); }
.opt input:focus-visible + span { outline:2px solid var(--lime); outline-offset:-2px; }
.qnav { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:28px; }
.back { background:none; border:none; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--m1); cursor:pointer; padding:10px 0; }
.back:hover { color:var(--off); }
.err { color:#FF9B80; font-size:13px; margin-top:12px; display:none; }
.consent { font-size:12px; color:var(--m1); line-height:1.6; margin-top:8px; }
.outcome .label { color:var(--m1); display:block; margin-bottom:16px; }
.outcome h3 { font-size:clamp(24px,2.6vw,34px); margin-bottom:12px; }
.outcome p { color:var(--m2); margin-bottom:22px; font-size:15.5px; }
.recap { border-top:1px solid var(--line-d); border-bottom:1px solid var(--line-d); padding:16px 0; margin-bottom:24px; font-size:14px; color:var(--m2); line-height:1.8; }
.recap b { color:var(--off); font-weight:600; }
.cal { background:#fff; border:1px solid var(--line-d); margin-bottom:12px; }
.cal iframe { width:100%; height:660px; border:0; display:block; }

/* ---------- FAQ ---------- */
.faq { border-top:1px solid var(--line-l); }
.dark .faq, .graphite .faq { border-color:var(--line-d); }
.faq-item { border-bottom:1px solid var(--line-l); }
.dark .faq-item, .graphite .faq-item { border-color:var(--line-d); }
.faq-q { width:100%; background:none; border:none; text-align:left; padding:24px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; font-size:17px; font-weight:700; letter-spacing:-.01em; }
.faq-q i { font-style:normal; font-size:22px; font-weight:400; transition:transform .25s; flex-shrink:0; }
.faq-item.open .faq-q i { transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-a p { padding:0 0 24px; font-size:15.5px; line-height:1.75; color:var(--ink2); max-width:720px; }
.dark .faq-a p, .graphite .faq-a p { color:var(--m2); }

/* ---------- CTA ---------- */
.cta-final { padding:140px var(--pad) 120px; }
.cta-final h2 { margin-bottom:40px; }
.cta-final .row { display:flex; gap:32px; align-items:center; flex-wrap:wrap; }
.cta-final .lead { margin-bottom:40px; }

/* ---------- FOOTER ---------- */
footer { background:var(--black); border-top:1px solid var(--line-d); padding:72px var(--pad) 0; overflow:hidden; }
.f-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; max-width:var(--max); margin:0 auto; padding-bottom:56px; }
.f-grid p { font-size:14px; color:var(--m1); max-width:320px; margin:18px 0; line-height:1.65; }
.f-grid .mail { font-size:14px; text-decoration:none; }
.f-title { display:block; color:var(--m1); margin-bottom:18px; }
.f-grid a.f { display:block; font-size:14px; color:var(--m2); text-decoration:none; margin-bottom:10px; }
.f-grid a.f:hover { color:var(--off); }
.f-grid a.f b { color:var(--lime); font-weight:800; margin-right:8px; font-size:12px; }
.f-legal { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; max-width:var(--max); margin:0 auto; padding:20px 0; border-top:1px solid var(--line-d); font-size:12px; color:var(--m1); }
.f-legal a { text-decoration:none; margin-left:24px; } .f-legal a:hover { color:var(--off); }
.wordmark { font-size:15.2vw; font-weight:900; letter-spacing:-.06em; line-height:.78; text-transform:uppercase; white-space:nowrap; margin:24px 0 -2.2vw -0.6vw; color:transparent; -webkit-text-stroke:1px rgba(245,243,238,.28); user-select:none; }

/* ---------- STICKY / MODAL ---------- */
.sticky { position:fixed; left:0; right:0; bottom:0; z-index:90; display:none; background:var(--black); border-top:1px solid var(--line-d); padding:10px 16px; align-items:center; justify-content:space-between; gap:12px; transform:translateY(110%); transition:transform .3s ease; }
.sticky.show { transform:none; }
.sticky span { font-size:13px; color:var(--m2); }
.sticky .btn { padding:13px 18px; }
.modal { position:fixed; inset:0; z-index:200; background:rgba(8,8,8,.82); display:none; align-items:center; justify-content:center; padding:20px; }
.modal.show { display:flex; animation:fade .25s ease; }
.modal-card { position:relative; max-width:520px; width:100%; background:var(--g1); border:1px solid var(--line-d); padding:44px 36px 36px; }
.modal-x { position:absolute; top:14px; right:14px; width:40px; height:40px; background:none; border:1px solid var(--line-d); cursor:pointer; font-size:12px; font-weight:700; }
.modal-card .label { color:var(--m1); display:block; margin-bottom:16px; }
.modal-card h3 { font-size:28px; font-weight:900; letter-spacing:-.035em; line-height:1.05; text-transform:uppercase; margin-bottom:14px; }
.modal-card p { color:var(--m2); margin-bottom:24px; font-size:15px; }
.modal-card .btn { width:100%; }

/* ---------- PAGES INTERNES : blocs ---------- */
.detail { display:grid; grid-template-columns:4fr 8fr; gap:56px; padding:64px 0; border-bottom:1px solid var(--line-d); }
.detail:first-of-type { padding-top:0; }
.detail-l { position:sticky; top:100px; align-self:start; }
.detail-l .num { font-size:64px; font-weight:900; letter-spacing:-.05em; color:var(--lime); line-height:1; margin-bottom:18px; }
.detail-l .label { color:var(--m1); display:block; margin-bottom:10px; }
.detail-l h2 { font-size:clamp(28px,3vw,40px); font-weight:900; text-transform:uppercase; letter-spacing:-.04em; line-height:.95; margin-bottom:22px; }
.detail-l .meta { display:flex; gap:0; border-top:1px solid var(--line-d); margin-top:22px; }
.detail-l .meta div { padding:14px 16px 0 0; font-size:13px; color:var(--m1); }
.detail-l .meta div + div { padding-left:16px; border-left:1px solid var(--line-d); }
.detail-l .meta b { display:block; color:var(--off); font-size:15px; }
.blocks { display:grid; gap:0; border-top:1px solid var(--line-d); }
.blk { display:grid; grid-template-columns:180px 1fr; gap:24px; padding:22px 0; border-bottom:1px solid var(--line-d); }
.blk .label { color:var(--m1); padding-top:4px; }
.blk p, .blk li { font-size:16px; line-height:1.65; color:var(--m2); }
.blk ul { list-style:none; }
.blk li { padding:3px 0 3px 22px; position:relative; }
.blk li::before { content:''; position:absolute; left:0; top:13px; width:10px; height:1px; background:var(--m1); }
.blk p b, .blk li b { color:var(--off); font-weight:600; }
.pole-jump { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-d); }
.pole-jump a { padding:24px 20px 24px 0; text-decoration:none; }
.pole-jump a + a { padding-left:20px; border-left:1px solid var(--line-d); }
.pole-jump strong { display:block; font-size:20px; font-weight:900; text-transform:uppercase; letter-spacing:-.03em; margin-bottom:6px; }
.pole-jump span { font-size:13px; color:var(--m1); }
.pole-jump a:hover strong { color:var(--lime); }
.pole-title { padding:96px 0 40px; display:flex; align-items:baseline; gap:18px; border-bottom:1px solid var(--line-d); margin-bottom:64px; }
.pole-title strong { font-size:clamp(40px,5vw,72px); font-weight:900; text-transform:uppercase; letter-spacing:-.05em; line-height:.9; }
.timeline { list-style:none; border-top:1px solid var(--line-l); }
.timeline li { display:grid; grid-template-columns:200px 1fr 160px; gap:32px; padding:24px 0; border-bottom:1px solid var(--line-l); align-items:baseline; }
.timeline .when { font-size:14px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.timeline h3 { font-size:18px; font-weight:700; margin-bottom:4px; }
.timeline p { font-size:15px; color:var(--ink2); }
.timeline .pole-tag { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#7A766F; text-align:right; }
.timeline li.key .when { color:var(--black); box-shadow:inset 0 -3px 0 var(--lime); display:inline-block; }
.articles { border-top:1px solid var(--line-d); }
.article { display:grid; grid-template-columns:72px 1fr 200px; gap:24px; padding:28px 0; border-bottom:1px solid var(--line-d); align-items:baseline; }
.article .num { font-size:28px; font-weight:900; letter-spacing:-.04em; color:var(--m1); }
.article h3 { font-size:clamp(19px,1.8vw,24px); font-weight:700; letter-spacing:-.02em; margin-bottom:8px; line-height:1.25; }
.article p { font-size:15px; color:var(--m2); }
.article .label { color:var(--m1); text-align:right; }
.contact-direct { list-style:none; border-top:1px solid var(--line-d); margin-top:36px; }
.contact-direct li { padding:18px 0; border-bottom:1px solid var(--line-d); display:grid; grid-template-columns:140px 1fr; gap:16px; }
.contact-direct .label { color:var(--m1); padding-top:3px; }
.contact-direct a { text-decoration:none; font-weight:600; }

/* ---------- REVEAL ---------- */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity:1; transform:none; transition:none; }
  .hero h1 .ln > span { transform:none; animation:none; }
  * { animation:none !important; transition:none !important; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px) {
  .lev { grid-template-columns:56px 1fr 130px; }
  .lev p { grid-column:2 / span 2; }
  .lev .delay { grid-row:1; grid-column:3; }
  .ref-list { grid-template-columns:repeat(2,1fr); }
  .steps { grid-template-columns:repeat(2,1fr); }
  .step:nth-child(3) { padding-left:0; border-left:none; }
  .step:nth-child(n+3) { border-top:1px solid var(--line-d); }
  .light .step:nth-child(n+3) { border-color:var(--line-l); }
}
@media (max-width:900px) {
  :root { --pad:20px; }
  section, .section { padding:84px var(--pad); }
  .burger { display:block; }
  .nav-links { display:none; position:absolute; top:68px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:var(--black); border-bottom:1px solid var(--line-d); padding:8px var(--pad) 20px; }
  .nav-links.open { display:flex; }
  .nav-links a { padding:16px 0; border-bottom:1px solid var(--line-d); font-size:12px; }
  .nav-links a[aria-current="page"] { box-shadow:none; color:var(--lime); }
  .nav-links .btn { margin-top:16px; border-bottom:none; }
  .hero { padding-top:64px; }
  .hero-foot { grid-template-columns:1fr; gap:32px; }
  .hero-foot .lead, .hero-foot .cta { grid-column:auto; justify-self:start; text-align:left; }
  .hero-foot .cta .row { justify-content:flex-start; }
  .facts { grid-template-columns:1fr 1fr; }
  .facts > div:nth-child(2) { border-right:none; }
  .facts > div:nth-child(3) { padding-left:0; }
  .facts > div:nth-child(n+3) { border-top:1px solid var(--line-d); }
  .split > * { grid-column:span 12 !important; }
  .split { gap:32px; }
  .effects { grid-template-columns:1fr 1fr; }
  .effects > div:nth-child(3) { padding-left:0; border-left:none; }
  .pole { grid-template-columns:1fr; }
  .pole-name { border-right:none; border-bottom:1px solid var(--line-d); padding:24px 0 16px; }
  .lev { padding-left:0; }
  .cases { grid-template-columns:1fr; }
  .case + .case { border-left:none; border-top:1px solid var(--line-l); }
  .case { padding:32px 24px; }
  .refs, .founder { grid-template-columns:1fr; gap:24px; }
  .cab-steps { grid-template-columns:1fr; }
  .cab-steps li, .cab-steps li + li { padding:16px 0; border-left:0; border-bottom:1px solid var(--line-l); }
  .principles { grid-template-columns:1fr; }
  .principles > div + div { padding-left:0; border-left:none; border-top:1px solid var(--line-d); padding-top:24px; margin-top:24px; }
  .prices { grid-template-columns:1fr; }
  .price + .price { border-left:none; border-top:1px solid var(--line-l); }
  .qual-grid { grid-template-columns:1fr; gap:40px; }
  .f-grid { grid-template-columns:1fr 1fr; }
  .f-grid > div:first-child { grid-column:span 2; }
  .sticky { display:flex; }
  footer { padding-bottom:64px; }
  .detail { grid-template-columns:1fr; gap:32px; padding:48px 0; }
  .detail-l { position:static; }
  .blk { grid-template-columns:1fr; gap:8px; }
  .pole-jump { grid-template-columns:1fr 1fr; }
  .pole-jump a:nth-child(3) { padding-left:0; border-left:none; }
  .pole-jump a:nth-child(n+3) { border-top:1px solid var(--line-d); }
  .timeline li { grid-template-columns:1fr; gap:6px; }
  .timeline .pole-tag { text-align:left; }
  .article { grid-template-columns:48px 1fr; }
  .article .label { grid-column:2; text-align:left; }
  .versus td, .versus th { font-size:15px; padding-right:14px; }
}
@media (max-width:600px) {
  .opts, .row2, .ref-list, .effects, .steps { grid-template-columns:1fr; }
  .effects > div + div { padding-left:0; border-left:none; border-top:1px solid var(--line-l); }
  .step + .step, .step:nth-child(3) { padding-left:0; border-left:none; border-top:1px solid var(--line-d); }
  .light .step + .step { border-color:var(--line-l); }
  .kpis { grid-template-columns:1fr; }
  .kpis > div + div { padding-left:0; border-left:none; border-top:1px solid var(--line-l); }
  .case.feat .kpis > div + div { border-color:var(--line-d); }
  .hero-foot .cta .btn, .cta-final .btn { width:100%; }
  .lev { grid-template-columns:48px 1fr; }
  .lev .delay { grid-row:auto; grid-column:2; text-align:left; }
  .lev p { grid-column:2; }
  .optin form { grid-template-columns:1fr; }
  .prompt { grid-template-columns:28px 1fr; }
  .prompt .copy { grid-column:2; justify-self:start; }
  .qual-body { padding:28px 18px 22px; }
  .qual-top { padding:16px 18px; }
  .f-grid { grid-template-columns:1fr; }
  .f-grid > div:first-child { grid-column:auto; }
  .f-legal a { margin:0 20px 0 0; }
  .cal iframe { height:760px; }
  .pole-jump { grid-template-columns:1fr; }
  .pole-jump a + a { padding-left:0; border-left:none; border-top:1px solid var(--line-d); }
  .contact-direct li { grid-template-columns:1fr; gap:4px; }
}

/* ===== Références : bande de chiffres, filtres, grille de projets ===== */
.marquee { overflow:hidden; border-top:1px solid var(--line-d); border-bottom:1px solid var(--line-d); background:var(--black); }
.marquee-track { display:flex; width:max-content; animation:marquee 40s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
.marquee-item { display:flex; align-items:baseline; gap:14px; padding:26px 48px; border-right:1px solid var(--line-d); white-space:nowrap; }
.marquee-item b { font-size:clamp(26px,3vw,40px); font-weight:900; letter-spacing:-.045em; color:var(--off); }
.marquee-item span { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--m1); }
@keyframes marquee { to { transform:translateX(-50%); } }
.filters { display:flex; flex-wrap:wrap; gap:0; margin:0 0 40px; border-left:1px solid #BDB8B0; }
.filters button { font:inherit; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:12px 20px; background:transparent; color:var(--black); border:1px solid #BDB8B0; border-left:none; cursor:pointer; }
.filters button:hover { background:#E9E6DF; }
.filters button[aria-pressed="true"] { background:var(--black); color:var(--off); border-color:var(--black); }
.pgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid #BDB8B0; border-left:1px solid #BDB8B0; }
.pcard { display:flex; flex-direction:column; padding:28px 24px 24px; border-right:1px solid #BDB8B0; border-bottom:1px solid #BDB8B0; text-decoration:none; color:var(--black); min-height:340px; transition:background .2s, color .2s; }
.pcard[hidden] { display:none; }
.pcard:hover { background:var(--black); color:var(--off); }
.pcard .pnum { font-size:clamp(44px,5vw,72px); font-weight:900; letter-spacing:-.06em; line-height:1; margin-bottom:40px; }
.pcard h3 { font-size:20px; font-weight:800; letter-spacing:-.02em; margin-bottom:6px; }
.pcard .pmeta { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#7A766F; margin-bottom:16px; }
.pcard:hover .pmeta { color:var(--m1); }
.pcard p { font-size:14.5px; line-height:1.5; color:var(--ink2); margin-bottom:16px; }
.pcard:hover p { color:var(--m1); }
.pcard ul { list-style:none; border-top:1px solid #BDB8B0; margin-top:auto; }
.pcard:hover ul { border-color:var(--line-d); }
.pcard li { font-size:13px; padding:8px 0; border-bottom:1px solid #D9D5CD; display:flex; justify-content:space-between; gap:12px; }
.pcard:hover li { border-color:var(--line-d); }
.pcard li b { font-weight:900; }
.pcard .pgo { margin-top:16px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.pcard:hover .pgo { color:var(--lime); }
@media (max-width:1100px) { .pgrid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px) { .pgrid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .pgrid { grid-template-columns:1fr; } .pcard { min-height:0; } .marquee-item { padding:20px 28px; } }
@media (prefers-reduced-motion: reduce) { .marquee-track { animation:none; } .marquee { overflow-x:auto; } }

/* Logo de marque */
.logo-img { height:46px; width:auto; display:block; }
footer .logo-img { height:88px; }
@media (max-width:600px) { .logo-img { height:40px; } footer .logo-img { height:72px; } }

/* Tunnel : CTA preuves + étapes après envoi */
.proof-cta { margin-top:64px; padding-top:32px; border-top:1px solid var(--line-l); display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.proof-cta p { font-size:clamp(18px,2vw,24px); font-weight:700; letter-spacing:-.02em; line-height:1.3; max-width:640px; }
.next-steps { list-style:none; margin-top:40px; display:grid; gap:0; border-top:1px solid var(--line-d); }
.next-steps li { display:grid; grid-template-columns:40px 1fr; gap:0 12px; padding:18px 0; border-bottom:1px solid var(--line-d); font-size:14px; line-height:1.5; color:var(--m2); }
.next-steps li span { grid-row:1 / span 2; font-size:11px; font-weight:800; letter-spacing:.12em; color:var(--lime); padding-top:3px; }
.next-steps li b { font-size:16px; font-weight:700; color:var(--off); }

/* Minimalisme mobile */
@media (max-width:600px) {
  section, .section { padding:56px var(--pad); }
  .sec-head { margin-bottom:28px; }
  .h2 { font-size:clamp(26px,8vw,34px); }
  .lead { font-size:16px; }
  .hero .facts { display:none; }
  .lev { grid-template-columns:44px 1fr; gap:4px 12px; padding:16px 0; }
  .lev .delay { grid-column:2; }
  .price ul { display:none; }
  .cab-steps li { padding:12px 0; }
}
@media (max-width:600px) {
  .page-head .pole-jump { display:none; }
  .detail { padding:40px 0; }
  .detail-l .num { font-size:44px; }
}
