:root{
  --bg:#080B14; --card:#0D1022; --purple:#6B4FBB; --accent:#9B7FE8;
  --gold:#C9A84C; --txt:#F0EEF8; --txt2:#8A87A8; --bord:rgba(107,79,187,.3);
  --lab-blue:#5B9FB5; --lab-bord:rgba(91,159,181,.32);
  --vital:#B7C95A; /* réservé Valence Vitale — non utilisé sur l'accueil */
  /* Quick Scan SNA — registre restreint, comme --lab-blue pour le Lab */
  --sna-v:#7FB5A3; --sna-s:#C9A84C; --sna-d:#6F8FB5;
  --sc-veil:rgba(8,11,20,.94);
  --maxw:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html{overflow-x:hidden;max-width:100%}
body{background:var(--bg);color:var(--txt);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;position:relative;z-index:2}

/* ── type scale /NSQ/ ─────────────────────────────── */
.dxl{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:76px;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
.dl {font-family:'Cormorant Garamond',serif;font-weight:600;font-size:56px;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
.dm {font-family:'Cormorant Garamond',serif;font-weight:600;font-size:40px;line-height:1.2;text-wrap:balance}
.quote{font-family:'Cormorant Garamond',serif;font-weight:500;font-style:italic;font-size:34px;line-height:1.4;color:var(--accent);text-wrap:balance}
.h3{font-family:'DM Sans',sans-serif;font-weight:500;font-size:24px;line-height:1.4;letter-spacing:.05em}
.h4{font-family:'DM Sans',sans-serif;font-weight:500;font-size:18px;line-height:1.4;letter-spacing:.05em}
.bodyl{font-size:18px;line-height:1.7}
.muted{color:var(--txt2)}
.lab{font-family:'DM Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;color:var(--txt2)}
.lab.gold{color:var(--gold)}
.btn{font-family:'DM Sans',sans-serif;font-weight:500;font-size:16px;letter-spacing:.02em}

/* ── placeholders ─────────────────────────────────── */
.ph{border:1px dashed var(--purple);background:rgba(107,79,187,.06);border-radius:10px;
    display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--accent);
    font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:1.6}

/* ── ambient ──────────────────────────────────────── */
.ray{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}
.grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ── header ───────────────────────────────────────── */
header{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(14px);
  background:rgba(8,11,20,.72);border-bottom:1px solid var(--bord)}
.hd{max-width:var(--maxw);margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:34px;width:auto;display:block}
.brand .bl{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--txt2);white-space:nowrap}
nav{display:flex;gap:26px;align-items:center}
nav a{color:var(--txt2);text-decoration:none;font-size:14px;letter-spacing:.01em;transition:color .2s}
nav a:hover{color:var(--accent)}

/* ── sections ─────────────────────────────────────── */
section{position:relative;padding:130px 0}

/* ── HERO ─────────────────────────────────────────── */
#hero{min-height:100vh;display:flex;align-items:center;padding:150px 0 80px;overflow:hidden}
#hero .ray{width:1000px;height:1000px;top:-380px;left:52%;
  background:radial-gradient(circle,rgba(107,79,187,.55) 0%,rgba(107,79,187,.14) 42%,transparent 70%)}
.heroGrid{display:grid;grid-template-columns:1.06fr .94fr;gap:64px;align-items:center}
#hero h1{margin:22px 0 20px}
#hero h1 em{font-style:normal;color:var(--accent)}
.sub{max-width:480px;color:var(--txt2);font-size:18px}
.proof{margin-top:44px;display:flex;gap:10px 26px;flex-wrap:wrap;align-items:center}
.proof span{white-space:nowrap}
.dot{color:var(--purple)}

/* signal line — signature */
.signal{position:absolute;left:0;right:0;height:120px;pointer-events:none;opacity:.55;z-index:1}

/* question card */
.qcard{background:linear-gradient(180deg,rgba(13,16,34,.94),rgba(13,16,34,.78));
  border:1px solid var(--bord);border-radius:18px;padding:30px;backdrop-filter:blur(18px);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.9)}
.qhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.bar{display:flex;gap:5px}
.bar i{width:16px;height:3px;border-radius:2px;background:rgba(107,79,187,.35)}
.bar i.on{background:var(--gold)}
.qtext{font-family:'DM Sans',sans-serif;font-weight:500;font-size:19px;line-height:1.5;margin-bottom:22px}
.ans{display:flex;flex-direction:column;gap:10px}
.ans button{all:unset;cursor:pointer;border:1px solid var(--bord);border-radius:11px;padding:15px 18px;
  color:var(--txt);font-size:15px;line-height:1.45;transition:.22s;background:rgba(107,79,187,.04)}
.ans button:hover{border-color:var(--accent);background:rgba(155,127,232,.11);transform:translateX(3px)}
.ans button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qfoot{margin-top:20px;padding-top:16px;border-top:1px solid var(--bord)}

/* qwrap — voie parallèle Scan / Boussole, deux chemins, un seul slot visuel */
.qwrap{display:flex;flex-direction:column;gap:0}
.qtabs{display:flex;gap:8px;margin-bottom:10px}
.qtab{all:unset;box-sizing:border-box;cursor:pointer;flex:1 1 0;text-align:center;
  padding:11px 10px;border-radius:12px 12px 0 0;border:1px solid var(--bord);border-bottom:none;
  background:rgba(107,79,187,.05);color:var(--txt2);font-family:'DM Sans',sans-serif;
  font-size:13.5px;font-weight:500;transition:.2s}
.qtab .qtabsub{display:block;font-family:'DM Mono',monospace;font-size:10.5px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--txt2);margin-top:3px;opacity:.75}
.qtab[aria-selected="true"]{color:var(--txt);background:rgba(13,16,34,.94);border-color:var(--bord)}
.qtab:hover{color:var(--txt)}
.qtab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qwrap .qcard{border-radius:0 0 18px 18px}

