/* ══════════════════════════════════════════════════════════════
   VALENCE VITALE — la page du modèle et son scan (25/09/2026)
   Page du Lab : même grammaire que les articles (kicker bleu Lab,
   statut en or). Le modèle a sa teinte réservée, --vital, posée
   seulement sur ses propres repères. Les quatre postures gardent
   les couleurs du Joyau APØGEION, pour que la carte se lise de la
   même façon sur le site et dans le jeu.
   ══════════════════════════════════════════════════════════════ */
:root{--qa:#a0c890;--qb:#d4651a;--qc:#8ab4d4;--qd:#c4a8cc}

.vvHero .in{max-width:780px}
.vvHero .kicker{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--lab-blue)}
.vvMeta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.vvMeta span{border:1px solid var(--lab-bord);border-radius:999px;padding:7px 15px;
  font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--txt2)}
.vvMeta b{color:var(--txt);font-weight:500}

.vvSec{padding:70px 0}
.vvSec .secHead .lab{color:var(--lab-blue)}
.vvDef{margin-top:30px;max-width:720px;padding:22px 26px;border-left:2px solid var(--vital);
  background:rgba(183,201,90,.05);border-radius:0 12px 12px 0}
.vvDef p{color:var(--txt2);font-size:16px;line-height:1.7;margin:0}
.vvDef p+p{margin-top:10px}
.vvDef b{color:var(--txt);font-weight:500}

/* ── la grille 2 × 2 ───────────────────────────────────────── */
.vvGridWrap{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center;margin-top:10px}
.vvGrid{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px}
.vvGrid .hd{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--txt2);text-align:center;padding:4px 0}
.vvGrid .sd{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--txt2);writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;padding:0 4px}
.vvCell{border:1px solid var(--bord);border-radius:14px;padding:20px 18px;background:var(--card);
  min-height:118px;transition:.35s;opacity:.55}
.vvCell b{display:block;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:22px;line-height:1.2;margin-bottom:6px}
.vvCell span{display:block;color:var(--txt2);font-size:14px;line-height:1.5}
.vvCell.lit{opacity:1;border-color:currentColor;box-shadow:0 0 0 1px currentColor inset,0 20px 50px -30px currentColor}
.vvCell.lit span{color:var(--txt)}
.vvCell[data-q="A"]{color:var(--qa)}.vvCell[data-q="B"]{color:var(--qb)}
.vvCell[data-q="C"]{color:var(--qc)}.vvCell[data-q="D"]{color:var(--qd)}
.vvSliders label{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:11px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--txt2);margin:0 0 10px}
.vvSliders label b{color:var(--txt);font-weight:500}
.vvSliders input[type=range]{width:100%;margin:0 0 30px;accent-color:var(--vital)}
.vvSliders .note{color:var(--txt2);font-size:14.5px;line-height:1.65}
@media(max-width:860px){.vvGridWrap{grid-template-columns:1fr}}
@media(max-width:520px){.vvCell{padding:14px 12px;min-height:104px}.vvCell b{font-size:18px}.vvCell span{font-size:13px}}

/* ── les huit registres ───────────────────────────────────── */
.vvRegs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px}
.vvReg{border:1px solid var(--bord);border-radius:14px;padding:18px;background:var(--card)}
.vvReg i{display:block;font-style:normal;color:var(--vital);font-size:18px;margin-bottom:8px}
.vvReg b{display:block;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:21px;margin-bottom:4px}
.vvReg span{display:block;color:var(--txt2);font-size:13.5px;line-height:1.5}
@media(max-width:900px){.vvRegs{grid-template-columns:repeat(2,1fr)}}

.vvQuestions{list-style:none;margin:8px 0 0;max-width:720px;counter-reset:q}
.vvQuestions li{counter-increment:q;position:relative;padding:18px 0 18px 54px;
  border-bottom:1px solid var(--lab-bord);font-family:'Cormorant Garamond',serif;font-size:23px;
  font-weight:500;line-height:1.35;color:var(--txt)}
