/* =========================================================================
   LE DIAGNOSTIC OLYMPE · funnel + page de résultat
   S'appuie sur css/olympe.css (tokens, .btn, .overline).
   Modèle : le parcours de Ripped Roadmap (Brandon Carter), en charte Olympe.
   Mobile d'abord : colonne unique de 560 px, cibles tactiles >= 44 px,
   texte >= 16 px dans les champs (pas de zoom iOS), angles droits.
   ========================================================================= */

:root{
  --tn-col:560px;
  --tn-pad:20px;
  --top-h:56px;
  --dock-h:92px;
  --erreur:#E4977F;
  --card:rgba(255,255,255,.025);
  --texte-doux:#cbc0a9;
}

/* ============================ SOCLE ============================ */
/* Jamais de scroll horizontal (clip ne crée pas de conteneur de défilement : le sticky reste OK). */
html,body{overflow-x:clip}
body.tn{
  min-height:100vh;min-height:100svh;
  background:
    radial-gradient(120% 55% at 50% -8%,rgba(169,136,78,.14),transparent 62%),
    var(--noir);
  background-attachment:fixed;
}
.tn-col{max-width:var(--tn-col);margin:0 auto;padding:0 var(--tn-pad)}
.center{text-align:center}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:0;background:var(--or);color:var(--noir);padding:10px 16px;z-index:300}
.skip:focus{left:12px;top:12px}
button:focus-visible,a:focus-visible,input:focus-visible,label:focus-within{outline:2px solid var(--or-clair);outline-offset:3px}
.num:focus-visible,.f input:focus-visible{outline:none}
p{margin:0}
p+p{margin-top:0}
[hidden]{display:none!important}
.scr{display:none}
.scr.is-active{display:block;animation:scrIn .3s var(--ease) both}
.is-back .scr.is-active{animation-name:scrInBack}
@keyframes scrIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes scrInBack{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}

/* ============================ BARRE DU HAUT (questions, analyse, capture) ============================ */
.tn-top{position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top);
  background:linear-gradient(180deg,rgba(14,11,8,.94),rgba(14,11,8,.78));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tn-top__in{max-width:var(--tn-col);margin:0 auto;height:var(--top-h);padding:0 var(--tn-pad);
  display:grid;grid-template-columns:44px 1fr 44px;align-items:center}
.tn-back{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--ligne-s);
  color:var(--ivoire-2);transition:border-color .2s,color .2s}
.tn-back:hover{border-color:var(--or);color:var(--ivoire)}
.tn-back svg{width:20px;height:20px}
.tn-back.is-off{visibility:hidden}
.tn-brand{justify-self:center;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--marbre);display:inline-flex;align-items:center;gap:9px}
.tn-brand .om{color:var(--or-clair);font-size:20px;line-height:1;letter-spacing:0}
.tn-count{justify-self:end;font-family:var(--display);font-size:11px;letter-spacing:.16em;color:var(--ivoire-2);white-space:nowrap}
.tn-progress{height:2px;background:var(--ligne-s)}
.tn-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--or),var(--or-clair));
  transform-origin:left;transform:scaleX(0);transition:transform .45s var(--ease)}
/* la landing a sa propre en-tête */
body[data-screen="landing"] .tn-top{display:none}

/* ============================ LANDING ============================ */
.lp{max-width:var(--tn-col);margin:0 auto;padding:0 var(--tn-pad) 36px}
.lp-head{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:calc(14px + env(safe-area-inset-top)) 0 14px}
.lp-brand{display:flex;align-items:center;gap:11px;min-width:0}
.lp-brand>div{min-width:0}
.lp-mark{flex:none;width:36px;height:36px;border:1px solid var(--or);display:grid;place-items:center;
  font-family:var(--display);font-size:20px;line-height:1;color:var(--or-clair);background:rgba(169,136,78,.08)}
.lp-name{font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--marbre);line-height:1.15}
.lp-by{margin-top:3px;font-family:var(--display);font-weight:500;font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ivoire-2)}
.lp-tag{flex:none;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivoire-2)}

.lp-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--ligne-s);background:var(--noir-2);
  height:clamp(360px,56vh,560px);height:clamp(360px,56svh,560px)}
.lp-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;z-index:-2;
  filter:brightness(.94) contrast(1.05)}
