/* ============================================================================
   SELEÇÃO LOCOMOTIVA — Pré-lançamento Protocolo Primeiro Milhão · Thiago Hora
   Design system dark, mobile-first, premium. Paleta extraída dos assets reais.
   ============================================================================ */

/* ---------- RESET ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
img,svg,canvas{ display:block; max-width:100%; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
input{ font:inherit; }
a{ color:inherit; text-decoration:none; }
::selection{ background:rgba(245,166,35,.3); color:#fff; }

/* ---------- TOKENS ---------- */
:root{
  --bg:#0A0708; --bg-2:#0E0A0B; --surface:#16100F; --surface-2:#1F1715; --surface-3:#2A201D;
  --red-core:#E11D2E; --red:#C20016; --red-deep:#6B181A;
  --red-glow:rgba(225,29,46,.45); --red-tint:rgba(225,29,46,.10);
  --gold:#F5A623; --gold-bright:#FFB200; --gold-hi:#FFD97A; --champagne:#FFE7A8;
  --gold-deep:#B87410; --gold-glow:rgba(245,166,35,.35);
  --grad-red:linear-gradient(135deg,#6B181A,#C20016 55%,#E11D2E);
  --grad-gold:linear-gradient(100deg,#B87410,#F5A623 30%,#FFD97A 55%,#FFB200);
  --silver:#DBDBDB;
  --text:#F5F1EC; --text-soft:#CFC8C1; --muted:#9A928B; --faint:#857E77;
  --border:rgba(255,255,255,.08); --border-strong:rgba(255,255,255,.14);
  --border-gold:rgba(245,166,35,.28); --border-red:rgba(225,29,46,.30);
  --success:#37D67A; --success-dim:rgba(55,214,122,.14); --warning:#FFB200;
  --shadow-sm:0 2px 8px rgba(0,0,0,.4); --shadow-md:0 8px 30px rgba(0,0,0,.5);
  --shadow-lg:0 20px 60px rgba(0,0,0,.6); --shadow-gold:0 10px 40px rgba(245,166,35,.28);
  --shadow-red:0 10px 40px rgba(194,0,22,.30);
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:30px; --r-pill:999px;
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:72px;
  --ease:cubic-bezier(.22,.61,.36,1); --ease-snap:cubic-bezier(.34,1.56,.64,1); --dur:.45s;
  --font-display:-apple-system,"SF Pro Display",BlinkMacSystemFont,"Poppins","Segoe UI",sans-serif;
  --font-body:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

/* ---------- BASE ---------- */
html,body{ background:var(--bg); }
body{
  font-family:var(--font-body); color:var(--text); font-size:16px; line-height:1.6;
  letter-spacing:.01em; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden; min-height:100vh;
}
body.locked{ overflow:hidden; }

/* ---------- BACKGROUND (aurora + grain) ---------- */
.aurora{ position:fixed; inset:0; z-index:-3; overflow:hidden; background:var(--bg); }
.aurora::before{ content:""; position:absolute; inset:-30%;
  background:
    radial-gradient(38% 44% at 72% 26%, rgba(225,29,46,.26), transparent 60%),
    radial-gradient(34% 40% at 20% 66%, rgba(107,24,26,.28), transparent 62%),
    radial-gradient(30% 34% at 60% 84%, rgba(245,166,35,.09), transparent 60%);
  filter:blur(30px); animation:aurora-drift 26s ease-in-out infinite alternate; }
@keyframes aurora-drift{ 0%{transform:translate3d(-3%,-2%,0) scale(1.02)}
  100%{transform:translate3d(4%,3%,0) scale(1.10)} }
.grain{ position:fixed; inset:0; z-index:-2; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:140px 140px; }
/* brasas douradas subindo (movimento ambiente premium, preenche os vazios) */
.embers{ position:fixed; inset:0; z-index:-1; pointer-events:none; }

/* ---------- TIPOGRAFIA ---------- */
.h-hero{ font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,8vw,4rem);
  line-height:1.05; letter-spacing:-.02em; text-wrap:balance; }
.h1{ font-family:var(--font-display); font-weight:800; font-size:clamp(1.7rem,6vw,2.9rem);
  line-height:1.09; letter-spacing:-.015em; text-wrap:balance; }
.h2{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.38rem,5vw,2.1rem);
  line-height:1.15; letter-spacing:-.01em; text-wrap:balance; }
.h3{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.14rem,4.2vw,1.5rem);
  line-height:1.2; text-wrap:balance; }