.vvQuestions li:before{content:"0" counter(q);position:absolute;left:0;top:23px;
  font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--gold)}

/* ══ L'INSTRUMENT ════════════════════════════════════════════ */
#scan{padding:80px 0 90px;scroll-margin-top:70px}
.vvApp{max-width:820px;margin:0 auto;background:linear-gradient(180deg,rgba(13,16,34,.94),rgba(13,16,34,.8));
  border:1px solid var(--bord);border-radius:22px;padding:44px 48px;min-height:460px;
  box-shadow:0 40px 100px -40px rgba(0,0,0,.9);position:relative}
@media(max-width:640px){.vvApp{padding:30px 20px;border-radius:18px}}
.vvScreen{display:none}
.vvScreen.on{display:block;animation:vvIn .45s ease both}
@keyframes vvIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.vvScreen.on{animation:none}}
.vvApp h2,.vvApp h3{font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--txt);line-height:1.18}
.vvApp h2{font-size:var(--d3,34px);margin:12px 0 14px}
.vvApp .lede{color:var(--txt2);font-size:16.5px;line-height:1.7;max-width:620px}
.vvApp .lab{color:var(--lab-blue)}

.vvModes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.vvMode{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--bord);border-radius:16px;
  padding:24px;background:rgba(107,79,187,.05);transition:.22s;display:flex;flex-direction:column;gap:8px}
.vvMode:hover{border-color:var(--accent);background:rgba(155,127,232,.1);transform:translateY(-2px)}
.vvMode:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vvMode b{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;color:var(--txt)}
.vvMode span{color:var(--txt2);font-size:14.5px;line-height:1.6}
.vvMode small{margin-top:auto;padding-top:8px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent)}
@media(max-width:640px){.vvModes{grid-template-columns:1fr}}
.vvLinks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px}
.vvLink{all:unset;cursor:pointer;color:var(--accent);font-size:14.5px;border-bottom:1px solid rgba(155,127,232,.4);padding-bottom:2px}
.vvLink:hover{color:var(--txt)}
.vvLink[hidden]{display:none}

/* contexte */
.vvAnchors{margin:22px 0 6px;display:flex;flex-direction:column;gap:12px}
.vvAnchor{display:flex;gap:14px;align-items:flex-start;color:var(--txt2);font-size:15px;line-height:1.6}
.vvAnchor b{flex:0 0 28px;height:28px;border-radius:50%;border:1px solid var(--bord);display:flex;align-items:center;
  justify-content:center;font-family:'DM Mono',monospace;font-size:11px;color:var(--gold);font-weight:500}
.vvAnchor strong{color:var(--txt);font-weight:500}
.vvSafety{margin:20px 0 24px;padding:14px 18px;border-left:2px solid var(--gold);background:rgba(201,168,76,.05);
  color:var(--txt2);font-size:14px;line-height:1.6}
.vvActs{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}

/* questions */
.vvScene{display:none;margin-bottom:18px;padding:10px 14px;border:1px solid var(--lab-bord);border-radius:10px;
  font-size:14px;color:var(--txt2)}