/* la douleur mise en avant par la Boussole se distingue, sans que les autres disparaissent */
.pain.douleur-mise-en-avant{border-color:var(--gold,#C9A84C)}
.pain.douleur-mise-en-avant .pnum{color:var(--gold,#C9A84C)}

/* ── 1b — bande de crédibilité ────────────────────── */
#cred{padding:0 0 40px;margin-top:-30px}
.credGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:52px;align-items:center;
  border-top:1px solid var(--bord);border-bottom:1px solid var(--bord);padding:34px 0}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.track{display:flex;gap:46px;width:max-content;animation:slide 42s linear infinite}
.marquee:hover .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.track figure{display:flex;align-items:center;gap:14px;white-space:nowrap}
.track img{height:52px;width:auto;opacity:.6;filter:grayscale(1);transition:.25s}
.track figure:hover img{opacity:1;filter:none}
.track figcaption{font-size:14px;font-weight:500;line-height:1.3}
.track figcaption span{display:block;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--txt2);margin-top:4px;font-weight:400}
.track figcaption span.phtxt{color:var(--gold)}
.press{margin-top:22px;font-size:13px;color:var(--txt2);line-height:1.6}
.press em{font-style:italic;color:var(--txt)}
.vid{display:flex;flex-direction:column;gap:16px}
.vidFrame{aspect-ratio:16/9;border-radius:14px;min-height:0}
.vid figcaption{border-left:2px solid var(--purple);padding-left:16px}

/* ── BLOC 2 — les 6 ───────────────────────────────── */
#pain{padding-bottom:150px}
.painGrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.painSticky{position:sticky;top:120px}
.painList{display:flex;flex-direction:column;gap:0}
.pain{padding:38px 0;border-top:1px solid rgba(107,79,187,.22);display:grid;grid-template-columns:44px 1fr;gap:20px}
.pain:last-child{border-bottom:1px solid rgba(107,79,187,.22)}
.pnum{font-family:'DM Mono',monospace;font-size:12px;color:var(--purple);padding-top:7px;letter-spacing:.1em}
.pain h3{margin-bottom:12px;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:27px;line-height:1.25;letter-spacing:0}
.pain p{color:var(--txt2);font-size:16.5px}
.pain .reloc{color:var(--txt);display:block;margin-top:9px}
.pain.exec{background:linear-gradient(90deg,rgba(107,79,187,.07),transparent 70%);
  margin-left:-24px;padding-left:24px;border-radius:8px 0 0 8px}
.tag{font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
  border:1px solid rgba(201,168,76,.4);border-radius:3px;padding:2px 6px;margin-left:10px;white-space:nowrap;vertical-align:3px}

/* ── BLOC 3 — charnière ───────────────────────────── */
#hinge{background:linear-gradient(180deg,transparent,rgba(107,79,187,.07),transparent);text-align:center;padding:170px 0}
#hinge .wrap{max-width:800px}
#hinge .dl{margin:18px 0 34px}
#hinge p{color:var(--txt2);font-size:18px;margin-bottom:20px}
#hinge .last{color:var(--txt)}

/* ── BLOC 4 — la NSQ ──────────────────────────────── */
#method .ray{width:820px;height:820px;top:-180px;left:-260px;
  background:radial-gradient(circle,rgba(107,79,187,.35),transparent 68%)}
.mHead{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:start;margin-bottom:56px}
.mLead{font-size:19px;max-width:640px}
.steps{list-style:none;margin-top:12px;position:relative}
.steps:before{content:"";position:absolute;left:23px;top:26px;bottom:26px;width:1px;
  background:linear-gradient(180deg,var(--purple),rgba(201,168,76,.55))}
.steps li{display:grid;grid-template-columns:48px 1fr;gap:26px;align-items:start;
  padding:26px 0;border-bottom:1px solid rgba(107,79,187,.18)}
.steps li:last-child{border-bottom:none}
.sn{position:relative;z-index:2;width:47px;height:47px;border-radius:50%;background:var(--card);
  border:1px solid var(--bord);display:flex;align-items:center;justify-content:center;
  font-family:'DM Mono',monospace;font-size:12px;color:var(--gold);letter-spacing:.06em}
.steps li:last-child .sn{border-color:rgba(201,168,76,.55)}
.sl{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.steps h4{font-family:'Cormorant Garamond',serif;font-size:29px;font-weight:600;line-height:1.2;margin:6px 0 10px}
.steps p{color:var(--txt2);font-size:16.5px;max-width:720px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:12px}
.card{background:var(--card);border:1px solid var(--bord);border-radius:16px;padding:28px;backdrop-filter:blur(10px);
  transition:.25s;min-height:230px;display:flex;flex-direction:column;gap:12px}
.card:hover{border-color:rgba(155,127,232,.55);transform:translateY(-3px)}
.card .n{font-family:'DM Mono',monospace;font-size:11px;color:var(--gold);letter-spacing:.12em}
.card h4{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:600;line-height:1.2}
.card p{color:var(--txt2);font-size:15.5px}
.ladder{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bord);
  border:1px solid var(--bord);border-radius:14px;overflow:hidden}
.ladder div{background:var(--card);padding:22px 24px}
.ladder b{display:block;font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;margin-bottom:4px}
.med{margin-top:34px;padding:16px 20px;border-left:2px solid var(--gold);background:rgba(201,168,76,.05);
  color:var(--txt2);font-size:14px;line-height:1.6}

/* ── BLOC 5 — preuves ─────────────────────────────── */
#proof{background:linear-gradient(180deg,transparent,rgba(13,16,34,.6),transparent)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bord);border:1px solid var(--bord);
  border-radius:14px;overflow:hidden;margin:44px 0 26px}
.fact{background:var(--bg);padding:26px 22px}
.fact b{display:block;font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:600;line-height:1;color:var(--txt)}
.fact span{display:block;margin-top:8px;color:var(--txt2);font-size:13.5px;line-height:1.5}
.trace{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:64px}
.chip{border:1px solid var(--bord);border-radius:999px;padding:8px 16px;color:var(--txt2);font-size:13.5px}
.chip b{color:var(--txt);font-weight:500}
.logos{display:flex;align-items:center;gap:40px;flex-wrap:wrap;padding:26px 0;border-top:1px solid var(--bord);border-bottom:1px solid var(--bord);margin-bottom:64px}
.logos img{height:52px;width:auto;opacity:.62;filter:grayscale(1);transition:.25s}
.logos img:hover{opacity:1;filter:none}
.logos .cap{max-width:180px;color:var(--txt2);font-size:13px;line-height:1.5}

.founders{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;margin-bottom:70px}
.founders img{width:100%;border-radius:16px;border:1px solid var(--bord);display:block}
.founders h3{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;line-height:1.2;margin-bottom:16px}
.founders p{color:var(--txt2);margin-bottom:14px}

.tGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
.tCard{background:var(--card);border:1px solid var(--bord);border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:16px}
.tCard .body{flex:1}
.who{display:flex;align-items:center;gap:12px}
.who img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--bord)}
.who b{display:block;font-size:15px;font-weight:500}
.who span{display:block;color:var(--txt2);font-size:12.5px;line-height:1.4}
.pract{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:70px}
.pract img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--bord)}

.institute{margin-top:0}
.labHead{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px}
.labHead a{color:var(--accent);text-decoration:none;font-size:14.5px;border-bottom:1px solid rgba(155,127,232,.4);padding-bottom:2px}
.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.art{background:var(--card);border:1px solid var(--bord);border-radius:16px;overflow:hidden;transition:.25s}
.art:hover{border-color:rgba(155,127,232,.5);transform:translateY(-3px)}
.art .thumb{height:120px;background:linear-gradient(135deg,rgba(107,79,187,.35),rgba(13,16,34,.9))}
.art .body{padding:22px}
.art h4{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;line-height:1.25;margin:8px 0 8px}
.art p{color:var(--txt2);font-size:14.5px}
.limits{margin-top:52px;padding:22px 26px;border:1px solid var(--bord);border-radius:14px;color:var(--txt2);font-size:15px}

/* ── BLOC 6 — profondeurs ─────────────────────────── */
.depths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.depth{border:1px solid var(--bord);border-radius:16px;padding:30px;background:var(--card);position:relative;overflow:hidden}
.depth:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--purple);opacity:.5}
.depth:nth-child(2):after{opacity:.75}.depth:nth-child(3):after{opacity:1;background:var(--gold)}
.depth h3{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;line-height:1.15;margin:10px 0 12px;letter-spacing:0}
.depth p{color:var(--txt2);font-size:15.5px;margin-bottom:16px}
.depth a{color:var(--accent);text-decoration:none;font-size:14.5px;border-bottom:1px solid rgba(155,127,232,.35);padding-bottom:2px}
.noPrice{margin-top:26px;color:var(--txt2);font-size:14px}

/* ── BLOC 7 — reprise ─────────────────────────────── */
#again{text-align:center;padding:150px 0 160px}
#again .ray{width:900px;height:900px;top:-260px;left:50%;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(107,79,187,.42),transparent 66%)}
#again .wrap{max-width:760px}
#again .dl{margin:18px 0 22px}
#again p{color:var(--txt2);font-size:18px;margin-bottom:36px}
.cta{display:inline-flex;align-items:center;gap:12px;background:var(--purple);color:#fff;text-decoration:none;
  border-radius:12px;padding:17px 30px;font-weight:500;font-size:16px;letter-spacing:.02em;transition:.22s;
  box-shadow:0 18px 44px -18px rgba(107,79,187,.9)}
.cta:hover{background:var(--accent);transform:translateY(-2px)}

/* ── footer ───────────────────────────────────────── */
footer{border-top:1px solid var(--bord);padding:56px 0 40px;position:relative;z-index:2}
.fGrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px}
footer a{color:var(--txt2);text-decoration:none;font-size:14px;display:block;padding:5px 0}
footer a:hover{color:var(--accent)}
.legal{border-top:1px solid var(--bord);padding-top:24px;color:var(--txt2);font-size:12.5px;line-height:1.7}

.navcta{border:1px solid var(--bord);border-radius:8px;padding:8px 14px;color:var(--txt)!important;background:rgba(107,79,187,.14)}
.navcta:hover{border-color:var(--accent);background:rgba(155,127,232,.2)}
.seq{margin-top:16px;font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--txt2)}
.seq b{font-weight:600;color:var(--txt)}
.qq{margin-top:18px;max-width:640px;font-size:14.5px;color:var(--txt2);line-height:1.6;
    border-left:2px solid var(--bord);padding-left:16px}
.qq a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(155,127,232,.35)}
.qq b{color:var(--txt);font-weight:500}
.qq details{margin-top:12px}
.qq summary{cursor:pointer;color:var(--accent);font-family:'DM Mono',monospace;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;list-style:none}
.qq summary::-webkit-details-marker{display:none}
.qq summary:before{content:"+ ";font-weight:700}
.qq details[open] summary:before{content:"– "}
.qq details p{margin-top:12px}
@media (max-width:1500px){.heroPhoto{right:-40px;width:38%}}

/* ── wordmark & sceau ─────────────────────────────── */
.wordmark{display:flex;align-items:baseline;gap:9px;text-decoration:none;color:var(--txt)}
.wordmark .wm{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:27px;line-height:1;letter-spacing:.01em}
.wordmark .wm sup{font-size:11px;vertical-align:super;color:var(--gold)}
.wordmark .wa{font-family:'DM Mono',monospace;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--txt2);position:relative;top:-1px}
.brand .bl{padding-left:14px;border-left:1px solid var(--bord)}
.seal{width:150px;height:auto;display:block;margin-bottom:18px;opacity:.92}

/* ── emplacements photographiques ─────────────────── */
.shot{position:relative;display:block;border-radius:14px;overflow:hidden;background:var(--card);
  border:1px dashed rgba(107,79,187,.55)}
.shot img,.shot picture{display:block;width:100%;height:100%;object-fit:cover}
.shot .spec{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;
  padding:18px;background:linear-gradient(180deg,rgba(107,79,187,.05),rgba(8,11,20,.55));
  font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.08em;line-height:1.7;
  text-transform:uppercase;color:var(--accent)}
.shot .spec b{color:var(--txt);font-weight:500;letter-spacing:.1em}
.shot .spec i{font-style:normal;color:var(--txt2);text-transform:none;letter-spacing:.02em;font-size:11px}
.r32{aspect-ratio:3/2}.r45{aspect-ratio:4/5}.r169{aspect-ratio:16/9}
/* règle : aucune surimpression colorée sur une photo — seul un dégradé vers le fond nuit */
.shot.live{border:1px solid var(--bord)}
.shot.live:after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 45%,rgba(8,11,20,.55))}