.eyebrow{ font-family:var(--font-body); font-weight:600; font-size:.76rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--gold); }
.lead{ font-size:clamp(1.05rem,3.4vw,1.26rem); line-height:1.55; color:var(--text-soft); text-wrap:pretty; }
.body{ font-size:1rem; line-height:1.62; color:var(--text-soft); text-wrap:pretty; }
.small{ font-size:.85rem; line-height:1.5; color:var(--muted); }
.legal{ font-size:.72rem; line-height:1.5; color:var(--faint); text-wrap:pretty; }
.num{ font-family:var(--font-display); font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
h1,h2,h3,.h-hero,.h1,.h2,.h3,.deliver__t,.faq__q{ text-wrap:balance; }
p,.body,.lead,.letter p,.faq__body p{ text-wrap:pretty; }
.nowrap{ white-space:nowrap; }
strong,b{ color:var(--text); font-weight:700; }

.grad-gold{ background:linear-gradient(100deg,#B87410,#F5A623 30%,#FFD97A 55%,#FFB200); }
.grad-red{ background:linear-gradient(135deg,#6B181A,#C20016 55%,#E11D2E); }
.text-gold{ background:linear-gradient(100deg,#F5A623,#FFD97A 50%,#FFB200);
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.text-silver{ color:var(--silver); }
.text-red{ color:var(--red-core); }
.text-muted{ color:var(--muted); }
.center{ text-align:center; }

/* ---------- LAYOUT / NAVEGAÇÃO DE TELAS ---------- */
.wrap{ width:100%; max-width:640px; margin:0 auto; padding:0 20px; }
/* quiz e cartas: centraliza o conteúdo na viewport (mata o "espaço preto embaixo") */
#scr-quiz .wrap{ min-height:calc(100dvh - 150px); display:flex; flex-direction:column; justify-content:center; padding-bottom:24px; }
#scr-carta1 .wrap,#scr-transicao .wrap{ min-height:calc(100dvh - 130px); display:flex; flex-direction:column; justify-content:center; }
.wrap--wide{ max-width:1040px; }
.screen{ display:none; min-height:100dvh; padding:76px 0 calc(130px + env(safe-area-inset-bottom)); animation:screen-in .5s var(--ease); }
.screen.active{ display:block; }
.substep{ display:none; }
.substep.active{ display:block; animation:screen-in .45s var(--ease); }
@keyframes screen-in{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }
.section{ padding:var(--sp-7) 0; }
.stack > * + *{ margin-top:1.1em; }
.divider{ height:1px; background:var(--border); margin:var(--sp-6) 0; border:0; }
.spacer{ height:var(--sp-6); }

/* topo: logo pequeno */
.topbar{ position:fixed; top:0; left:0; right:0; z-index:50; display:flex; justify-content:center;
  align-items:center; padding:14px; background:linear-gradient(180deg,rgba(10,7,8,.92),transparent);
  backdrop-filter:blur(6px); pointer-events:none; }
.topbar img{ height:26px; width:auto; opacity:.95; }

/* ---------- REVEAL ---------- */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease),transform .7s var(--ease); will-change:opacity,transform; }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s } .reveal[data-d="2"]{ transition-delay:.16s }
.reveal[data-d="3"]{ transition-delay:.24s } .reveal[data-d="4"]{ transition-delay:.32s }

/* ---------- CTA ---------- */
.cta{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  width:100%; max-width:460px; min-height:60px; padding:18px 28px; border-radius:var(--r-pill);
  font-family:var(--font-display); font-weight:800; font-size:clamp(1rem,3.8vw,1.18rem); letter-spacing:.01em;
  color:#3A2400; text-shadow:0 1px 0 rgba(255,255,255,.25);
  background:linear-gradient(100deg,#B87410,#F5A623 28%,#FFD97A 52%,#FFB200);
  box-shadow:var(--shadow-gold),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 6px rgba(120,70,0,.4);
  overflow:hidden; isolation:isolate; text-align:center;
  transition:transform .18s var(--ease-snap),box-shadow .25s var(--ease),filter .2s;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.cta:hover{ transform:translateY(-2px); box-shadow:0 16px 50px rgba(245,166,35,.42),inset 0 1px 0 rgba(255,255,255,.6); filter:brightness(1.04); }
.cta:active{ transform:translateY(0) scale(.985); }
.cta:focus-visible{ outline:3px solid var(--gold-hi); outline-offset:3px; }
.cta::after{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.75) 48%,rgba(255,255,255,.9) 50%,transparent 70%);
  transform:translateX(-120%) skewX(-15deg); animation:cta-shine 4.2s var(--ease) infinite; }
.cta:hover::after{ animation-duration:1.1s; }
@keyframes cta-shine{ 0%,15%{transform:translateX(-120%) skewX(-15deg)} 40%,100%{transform:translateX(220%) skewX(-15deg)} }
.cta--breathe{ animation:cta-breathe 3.4s ease-in-out infinite; }
@keyframes cta-breathe{ 0%,100%{box-shadow:var(--shadow-gold)} 50%{box-shadow:0 14px 46px rgba(245,166,35,.5)} }
.cta-ghost{ background:transparent; color:var(--champagne); border:1.5px solid var(--border-gold);
  box-shadow:none; min-height:52px; text-shadow:none; }
.cta-ghost::after{ display:none; }
.cta-ghost:hover{ border-color:var(--gold); background:var(--gold-glow); filter:none; }
.cta-sub{ display:block; text-align:center; margin-top:10px; font-size:.82rem; color:var(--muted); }
.cta-wrap{ display:flex; flex-direction:column; align-items:center; margin-top:var(--sp-5); }

/* ---------- HERO ---------- */
.hero{ position:relative; overflow:hidden; min-height:100dvh; display:flex; align-items:center;
  padding:76px 0 90px; }
#scr-hero{ padding:0; min-height:auto; }
.hero__binary{ position:absolute; inset:0; z-index:0; opacity:.5;
  mask-image:radial-gradient(75% 70% at 68% 42%,#000 28%,transparent 76%);
  -webkit-mask-image:radial-gradient(75% 70% at 68% 42%,#000 28%,transparent 76%); }
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media img{ width:100%; height:100%; object-fit:cover; object-position:47% 30%; opacity:.85; }
.hero__media::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(10,7,8,.5) 0%,rgba(10,7,8,.35) 26%,rgba(10,7,8,.92) 72%,var(--bg) 100%),
             linear-gradient(90deg,var(--bg) 6%,rgba(10,7,8,.45) 52%,transparent 100%); }
.hero__inner{ position:relative; z-index:2; }
.hero .eyebrow{ margin-bottom:14px; }
.hero__badge{ display:inline-flex; align-items:center; gap:7px; padding:6px 12px 6px 6px; margin-bottom:20px;
  background:rgba(31,23,21,.6); border:1px solid var(--border-strong); border-radius:var(--r-pill);
  font-size:.8rem; color:var(--text-soft); backdrop-filter:blur(8px); }
.hero__badge img{ width:26px; height:26px; border-radius:50%; }
.hero__sub{ margin:20px 0 6px; max-width:34ch; }

/* ---------- QUIZ ---------- */
.qbar{ position:fixed; top:0; left:0; right:0; z-index:40; padding:14px 20px 16px;
  background:linear-gradient(180deg,var(--bg) 55%,transparent); backdrop-filter:blur(8px); }
.qbar__meta{ display:flex; justify-content:space-between; font-size:.74rem; color:var(--muted);
  margin-bottom:7px; font-weight:600; letter-spacing:.02em; max-width:640px; margin-inline:auto; }
.qbar__track{ height:8px; border-radius:var(--r-pill); background:var(--surface-3); overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.5); max-width:640px; margin:0 auto; }
.qbar__fill{ height:100%; border-radius:inherit; width:0;
  background:linear-gradient(90deg,#B87410,#F5A623,#FFD97A); box-shadow:0 0 14px var(--gold-glow);
  transition:width .55s var(--ease); position:relative; overflow:hidden; }
.qbar__fill::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transform:translateX(-100%); animation:qshimmer 1.8s var(--ease) infinite; }
@keyframes qshimmer{ to{transform:translateX(100%)} }

.qstep{ display:none; animation:screen-in .4s var(--ease); }
.qstep.active{ display:block; }
.q-eyebrow{ color:var(--gold); font-weight:600; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:12px; }
.q-title{ margin-bottom:8px; }
.q-hint{ color:var(--muted); font-size:.9rem; margin-bottom:22px; }
.q-name-input{ width:100%; padding:16px 18px; margin-bottom:16px; background:var(--surface-2);
  border:1.5px solid var(--border); border-radius:var(--r-md); color:var(--text); font-size:1.05rem;
  transition:border-color .2s var(--ease); }
.q-name-input:focus{ outline:none; border-color:var(--gold); }
.q-name-input::placeholder{ color:var(--faint); }

.opt{ display:flex; align-items:center; gap:14px; width:100%; text-align:left; min-height:66px;
  padding:16px 18px; margin-bottom:12px; background:var(--surface-2); border:1.5px solid var(--border);
  border-radius:var(--r-md); color:var(--text); font-family:var(--font-body); font-size:1rem;
  font-weight:500; line-height:1.35;
  transition:border-color .2s var(--ease),background .2s,transform .12s var(--ease-snap);
  -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.opt__key{ width:34px; height:34px; flex:0 0 auto; border-radius:9px; display:grid; place-items:center;
  font-family:var(--font-display); font-weight:800; background:var(--surface-3); color:var(--muted);
  border:1px solid var(--border); transition:all .2s var(--ease); }
.opt:hover{ border-color:var(--border-gold); background:var(--surface-3); }
.opt:active{ transform:scale(.985); }
.opt.sel{ border-color:var(--gold); background:linear-gradient(100deg,var(--gold-glow),transparent);
  box-shadow:0 0 0 3px rgba(245,166,35,.12); }
.opt.sel .opt__key{ background:var(--gold); color:#3A2400; border-color:var(--gold); }
.opt:focus-visible,.faq__q:focus-visible{ outline:3px solid var(--gold-hi); outline-offset:2px; }

/* micro-feedback (tela cheia entre perguntas) */
.qfeel{ display:none; text-align:center; padding:40px 4px; animation:screen-in .5s var(--ease); }
.qfeel.active{ display:block; }
.qfeel__emoji{ position:relative; display:inline-grid; place-items:center; margin-bottom:22px; }
.qfeel__emoji::before{ content:""; position:absolute; inset:-32px; border-radius:50%; z-index:-1;
  background:radial-gradient(closest-side,rgba(245,166,35,.5),rgba(245,166,35,.12) 45%,transparent 72%); animation:halo-pulse 2.6s ease-in-out infinite; }
@keyframes halo-pulse{ 0%,100%{opacity:.28; transform:scale(.85)} 50%{opacity:.6; transform:scale(1.12)} }
.qfeel p{ font-size:clamp(1.1rem,4vw,1.35rem); line-height:1.5; color:var(--text-soft); max-width:32ch; margin:0 auto 24px; text-wrap:pretty; }
.qfeel b{ color:var(--gold-hi); }
/* tela de análise pós-quiz (simula processamento antes de "selecionada") */
.qanalise{ text-align:center; padding:44px 8px; animation:screen-in .5s var(--ease); }
.ana-orbit{ width:78px; height:78px; margin:0 auto 24px; border-radius:50%; display:grid; place-items:center; position:relative; border:1.5px solid var(--border-gold); }
.ana-orbit::before{ content:""; position:absolute; inset:-2px; border-radius:50%; border:2px solid transparent; border-top-color:var(--gold); animation:ana-spin .9s linear infinite; }
.ana-ic{ width:32px; height:32px; stroke:var(--gold-hi); stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round; }
@keyframes ana-spin{ to{ transform:rotate(360deg); } }
.ana-bar{ height:8px; max-width:320px; margin:24px auto 14px; border-radius:99px; background:var(--surface-3); overflow:hidden; box-shadow:inset 0 1px 2px rgba(0,0,0,.5); }
.ana-fill{ height:100%; width:5%; border-radius:99px; background:linear-gradient(90deg,#B87410,#F5A623,#FFD97A); box-shadow:0 0 14px var(--gold-glow); transition:width 3.5s cubic-bezier(.4,0,.2,1); }
.ana-status{ font-size:.92rem; color:var(--muted); min-height:1.4em; }
@media(prefers-reduced-motion:reduce){ .ana-orbit::before{ animation:none; } .ana-fill{ transition:none; width:100%; } }

/* ---------- CARTA ---------- */
.letter{ position:relative; padding:26px 22px 26px 26px; background:linear-gradient(180deg,#140F0E,#0E0A0A);
  border:1px solid var(--border); border-left:3px solid var(--gold); border-radius:var(--r-md); box-shadow:var(--shadow-md); }
.letter p{ font-size:clamp(1.02rem,3.6vw,1.15rem); line-height:1.7; color:var(--text-soft); text-wrap:pretty; margin:0 0 1em; }
.letter p:last-child{ margin-bottom:0; }
.letter p.big{ font-family:var(--font-display); font-weight:800; font-size:clamp(1.3rem,5vw,1.7rem);
  color:var(--text); line-height:1.2; }
.letter .q{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.2rem,4.6vw,1.55rem);
  color:var(--text); line-height:1.28; border-top:1px solid var(--border); padding-top:1em; margin-top:1.2em; text-wrap:balance; }
.letter em{ color:var(--champagne); font-style:italic; }
.letter__sign{ font-family:"Snell Roundhand","Segoe Script",cursive; font-size:1.6rem; color:var(--champagne); margin-top:12px; }
.letter__role{ font-size:.8rem; color:var(--muted); }

/* ---------- FRAME (imagens) ---------- */
.frame{ position:relative; width:100%; aspect-ratio:16/10; overflow:hidden; border-radius:var(--r-md);
  background:var(--surface-2); box-shadow:var(--shadow-sm); }
.frame img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transition:opacity .4s var(--ease); }
.frame.loaded img{ opacity:1; }
.frame--square{ aspect-ratio:1/1; } .frame--portrait{ aspect-ratio:3/4; }
.frame--wide{ aspect-ratio:16/9; } .frame--card{ aspect-ratio:4/5; } .frame--tall{ aspect-ratio:4/6; }
.frame::before{ content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.05),transparent);
  transform:translateX(-100%); animation:sk 1.4s var(--ease) infinite; }
.frame.loaded::before{ display:none; }
@keyframes sk{ to{transform:translateX(100%)} }
.frame--gold{ border:1px solid var(--border-gold); box-shadow:var(--shadow-gold); }
/* imagem de conteúdo que NUNCA corta — proporção natural (colagens, prints, Forbes) */
.img-full{ display:block; width:100%; height:auto; border-radius:var(--r-lg); box-shadow:var(--shadow-md); }
.img-full.gold{ border:1px solid var(--border-gold); box-shadow:var(--shadow-gold); }

/* ---------- PROVA SOCIAL (WhatsApp) ---------- */
.proof{ background:linear-gradient(180deg,rgba(31,23,21,.9),rgba(22,16,15,.9)); border:1px solid var(--border);
  border-radius:var(--r-lg); box-shadow:var(--shadow-md); overflow:hidden; }
.proof__head{ display:flex; align-items:center; gap:10px; padding:11px 14px; border-bottom:1px solid var(--border); background:rgba(37,211,102,.06); }
.proof__avatar{ width:38px; height:38px; border-radius:50%; object-fit:cover; border:2px solid rgba(55,214,122,.5); flex:0 0 auto; }
.proof__name{ font-weight:600; font-size:.92rem; color:var(--text); }
.proof__meta{ font-size:.72rem; color:var(--muted); display:flex; align-items:center; gap:4px; }
.proof__check{ color:#53bdeb; }
.proof__cap{ padding:12px 14px; font-size:.86rem; color:var(--text-soft); }
.proof-scroll{ display:flex; gap:14px; overflow-x:auto; padding:4px 20px 16px; margin:0 -20px;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.proof-scroll::-webkit-scrollbar{ display:none; }
.proof-scroll > *{ flex:0 0 78%; max-width:290px; scroll-snap-align:center; }
/* prints/depoimentos aparecem INTEIROS no carrossel (não cortar) */
.proof-scroll .frame{ aspect-ratio:auto; background:transparent; }
.proof-scroll .frame::before{ display:none; }
.proof-scroll .frame img{ position:static; width:100%; height:auto; opacity:1; }

/* ---------- ENTREGÁVEIS ---------- */
.deliver{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; padding:17px 18px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md);
  transition:border-color .25s var(--ease),transform .25s; }
.deliver:hover{ border-color:var(--border-gold); transform:translateY(-2px); }
.deliver__ic{ width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  background:linear-gradient(150deg,rgba(245,166,35,.16),rgba(245,166,35,.04)); border:1px solid var(--border-gold); flex:0 0 auto; }
.deliver__ic svg{ width:24px; height:24px; stroke:var(--gold-hi); stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; }
/* ícone SVG inline genérico (selos, listas, feedbacks) */
.ic{ width:1.15em; height:1.15em; stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.18em; flex:0 0 auto; }
.ic-lg{ width:1.5em; height:1.5em; }
.deliver__t{ font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--text); margin-bottom:3px; text-wrap:balance; }
.deliver__d{ font-size:.85rem; color:var(--muted); line-height:1.45; }
.deliver__val{ font-weight:700; color:var(--champagne); font-size:.88rem; white-space:nowrap; text-align:right; }
.deliver__val s{ color:var(--faint); font-weight:400; }
.deliver-group{ display:grid; gap:12px; }
.group-label{ display:flex; align-items:center; gap:10px; margin:var(--sp-6) 0 var(--sp-3); }
.group-label .dot{ width:9px; height:9px; border-radius:50%; }
.group-label .t{ font-family:var(--font-display); font-weight:700; font-size:.95rem; letter-spacing:.04em; text-transform:uppercase; color:var(--text-soft); }

/* ---------- ANCORAGEM DE PREÇO ---------- */
.pricebox{ text-align:center; padding:var(--sp-6) var(--sp-5); border-radius:var(--r-lg);
  border:1px solid var(--border); background:var(--surface); }
.pricebox .anchor{ font-size:clamp(2.6rem,11vw,4rem); line-height:1; margin:6px 0; }
.pricebox .anchor s{ color:var(--faint); }
.price-strike{ position:relative; display:inline-block; color:var(--text-soft); }
.value-row{ display:flex; justify-content:space-between; align-items:center; padding:12px 4px; border-bottom:1px dashed var(--border); font-size:.95rem; }
.value-row:last-child{ border-bottom:0; }
.value-row .v{ color:var(--champagne); font-weight:700; white-space:nowrap; }
.value-total{ display:flex; justify-content:space-between; align-items:baseline; padding:16px 4px 4px; margin-top:8px; border-top:2px solid var(--border-gold); }
.value-total .num{ font-size:clamp(1.8rem,7vw,2.6rem); }

/* ---------- MECANISMO / SELO ---------- */
.mech{ border:1px solid var(--border-red); border-radius:var(--r-lg); overflow:hidden;
  background:linear-gradient(180deg,rgba(194,0,22,.1),rgba(22,16,15,.6)); }
.mech__head{ padding:18px 20px; text-align:center; background:var(--grad-red); }
.mech__body{ padding:22px 20px; }
.badge-seal{ display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:var(--r-pill);
  background:var(--red-tint); border:1px solid var(--border-red); color:var(--red-core); font-weight:700; font-size:.85rem; }
.check-list{ list-style:none; display:grid; gap:12px; }
.check-list li{ display:flex; gap:12px; align-items:flex-start; font-size:.98rem; color:var(--text-soft); line-height:1.45; }
.check-list .ic{ flex:0 0 auto; width:24px; height:24px; border-radius:50%; display:grid; place-items:center;
  background:var(--success-dim); color:var(--success); font-size:13px; font-weight:800; margin-top:1px; }

/* ---------- DOIS CAMINHOS ---------- */
.paths{ display:grid; gap:16px; }
@media(min-width:720px){ .paths{ grid-template-columns:1fr 1fr; } }
.path{ padding:22px 20px; border-radius:var(--r-lg); border:1px solid var(--border); }
.path--bad{ background:linear-gradient(180deg,rgba(30,20,20,.7),rgba(14,10,10,.7)); border-color:var(--border); }
.path--good{ background:linear-gradient(180deg,rgba(245,166,35,.08),rgba(22,16,15,.6)); border-color:var(--border-gold); box-shadow:var(--shadow-gold); }
.path__tag{ font-family:var(--font-display); font-weight:800; font-size:1.15rem; margin-bottom:4px; }
.path--bad .path__tag{ color:var(--muted); }
.path--good .path__tag{ color:var(--gold-hi); }
.path__cap{ font-size:.8rem; color:var(--faint); margin-bottom:16px; }
.path ul{ list-style:none; display:grid; gap:12px; }
.path li{ display:flex; gap:10px; font-size:.94rem; line-height:1.42; }
.path--bad li::before{ content:"✕"; color:var(--red-core); flex:0 0 auto; font-weight:800; }
.path--good li::before{ content:"✓"; color:var(--success); flex:0 0 auto; font-weight:800; }
.path__foot{ margin-top:16px; padding-top:14px; border-top:1px solid var(--border); font-size:.84rem; }
.path--bad .path__foot{ color:var(--muted); } .path--good .path__foot{ color:var(--champagne); }

/* ---------- FAQ ---------- */
.faq{ border-bottom:1px solid var(--border); }
.faq__q{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:14px;
  padding:20px 4px; font-family:var(--font-display); font-weight:700; font-size:1.03rem; color:var(--text); text-align:left; list-style:none; }
.faq__q::-webkit-details-marker{ display:none; }
.faq__ic{ flex:0 0 auto; width:26px; height:26px; position:relative; color:var(--gold); }
.faq__ic::before,.faq__ic::after{ content:""; position:absolute; inset:0; margin:auto; background:currentColor; border-radius:2px; transition:transform .3s var(--ease); }
.faq__ic::before{ width:14px; height:2px; } .faq__ic::after{ width:2px; height:14px; }
.faq[open] .faq__ic::after{ transform:rotate(90deg) scaleY(0); }
.faq__body{ overflow:hidden; }
.faq__body p{ padding:0 4px 20px; color:var(--text-soft); font-size:.95rem; line-height:1.6; text-wrap:pretty; }

/* ---------- BARRA DE VAGAS (fixa) ---------- */
.vagabar{ position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; align-items:center; gap:12px;
  padding:12px 16px; padding-bottom:calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(20,10,11,.86),rgba(10,7,8,.96));
  backdrop-filter:blur(14px) saturate(1.2); border-top:1px solid var(--border-red);
  box-shadow:0 -8px 30px rgba(0,0,0,.5); transform:translateY(120%); transition:transform .5s var(--ease); }
.vagabar.show{ transform:translateY(0); }
.vagabar__dot{ width:8px; height:8px; border-radius:50%; background:var(--red-core); flex:0 0 auto; animation:live 1.8s ease-out infinite; }
@keyframes live{ 0%{box-shadow:0 0 0 0 rgba(225,29,46,.5)} 100%{box-shadow:0 0 0 12px rgba(225,29,46,0)} }
.vagabar__info{ flex:1 1 auto; min-width:0; }
.vagabar__count{ font-family:var(--font-display); font-weight:800; font-size:.98rem; color:var(--text); line-height:1.15; }
.vagabar__count b{ color:var(--red-core); font-variant-numeric:tabular-nums; }
.vagabar__label{ font-size:.68rem; color:var(--muted); letter-spacing:.01em; }
.vagabar .cta{ width:auto; min-height:44px; padding:11px 18px; font-size:.9rem; flex:0 0 auto; max-width:none; }
.vagabar .cta::after{ display:none; }

/* ---------- TOASTS ---------- */
.toast{ position:fixed; left:14px; bottom:88px; z-index:55; max-width:min(86vw,330px); display:flex;
  align-items:center; gap:11px; padding:11px 15px 11px 12px; background:rgba(22,16,15,.85);
  border:1px solid var(--border-strong); border-radius:var(--r-pill); box-shadow:var(--shadow-md);
  backdrop-filter:blur(12px); transform:translateX(-130%); opacity:0;
  transition:transform .5s var(--ease-snap),opacity .4s var(--ease); }
.toast.show{ transform:translateX(0); opacity:1; }
.toast__pin{ width:8px; height:8px; border-radius:50%; background:var(--success); box-shadow:0 0 8px var(--success); flex:0 0 auto; }
.toast__txt{ font-size:.82rem; line-height:1.25; color:var(--text-soft); min-width:0; }
.toast__txt b{ color:var(--text); font-weight:600; }
.toast__time{ font-size:.68rem; color:var(--muted); }

/* ---------- LOCOMOTIVA ---------- */
.loco{ position:relative; width:min(280px,72%); margin:0 auto var(--sp-5); }
.loco__svg{ width:100%; display:block; overflow:visible; filter:drop-shadow(0 6px 18px rgba(245,166,35,.18)); }
#scr-checkout .loco{ filter:drop-shadow(0 0 14px rgba(245,166,35,.28)); }
#scr-checkout .loco__body rect{ stroke:rgba(245,166,35,.25); stroke-width:.6; }
.loco__smoke{ position:absolute; left:20%; top:-38px; width:56%; height:80px; pointer-events:none; }
.loco__body{ animation:loco-bob 1.1s ease-in-out infinite; transform-origin:120px 88px; }
@keyframes loco-bob{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-1.5px)} }
.wheel{ transform-box:fill-box; transform-origin:center; animation:wheel-spin .9s linear infinite; }
@keyframes wheel-spin{ to{transform:rotate(360deg)} }
.loco__rail{ stroke-dasharray:12 10; animation:rail-run .5s linear infinite; }
@keyframes rail-run{ to{stroke-dashoffset:-22} }

/* ---------- UTIL ---------- */
.glass{ background:rgba(31,23,21,.55); border:1px solid var(--border-strong);
  backdrop-filter:blur(14px) saturate(1.15); box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.06); border-radius:var(--r-lg); }
@supports not (backdrop-filter:blur(4px)){ .glass,.toast,.vagabar{ background:rgba(20,15,14,.94); } }
.chip{ display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:var(--r-pill);
  background:var(--surface-2); border:1px solid var(--border); font-size:.8rem; color:var(--text-soft); }
.shine-once{ position:relative; overflow:hidden; }
.shine-once::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.5) 50%,transparent 60%);
  transform:translateX(-150%) skewX(-18deg); animation:cta-shine 5s var(--ease) infinite 2s; }