.vvScene.on{display:block}
.vvScene b{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--lab-blue);margin-right:10px;font-weight:500}
.vvProg{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--txt2);margin-bottom:10px}
.vvTrack{height:3px;background:rgba(107,79,187,.2);border-radius:3px;overflow:hidden;margin-bottom:30px}
.vvFill{height:100%;background:linear-gradient(90deg,var(--purple),var(--vital));width:0;transition:width .4s ease}
.vvDom{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.vvQ{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(24px,3.2vw,31px);line-height:1.25;
  color:var(--txt);margin:10px 0 24px;text-wrap:balance}
.vvChoices{display:flex;flex-direction:column;gap:10px}
.vvChoice{all:unset;box-sizing:border-box;width:100%;cursor:pointer;border:1px solid var(--bord);border-radius:12px;
  padding:15px 18px;color:var(--txt);font-size:15.5px;line-height:1.45;transition:.2s;
  background:rgba(107,79,187,.04);display:flex;align-items:center;gap:14px}
.vvChoice i{font-style:normal;font-family:'DM Mono',monospace;font-size:11px;color:var(--gold);flex:none;
  width:24px;height:24px;border-radius:50%;border:1px solid var(--bord);display:flex;align-items:center;justify-content:center}
.vvChoice:hover{border-color:var(--accent);background:rgba(155,127,232,.11);transform:translateX(3px)}
.vvChoice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vvChoice.sel{border-color:var(--vital);background:rgba(183,201,90,.1)}
.vvBack{margin-top:20px}

/* respiration */
.vvBreath{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:380px;gap:26px}
.vvCircle{width:150px;height:150px;border-radius:50%;border:1px solid rgba(183,201,90,.5);
  background:radial-gradient(circle,rgba(183,201,90,.18),transparent 70%);animation:vvBreathe 2.3s ease-in-out both}
@keyframes vvBreathe{0%{transform:scale(1.15);opacity:.9}100%{transform:scale(.72);opacity:.45}}
.vvBreath p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;color:var(--txt)}
@media (prefers-reduced-motion:reduce){.vvCircle{animation:none}}

.vvCues{list-style:none;margin:22px 0 28px}
.vvCues li{padding:12px 0 12px 26px;position:relative;color:var(--txt2);font-size:16px;border-bottom:1px solid var(--lab-bord);
  opacity:0;animation:vvIn .6s ease forwards}
.vvCues li:before{content:"◇";position:absolute;left:0;color:var(--vital)}
.vvCues li:nth-child(2){animation-delay:.6s}.vvCues li:nth-child(3){animation-delay:1.2s}

/* ── les résultats ────────────────────────────────────────── */
.vvResHead{text-align:center;padding-bottom:26px;border-bottom:1px solid var(--bord);margin-bottom:30px}
.vvResHead .nom{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(38px,6vw,56px);
  letter-spacing:.04em;line-height:1.05;margin:12px 0 6px}
.vvResHead .sub{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt2)}
.vvPanel{margin-bottom:30px}
.vvPanel>.lab{display:block;margin-bottom:14px}
.vvPanel .lead{font-size:17.5px;line-height:1.75;color:var(--txt)}
.vvNote{margin-top:14px;padding:14px 18px;border-left:2px solid var(--bord);color:var(--txt2);font-size:15px;line-height:1.65}
.vvNote b{display:block;color:var(--txt);font-weight:500;margin-bottom:4px}
.vvNote.or{border-left-color:var(--gold);background:rgba(201,168,76,.05)}

.vvMg{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}
.vvMg svg{width:100%;height:auto;display:block}
.vvLeg{display:flex;flex-direction:column;gap:8px;font-size:13.5px;color:var(--txt2);margin-bottom:16px}
.vvLeg span{display:inline-block;width:22px;height:0;border-top:2px dashed var(--gold);vertical-align:middle;margin-right:8px}
.vvLeg span.pl{border-top:0;height:10px;border-radius:3px}
.vvQuads{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vvQuad{border:1px solid var(--bord);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--txt2);line-height:1.4}
.vvQuad b{display:block;font-size:13px;font-weight:500;margin-bottom:2px}
@media(max-width:640px){.vvMg{grid-template-columns:1fr}}

.vvRow{display:grid;grid-template-columns:150px 1fr 130px;gap:14px;align-items:center;padding:9px 0;
  border-bottom:1px solid rgba(107,79,187,.15);font-size:14px}