.heroPhoto{position:absolute;right:-90px;top:50%;transform:translateY(-50%);width:34%;max-width:430px;
  z-index:0;opacity:.85;-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%);
  mask-image:linear-gradient(90deg,transparent,#000 38%)}
.painShot{margin-top:34px}
.methodShot{margin:44px 0 8px}
.miss{display:inline-block;color:var(--txt2);font-family:'DM Mono',monospace;font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;border-bottom:1px dotted var(--bord)}

/* ── médias intégrés — v17 ────────────────────────── */
.vidWrap{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--bord);background:#000}
.vidWrap video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.vidWrap:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:14px;
  box-shadow:inset 0 -60px 60px -40px rgba(8,11,20,.7)}
.vidNote{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--txt2);margin-top:12px;line-height:1.7}
.tCard blockquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;
  font-size:20px;line-height:1.45;color:var(--txt);margin:0}
.tCard blockquote .cut{color:var(--txt2);font-style:normal;font-size:16px}
.who .mono{width:44px;height:44px;border-radius:50%;flex:0 0 44px;display:flex;align-items:center;
  justify-content:center;border:1px dashed rgba(107,79,187,.55);background:rgba(107,79,187,.08);
  font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:.04em;color:var(--accent)}
.tNote{margin:-8px 0 26px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}

/* ── bloc Institute — registre bleu recherche ─────── */
.institute{border-top:1px solid var(--lab-bord);padding-top:44px}
.institute .art{border-color:var(--lab-bord)}
.institute .art:hover{border-color:rgba(91,159,181,.7)}
.institute .art .thumb{height:130px;background:linear-gradient(135deg,rgba(91,159,181,.28),rgba(13,16,34,.95));
  border-bottom:1px solid var(--lab-bord);position:relative}
.institute .art .thumb:after{content:"16:9 · objet de recherche — schéma, carnet, page, donnée réelle";
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;
  font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(91,159,181,.85);line-height:1.6}
.institute .art .lab{color:var(--lab-blue)}
.labHead a{color:var(--lab-blue);border-bottom-color:var(--lab-bord)}

@media (max-width:980px){
  .heroPhoto{display:none}
  .heroGrid,.painGrid,.founders,.mHead{grid-template-columns:1fr;gap:40px}
  .cards3,.arts,.tGrid,.depths,.ladder{grid-template-columns:1fr}
  .steps li{grid-template-columns:1fr;gap:12px}
  .steps:before{display:none}
  .steps h4{font-size:24px}
  .facts{grid-template-columns:repeat(2,1fr)}
  .dxl{font-size:44px}.dl{font-size:36px}.dm{font-size:30px}.quote{font-size:25px}
  nav{display:none}
  section{padding:80px 0}
  #hero{padding:120px 0 60px;min-height:auto}
  .painSticky{position:static}
  .fGrid,.credGrid{grid-template-columns:1fr}
  .credGrid{gap:32px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}}

/* ══════════════════════════════════════════════════════════════
   QUICK SCAN SNA — widget de capture lead
   Registre chromatique propre au Scan, sur le modèle de --lab-blue :
   ces trois tokens n'existent que dans ce widget.
   ══════════════════════════════════════════════════════════════ */

/* ── carte du hero : état répondu ─────────────────── */
.ans button.picked{border-color:var(--gold);background:rgba(201,168,76,.10)}
.ans button[disabled]{cursor:default;opacity:.45}
.ans button[disabled]:hover{transform:none;border-color:var(--bord);background:rgba(107,79,187,.04)}
.qcard .qfoot p{margin:0}

/* ── surimpression ────────────────────────────────── */
#scanOverlay{position:fixed;inset:0;z-index:100;display:none;
  background:var(--sc-veil);backdrop-filter:blur(20px);
  overflow-y:auto;overscroll-behavior:contain;padding:0}
#scanOverlay[data-open]{display:block}
/* centrage vertical par marges auto : contrairement à justify-content:center,
   il ne rogne pas le haut du contenu quand l'écran est plus grand que la fenêtre */
.sc-shell{max-width:720px;margin:0 auto;padding:74px 24px 90px;position:relative;min-height:100%;
  display:flex;flex-direction:column}
.sc-screen[data-on]{margin-top:auto;margin-bottom:auto}
.sc-close{all:unset;position:fixed;top:18px;right:20px;z-index:2;cursor:pointer;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--bord);
  display:flex;align-items:center;justify-content:center;color:var(--txt2);
  font-size:17px;background:rgba(13,16,34,.8);transition:.2s}
.sc-close:hover{color:var(--txt);border-color:var(--accent)}
.sc-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ── progression ──────────────────────────────────── */
.sc-progress{position:fixed;top:0;left:0;right:0;z-index:1;
  background:rgba(8,11,20,.9);border-bottom:1px solid var(--bord);padding:14px 24px 12px}
.sc-progress[hidden]{display:none}
.sc-prog-in{max-width:720px;margin:0 auto}
.sc-prog-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:9px}
.sc-prog-track{height:2px;background:rgba(107,79,187,.22);border-radius:2px;overflow:hidden}
.sc-prog-fill{height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--gold));
  border-radius:2px;transition:width .45s cubic-bezier(.4,0,.2,1)}

/* ── écrans ───────────────────────────────────────── */
.sc-screen{display:none;animation:scIn .38s ease-out both}
.sc-screen[data-on]{display:block}
@keyframes scIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.sc-screen h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:40px;
  line-height:1.15;margin:14px 0 18px;text-wrap:balance}
.sc-screen .sc-lead{color:var(--txt2);font-size:17px;line-height:1.7;max-width:620px}

/* ── évocation ────────────────────────────────────── */
.sc-anchors{list-style:none;margin:34px 0 26px;display:flex;flex-direction:column;gap:0}
.sc-anchors li{display:grid;grid-template-columns:34px 1fr;gap:18px;align-items:start;
  padding:20px 0;border-top:1px solid rgba(107,79,187,.2)}
.sc-anchors li:last-child{border-bottom:1px solid rgba(107,79,187,.2)}
.sc-anchors .gl{width:33px;height:33px;border-radius:50%;background:var(--card);
  border:1px solid var(--bord);display:flex;align-items:center;justify-content:center;
  font-family:'DM Mono',monospace;font-size:11px;color:var(--gold)}
.sc-anchors b{display:block;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:6px}
.sc-anchors p{color:var(--txt2);font-size:16px;line-height:1.6}
.sc-nudge{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;
  color:var(--txt2);margin-bottom:26px}