.lp-card::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,11,8,.12) 0%,rgba(14,11,8,0) 28%,rgba(14,11,8,.52) 54%,rgba(14,11,8,.93) 80%,var(--noir) 100%)}
.lp-card__txt{position:absolute;left:0;right:0;bottom:0;padding:0 18px 20px}
.lp-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:6px 11px;border:1px solid var(--or);
  background:rgba(14,11,8,.62);font-family:var(--display);font-weight:600;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--or-clair)}
.lp-badge svg{width:14px;height:14px;stroke:var(--or-clair);fill:none;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.lp-card h1{font-size:clamp(22px,6.4vw,32px);font-weight:900;text-transform:uppercase;line-height:1.06;
  letter-spacing:.005em;text-shadow:0 2px 24px rgba(0,0,0,.7)}
.lp-card h1 .or{color:var(--or-clair)}
.lp-desc{margin:18px 0;font-size:19px;line-height:1.45;color:var(--texte-doux)}
.lp-cta{width:100%;justify-content:center;padding:19px 22px}
.micro{margin-top:14px;text-align:center;font-family:var(--display);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ivoire-2)}
.lp-steps{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lp-steps li{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 10px;border:1px solid var(--ligne-s);background:var(--card)}
.lp-steps svg{width:22px;height:22px;margin-bottom:4px;stroke:var(--or-clair);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lp-steps b{font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ivoire)}
.lp-steps span{font-size:14.5px;line-height:1.3;color:var(--ivoire-2)}
.lp-legal{margin:26px 0 10px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--ivoire-2)}
.foot{text-align:center;font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivoire-2)}
.foot a{padding:10px 4px;display:inline-block}
.foot a:hover{color:var(--or-clair)}

/* ============================ QUESTIONS ============================ */
.scr-q{padding-top:30px;padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom) + 24px)}
.q-title{font-size:clamp(24px,7vw,32px);font-weight:800;text-transform:uppercase;line-height:1.08;
  letter-spacing:.01em;margin:6px 0 12px;outline:none}
.q-sub{font-family:var(--lead);font-style:italic;font-size:21px;line-height:1.35;color:var(--ivoire-2);margin-bottom:28px}
.err{min-height:26px;margin-top:12px;color:var(--erreur);font-size:16px;line-height:1.4}
.err:empty{min-height:0;margin-top:0}

/* choix (boutons radio natifs habillés : clavier et lecteurs d'écran gratuits) */
.opts{border:0;margin:0;padding:0;min-width:0;display:grid;gap:12px}
.opts--2{grid-template-columns:1fr 1fr}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.opt__body{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px;padding:14px 18px;
  border:1px solid var(--ligne-s);background:var(--card);transition:border-color .2s,background .2s}
.opt:hover .opt__body{border-color:var(--or)}
.opt__label{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.07em;text-transform:uppercase;color:var(--ivoire)}
.opt__tick{flex-shrink:0;width:24px;height:24px;border:1px solid var(--ligne-s);display:grid;place-items:center;color:transparent;
  transition:background .2s,border-color .2s,color .2s}