.vvRow .nm{color:var(--txt)}
.vvRow .q{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.vvBars{position:relative;height:16px}
.vvBars .trk{position:absolute;left:0;right:0;top:4px;height:8px;border-radius:4px;background:rgba(107,79,187,.15);overflow:hidden}
.vvBars .fil{display:block;height:100%;width:0;border-radius:4px;transition:width 1s cubic-bezier(.4,0,.2,1)}
.vvBars .imp{position:absolute;top:0;height:16px;width:0;border-right:2px dashed var(--gold);transition:width 1s cubic-bezier(.4,0,.2,1)}
@media(max-width:640px){.vvRow{grid-template-columns:1fr 110px}.vvRow .vvBars{grid-column:1/-1;grid-row:2}}

.vvGauge{position:relative;height:8px;border-radius:4px;margin:18px 0 10px;
  background:linear-gradient(90deg,var(--qb),rgba(107,79,187,.35) 50%,var(--qa))}
.vvGauge .mid{position:absolute;left:50%;top:-5px;bottom:-5px;width:1px;background:var(--txt2)}
.vvGauge .mk{position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;
  background:var(--txt);box-shadow:0 0 0 4px rgba(8,11,20,.8);transition:left 1.2s cubic-bezier(.4,0,.2,1)}
.vvGaugeL{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--txt2)}

.vvAdv{list-style:none;margin:0}
.vvAdv li{position:relative;padding:12px 0 12px 24px;color:var(--txt2);font-size:15.5px;line-height:1.65;
  border-bottom:1px solid rgba(107,79,187,.15)}
.vvAdv li:before{content:"—";position:absolute;left:0;color:var(--vital)}
.vvAdv li b{color:var(--txt);font-weight:500}

.vvCmp{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;text-align:center}
.vvCmp div{font-size:13px;color:var(--txt2)}
.vvCmp div b{display:block;font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;margin-top:4px}

.vvNext{margin-top:10px;padding:28px;border-radius:18px;border:1px solid var(--bord);
  background:linear-gradient(180deg,rgba(107,79,187,.14),transparent)}
.vvNext h3{font-size:var(--d4,26px);margin:10px 0 10px}
.vvNext p{color:var(--txt2);font-size:15.5px;line-height:1.7;margin-bottom:18px}
.vvNext .row{display:flex;flex-wrap:wrap;gap:12px}
.vvFoot{margin-top:26px;color:var(--txt2);font-size:13px;line-height:1.6;text-align:center}

/* ══ LE DOSSIER DU MODÈLE (version I, 25/09/2026) ════════════ */
.vvSommaire{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.vvSommaire a{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--txt2);text-decoration:none;border:1px solid var(--lab-bord);border-radius:999px;padding:6px 12px;transition:.2s}
.vvSommaire a:hover{color:var(--txt);border-color:var(--accent)}
.vvSec{scroll-margin-top:70px}
.vvVar{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.12em;color:var(--txt)}
.vvH3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:var(--d4,26px);line-height:1.2;
  color:var(--txt);margin:56px 0 12px}
.vvLede{color:var(--txt2);font-size:16.5px;line-height:1.7;max-width:720px;margin-bottom:24px}

.vvDuo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}
.vvTrio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:10px 0 30px}
@media(max-width:860px){.vvDuo,.vvTrio{grid-template-columns:1fr}}
.vvCard{border:1px solid var(--bord);border-radius:16px;padding:24px;background:var(--card)}
.vvCard.ok{border-color:rgba(183,201,90,.35)}
.vvCard .lab{color:var(--lab-blue)}
.vvCard h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:26px;line-height:1.2;margin:8px 0 8px;color:var(--txt)}
.vvCard p{color:var(--txt2);font-size:15.5px;line-height:1.65}
.vvCard .sous{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}

.vvBox{margin:26px 0 0;max-width:820px;padding:22px 26px;border-left:2px solid var(--vital);
  background:rgba(183,201,90,.05);border-radius:0 14px 14px 0}
.vvBox.fin{border-left-color:var(--lab-blue);background:rgba(91,159,181,.05)}
.vvBox b{display:block;color:var(--txt);font-weight:500;margin-bottom:6px}
.vvBox p{color:var(--txt2);font-size:15.5px;line-height:1.7}
.vvBox a{color:var(--accent)}