.sc-safe{padding:15px 19px;border-left:2px solid var(--gold);background:rgba(201,168,76,.05);
  color:var(--txt2);font-size:14px;line-height:1.65;margin-bottom:30px}

/* ── bouton principal du widget ───────────────────── */
.sc-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  gap:10px;cursor:pointer;background:var(--purple);color:#fff;border-radius:12px;
  padding:17px 30px;min-height:54px;font-family:'DM Sans',sans-serif;font-weight:500;
  font-size:16px;letter-spacing:.02em;transition:.22s;
  box-shadow:0 18px 44px -18px rgba(107,79,187,.9);text-align:center}
.sc-btn:hover{background:var(--accent);transform:translateY(-2px)}
.sc-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sc-btn[disabled]{opacity:.5;cursor:default;transform:none}
.sc-ghost{all:unset;cursor:pointer;color:var(--txt2);font-size:14px;padding:12px 4px;
  display:inline-block;transition:.2s}
.sc-ghost:hover{color:var(--accent)}
.sc-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ── question ─────────────────────────────────────── */
.sc-dom{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.sc-dom .em{width:44px;height:44px;border-radius:50%;background:var(--card);
  border:1px solid var(--bord);display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--gold)}
.sc-dom .nm{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);display:block}
.sc-dom .sub{font-size:13px;color:var(--txt2)}
.sc-q{font-family:'DM Sans',sans-serif;font-weight:500;font-size:22px;line-height:1.45;
  margin-bottom:26px;text-wrap:balance}
.sc-choices{display:flex;flex-direction:column;gap:11px}
.sc-choices button{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--bord);
  border-radius:12px;padding:17px 20px;min-height:54px;color:var(--txt);font-size:16px;
  line-height:1.5;transition:.2s;background:rgba(107,79,187,.04)}
.sc-choices button:hover{border-color:var(--accent);background:rgba(155,127,232,.11);transform:translateX(3px)}
.sc-choices button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sc-choices button.picked{border-color:var(--gold);background:rgba(201,168,76,.11)}
.sc-back{margin-top:24px}

/* ── retour au présent ────────────────────────────── */
.sc-cues{list-style:none;margin:32px 0 34px;display:flex;flex-direction:column;gap:16px}
.sc-cues li{display:flex;gap:15px;align-items:flex-start;color:var(--txt2);font-size:17px;
  line-height:1.6;opacity:0;transform:translateY(8px);animation:scIn .5s ease-out forwards}
.sc-cues li:nth-child(1){animation-delay:.15s}
.sc-cues li:nth-child(2){animation-delay:1.05s}
.sc-cues li:nth-child(3){animation-delay:1.95s}
.sc-cues i{flex:none;width:7px;height:7px;margin-top:9px;transform:rotate(45deg);
  border:1px solid var(--gold);font-style:normal}
#scReturnGo{opacity:0;animation:scIn .5s ease-out 2.9s forwards}

/* ── résultat ─────────────────────────────────────── */
.sc-verdict{text-align:center;padding-bottom:30px;border-bottom:1px solid var(--bord);margin-bottom:30px}
.sc-vname{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:44px;line-height:1.12;
  margin:12px 0 10px;text-wrap:balance;
  background-image:linear-gradient(90deg,var(--sna-v),var(--sna-v));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.sc-vstate{font-family:'DM Mono',monospace;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--txt2)}
.sc-bars{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}
.sc-bar{display:grid;grid-template-columns:118px 1fr 34px;gap:14px;align-items:center}
.sc-bar .bl{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--txt2);line-height:1.3}
.sc-bar .tr{display:block;height:6px;background:rgba(107,79,187,.16);border-radius:4px;overflow:hidden}
.sc-bar .fi{display:block;height:100%;width:0;border-radius:4px;transition:width .9s cubic-bezier(.4,0,.2,1)}
.sc-bar .vl{font-family:'DM Mono',monospace;font-size:14px;text-align:right}
.sc-desc{font-size:17px;line-height:1.75;color:var(--txt);margin-bottom:26px}
.sc-med{padding:15px 19px;border-left:2px solid var(--gold);background:rgba(201,168,76,.05);
  color:var(--txt2);font-size:13.5px;line-height:1.65;margin-bottom:34px}

/* ── capture ──────────────────────────────────────── */
.sc-gate{background:var(--card);border:1px solid var(--bord);border-radius:18px;padding:30px;
  backdrop-filter:blur(10px)}
.sc-gate h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:29px;
  line-height:1.2;margin-bottom:12px}
.sc-gate .intro{color:var(--txt2);font-size:15.5px;margin-bottom:20px}
.sc-gate ul{list-style:none;margin-bottom:26px;display:flex;flex-direction:column;gap:11px}
.sc-gate ul li{display:flex;gap:12px;align-items:flex-start;color:var(--txt2);font-size:15px;line-height:1.6}
.sc-gate ul li:before{content:"—";color:var(--gold);flex:none}
.sc-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.sc-fields input{all:unset;box-sizing:border-box;width:100%;border:1px solid var(--bord);
  border-radius:11px;padding:16px 18px;min-height:54px;font-family:'DM Sans',sans-serif;
  font-size:16px;color:var(--txt);background:rgba(8,11,20,.55);transition:.2s}
.sc-fields input::placeholder{color:var(--txt2)}
.sc-fields input:focus{border-color:var(--accent);background:rgba(155,127,232,.07)}
.sc-fields input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.sc-consent{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px;
  color:var(--txt2);font-size:14px;line-height:1.6;cursor:pointer}
.sc-consent input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--purple);cursor:pointer}
.sc-gate .sc-btn{width:100%}
.sc-fine{margin-top:16px;color:var(--txt2);font-size:12.5px;line-height:1.6}
.sc-fine a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(155,127,232,.4)}
.sc-err{margin-top:14px;padding:13px 17px;border-left:2px solid var(--purple);
  background:rgba(107,79,187,.09);color:var(--txt);font-size:14px;line-height:1.6}
.sc-err[hidden]{display:none}
.sc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── confirmation ─────────────────────────────────── */
#sc-done{text-align:center}
#sc-done .sc-lead{margin:0 auto}