.opt__tick svg{width:14px;height:14px}
.opt input:checked + .opt__body{border-color:var(--or-clair);background:var(--or-soft)}
.opt input:checked + .opt__body .opt__tick{background:var(--or-clair);border-color:var(--or-clair);color:var(--noir)}
.opt input:focus-visible + .opt__body{outline:2px solid var(--or-clair);outline-offset:3px}
.opts--2 .opt__body{flex-direction:column;justify-content:center;gap:12px;text-align:center;min-height:128px}
.opt__icon{width:30px;height:30px;stroke:var(--or-clair);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* objectifs : grille 2 × 2 */
.goals{border:0;margin:0;padding:0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.goal{position:relative;display:block;cursor:pointer}
.goal input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.goal__body{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px;
  min-height:124px;padding:16px 14px;border:1px solid var(--ligne-s);background:var(--card);transition:border-color .2s,background .2s}
.goal__body svg{width:26px;height:26px;stroke:var(--or-clair);fill:none;stroke-width:1.6;stroke-linecap:round}
.goal__label{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ivoire);line-height:1.25}
.goal:hover .goal__body{border-color:var(--or)}
.goal input:checked + .goal__body{border-color:var(--or-clair);background:var(--or-soft)}
.goal input:focus-visible + .goal__body{outline:2px solid var(--or-clair);outline-offset:3px}

/* champs numériques */
.field{position:relative}
.num{width:100%;height:80px;text-align:center;font-family:var(--display);font-weight:700;font-size:34px;color:var(--ivoire);
  background:rgba(255,255,255,.03);border:1px solid var(--ligne-s);border-radius:0;padding:0 70px;
  caret-color:var(--or-clair);-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.num::placeholder{color:rgba(174,162,136,.45)}
.num:focus{outline:none;border-color:var(--or-clair);box-shadow:0 0 0 3px rgba(198,168,103,.16)}
.num[aria-invalid="true"]{border-color:var(--erreur)}
.unit{position:absolute;right:22px;top:50%;transform:translateY(-50%);font-family:var(--display);font-size:13px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ivoire-2);pointer-events:none}

/* photo */
.checks{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.checks li{display:flex;align-items:flex-start;gap:8px;font-size:16px;color:var(--texte-doux);line-height:1.3}
.checks svg{flex-shrink:0;width:16px;height:16px;margin-top:3px;stroke:var(--or-clair);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;cursor:pointer;
  min-height:280px;padding:24px;border:1px dashed var(--or);background:var(--card);transition:background .2s,border-color .2s}
.drop:hover{background:var(--or-soft)}
.drop svg{width:38px;height:38px;stroke:var(--or-clair);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.drop b{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--ivoire)}
.drop span{font-size:15px;color:var(--ivoire-2)}
#file:focus-visible + .drop{outline:2px solid var(--or-clair);outline-offset:3px}
.drop.is-busy{opacity:.6;pointer-events:none}
.preview{position:relative;border:1px solid var(--or)}
.preview img{display:block;width:100%;max-height:62vh;object-fit:contain;background:#000}
.link{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-family:var(--display);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--or-clair);text-decoration:underline;text-underline-offset:4px}
.privacy{display:flex;gap:10px;margin-top:18px;font-size:15px;line-height:1.45;color:var(--ivoire-2)}
.privacy svg{flex-shrink:0;width:18px;height:18px;margin-top:3px;stroke:var(--or-clair);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ============================ DOCK (bouton du bas) ============================ */
.tn-dock{position:fixed;left:0;right:0;bottom:0;z-index:60;pointer-events:none;
  padding:26px var(--tn-pad) calc(14px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(14,11,8,0),rgba(14,11,8,.95) 46%)}
.tn-dock__in{max-width:var(--tn-col);margin:0 auto}
.tn-dock .btn{width:100%;justify-content:center;padding:19px 24px;pointer-events:auto}
.btn[disabled]{opacity:.32;cursor:not-allowed}
.btn[disabled]::before{display:none}
.btn-solid[disabled]:hover{color:var(--noir);border-color:var(--or)}
.btn.is-loading{opacity:.7;pointer-events:none}

/* ============================ ANALYSE ============================ */
.scr-analysis{padding-top:64px;padding-bottom:64px}
.orb{position:relative;width:132px;height:132px;margin:0 auto 34px;display:grid;place-items:center}
.orb svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 2.6s linear infinite}
.orb .om{font-family:var(--display);font-size:54px;color:var(--or-clair);line-height:1}
@keyframes spin{to{transform:rotate(360deg)}}
.an-steps{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px;text-align:left}
.an-steps li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;padding:14px 16px;
  border:1px solid var(--ligne-s);background:var(--card);color:var(--ivoire-2);transition:color .3s,border-color .3s}
.an-steps li.is-active{color:var(--ivoire);border-color:var(--or)}
.an-steps li.is-done{color:var(--ivoire);border-color:var(--ligne-s)}
.st{width:22px;height:22px;display:grid;place-items:center}
.st::before{content:"";width:8px;height:8px;border:1px solid var(--ivoire-2);transition:all .3s}
.an-steps li.is-active .st::before{width:16px;height:16px;border:2px solid var(--ligne-s);border-top-color:var(--or-clair);border-radius:50%;animation:spin .8s linear infinite}
.an-steps li.is-done .st::before{width:9px;height:15px;border:solid var(--or-clair);border-width:0 2px 2px 0;border-radius:0;transform:rotate(45deg) translate(-1px,-2px);animation:none}
.an-error{margin-top:26px;text-align:center}
.an-error p{color:var(--erreur);font-size:18px;margin-bottom:18px}
.an-error .btn{width:100%;justify-content:center;margin-bottom:12px}

/* ============================ CAPTURE ============================ */
.f{margin-bottom:12px}
.f label{display:block;margin-bottom:7px;font-family:var(--display);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivoire-2)}
.f input[type="text"],.f input[type="email"],.f input[type="tel"]{width:100%;height:54px;padding:0 16px;font-family:var(--serif);font-size:19px;
  color:var(--ivoire);background:rgba(255,255,255,.03);border:1px solid var(--ligne-s);border-radius:0;caret-color:var(--or-clair);
  -webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.f input:focus{outline:none;border-color:var(--or-clair);box-shadow:0 0 0 3px rgba(198,168,103,.16)}
.f input[aria-invalid="true"]{border-color:var(--erreur)}
.f .err{margin-top:8px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.consent{font-size:14px;line-height:1.5;color:var(--ivoire-2);margin-top:6px}
.consent a{text-decoration:underline;text-underline-offset:3px}
.form-err{margin-top:12px}

/* ============================ PAGE DE RÉSULTAT ============================ */
.r-wrap{max-width:var(--tn-col);margin:0 auto;padding:0 var(--tn-pad) 64px}
.r-head{max-width:var(--tn-col);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:calc(14px + env(safe-area-inset-top)) var(--tn-pad) 14px}
.r-head .lp-name{font-size:14px;letter-spacing:.2em}
.r-tag{font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--or-clair);white-space:nowrap}
.demo-banner{text-align:center;padding:8px 14px;background:var(--erreur);color:var(--noir);
  font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.r-loading,.r-missing{padding:90px 0;text-align:center;color:var(--ivoire-2)}
.r-missing h1{font-size:26px;text-transform:uppercase;color:var(--ivoire);margin-bottom:14px}
.r-missing .btn{margin-top:26px}

.verdict{padding:24px 20px 22px;border:1px solid var(--or);
  background:radial-gradient(90% 120% at 100% 0%,rgba(198,168,103,.13),transparent 60%),var(--noir-2)}
.verdict__in{font-family:var(--display);font-weight:600;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--or)}
.verdict h1{margin:10px 0 14px;font-size:clamp(24px,7.2vw,36px);font-weight:900;text-transform:uppercase;line-height:1.06}
.verdict h1 b{color:var(--or-clair);font-weight:900}
.verdict__goal{font-size:17px;color:var(--ivoire-2)}
.verdict__goal b{color:var(--ivoire);font-weight:600}
.note{margin:14px 0 0;padding:12px 14px;border-left:2px solid var(--or);background:var(--or-soft);font-size:17px;line-height:1.4;color:var(--ivoire)}

.r-sec{margin-top:34px}
.sec-label{margin:0 0 12px;font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--or)}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{border:1px solid var(--ligne-s);background:var(--card);padding:14px 14px 16px;min-width:0}
.tile--wide{grid-column:1 / -1}
.tile__k{font-family:var(--display);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ivoire-2);margin-bottom:8px}
.tile__v{font-family:var(--display);font-weight:800;font-size:clamp(20px,6vw,26px);color:var(--ivoire);line-height:1.1}
.tile__v small{display:block;margin:7px 0 0;font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--ivoire-2);text-transform:uppercase}
.tile--wide .tile__v{font-size:clamp(28px,8.4vw,38px);color:var(--or-clair)}
.tile--text .tile__v{font-size:14px;letter-spacing:.05em;text-transform:uppercase;line-height:1.3}
.fine{margin-top:12px;font-size:14px;line-height:1.5;color:var(--ivoire-2)}