.vvTable{max-width:820px;border:1px solid var(--bord);border-radius:14px;overflow:hidden;margin-top:18px}
.vvTr{display:grid;grid-template-columns:220px 1fr;gap:18px;padding:12px 18px;border-top:1px solid rgba(107,79,187,.18);
  font-size:15px;color:var(--txt2);align-items:center}
.vvTr.three{grid-template-columns:1.1fr 1fr 1fr}
.vvTr:first-child{border-top:0}
.vvTr span:first-child{color:var(--txt)}
.vvTh{background:rgba(107,79,187,.1);font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase}
.vvTh span:first-child{color:var(--txt2)}
.vvTr .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px;vertical-align:middle}
.vvTr .st{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:640px){.vvTr,.vvTr.three{grid-template-columns:1fr;gap:4px}.vvTh{display:none}}

.vvFormule{max-width:820px;margin:18px 0 10px;padding:26px 28px;border:1px solid var(--bord);border-radius:16px;
  background:linear-gradient(180deg,rgba(107,79,187,.12),transparent)}
.vvFormule .eq{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(24px,3.4vw,34px);color:var(--txt);
  text-align:center;margin-bottom:20px}
.vvFormule dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:15px}
.vvFormule dt{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--gold)}
.vvFormule dd{color:var(--txt2)}
.vvFormNote{margin-top:18px;padding-top:16px;border-top:1px solid var(--bord);color:var(--txt2);font-size:15px;line-height:1.7}
.vvFormNote b{color:var(--txt);font-weight:500}

.vvQuadGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
@media(max-width:760px){.vvQuadGrid{grid-template-columns:1fr}}
.vvQ4{border:1px solid var(--bord);border-top:3px solid currentColor;border-radius:14px;padding:22px;background:var(--card)}
.vvQ4[data-q="A"]{color:var(--qa)}.vvQ4[data-q="B"]{color:var(--qb)}.vvQ4[data-q="C"]{color:var(--qc)}.vvQ4[data-q="D"]{color:var(--qd)}
.vvQ4 .lab{color:currentColor}
.vvQ4 h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:25px;margin:8px 0 12px;color:var(--txt)}
.vvQ4 dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px;margin-bottom:12px}
.vvQ4 dt{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt2);padding-top:3px}
.vvQ4 dd{color:var(--txt)}
.vvQ4 p{color:var(--txt2);font-size:15px;line-height:1.65}
.vvQ4 p b{color:var(--txt);font-weight:500}
.vvSplit{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.vvSplit div{border:1px solid var(--bord);border-radius:10px;padding:10px 12px;font-size:13.5px;color:var(--txt2);line-height:1.5}
.vvSplit b{display:block;color:var(--txt);font-weight:500;margin-bottom:2px}

/* métagraphe d'exploration */
.vvExplo{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}
@media(max-width:900px){.vvExplo{grid-template-columns:1fr}}
.vvExploCarte svg{width:100%;height:auto;display:block;max-width:520px;margin:0 auto}
.vvPglob{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--txt2);margin:14px 0 8px}
.vvPglob b{color:var(--txt);font-weight:500}
.vvExploCarte input[type=range],.vvExploCtrl input[type=range]{width:100%;accent-color:var(--vital)}
.vvExploLecture{margin-top:18px;padding:18px 20px;border:1px solid var(--bord);border-radius:14px;font-size:14.5px;color:var(--txt2);line-height:1.65}
.vvExploLecture b{color:var(--txt);font-weight:500}
.vvExploLecture .t{display:inline-block;font-family:'DM Mono',monospace;font-size:11px;border:1px solid currentColor;border-radius:999px;padding:1px 9px;margin-right:4px}
.vvExploCtrl{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.vvExploCtrl{grid-template-columns:1fr}}
.vvCtl{border:1px solid var(--bord);border-radius:12px;padding:12px 14px;background:var(--card)}
.vvCtl .nm{display:flex;justify-content:space-between;align-items:center;color:var(--txt);font-size:14px;margin-bottom:6px}
.vvCtl .nm i{font-style:normal;font-family:'DM Mono',monospace;font-size:10.5px;border:1px solid currentColor;border-radius:999px;padding:0 8px}
.vvCtl label{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.07em;
  text-transform:uppercase;color:var(--txt2);margin-top:4px}