@media (max-width:760px){
  .sc-shell{padding:70px 20px 70px}
  .sc-screen h2{font-size:31px}
  .sc-vname{font-size:34px}
  .sc-q{font-size:19px}
  .sc-gate{padding:24px 20px}
  .sc-bar{grid-template-columns:96px 1fr 30px;gap:11px}
  .sc-anchors li{grid-template-columns:28px 1fr;gap:14px}
  .sc-anchors .gl{width:27px;height:27px;font-size:10px}
}
@media (prefers-reduced-motion:reduce){
  .sc-screen,.sc-cues li,#scReturnGo{animation:none!important;opacity:1!important;transform:none!important}
}

/* ══════════════════════════════════════════════════════════════
   Correctifs du hero v13 — révélés par l'intégration du Scan.
   Placés ici, en fin de feuille, pour rester identifiables et
   annulables d'un bloc. Aucun d'eux ne touche au dessin desktop.
   ══════════════════════════════════════════════════════════════ */

/* .wrap est un enfant flex de #hero : sans min-width:0 il se dimensionne
   sur son contenu, et le span nowrap des chiffres le pousse hors écran
   (29 px de débordement mesurés à 390 px, masqués par overflow-x:hidden). */
#hero .wrap{width:100%;min-width:0}

@media (max-width:560px){
  .dxl{font-size:36px}
  .proof span{white-space:normal}
  .proof{margin-top:32px;gap:6px 18px}
  /* l'étiquette du Scan et les huit tirets se chevauchaient sur trois lignes */
  .qhead{flex-direction:column;align-items:flex-start;gap:13px}
  .qcard{padding:24px 20px}
}

/* Les pistes de grille valent minmax(auto,1fr) par défaut : le carrousel de
   logos, en width:max-content, gonflait sa colonne et poussait la bande de
   crédibilité hors écran (jusqu'à +2183 px mesurés à 390 px). */
.credGrid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
@media (max-width:980px){.credGrid{grid-template-columns:minmax(0,1fr)}}

/* ══════════════════════════════════════════════════════════════
   XENIA — rendu selon l'état du visiteur
   ══════════════════════════════════════════════════════════════ */
#nsqHello{position:relative;z-index:3;padding-top:96px}
#nsqHello[hidden]{display:none}
.nsq-hello-on #hero{padding:34px 0 80px;min-height:auto}

/* barrage doux : le Quick Scan déjà posé ne se represente pas comme neuf */
.sc-deja{font-style:normal;color:var(--gold)}
.sc-suite{display:inline-block;color:var(--accent);text-decoration:none;font-size:15.5px;
  border-bottom:1px solid rgba(155,127,232,.4);padding-bottom:3px}
.sc-suite:hover{color:var(--txt)}
.sc-refaire{all:unset;cursor:pointer;display:block;margin-top:16px;color:var(--txt2);
  font-size:13px;border-bottom:1px solid var(--bord);transition:.2s}
.sc-refaire:hover{color:var(--accent)}
.sc-refaire:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

@media (max-width:760px){#nsqHello{padding-top:84px}}

/* ══════════════════════════════════════════════════════════════
   PAGES INTÉRIEURES — V0.9
   Même grammaire que l'accueil : une page, une intention, un CTA.
   ══════════════════════════════════════════════════════════════ */
.phero{padding:210px 0 90px;position:relative;overflow:hidden}
.phero .ray{width:900px;height:900px;top:-320px;left:-280px;
  background:radial-gradient(circle,rgba(107,79,187,.3),transparent 68%)}
.phero .in{max-width:820px}
.phero h1{margin:16px 0 24px}
.phero .sub{font-size:19.5px;color:var(--txt2);line-height:1.65;max-width:700px}
.phero .sub em{color:var(--txt);font-style:normal}
.phero .acts{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-top:36px}

.prose{max-width:720px}
.prose p{color:var(--txt2);font-size:17px;margin-bottom:18px}
.prose p strong,.prose p b{color:var(--txt);font-weight:500}
.prose h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:34px;line-height:1.2;margin:44px 0 16px}
.prose h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:26px;line-height:1.25;margin:32px 0 12px}
.prose ul{list-style:none;margin:0 0 22px}
.prose li{color:var(--txt2);font-size:16.5px;padding-left:22px;position:relative;margin-bottom:10px}
.prose li:before{content:"—";position:absolute;left:0;color:var(--purple)}

.secHead{max-width:820px;margin-bottom:44px}
.secHead h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:44px;line-height:1.15;margin:16px 0 18px}
.secHead p{color:var(--txt2);font-size:17.5px}
@media(max-width:980px){.secHead h2{font-size:34px}}

/* ── blocs de pratique ────────────────────────────── */
.prat{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px}
.pcard{background:var(--card);border:1px solid var(--bord);border-radius:16px;padding:28px;
  display:flex;flex-direction:column;gap:10px;transition:.25s}
.pcard:hover{border-color:rgba(155,127,232,.5);transform:translateY(-3px)}
.pcard .n{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--gold)}
.pcard h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;line-height:1.2}
.pcard p{color:var(--txt2);font-size:15.5px}
.pcard .dur{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--accent);margin-top:auto;padding-top:12px}
@media(max-width:760px){.prat{grid-template-columns:1fr}}

/* ── la spirale ───────────────────────────────────── */
.spiral{list-style:none;margin-top:36px;border-top:1px solid rgba(107,79,187,.2)}
.spiral li{display:grid;grid-template-columns:112px 1fr;gap:28px;align-items:start;
  padding:24px 0;border-bottom:1px solid rgba(107,79,187,.2)}
.spiral .pal{display:flex;align-items:center;gap:10px;font-family:'DM Mono',monospace;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt2);padding-top:5px}
.spiral .dotc{width:11px;height:11px;border-radius:50%;flex:0 0 11px;border:1px solid rgba(240,238,248,.25)}
.spiral h3{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;line-height:1.25;margin-bottom:6px}
.spiral p{color:var(--txt2);font-size:16px}
@media(max-width:760px){.spiral li{grid-template-columns:1fr;gap:8px}}

/* ── offre / prix ─────────────────────────────────── */
.offer{background:var(--card);border:1px solid var(--bord);border-radius:18px;padding:38px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start;backdrop-filter:blur(10px)}
.offer .price{font-family:'Cormorant Garamond',serif;font-size:54px;font-weight:600;line-height:1;color:var(--txt)}
.offer .price small{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:400;color:var(--txt2)}
.offer .alt{color:var(--txt2);font-size:14.5px;margin-top:8px}
.offer ul{list-style:none;margin:6px 0 0}
.offer li{color:var(--txt2);font-size:15.5px;padding-left:26px;position:relative;margin-bottom:11px}
.offer li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-size:13px}
.offer li.no{color:var(--txt2);opacity:.65}
.offer li.no:before{content:"—";color:var(--txt2)}
@media(max-width:860px){.offer{grid-template-columns:1fr;gap:28px;padding:28px}}