.mt-lg{ margin-top:var(--sp-6); } .mt-xl{ margin-top:var(--sp-7); }
.footer{ padding:var(--sp-7) 0 var(--sp-6); border-top:1px solid var(--border); margin-top:var(--sp-7); text-align:center; }
.footer img{ height:28px; margin:0 auto 16px; opacity:.8; }
.footer .seal{ font-size:.78rem; color:var(--muted); max-width:44ch; margin:0 auto 16px; line-height:1.55; }

/* ---------- ASSINATURA COM ROSTO REAL DO THIAGO ---------- */
.sign{ display:flex; align-items:center; gap:13px; margin-top:18px; padding-top:15px; border-top:1px solid var(--border); }
.sign__av{ width:54px; height:54px; border-radius:50%; object-fit:cover; object-position:20% 28%;
  border:2px solid var(--border-gold); flex:0 0 auto; box-shadow:0 4px 18px rgba(245,166,35,.28); }
.sign__name{ font-family:"Snell Roundhand","Segoe Script",cursive; font-size:1.55rem; color:var(--champagne); line-height:1; }
.sign__role{ font-size:.76rem; color:var(--muted); margin-top:3px; }

/* ---------- CARD DE AUTORIDADE (Forbes + origem) ---------- */
.authority{ display:grid; gap:14px; }
.badge-forbes{ display:inline-flex; align-items:center; gap:8px; padding:8px 15px; border-radius:var(--r-pill);
  background:var(--surface-2); border:1px solid var(--border-strong); font-size:.8rem; color:var(--text-soft); }
.badge-forbes b{ color:var(--text); }
.hero__badges{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }

/* ---------- HERO OFICIAL (arte ACM) na revelação ---------- */
.acm-hero{ position:relative; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border-gold);
  box-shadow:var(--shadow-gold); }
.acm-hero img{ width:100%; display:block; aspect-ratio:1108/624; object-fit:cover; }
body:has(#scr-quiz.active) .topbar{ opacity:0; pointer-events:none; }

/* ---------- RESPONSIVO ---------- */
@media(min-width:820px){
  .vagabar{ bottom:auto; top:0; transform:translateY(-120%); border-top:0; border-bottom:1px solid var(--border-red); box-shadow:0 8px 30px rgba(0,0,0,.5); }
  .vagabar.show{ transform:translateY(0); }
  .toast{ bottom:24px; }
  .hero__media img{ object-position:center; }
}
@media(prefers-reduced-motion:reduce){
  *{ animation-duration:.001s !important; animation-iteration-count:1 !important; transition-duration:.01s !important; }
  .reveal{ opacity:1; transform:none; }
  .screen{ animation:none; }
}