/* macros */
.macros{border:1px solid var(--ligne-s);background:var(--card);padding:14px}
.macros__row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.macro{border:1px solid var(--ligne-s);padding:12px 6px;text-align:center;min-width:0}
.macro--lock{border-color:var(--or);background:var(--or-soft)}
.macro__k{display:flex;justify-content:center;align-items:center;gap:5px;font-family:var(--display);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivoire-2)}
.macro__k svg{width:11px;height:11px;stroke:var(--or-clair);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.macro__v{margin-top:7px;font-family:var(--display);font-weight:800;font-size:clamp(19px,5.6vw,24px);color:var(--ivoire);line-height:1}
.macro__v small{font-size:.58em;font-weight:700;letter-spacing:.06em;color:var(--ivoire-2);margin-left:1px}
.slider{margin-top:18px}
.slider__style{margin-bottom:4px;text-align:center;font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--or-clair)}
.slider__row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.slider__end{font-family:var(--display);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivoire-2)}
.slider input{-webkit-appearance:none;appearance:none;width:100%;height:40px;margin:0;background:transparent;cursor:pointer;
  --fill:50%}
.slider input::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,var(--or) var(--fill),rgba(236,227,210,.16) var(--fill))}
.slider input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:28px;margin-top:-12px;border:2px solid var(--noir);background:var(--or-clair);border-radius:0}
.slider input::-moz-range-track{height:4px;background:rgba(236,227,210,.16)}
.slider input::-moz-range-progress{height:4px;background:var(--or)}
.slider input::-moz-range-thumb{width:18px;height:26px;border:2px solid var(--noir);background:var(--or-clair);border-radius:0}
.slider input:focus-visible{outline:2px solid var(--or-clair);outline-offset:4px}
.macros .fine{margin-top:6px;text-align:center}