/* ── FAQ ──────────────────────────────────────────── */
.faq{max-width:820px;margin-top:12px;border-top:1px solid rgba(107,79,187,.2)}
.faq details{border-bottom:1px solid rgba(107,79,187,.2)}
.faq summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;position:relative;
  font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:600;line-height:1.3;color:var(--txt)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:6px;top:20px;color:var(--purple);font-size:22px;
  font-family:'DM Sans',sans-serif;transition:.2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{color:var(--txt2);font-size:16.5px;padding:0 40px 24px 0;margin-top:-4px}

/* ── bandeau de reprise ───────────────────────────── */
.tail{text-align:center;padding:120px 0}
.tail .wrap{max-width:760px}
.tail h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:44px;line-height:1.15;margin:16px 0 20px}
.tail p{color:var(--txt2);font-size:17.5px;margin-bottom:32px}
@media(max-width:980px){.tail h2{font-size:34px}}

/* ── consultations ────────────────────────────────── */
.cons{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
@media(max-width:980px){.cons{grid-template-columns:1fr;gap:36px}}
.infoBox{background:var(--card);border:1px solid var(--bord);border-radius:16px;padding:28px}
.infoBox dl{display:grid;grid-template-columns:auto 1fr;gap:12px 18px;margin:0}
.infoBox dt{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--txt2);padding-top:4px}
.infoBox dd{margin:0;font-size:16px;color:var(--txt)}
.todo{display:inline-block;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold);border:1px dashed rgba(201,168,76,.45);
  border-radius:4px;padding:3px 8px;background:rgba(201,168,76,.06)}

/* ── Lab / blog ───────────────────────────────────── */
.labWrap{border-top:1px solid var(--lab-bord)}
.postList{display:flex;flex-direction:column;gap:0;margin-top:8px;border-top:1px solid var(--lab-bord)}
.post{display:grid;grid-template-columns:150px 1fr;gap:32px;padding:30px 0;
  border-bottom:1px solid var(--lab-bord);align-items:start;text-decoration:none;transition:.2s}
.post:hover{background:linear-gradient(90deg,rgba(91,159,181,.06),transparent 60%)}
.post .meta{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--lab-blue);line-height:1.8;padding-top:6px}
.post h3{font-family:'Cormorant Garamond',serif;font-size:29px;font-weight:600;line-height:1.2;
  color:var(--txt);margin-bottom:8px}
.post:hover h3{color:var(--accent)}
.post p{color:var(--txt2);font-size:16px;max-width:640px}
@media(max-width:760px){.post{grid-template-columns:1fr;gap:8px}.post h3{font-size:24px}}

.article{max-width:700px;margin:0 auto}
.article .kicker{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--lab-blue)}
.article h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:48px;
  line-height:1.12;margin:16px 0 20px;letter-spacing:-.01em}
.article .standfirst{font-size:20px;line-height:1.6;color:var(--txt);margin-bottom:28px}
.article .byline{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--txt2);padding-bottom:26px;border-bottom:1px solid var(--lab-bord);
  margin-bottom:40px;line-height:1.9}
.article h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:33px;
  line-height:1.2;margin:48px 0 16px}
.article h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;margin:34px 0 10px}
.article p{font-size:17.5px;line-height:1.78;color:#D9D6E6;margin-bottom:20px}
.article ul,.article ol{margin:0 0 22px;padding-left:0;list-style:none}
.article li{font-size:17px;line-height:1.72;color:#D9D6E6;padding-left:24px;position:relative;margin-bottom:10px}
.article li:before{content:"—";position:absolute;left:0;color:var(--lab-blue)}
.article blockquote{margin:32px 0;padding:2px 0 2px 24px;border-left:2px solid var(--lab-bord)}
.article blockquote p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:23px;
  line-height:1.45;color:var(--txt)}
.article .status{margin:36px 0;padding:20px 24px;border-left:2px solid var(--gold);
  background:rgba(201,168,76,.05);font-size:15px;line-height:1.65;color:var(--txt2)}
.article .status b{color:var(--txt);font-weight:500}
.article .refs{margin-top:56px;padding-top:28px;border-top:1px solid var(--lab-bord)}
.article .refs h2{font-size:22px;margin:0 0 14px}
.article .refs li{font-size:14px;line-height:1.65;color:var(--txt2)}
.article .refs li:before{content:"·"}
.article a{color:var(--lab-blue)}
@media(max-width:760px){.article h1{font-size:34px}.article p{font-size:16.5px}}

.backlink{display:inline-block;margin-bottom:28px;color:var(--lab-blue);text-decoration:none;
  font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase}

/* ── formulaire ───────────────────────────────────── */
.form{max-width:620px;background:var(--card);border:1px solid var(--bord);border-radius:18px;padding:34px}
.form label{display:block;font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--txt2);margin-bottom:7px}
.form input,.form select,.form textarea{width:100%;background:rgba(8,11,20,.6);color:var(--txt);
  border:1px solid var(--bord);border-radius:10px;padding:14px 16px;font-family:'DM Sans',sans-serif;
  font-size:15.5px;margin-bottom:18px;transition:.2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent)}
.form textarea{min-height:130px;resize:vertical;line-height:1.6}
.form .consent{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px}
.form .consent input{width:auto;margin:4px 0 0}
.form .consent span{font-size:13.5px;color:var(--txt2);line-height:1.55}
.form button{width:100%;border:none;cursor:pointer;font-family:'DM Sans',sans-serif}

/* ── garde-fou débordement horizontal (mobile) ───── */
.marquee{overflow:hidden;max-width:100%}
section,header,footer{max-width:100vw}
@media(max-width:620px){
  .phero{padding:150px 0 60px}
  .phero .sub{font-size:17.5px}
  .offer{padding:24px}
  .offer .price{font-size:44px}
  .infoBox dl{grid-template-columns:1fr;gap:4px 0}
  .infoBox dt{padding-top:12px}
  .tail h2,.secHead h2{font-size:30px}
  .article h1{font-size:30px}
  .faq summary{font-size:20px;padding-right:34px}
}