/* simulations */
.vvExp{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center;padding:34px 0;border-top:1px solid var(--lab-bord)}
@media(max-width:900px){.vvExp{grid-template-columns:1fr;gap:18px}}
.vvExpTxt .lab{color:var(--lab-blue)}
.vvExpTxt h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:27px;line-height:1.2;margin:8px 0 12px;color:var(--txt)}
.vvExpTxt p{color:var(--txt2);font-size:15.5px;line-height:1.7;margin-bottom:12px}
.vvStatut{border-left:2px solid currentColor;padding:8px 0 8px 14px;font-size:14px!important}
.vvStatut b{display:block;font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.inj{color:#8a87a8}.str{color:var(--lab-blue)}.semi{color:var(--gold)}.emer{color:var(--vital)}
.vvStatut.inj,.vvStatut.str,.vvStatut.semi,.vvStatut.emer{color:var(--txt2)}
.vvStatut.inj{border-color:#8a87a8}.vvStatut.str{border-color:var(--lab-blue)}.vvStatut.semi{border-color:var(--gold)}.vvStatut.emer{border-color:var(--vital)}
.vvStatut.inj b{color:#8a87a8}.vvStatut.str b{color:var(--lab-blue)}.vvStatut.semi b{color:var(--gold)}.vvStatut.emer b{color:var(--vital)}
.vvFig{margin:0}
.vvFig img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid var(--bord)}
.vvFig figcaption{margin-top:10px;font-size:13px;color:var(--txt2);line-height:1.55}
.vvFig figcaption b{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-right:8px}
.vvChiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bord);border:1px solid var(--bord);
  border-radius:14px;overflow:hidden;margin:20px 0 10px}
.vvChiffres div{background:var(--bg);padding:22px 18px}
.vvChiffres b{display:block;font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;line-height:1;color:var(--gold)}
.vvChiffres span{display:block;margin-top:8px;color:var(--txt2);font-size:13.5px}
@media(max-width:700px){.vvChiffres{grid-template-columns:1fr 1fr}}

.vvChantiers{list-style:none;counter-reset:c;max-width:820px;margin-top:10px}
.vvChantiers li{counter-increment:c;position:relative;padding:18px 0 18px 54px;border-top:1px solid var(--lab-bord);
  color:var(--txt2);font-size:15.5px;line-height:1.7}
.vvChantiers li:before{content:"0" counter(c);position:absolute;left:0;top:20px;font-family:'DM Mono',monospace;font-size:11px;color:var(--gold)}
.vvChantiers b{color:var(--txt);font-weight:500}

/* le verrou */
.vvAvantages{list-style:none;margin:22px 0 26px;display:grid;gap:10px}
.vvAvantages li{position:relative;padding:12px 14px 12px 40px;border:1px solid var(--bord);border-radius:12px;
  color:var(--txt2);font-size:15px;line-height:1.55;background:rgba(107,79,187,.05)}
.vvAvantages li:before{content:"✓";position:absolute;left:15px;top:12px;color:var(--vital)}
.vvAvantages b{color:var(--txt);font-weight:500}
.vvGateChamps{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.vvGateChamps{grid-template-columns:1fr}}
.vvGateChamps .exp-input{width:100%;margin-bottom:6px}
.vvGateForm .rsConsent{margin:10px 0}
.vvGateForm .exp-btn{margin-top:12px}
.vvGateNote{margin-top:14px;font-size:12.5px;color:var(--txt2);line-height:1.6}
.vvGateNote a{color:var(--accent)}

.vvDebat{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.vvDebat div{border:1px solid var(--bord);border-radius:14px;padding:18px;background:var(--card)}
.vvDebat b{display:block;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:20px;line-height:1.25;color:var(--txt);margin-bottom:6px}
.vvDebat span{color:var(--txt2);font-size:14.5px;line-height:1.6}