/* feuille de route */
.road{list-style:none;margin:0;padding:0;position:relative}
.road::before{content:"";position:absolute;left:15px;top:16px;bottom:24px;width:1px;background:linear-gradient(180deg,var(--or),rgba(169,136,78,.12))}
.road li{position:relative;padding:0 0 12px 50px}
.road .node{position:absolute;left:0;top:0;width:31px;height:31px;border:1px solid var(--or);background:var(--noir);display:grid;place-items:center;
  font-family:var(--display);font-weight:700;font-size:13px;color:var(--or-clair)}
.road .card{border:1px solid var(--ligne-s);background:var(--card);padding:14px 16px}
.road .wk{font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.road .tx{margin-top:6px;font-size:18px;line-height:1.4;color:var(--ivoire)}

/* vidéo */
.vsl{position:relative;aspect-ratio:16/9;border:1px solid var(--ligne-s);background:#000;overflow:hidden}
.vsl__btn{position:absolute;inset:0;width:100%;display:grid;place-items:center;background:center/cover no-repeat}
.vsl__btn::after{content:"";position:absolute;inset:0;background:rgba(14,11,8,.35)}
.vsl__play{position:relative;z-index:1;width:76px;height:76px;border:1px solid var(--or-clair);background:rgba(14,11,8,.7);display:grid;place-items:center}
.vsl__play svg{width:28px;height:28px;fill:var(--or-clair);margin-left:3px}
.vsl iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vsl--empty{display:grid;place-items:center;text-align:center;color:var(--ivoire-2);font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:20px}
.vsl--empty .om{display:block;font-size:44px;color:var(--or-clair);margin-bottom:10px;letter-spacing:0}

/* offre */
.offer{border:1px solid var(--or);padding:24px 16px 20px;background:linear-gradient(180deg,rgba(169,136,78,.12),rgba(169,136,78,.03))}
.offer h2{margin:0 0 12px;font-size:clamp(20px,5.8vw,27px);font-weight:900;text-transform:uppercase;line-height:1.1}
.offer h2 b{color:var(--or-clair)}
.offer__lead{margin-bottom:18px;font-size:18px;line-height:1.5;color:var(--texte-doux)}
.offer ul{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:11px}
.offer li{display:flex;gap:11px;align-items:flex-start;font-size:18px;line-height:1.35;color:var(--ivoire)}
.offer li svg{flex-shrink:0;width:18px;height:18px;margin-top:4px;stroke:var(--or-clair);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.offer li b{font-weight:600;color:var(--ivoire)}
.offer__d{color:var(--ivoire-2)}
.offer__places{margin-top:14px;text-align:center;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivoire-2)}
.offer .btn{width:100%;justify-content:center;gap:10px;padding:19px 12px;font-size:12.5px;letter-spacing:.1em}
.r-foot{margin-top:34px;text-align:center}
.r-foot a{text-decoration:underline;text-underline-offset:3px}

/* révélations discrètes */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}

/* ============================ PETITS ÉCRANS / GRANDS ÉCRANS ============================ */
@media(max-width:359px){
  .checks{grid-template-columns:1fr}
  .opts--2{gap:10px}
  .num{font-size:30px}
  .lp-steps{grid-template-columns:1fr}
  .goals{gap:10px}
  .goal__label{font-size:12px}
  .tile__k,.macro__k{letter-spacing:.12em}
  .tile--text .tile__v{font-size:12px;letter-spacing:.03em}
}
@media(min-width:700px){
  .scr-q{padding-top:56px}
  .r-wrap{padding-bottom:80px}
}
@media(prefers-reduced-motion:reduce){
  .scr.is-active{animation:none}
  .orb svg{animation-duration:6s}
  .rv{opacity:1;transform:none;transition:none}
  .tn-progress i{transition:none}
}