/* ── halo du bandeau de reprise ───────────────────── */
/* .ray n'a ni taille ni dégradé : chaque section haute dimensionne le sien.
   #hero, #method, #again et .phero le font ; .tail était resté inerte sur
   les quatorze pages intérieures. Mêmes valeurs que #again. */
.tail .ray{width:900px;height:900px;top:-280px;left:50%;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(107,79,187,.42),transparent 66%)}

/* ── emplacements photographiques en mobile ───────── */
/* .spec est absolu, collé en bas de son cadre. Sous 620 px un brief photo
   dépasse la hauteur imposée par le ratio et se fait rogner PAR LE HAUT
   (89 px mesurés sur un 16:9 à 390 px). Le cas n'existait pas sur l'accueil :
   sa seule figure « spec » est .heroPhoto, en display:none sous 980 px.
   Un emplacement vide n'a pas de ratio à tenir — une vraie photo, si. */
@media(max-width:620px){
  .shot:not(.live){aspect-ratio:auto}
  .shot:not(.live) .spec{position:static}
}

/* ── accueil · les six douleurs se déplient ───────── */
/* Six paragraphes ouverts d'entrée fatiguent avant d'être lus : le titre porte
   le diagnostic, le corps se demande. Aucun composant existant ne replie un
   bloc à l'intérieur d'un .pain — .faq et .qq sont scopés à leur conteneur.
   Le texte déplié hérite de .pain p et de .pain .reloc : même police, mêmes
   contrastes qu'avant. Rien n'est retiré du DOM (règle XENIA du §7). */
.painMore{margin-top:4px}
.painMore>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:9px;
  font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);padding:5px 0;transition:color .2s}
.painMore>summary::-webkit-details-marker{display:none}
.painMore>summary:before{content:"+";font-family:'DM Sans',sans-serif;font-size:16px;line-height:1;
  color:var(--purple);transition:transform .2s}
.painMore[open]>summary:before{transform:rotate(45deg)}
.painMore>summary:hover{color:var(--txt)}
.painMore>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.painMore .less{display:none}
.painMore[open] .more{display:none}
.painMore[open] .less{display:inline}
.painMore p{margin-top:14px}

/* ── en-tête · la baseline passe sous le mot-marque ─ */
/* .brand est défini en partie haute (ligne 44) comme une rangée flex, la
   baseline séparée par un filet vertical. Sept entrées de menu ne tiennent
   plus à côté : la marque passe en colonne, le filet disparaît. */
.brand{flex-direction:column;align-items:flex-start;gap:2px}
.brand .bl{padding-left:0;border-left:none;font-size:13.5px;line-height:1.3}
/* le libellé du bouton ne se casse pas en deux lignes entre 980 et 1080 px */
.navcta{white-space:nowrap}
/* sept entrées + le bouton : entre 981 et 1080 px, on resserre plutôt que de rogner */
@media(min-width:981px) and (max-width:1080px){
  nav{gap:18px}
  nav a{font-size:13.5px}
  .navcta{padding:8px 12px}
}

/* ══════════════════════════════════════════════════════════════
   EN-TÊTE MOBILE — le menu déroulant
   Sous 980 px, nav{display:none} laissait le site sans navigation :
   seul le pied de page en tenait lieu. Le bouton est masqué au-dessus
   de ce seuil, le menu de bureau ne bouge pas d'un pixel.
   ══════════════════════════════════════════════════════════════ */
.burger{display:none}

@media(max-width:980px){
  .burger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    width:44px;height:44px;padding:0;flex:0 0 44px;cursor:pointer;
    background:rgba(107,79,187,.10);border:1px solid var(--bord);border-radius:10px;
    transition:border-color .2s,background .2s}
  .burger span{display:block;width:18px;height:1.5px;border-radius:2px;background:var(--txt);
    transition:transform .25s,opacity .2s}
  .burger:hover{border-color:var(--accent);background:rgba(155,127,232,.16)}
  .burger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

  /* nav{display:none} reste la règle : le menu n'existe que déplié */
  nav[data-open]{display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:100%;left:0;right:0;z-index:51;
    background:rgba(8,11,20,.98);backdrop-filter:blur(16px);
    border-bottom:1px solid var(--bord);padding:6px 24px 20px;
    max-height:calc(100vh - 76px);overflow-y:auto;overscroll-behavior:contain;
    box-shadow:0 24px 60px -24px rgba(0,0,0,.9)}
  nav[data-open] a{padding:16px 2px;font-size:16px;color:var(--txt);
    border-bottom:1px solid rgba(107,79,187,.18)}
  nav[data-open] a:hover{color:var(--accent)}
  nav[data-open] a[aria-current="page"]{color:var(--accent)}
  nav[data-open] a:nth-last-child(2){border-bottom:none}
  nav[data-open] .navcta{margin-top:16px;text-align:center;border:none;border-radius:11px;
    padding:16px 18px;background:var(--purple);color:#fff!important;white-space:normal;
    font-weight:500;letter-spacing:.02em}
  nav[data-open] .navcta:hover{background:var(--accent)}
}

/* ── témoignages : des portraits qu'on reconnaît ───── ajout du 26/08
   Aucun composant existant ne convenait, et les deux règles en cause vivent dans la zone
   1-542 qu'on ne modifie pas : `.who img` et `.who .mono` figent le portrait à 44 px
   (l. 203 et 310) alors que les fichiers sont livrés en 300x300 — ils supportaient bien plus.
   Et `.who span{color:var(--txt2)}` (l. 205) teintait aussi le <b> du nom par héritage :
   le nom sortait dans le meme gris que le role, contraste 5,48 sur --card. Le nom reprend
   --txt, soit 15,9 — et cesse de se confondre avec sa propre legende. */
.who{gap:16px;align-items:center}
.who img,.who .mono{width:80px;height:80px;flex:0 0 80px}
.who b{color:var(--txt);font-size:16.5px;letter-spacing:.01em;margin-bottom:4px;line-height:1.3}
.who span{font-size:13px}
@media(max-width:620px){
  .who img,.who .mono{width:68px;height:68px;flex:0 0 68px}
  .who b{font-size:16px}
}
