/* GuestEngine — site de lançamento. Sem dependências. Modo .m = movimento (JS ativo e sem prefers-reduced-motion). */
:root{
  --bg:#000;--bg2:#0a0a0a;--card:#0b0b0c;--frame:#161618;--line:rgba(255,255,255,.08);
  --t1:#f5f5f7;--t2:#a1a1a6;--t3:#86868b;
  --o:#f97316;--o2:#fb923c;--o3:#fdba74;--o4:#c2410c;--brown:#7c2d12;
  --ink:#0b1220;--floor:#111a2c;--cam:#38bdf8;--live:#ef4444;--ok:#16a34a;
  --l-bg:#f5f5f7;--l-card:#fff;--l-t1:#1d1d1f;--l-t2:#6e6e73;--l-o:#c2410c;
  --nav-h:48px;--gut:max(16px,env(safe-area-inset-left));--gutd:max(clamp(16px,5vw,72px),calc((100vw - 1200px) / 2));
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --grad:linear-gradient(180deg,#fdba74 0%,#f97316 55%,#c2410c 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);scroll-padding-top:var(--nav-h)}
body{margin:0;background:var(--bg);color:var(--t1);font-family:var(--font);font-size:clamp(17px,1.5vw,21px);line-height:1.47;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-x:clip}
img,video,canvas,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
strong{color:var(--t1);font-weight:600}
.mono{font-family:var(--mono);letter-spacing:.02em;font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid var(--o2);outline-offset:3px;border-radius:6px}
::selection{background:rgba(249,115,22,.4)}

/* idioma: pares data-l="pt" / data-l="en" */
html:not(.en) [data-l="en"],html.en [data-l="pt"]{display:none!important}

.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--o);color:#000;padding:10px 16px;border-radius:999px;font-weight:600;text-decoration:none}
.skip:focus{top:10px}

/* ---------- tipografia ---------- */
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.grad-d{color:var(--l-o)}
h1,h2,h3,.h-final,.sent,.beat-c,.pclose,.hero .sub,.fine,.h-regua,.beat,.beat-p,.cap-real{text-wrap:balance}
p,li{text-wrap:pretty}
h1,.h1x{font-size:clamp(44px,8vw,112px);font-weight:600;letter-spacing:-.035em;line-height:1.04}
.h2{font-size:clamp(36px,6vw,84px);font-weight:600;letter-spacing:-.03em;line-height:1.05}
.h2s{font-size:clamp(32px,4.2vw,60px);font-weight:600;letter-spacing:-.03em;line-height:1.06}
.h3{font-size:clamp(24px,2.6vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin-bottom:.45em}
.lead{color:var(--t2);font-size:clamp(17px,1.5vw,21px);line-height:1.47}
.eyebrow{color:var(--o2);font-size:clamp(15px,1.3vw,19px);font-weight:600;margin-bottom:12px}
.eyebrow .mono{font-weight:500;font-size:.9em}
.note{color:var(--t3);font-size:clamp(14px,1.1vw,16px);line-height:1.45}
.cap{color:var(--t3);font-size:13px;line-height:1.4}
.num{font-weight:700;letter-spacing:-.04em;line-height:.95;font-variant-numeric:tabular-nums}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:980px;background:var(--o);color:#000;font-weight:600;font-size:17px;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.btn:hover{background:#fb8a3c}
.btn:active{transform:scale(.98)}
.btn-nav{min-height:32px;height:32px;padding:0 14px;font-size:13px}
.btn-lg{min-height:52px;font-size:18px}
.btn-xl{min-height:60px;padding:0 34px;font-size:19px;position:relative}
.btn-xl::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid rgba(249,115,22,.6);opacity:0;animation:ring 4s infinite;pointer-events:none}
@keyframes ring{0%,70%{transform:scale(1);opacity:0}72%{transform:scale(1);opacity:.9}100%{transform:scale(1.12,1.32);opacity:0}}
.ico-b{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.more{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 8px;color:var(--o2);text-decoration:none;font-size:18px}
.more:hover{text-decoration:underline}

/* ---------- navegação ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--nav-h);background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06)}
/* palco escuro preso na tela: fundo quase opaco, sem backdrop-filter (o blur sobre o canvas que muda era ~37% da GPU) */
.m .nav.pin{background:rgba(0,0,0,.86);-webkit-backdrop-filter:none;backdrop-filter:none}
.nav-in{height:100%;max-width:calc(1200px + 2 * var(--gut));margin:0 auto;padding:0 var(--gut);display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;min-height:44px}
.brand img{height:28px;width:auto}
.links{display:flex;gap:4px;margin:0 auto;font-size:13px}
.links a{color:rgba(245,245,247,.82);text-decoration:none;padding:0 10px;min-height:44px;display:flex;align-items:center}
.links a:hover{color:#fff}
.nav-act{display:flex;align-items:center;gap:10px;margin-left:auto}
.lang{display:flex;border:1px solid rgba(255,255,255,.18);border-radius:980px;padding:2px}
.lang a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--t2);font:600 12px/1 var(--font);padding:0 10px;height:28px;min-width:36px;border-radius:980px;cursor:pointer}
.lang a[aria-current="true"]{background:rgba(255,255,255,.16);color:#fff}
.lang a:hover{color:#fff}
@media (max-width:860px){.links{display:none}}
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .lang a{height:36px;min-width:40px}
  .btn-nav{height:40px;min-height:40px}
}

/* botão fixo de WhatsApp no celular */
.wa-float{display:none}
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .wa-float{display:flex;position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:40;width:52px;height:52px;border-radius:50%;background:var(--o);color:#000;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(0,0,0,.45);transition:opacity .3s,transform .3s}
  .wa-float svg{width:26px;height:26px;fill:none;stroke:#000;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
  .wa-float.hide{opacity:0;transform:translateY(12px);pointer-events:none}
}

/* ---------- etiquetas ---------- */
.tag-ilus{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:12px;z-index:6;font:500 11px/1 var(--mono);letter-spacing:.04em;color:rgba(255,255,255,.62);background:rgba(0,0,0,.35);padding:5px 8px;border-radius:6px;pointer-events:none}
.tag-dark{color:rgba(0,0,0,.6);background:rgba(255,255,255,.5)}

/* ---------- PALCOS: base (sem movimento = fluxo normal) ---------- */
.stage{position:relative}
.sticky{position:relative}
.only-m{display:none!important}
.m .only-m{display:block!important}
.m .only-s{display:none!important}
.only-mob{display:none}

/* fluxo normal (sem JS ou movimento reduzido) */
html:not(.m) .sticky{display:grid}
html:not(.m) .media{position:relative;height:min(100vh,860px);overflow:hidden}
html:not(.m) .media img,html:not(.m) .media video{width:100%;height:100%;object-fit:cover}
html:not(.m) .noite .media,html:not(.m) .noite .hero{grid-area:1/1}
html:not(.m) .hero{align-self:end;position:relative;z-index:2;padding:0 var(--gut) 56px;text-align:center}
html:not(.m) .shade-hero{position:absolute;inset:auto 0 0;height:70%;background:linear-gradient(transparent,rgba(0,0,0,.9))}
html:not(.m) .beat-c{padding:22vh var(--gut) 6vh;text-align:center}
html:not(.m) .copy,html:not(.m) .md-head,html:not(.m) .md-grid,html:not(.m) .rx-dev,html:not(.m) .h-sent,html:not(.m) .h64,html:not(.m) .h-state,html:not(.m) .pcol,html:not(.m) .h-lap{padding:9vh var(--gut) 0;max-width:1100px;margin:0 auto;width:100%}
html:not(.m) .h-t1,html:not(.m) .h-t2,html:not(.m) .h-eb{padding:9vh var(--gut) 0;max-width:1100px;margin:0 auto;width:100%}
html:not(.m) .h-eb{padding-bottom:0}
html:not(.m) .static-figs{display:grid;gap:24px;padding:6vh var(--gut) 10vh;max-width:1200px;margin:0 auto}
html:not(.m) .fig-real img{border-radius:18px;width:100%;height:auto}
html:not(.m) .fig-real figcaption{margin-top:10px}
html:not(.m) .planta .sticky{background:var(--ink)}
html:not(.m) .plan-wrap{max-width:1200px;margin:0 auto;padding:6vh var(--gut) 0;width:100%}
html:not(.m) .plan-box img{border-radius:18px;width:100%;height:auto}
html:not(.m) .plan-copy{padding-bottom:10vh}
html:not(.m) .plan-copy .fig-real{margin-top:28px}
html:not(.m) .madrugada .media{height:70vh}
html:not(.m) .md-grid{padding-bottom:10vh}
html:not(.m) .md-beat{margin-bottom:5vh}
html:not(.m) .pbig{text-align:center;padding-top:12vh}
html:not(.m) .odo span:not(:first-child){display:none}
html:not(.m) .pcol{padding-bottom:12vh}
html:not(.m) .h64{text-align:center}
html:not(.m) .rx-dev{padding-bottom:6vh}
html:not(.m) .h-lap .laptop .lap-screen{aspect-ratio:auto;max-height:70vh}
html:not(.m) .p-stage .sticky{display:grid;gap:40px;padding:6vh var(--gut);max-width:1200px;margin:0 auto}
html:not(.m) .h-state{padding-bottom:10vh}

/* ---------- PALCOS em movimento ---------- */
.m .sticky{position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;overflow:clip;contain:layout paint}
.m .noite{height:750vh}.m .planta{height:320vh}.m .raiox{height:270vh}.m .madrugada{height:320vh}.m .historico{height:400vh}.m .p-stage{height:230vh}.m .priv{height:280vh}
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){.m .noite{height:490vh}.m .planta{height:270vh}.m .raiox{height:220vh}.m .madrugada{height:270vh}.m .historico{height:330vh}.m .p-stage{height:auto}.m .priv{height:250vh}}
.m .stage.flat .sticky{position:relative;height:auto;overflow:visible;contain:none}
.m .media{position:absolute;inset:0}
.m .media .poster img,.m .media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m canvas.seq,.m canvas.overlay{position:absolute;inset:0;width:100%;height:100%}
.m [data-in]{opacity:0}
.m .wc [data-in],.m .wc [data-out]{will-change:opacity,transform}
.m [data-in]:focus-within,.m [data-out]:focus-within{opacity:1!important;transform:none!important;filter:none!important}

/* ===== NOITE ===== */
.noite .sticky{background:#000}
.m .noite .poster{position:absolute;inset:0}
.m .vignette{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse 34% 40% at 50% 46%,transparent 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.92) 100%);pointer-events:none}
.m .shade-hero{position:absolute;inset:auto 0 0;height:72%;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 40%,rgba(0,0,0,.92) 100%);pointer-events:none}
.hero{z-index:4;max-width:1080px;margin:0 auto;text-align:center}
.m .hero{position:absolute;left:0;right:0;bottom:max(36px,7vh);padding:0 var(--gut)}
.badge{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 12px;border-radius:980px;background:rgba(34,34,38,.66);border:1px solid rgba(255,255,255,.12);color:var(--t1);font-size:14px;font-weight:500}
.pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--live)}
.pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(239,68,68,.55);animation:pulse 1.6s infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.9}80%,100%{transform:scale(3);opacity:0}}
.prodline{margin:18px 0 6px;color:var(--o2);font-size:clamp(16px,1.4vw,20px);font-weight:600}
.hero h1{margin:0 0 18px}
.hero .sub{color:var(--t2);font-size:clamp(17px,1.6vw,22px);max-width:720px;margin:0 auto 26px}
.ctas{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 22px}
.fine{margin-top:18px;color:var(--t3);font-size:14px}
.beat-c{font-size:clamp(44px,8vw,112px);font-weight:600;letter-spacing:-.035em;line-height:1.04;text-align:center}
.m .beat-c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 var(--gut);z-index:3}
.m .timemark{position:absolute;left:0;right:0;top:66%;text-align:center;z-index:3;color:var(--t2);font-size:15px}
.timemark .mono{color:var(--o2)}

.cam-copy{z-index:4}
.m .cam-copy{position:absolute;top:0;bottom:0;left:var(--gutd);display:flex;flex-direction:column;justify-content:center;max-width:min(560px,36vw)}
.m .cam-copy::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--gutd) * -1);width:calc(100% + var(--gutd) + 16vw);background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.78) 62%,rgba(0,0,0,0) 100%);z-index:-1;pointer-events:none}
.cam-copy .h2{font-size:clamp(36px,4.4vw,66px)}
.cam-copy .h2 .ln{display:block}
.o2{color:var(--o2)}
.cam-copy .lead{margin-top:28px;color:var(--t1)}
.cam-copy .beat{margin-top:26px;font-size:clamp(20px,1.9vw,26px);font-weight:600;color:var(--o3)}
.words .w{transition:none}
.m .words .w{opacity:.2}

/* mosaico das câmeras reais */
.m .mosaic{position:absolute;inset:0;z-index:2;pointer-events:none}
.tile{position:absolute;overflow:hidden;background:var(--ink);border-radius:0;transform-origin:0 0}
.m .wc .tile{will-change:transform,opacity}
.tile svg{width:100%;height:100%}
.m .wc .tile.t1{will-change:transform,clip-path}
.tile .lbl-t{opacity:0}
.mosaic.grid .tile{border-radius:10px}
.camsvg .z{fill:var(--c);fill-opacity:0;stroke:var(--c);stroke-width:3;stroke-linejoin:round;stroke-dasharray:1 1}
.camsvg .zt{font:700 15px var(--mono);letter-spacing:.04em;fill:#0b1220}
.camsvg .pbox{fill:rgba(249,115,22,.12);stroke:rgba(249,115,22,.55);stroke-width:1.5}
.camsvg .corner{fill:none;stroke:#f97316;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.camsvg .pl rect{fill:#f97316}
.camsvg .pl text{font:700 17px var(--mono);fill:#0b1220}
.camsvg .lbl-t rect{fill:rgba(11,18,32,.85)}
.camsvg .lbl-t text{font:600 22px var(--mono);fill:#f5f5f7;letter-spacing:.02em}
.camsvg .g-anim{transform-box:fill-box;transform-origin:center}
.m .live-top{position:absolute;left:var(--gutd);right:var(--gutd);top:calc(var(--nav-h) + 18px);display:flex!important;justify-content:space-between;align-items:center;z-index:5;pointer-events:none}
.pill-live,.pill-cam{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:980px;background:rgba(11,18,32,.82);border:1px solid rgba(255,255,255,.14);font-size:14px;font-weight:600;color:var(--t1)}
.pill-live .mono{font-weight:500;color:#e2e8f0}
.rec{width:9px;height:9px;border-radius:50%;background:var(--live);animation:rec 1.2s infinite}
@keyframes rec{50%{opacity:.25}}
.av-copy{z-index:4}
.m .av-copy{position:absolute;top:0;bottom:0;left:var(--gutd);width:min(36vw,500px);padding:0;display:flex;flex-direction:column;justify-content:center}
.m .av-copy .h2{font-size:clamp(36px,4.6vw,66px)}
.av-copy .lead{max-width:500px;margin-top:22px}
.m .mosaic-label{position:absolute;left:0;right:0;top:calc(var(--nav-h) + 20px);text-align:center;color:var(--t2);font-size:14px;z-index:5}
.m .cap-real{position:absolute;left:0;right:0;bottom:14px;width:max-content;max-width:min(980px,calc(100% - 2 * var(--gut)));margin:0 auto;text-align:center;color:#d2d2d7;font-size:13px;line-height:1.4;z-index:6;padding:7px 14px;border-radius:12px;background:rgba(0,0,0,.84)}
.cap-real::before,.cap-real-s::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cam);margin-right:8px;vertical-align:1px}

/* carrossel das câmeras no celular */
.m .cam-strip.only-mob{display:none}
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .m .cam-strip.only-mob{display:block;background:#000;padding:28px 0 56px}
  .strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .strip::-webkit-scrollbar{display:none}
  .strip .tile-s{flex:0 0 86%;scroll-snap-align:center;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:var(--ink)}
  .strip .tile-s svg{width:100%;height:100%}
  .cap-real-s{color:var(--t2);font-size:13px;padding:14px var(--gut) 0}
}

/* ===== PLANTA ===== */
.planta .sticky{background:var(--ink)}
.m .plan-wrap{position:absolute;inset:0;transform-origin:50% 50%}
.m .wc .plan-wrap{will-change:transform}
.m .plan-box{position:absolute;inset:0}
.m .plan-box .poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plan-copy{z-index:4}
.m .plan-copy{position:absolute;top:0;bottom:0;right:var(--gutd);width:min(36vw,520px);display:flex;flex-direction:column;justify-content:center}
.plan-copy .bignum{display:flex;align-items:baseline;gap:14px;margin:22px 0 14px}
.plan-copy .bignum .num{font-size:clamp(88px,10vw,150px)}
.plan-copy .bignum .lbl{font-size:clamp(18px,1.6vw,24px);font-weight:600;color:var(--t1)}
.plan-copy .bignum .lbl br{display:none}   /* "pessoas na câmera 2" numa linha; no celular, em 2 (ao lado do título) */
.plan-copy .lead{color:#c7cbd6}
.plan-copy .note{margin-top:14px;color:#9aa3b5}
.plan-copy .cap{margin-top:14px;color:#9aa3b5}
.plan-copy .cap::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cam);margin-right:8px;vertical-align:1px}

/* ===== RAIO-X ===== */
.raiox .sticky{background:#000}
.m .raiox .sticky{display:grid;grid-template-columns:minmax(300px,.78fr) 1.4fr;align-items:center;gap:4vw;padding:calc(var(--nav-h) + 20px) var(--gutd) 28px}
.rx-words{margin:30px 0 26px;display:grid;gap:4px}
.rw{font-size:clamp(28px,3.2vw,46px);font-weight:600;letter-spacing:-.025em;line-height:1.12;color:#3a3a3c;display:flex;align-items:center;gap:14px;transition:color .35s}
.rw::before{content:"";width:12px;height:12px;border-radius:3px;background:#3a3a3c;transition:background .35s}
.rw.on{color:var(--t1)}
.rw.on::before{background:var(--c)}
html:not(.m) .rw{color:var(--t1)}
html:not(.m) .rw::before{background:var(--c)}
.rx-dev{position:relative}
.rx-dev .cap{margin-top:16px;text-align:center}
.rx-shot{display:none}
.rx-shot{position:relative}
.rx-shot img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:16px;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 30px 60px rgba(0,0,0,.5);-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}
.laptop{perspective:1600px;width:100%}
.lap-lid{background:#2a2a2d;border-radius:18px 18px 6px 6px;padding:1.6% 1.6% 2.2%;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 30px 80px rgba(0,0,0,.5);transform-origin:50% 100%}
.lap-screen{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:6px;background:#fff}
.lap-screen img{width:100%;height:auto}
.lap-base{height:clamp(10px,1.3vw,18px);width:112%;margin-left:-6%;background:linear-gradient(#3b3b3e,#1c1c1e 70%,#0e0e10);border-radius:2px 2px 16px 16px;box-shadow:0 20px 40px rgba(0,0,0,.6)}
.m .wc .rx-laptop .lap-lid{will-change:transform}
.m .wc .scroller{will-change:transform}
.m .spot{position:absolute;left:10.6%;top:26%;width:86.4%;height:73%;border-radius:10px;box-shadow:0 0 0 2000px rgba(0,0,0,.6);opacity:0;pointer-events:none}
.phone{width:min(220px,48vw);margin:0 auto;background:#2a2a2d;border-radius:38px;padding:9px;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 30px 60px rgba(0,0,0,.5)}
.phone-screen{border-radius:30px;overflow:hidden;aspect-ratio:780/1688;background:#fff}
.phone-screen img{width:100%;height:100%;object-fit:cover;object-position:top}

/* cartões */
.flow{position:relative;padding:12vh var(--gut)}
.rx-cards{background:#000;padding-top:4vh}
.bento{display:grid;gap:18px;max-width:1200px;margin:0 auto}
.bento-rx{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:30px;overflow:hidden;color:var(--t2)}
.card-wide{grid-column:span 2}
.card .k{color:var(--o2);font-weight:600;font-size:15px;margin-bottom:12px;letter-spacing:.01em}
.card .kbig{color:var(--t1);font-size:clamp(28px,2.6vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.1;margin-bottom:12px}
.card-time{display:grid;grid-template-columns:1.25fr 1fr;padding:0}
.card-time .card-media{position:relative;background:#0a0908;min-height:280px}
.card-time video{width:100%;height:100%;object-fit:cover}
.card-time .card-body{padding:30px}
.ico{width:26px;height:26px;fill:none;stroke:var(--o2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ico-list{display:grid;gap:14px}
.ico-list li{display:flex;gap:14px;align-items:flex-start;line-height:1.4;font-size:clamp(15px,1.2vw,17px)}
.ico-row{display:flex;gap:16px;margin:2px 0 16px}
.ico-row .ico{width:32px;height:32px}
.card-how{background:linear-gradient(135deg,#0b0b0c,#140b06);font-size:clamp(16px,1.3vw,19px)}
.card-how .k{color:var(--t3)}
@media (max-width:900px){.bento-rx{grid-template-columns:1fr 1fr}.card-time{grid-template-columns:1fr}.card-time .card-media{aspect-ratio:16/9;min-height:0}}
@media (max-width:640px){.bento-rx{grid-template-columns:1fr}.card-wide{grid-column:auto}.card{padding:24px;border-radius:22px}.card-time .card-body{padding:24px}}

/* revelação ao entrar na tela */
.m .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.m .rv.in{opacity:1;transform:none}

/* ===== MADRUGADA ===== */
.madrugada .sticky{background:#040c1c}
.m .madrugada video{object-position:50% 35%}
.m .shade-d{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.25),rgba(0,0,0,.45) 40%,rgba(0,0,0,.82))}
html:not(.m) .shade-d{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.md-head{z-index:4;text-align:center}
.m .md-head{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 var(--gut)}
.md-head .eyebrow{margin-bottom:18px}
.md-clock{display:inline-block;min-width:5.2ch}
.m .md-grid{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;padding:calc(var(--nav-h) + 20px) var(--gutd) 40px;z-index:4}
.md-text{display:grid}
.m .md-text>*{grid-area:1/1}
.m .md-text .md-eb{align-self:start;margin-top:-80px}
.md-beat .lead{color:#c9ccd3}
.md-beat .h3{font-size:clamp(32px,3.6vw,52px)}
.md-vis{display:grid;place-items:center}
.m .md-vis{display:grid!important}
.md-vis>*{grid-area:1/1}
.md-v{display:grid;place-items:center;width:100%}
.v1{position:relative;width:min(400px,34vw);aspect-ratio:1}
.ring{position:absolute;inset:0;width:100%;height:100%}
.ring line{stroke:rgba(255,255,255,.18);stroke-width:2.4;stroke-linecap:round}
.ring line.on{stroke:var(--o)}
.thumbs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;width:56%}
.thumbs img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px;opacity:.55;transition:opacity .6s,box-shadow .6s}
.thumbs.flash img{opacity:1;box-shadow:0 0 0 2px var(--o)}
.ring-lbl{position:absolute;left:0;right:0;bottom:-34px;text-align:center;color:var(--o2);font-size:14px}
.thumbs-lbl{position:absolute;left:0;right:0;top:70%;text-align:center;color:#c9ccd3;font-size:12px;letter-spacing:.04em;opacity:.85}
.log{display:grid;gap:14px;width:min(460px,100%);background:rgba(11,11,12,.86);border:1px solid var(--line);border-radius:20px;padding:24px 26px;font-size:clamp(13px,1.1vw,15px);color:#d5d7dd}
.log li{display:flex;gap:12px;min-height:1.4em}
.log .ck{color:var(--o);opacity:0;transition:opacity .3s}
.log li.done .ck{opacity:1}
.v3{display:flex!important;flex-direction:column;gap:16px;align-items:center}
.mpill{display:inline-block;padding:14px 22px;border-radius:980px;border:1.5px solid rgba(255,255,255,.3);background:rgba(0,0,0,.45);font-weight:600;font-size:clamp(15px,1.3vw,18px);text-align:center}
.mpill .mono{font-weight:500;color:var(--t2);font-size:.86em}
.mpill-o{position:relative;border-color:var(--o)}
.mpill-o::after{content:"";position:absolute;inset:-8px;border-radius:inherit;border:8px solid rgba(249,115,22,.12);opacity:0;animation:slowpulse 3.2s ease-in-out infinite;pointer-events:none}
@keyframes slowpulse{50%{opacity:1}}

/* ===== HISTÓRICO ===== */
.historico .sticky{background:#000}
.m .dawn{position:absolute;inset:-20% -10% auto;height:90%;background:radial-gradient(ellipse 60% 55% at 50% 0%,rgba(124,45,18,.75),rgba(124,45,18,.25) 45%,transparent 70%);opacity:0;pointer-events:none}
.m .h-eb{position:absolute;top:calc(var(--nav-h) + 22px);left:var(--gutd);z-index:5}
.m .h64{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;transform-origin:50% 50%;pointer-events:none}
.m .wc .h64{will-change:transform,opacity}
.h64 .num{font-size:clamp(120px,22vw,300px)}
.h64 .lbl{display:block;margin-top:10px;font-size:clamp(20px,2vw,30px);font-weight:600;color:var(--t1)}
.m .h-t1,.m .h-t2{position:absolute;top:calc(var(--nav-h) + 56px);left:var(--gutd);right:calc(var(--gutd) + 210px);z-index:4;font-size:clamp(30px,min(4.2vw,8svh),60px)}
.m .h-sent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--gutd);z-index:4}
.h-sent .tag{color:var(--o2);font-size:13px;margin-bottom:22px}
.sent{font-size:clamp(30px,4.4vw,62px);font-weight:600;letter-spacing:-.025em;line-height:1.12;max-width:1060px}
.sent .q{color:var(--o)}
.h-sent .note{margin-top:22px}
.m .h-lap{--hlw:min(58vw,(100svh - 330px) * 1.47,1000px,100vw - var(--gutd) * 2 - 280px);position:absolute;left:var(--gutd);top:calc(var(--nav-h) + 150px);width:var(--hlw);z-index:4}
.m .h-lap1{left:0;right:0;margin:0 auto}
.h-lap .cap{margin-top:12px;text-align:center}
.pills7{display:flex;gap:8px;justify-content:flex-end;margin:0 0 12px}
.p7{padding:6px 12px;border-radius:980px;border:1px solid rgba(255,255,255,.16);color:var(--t3);font-size:13px;font-weight:600;transition:all .35s}
.p7.on{background:var(--o);border-color:var(--o);color:#000}
.h-state{z-index:5}
.m .h-state{position:absolute;right:var(--gutd);top:calc(var(--nav-h) + 150px);width:calc(100% - var(--gutd) * 2 - min(58vw,(100svh - 330px) * 1.47,1000px,100vw - var(--gutd) * 2 - 280px) - 4vw);min-width:200px}
.h-state .tag{color:var(--t3);font-size:12px;margin-bottom:10px}
.st-pill{position:relative;display:inline-grid;font-size:clamp(20px,1.8vw,26px);font-weight:600;perspective:400px}
.st-pill .st{grid-area:1/1;padding:10px 20px;border-radius:980px;border:1.5px solid;opacity:0;transform:rotateX(90deg);transition:opacity .35s,transform .45s var(--ease)}
.st-nova{color:var(--t2);border-color:#a1a1a6}
.st-apl{color:#7dd3fc;border-color:#38bdf8}
.st-mel{color:#fff;background:var(--ok);border-color:var(--ok)}
.st-pill[data-st="nova"] .st-nova,.st-pill[data-st="aplicada"] .st-apl,.st-pill[data-st="melhorou"] .st-mel{opacity:1;transform:none}
html:not(.m) .st-pill .st{position:relative;opacity:1;transform:none;margin-right:8px}
html:not(.m) .st-pill{display:flex;flex-wrap:wrap;gap:8px}
.h-regua{margin-top:18px;font-size:clamp(17px,1.4vw,20px);color:var(--t1);font-weight:600}
.h-detail{background:#000;padding-top:6vh}
.cols2{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1200px;margin:0 auto;color:var(--t2)}
@media (max-width:900px){.cols2{grid-template-columns:1fr;gap:30px}}

/* ===== PORTAL (claro) ===== */
.sunrise{height:42vh;background:linear-gradient(180deg,#000 0%,#1c0904 22%,#5a210d 45%,#b9612e 66%,#f0c3a0 85%,#f5f5f7 100%)}
.dusk{height:30vh;background:linear-gradient(180deg,#f5f5f7 0%,#c9c9cf 25%,#3a3a3e 60%,#0b0b0c 100%)}
.portal{background:var(--l-bg);color:var(--l-t1)}
.portal strong{color:var(--l-t1)}
.p-open{position:relative;background:var(--l-bg);overflow:hidden}
.p-media{position:relative;height:min(88vh,62vw);min-height:420px;overflow:hidden}
.p-img{position:absolute;inset:0}
.p-img img{position:absolute;left:0;top:-6%;width:100%;height:112%;object-fit:cover;object-position:51% 56%;will-change:transform}
.p-media::before,.p-media::after{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}
.p-media::before{top:0;height:16%;background:linear-gradient(#f5f5f7,rgba(245,245,247,0))}
.p-media::after{bottom:0;height:26%;background:linear-gradient(rgba(245,245,247,0),#f5f5f7)}
.p-media .tag-ilus{z-index:2}
.p-head{position:relative;text-align:center;padding:calc(var(--nav-h) + 10vh) var(--gut) 2vh;z-index:2}
.p-head .h2{color:var(--l-t1)}
.eb-light{color:var(--l-o)}
.lead-l{color:#3a3a3e;font-size:clamp(17px,1.6vw,22px);max-width:640px;margin:18px auto 0}
.words-in .wi{display:inline-block}
.m .words-in .wi{opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0) * 70ms)}
.m .words-in.in .wi{opacity:1;transform:none}
.p-stage .sticky{background:var(--l-bg)}
.m .p-stage:not(.flat) .sticky{display:block}
.m .p-lap{--lw:min(56vw,(100svh - 230px) * 1.45,980px);position:absolute;width:var(--lw);left:0;right:0;margin:0 auto;top:calc(50% - var(--lw) * .36 + 14px)}
.m .wc .p-lap{will-change:transform}
.m .p-stage:not(.flat) .p-lap .cap{text-align:center}
.m .p-lap2{z-index:2}
.m .p-lap1{z-index:1}
.p-lap .cap{color:var(--l-t2);margin-top:14px;text-align:center}
.portal .lap-lid{box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 40px 80px rgba(0,0,0,.22)}
.portal .lap-base{box-shadow:0 20px 40px rgba(0,0,0,.18)}
.flow-l{padding:10vh var(--gut) 14vh}
.bento-p{grid-template-columns:repeat(3,1fr)}
.pc{background:var(--l-card);border-radius:28px;padding:30px 30px 32px;color:var(--l-t2);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.pc h3{color:var(--l-t1);font-size:clamp(21px,1.8vw,26px);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px;display:flex;align-items:center;gap:10px}
.pc-wide{grid-column:span 2}
.formula{background:#f5f5f7;border-radius:12px;padding:12px 14px;color:var(--l-t1);font-size:14px;margin:4px 0 12px}
.chans{color:var(--l-o);font-size:15px;font-weight:600;margin:2px 0 10px}
.gdot{position:relative;width:10px;height:10px;border-radius:50%;background:#16a34a;flex:none}
.gdot::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(22,163,74,.5);animation:gpulse 2s infinite}
@keyframes gpulse{0%{transform:scale(1);opacity:.9}70%,100%{transform:scale(2.8);opacity:0}}
@media (max-width:1000px){.bento-p{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.bento-p{grid-template-columns:1fr}.pc-wide{grid-column:auto}.pc{padding:24px;border-radius:22px}}

/* ===== PRIVACIDADE ===== */
.priv .sticky{background:#000}
.m .pgrid{position:absolute;inset:-48px;opacity:.9;background-color:#0b0b0c;background-image:conic-gradient(#101012 25%,transparent 0 50%,#101012 0 75%,transparent 0);background-size:48px 48px;animation:drift 96s linear infinite}
@keyframes drift{to{transform:translate3d(48px,48px,0)}}
.m .pbig{position:absolute;top:0;bottom:0;left:var(--gutd);width:calc(100% - var(--gutd) * 2 - min(46%,620px) - 2vw);display:flex!important;flex-direction:column;align-items:center;justify-content:center;z-index:2}
.odo-win{height:1em;overflow:hidden;font-size:clamp(150px,21vw,340px);line-height:1;font-weight:700;letter-spacing:-.05em;-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
.m .wc .odo{will-change:transform}
.odo span{display:block;height:1em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.pbig::before{content:"";position:absolute;left:50%;top:50%;width:min(70vw,620px);height:min(70vw,620px);margin:-310px 0 0 -310px;margin:calc(min(70vw,620px) / -2) 0 0 calc(min(70vw,620px) / -2);background:radial-gradient(circle,rgba(124,45,18,.55),rgba(124,45,18,0) 62%);pointer-events:none;z-index:-1}
.pbig{position:relative;isolation:isolate}
.odo.reset{transition:transform .6s cubic-bezier(.5,0,.1,1)}
.odo-win.flip{animation:flip .7s var(--ease)}
@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}
.pclock{margin-top:22px;color:var(--t2);font-size:clamp(18px,1.8vw,26px)}
.pclock.mid{color:var(--o2)}
.m .pcol{position:absolute;top:0;bottom:0;right:var(--gutd);width:min(46%,620px);display:flex;flex-direction:column;justify-content:center;z-index:3}
.beat-p{color:var(--o2);font-weight:600;font-size:clamp(18px,1.6vw,22px);margin-bottom:14px}
.pcol .h2{font-size:clamp(40px,5vw,72px);margin-bottom:24px}
.m .wordsp .wp{opacity:.08;transition:opacity .25s}
.m .wordsp .wp.on{opacity:1}
.checks{display:grid;gap:12px;color:var(--t2);font-size:clamp(16px,1.35vw,19px);line-height:1.4}
.checks li{position:relative;padding-left:32px}
.checks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--o);font-weight:700}
.pclose{margin-top:24px;font-size:clamp(22px,2.2vw,32px);font-weight:600;letter-spacing:-.02em;color:var(--t1)}

/* ===== INSTALAÇÃO ===== */
.wrap{max-width:1200px;margin:0 auto}
.wrap-n{max-width:820px;margin:0 auto}
.inst{background:#000;text-align:center}
.inst .h2{margin-bottom:8vh}
.diagram{display:flex;align-items:flex-start;justify-content:center;gap:0;margin:0 auto 9vh;max-width:1160px;width:100%}
.dn{flex:1 1 0;min-width:0;max-width:160px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:15px;line-height:1.3;color:var(--t2)}
.dn .ico{width:58px;height:58px;padding:14px;border-radius:18px;border:1.5px solid rgba(161,161,166,.5);stroke:#a1a1a6;box-sizing:border-box;transition:stroke .4s,border-color .4s,box-shadow .4s;transition-delay:calc(var(--k,0) * 120ms)}
.dn strong{font-size:16px;color:var(--t1)}
.dn .sm{color:var(--t3);font-size:13px}
.dl{flex:0 1 72px;height:58px;display:flex;align-items:center;position:relative;min-width:14px}
.dl i{display:block;height:1.5px;width:100%;background:#a1a1a6;opacity:.5;transform-origin:0 50%;transition:transform .5s var(--ease);transition-delay:calc(var(--k,0) * 120ms)}
.dl::after{content:"";position:absolute;right:100%;top:50%;width:100%;height:24px;margin-top:-12px;background:radial-gradient(circle at calc(100% - 4px) 50%,#f97316 0 4px,rgba(249,115,22,.45) 5px,rgba(249,115,22,0) 12px);opacity:0;pointer-events:none}
.m .diagram .dl i{transform:scaleX(0)}
.m .diagram.in .dl i{transform:scaleX(1)}
.m .diagram.in .dn .ico{stroke:var(--o2);border-color:rgba(249,115,22,.7);box-shadow:0 0 24px rgba(249,115,22,.18)}
.m .diagram.in .dl::after{animation:travel 2.4s linear infinite;animation-delay:calc(1s + var(--k,0) * 240ms)}
@keyframes travel{0%{transform:translateX(4px);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(100%);opacity:0}}
.nums3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:0 auto 8vh}
.n3 .num{display:block;font-size:clamp(72px,9vw,120px)}
.n3 .lbl{display:block;margin-top:12px;color:var(--t2);font-size:clamp(15px,1.3vw,18px);max-width:260px;margin-left:auto;margin-right:auto}
.tilde{font-size:.6em;vertical-align:.18em;margin-right:.04em}
.lead-c{max-width:760px;margin:0 auto}
.note-c{margin-top:18px}
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .diagram{flex-direction:column;align-items:center}
  .dn{flex:none;width:100%}
  .dl{flex:none;width:1.5px;height:40px;min-width:0}
  .dl i{width:1.5px;height:100%;transform-origin:50% 0}
  .m .diagram .dl i{transform:scaleY(0)}
  .m .diagram.in .dl i{transform:scaleY(1)}
  .dl::after{right:auto;left:50%;top:auto;bottom:100%;width:24px;height:100%;margin:0 0 0 -12px;background:radial-gradient(circle at 50% calc(100% - 4px),#f97316 0 4px,rgba(249,115,22,.45) 5px,rgba(249,115,22,0) 12px)}
  .m .diagram.in .dl::after{animation-name:travelv}
  .nums3{grid-template-columns:1fr;gap:40px}
}
@keyframes travelv{0%{transform:translateY(4px);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(100%);opacity:0}}
/* laços infinitos só rodam com o elemento na tela (classe .run posta pelo JS) */
.m .loopanim:not(.run),.m .loopanim:not(.run) *,.m .loopanim:not(.run)::before,.m .loopanim:not(.run)::after,.m .loopanim:not(.run) *::before,.m .loopanim:not(.run) *::after{animation-play-state:paused!important}
html:not(.m) .loopanim,html:not(.m) .loopanim *,html:not(.m) .loopanim::after,html:not(.m) .loopanim *::after,html:not(.m) .loopanim *::before{animation:none!important}

/* ===== MOMÔ ===== */
.momo{background:#000;overflow:hidden}
.momo-bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:.08;filter:blur(6px);transform:scale(1.05);-webkit-mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}
.momo-bg.on,html:not(.m) .momo-bg{background-image:url(../img/cam/mosaico-fundo.jpg)}
.momo .wrap{position:relative;text-align:center}
.momo .h2{margin-bottom:28px}
.nums5{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin:8vh 0 7vh;text-align:left}
.n5{grid-column:span 2;background:rgba(11,11,12,.8);border:1px solid var(--line);border-radius:28px;padding:30px 28px 28px}
.n5:nth-child(4),.n5:nth-child(5){grid-column:span 3}
.n5 .num{display:block;font-size:clamp(72px,8.4vw,120px);margin-bottom:16px;white-space:nowrap}
.n5 .sep{color:var(--o4)}
.n5 p{color:var(--t2);font-size:clamp(15px,1.25vw,18px);line-height:1.42}
.upfront{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:34px 36px;text-align:left}
.upfront ul{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;margin-top:12px;color:var(--t2);font-size:clamp(15px,1.25vw,18px)}
.upfront li{display:flex;flex-direction:column;gap:4px}
.mk{color:var(--o2);font-size:13px}
.momo-foot{margin-top:6vh;color:var(--t2)}
.momo-foot a{color:var(--o2);text-decoration:none;font-weight:600;white-space:nowrap}
.momo-foot a:hover{text-decoration:underline}
@media (max-width:900px){.nums5{grid-template-columns:1fr 1fr}.n5,.n5:nth-child(4),.n5:nth-child(5){grid-column:auto}.n5-97{grid-column:1/-1!important}}
@media (max-width:640px){.nums5{grid-template-columns:1fr}.upfront ul{grid-template-columns:1fr}.upfront{padding:26px 22px}.n5{padding:26px 22px}}

/* ===== FAQ + PREÇO ===== */
.faq{background:#000;padding-bottom:6vh}
.faq .h2s{text-align:center;margin-bottom:5vh}
.acc{display:grid;gap:10px}
.acc details{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:16px 22px;font-weight:600;font-size:clamp(17px,1.4vw,20px)}
.acc summary::-webkit-details-marker{display:none}
.acc summary i{position:relative;flex:none;width:18px;height:18px;transition:transform .2s}
.acc summary i::before,.acc summary i::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;border-radius:2px;background:var(--o2)}
.acc summary i::after{transform:rotate(90deg)}
.acc details[open] summary i{transform:rotate(45deg)}
.ans{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s var(--ease)}
.ans>div{overflow:hidden}
.ans p{padding:0 22px 22px;color:var(--t2);font-size:clamp(16px,1.3vw,18px)}
.final{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#000;padding:12vh var(--gut)}
.final-bg{position:absolute;inset:0;opacity:.18}
.final-bg img{width:100%;height:100%;object-fit:cover}
.final-glow{position:absolute;left:-10%;right:-10%;bottom:-30%;height:80%;background:radial-gradient(ellipse 50% 50% at 50% 100%,rgba(124,45,18,.85),transparent 70%)}
.final-in{position:relative;z-index:2;max-width:980px}
.h-final{font-size:clamp(56px,10vw,140px);font-weight:600;letter-spacing:-.04em;line-height:1.02;margin-bottom:28px}
.final .lead{margin-bottom:38px}
.tel{margin-top:22px;color:var(--t2)}
.tel a{color:var(--t1);font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums;user-select:all;-webkit-user-select:all}
.tel a:hover{text-decoration:underline}
.foot{background:#000;border-top:1px solid var(--line);padding:36px var(--gut) calc(36px + env(safe-area-inset-bottom));color:var(--t3);font-size:12px;line-height:1.6}
.foot .wrap{display:grid;gap:8px}
.foot img{height:26px;width:auto;opacity:.9}
.foot a{color:var(--t2)}
.imgnote{max-width:760px}

/* ---------- CELULAR (palcos) ---------- */
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .hero .sub{font-size:17px;margin-bottom:20px}
  .badge{font-size:12.5px}
  .prodline{margin-top:14px}
  .ctas{flex-direction:column;gap:6px}
  .ctas .btn{width:100%;max-width:360px}
  .fine{font-size:13px;margin-top:10px}
  .m .hero{bottom:max(22px,4vh)}
  .m .cam-copy{left:var(--gut);right:var(--gut);max-width:none;justify-content:flex-end;padding-bottom:9vh}
  .m .cam-copy::before{content:"";position:absolute;inset:-30vh calc(var(--gut) * -1) -10vh;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.85) 45%);z-index:-1}
  .cam-copy .lead{margin-top:18px;font-size:17px}
  .m .timemark{top:72%}
  .m .live-top{left:var(--gut);right:var(--gut);top:calc(var(--nav-h) + 12px)}
  .pill-live,.pill-cam{font-size:12px;padding:6px 10px}
  .m .av-copy{top:auto;bottom:0;left:0;width:auto;right:0;padding:0 var(--gut) 92px;background:none;justify-content:flex-end}
  .av-copy .h2{font-size:40px}
  .av-copy .lead{font-size:16.5px;margin-top:14px}
  .m .cap-real{bottom:10px;font-size:11.5px;padding:6px 10px}
  .m .plan-wrap{inset:calc(var(--nav-h) + 8px) 0 auto;height:75vw}
  .m .plan-copy{left:var(--gut);right:var(--gut);width:auto;top:calc(var(--nav-h) + 75vw + 14px);bottom:0;justify-content:flex-start;display:grid;grid-template-columns:1fr auto;grid-template-areas:"eb eb" "h2 num" "lead lead" "note note" "cap cap";align-content:start;column-gap:12px}
  .plan-copy .eyebrow{grid-area:eb;margin-bottom:6px}
  .plan-copy .h2s{grid-area:h2;font-size:32px}
  .plan-copy .bignum{grid-area:num;flex-direction:column;align-items:flex-end;gap:0;margin:0}
  .plan-copy .bignum .num{font-size:64px}
  .plan-copy .bignum .lbl{font-size:13px;text-align:right}
  .plan-copy .bignum .lbl br{display:inline}
  .plan-copy .lead{grid-area:lead;font-size:15.5px;margin-top:12px}
  .plan-copy .note{grid-area:note;font-size:13.5px;margin-top:8px}
  .plan-copy .cap{grid-area:cap;font-size:11.5px;margin-top:8px}
  .m .raiox .sticky{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start;gap:14px;padding:calc(var(--nav-h) + 16px) var(--gut) 18px}
  .rx-copy .h2{font-size:38px}
  .rx-words{grid-template-columns:1fr 1fr;margin:16px 0 10px;gap:2px 10px}
  .rw{font-size:22px;gap:8px}
  .rw::before{width:9px;height:9px}
  .rx-copy .lead{font-size:15.5px}
  .rx-laptop{display:none}
  .rx-shot{display:block;width:auto;height:min(100%,calc(100svh - 360px));aspect-ratio:780/1060;max-width:calc(100vw - 32px)}
  .m .rx-dev{height:100%;display:flex;flex-direction:column;align-items:center;min-height:0}
  .rx-dev .cap{margin-top:10px;font-size:11.5px}
  html:not(.m) .rx-shot{height:auto;width:min(420px,100%);margin:0 auto}
  .m .md-grid{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start;padding:calc(var(--nav-h) + 22px) var(--gut) 40px;gap:24px}
  .m .md-vis{order:-1}
  .v1{width:min(62vw,280px)}
  .thumbs,.thumbs-lbl{display:none}
  .m .md-text .md-eb{margin-top:0;display:none!important}
  .md-beat .h3{font-size:32px}
  .md-beat .lead{font-size:16.5px}
  .log{padding:18px;font-size:13px}
  .mpill{font-size:15px;padding:12px 18px}
  .m .h-eb{left:var(--gut);top:calc(var(--nav-h) + 14px)}
  .m .h-t1,.m .h-t2{left:var(--gut);right:var(--gut);top:calc(var(--nav-h) + 44px);font-size:34px}
  .m .h-sent{padding:0 var(--gut)}
  .sent{font-size:30px}
  .m .h-lap{left:var(--gut);right:var(--gut);width:auto;top:calc(var(--nav-h) + 136px)}
  .pills7{justify-content:flex-start}
  .m .h-state{left:var(--gut);right:var(--gut);width:auto;top:auto;bottom:max(70px,9vh);min-width:0}
  .st-pill{font-size:19px}
  .m .p-stage.flat .sticky{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:4vh var(--gut) 2vh;scrollbar-width:none}
  .m .p-stage.flat .p-lap{position:relative;flex:0 0 88%;width:auto;top:auto;margin:0;scroll-snap-align:center;transform:none!important}
  .m .p-stage.flat .cap{opacity:1!important;transform:none!important}
  .p-head{padding-top:calc(var(--nav-h) + 7vh)}
  .p-media{height:118vw;min-height:0}
  .p-head .h2{font-size:40px}
  .m .pbig{left:0;right:0;width:auto;top:calc(var(--nav-h) + 4px);bottom:auto;height:30svh}
  .odo-win{font-size:min(24svh,150px)}
  .pclock{margin-top:4px;font-size:16px}
  .m .pcol{left:var(--gut);right:var(--gut);width:auto;top:calc(var(--nav-h) + 30svh + 8px);bottom:0;justify-content:flex-start}
  .pcol .h2{font-size:36px;margin-bottom:14px}
  .beat-p{font-size:16px;margin-bottom:8px}
  .checks{font-size:15.5px;gap:8px}
  .checks li{padding-left:26px}
  .pclose{font-size:21px;margin-top:14px}
  .flow{padding:10vh var(--gut)}
  .card-how{font-size:16px}
}

/* celular: ajustes da 2ª rodada */
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .m .mosaic-label{display:none!important}
  .ring-lbl{bottom:auto;top:50%;transform:translateY(-50%);font-size:30px;font-weight:600}
  .m .h-state{top:calc(var(--nav-h) + 136px + (100vw - 32px) * .72 + 72px);bottom:auto}
  .m .pbig{height:24svh}
  .odo-win{font-size:min(19svh,128px)}
  .pclock{font-size:15px}
  .m .pcol{top:calc(var(--nav-h) + 24svh + 6px)}
  .pcol .h2{font-size:34px}
}
@media (max-width:767.98px) and (max-height:700px){
  .checks{font-size:14px;gap:5px}
  .pcol .h2{font-size:30px}
  .plan-copy .lead{font-size:14.5px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* fluxo normal: a base do notebook não pode passar da largura da tela; etiqueta junto da cena */
html:not(.m) .laptop{padding:0 6%}
html:not(.m) .noite .sticky>.tag-ilus{top:calc(min(100vh,860px) - 32px);bottom:auto}
html:not(.m) .madrugada .sticky>.tag-ilus{top:calc(70vh - 32px);bottom:auto}
.nos{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lang a,.btn-nav{position:relative}
.lang a::after{content:"";position:absolute;inset:-8px -1px}
.btn-nav::after{content:"";position:absolute;inset:-6px -2px}

/* ===== rodada 3 (revisão) ===== */
/* o domo do 1º quadro fica abaixo da barra */
.m .noite .media{top:var(--nav-h)}
/* etiquetas das cenas geradas sempre visíveis enquanto a cena aparece */
.m .planta .tag-planta{bottom:14px}
.m .fade-b{position:absolute;left:0;right:0;bottom:0;height:22vh;background:linear-gradient(rgba(0,0,0,0),#000);z-index:3;pointer-events:none}
.final .tag-ilus{z-index:3}
/* WhatsApp flutuante: só com JS, e aparece ao rolar para cima */
html:not(.js) .wa-float{display:none!important}
/* contador 50+ */
.h64 .num .plus{display:inline-block;transition:opacity .4s}
.h64 .num .plus.off{opacity:0}
.h64 .sub{display:block;margin-top:8px;color:var(--t2);font-size:clamp(14px,1.2vw,17px)}
/* frase digitada sem reflow: a parte que falta ocupa o lugar, invisível */
.sent{font-size:clamp(26px,3.3vw,48px);max-width:1100px}
.keep .tw-rest{opacity:0}
.cap .sim{font-weight:600;color:var(--o2);margin-right:6px}
.portal .cap .sim{color:var(--l-o)}
/* telas baixas: o herói cabe abaixo da barra */
@media (max-height:760px) and (min-width:768px){
  .hero h1{font-size:clamp(34px,min(8vw,11.5svh),112px);margin-bottom:12px}
  .prodline{margin:12px 0 4px}
  .hero .sub{font-size:clamp(16px,2.6svh,22px);margin-bottom:18px}
  .fine{margin-top:12px}
  .m .hero{bottom:max(20px,4vh)}
}
@media (max-height:520px) and (min-width:768px){
  .hero .sub,.hero .fine{display:none}
  .badge{padding:5px 12px;font-size:12px}
  .prodline{margin:8px 0 2px;font-size:14px}
  .btn-lg{min-height:44px;font-size:16px}
}
/* diagrama em telas médias */
@media (max-width:1100px){
  .dn{font-size:13px}
  .dn strong{font-size:14px}
  .dn .ico{width:50px;height:50px;padding:12px}
  .dl{height:50px}
}
/* celular: pílulas da madrugada em 2 linhas arrumadas; rótulos do carrossel */
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .mpill{border-radius:20px;line-height:1.3}
  .mpill .mono{display:block;margin-top:3px}
  .mpill .mdot{display:none}
  .strip .tile-s{flex-basis:90%}
  /* logo abaixo da imagem (que tem 75vw de altura), no canto direito, na linha do "Pessoas agora": dentro da imagem, a parede de
     baixo da cena em perspectiva sobe e desce e cruzava a etiqueta (rodada 8) */
  .m .planta .tag-planta{top:calc(var(--nav-h) + 8px + 75vw + 6px);bottom:auto}
}
/* tablet em pé (layout de celular com mais espaço) */
@media (min-width:768px) and (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .av-copy .h2,.rx-copy .h2,.pcol .h2,.p-head .h2{font-size:clamp(40px,6.4vw,64px)}
  .av-copy .lead,.cam-copy .lead,.md-beat .lead,.plan-copy .lead{font-size:19px;max-width:640px}
  .md-beat .h3{font-size:44px}
  .plan-copy .h2s{font-size:46px}
  .plan-copy .bignum .num{font-size:96px}
  .sent{font-size:40px}
  .m .h-t1,.m .h-t2{font-size:48px}
  .checks{font-size:18px}
  .rw{font-size:30px}
  .m .cam-copy,.m .av-copy,.m .pcol,.m .plan-copy{padding-left:max(var(--gut),6vw);padding-right:max(var(--gut),6vw)}
}
.tile:not(.t1){border-radius:12px}
.m .sent .q2{opacity:0;transition:opacity .25s}
.m .sent.done .q2{opacity:1}
.upfront ul{display:block;columns:2;column-gap:40px}
.upfront li{break-inside:avoid;margin-bottom:16px}
@media (max-width:640px){.upfront ul{columns:1}}
.bento{grid-auto-flow:dense}
html:not(.m) .plan-box{position:relative}

/* mobile: os títulos do histórico usam a largura toda (o 50+ some antes) */
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .m .h-t1,.m .h-t2{right:var(--gut)}
}
@media (min-width:768px) and (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .m .h-lap{top:calc(var(--nav-h) + 184px)}
  .m .h-state{top:calc(var(--nav-h) + 184px + (100vw - 32px) * .72 + 72px)}
}
/* telas baixas e largas (notebook com a janela baixa, celular deitado) */
@media (max-height:720px) and (min-aspect-ratio:1/1){
  .pcol .h2{font-size:clamp(26px,min(5vw,7.5svh),72px);margin-bottom:10px}
  .checks{font-size:clamp(13px,min(1.35vw,2.4svh),19px);gap:clamp(3px,1svh,12px);line-height:1.32}
  .beat-p{font-size:clamp(13px,2.6svh,22px);margin-bottom:6px}
  .pclose{font-size:clamp(16px,min(2.2vw,3.8svh),32px);margin-top:10px}
  .m .pcol{top:var(--nav-h);bottom:0}
  .odo-win{font-size:min(21vw,40svh)}
  .sent{font-size:clamp(20px,min(3.3vw,6svh),48px)}
  .m .h-sent{padding-top:calc(var(--nav-h) + 16svh)}
  .h-sent .tag{margin-bottom:10px}
  .m .h-lap{top:calc(var(--nav-h) + 76px + 11svh);width:min(58vw,(100svh - 290px) * 1.42,1000px,100vw - var(--gutd) * 2 - 280px)}
  .m .h-state{top:calc(var(--nav-h) + 76px + 11svh);width:calc(100% - var(--gutd) * 2 - min(58vw,(100svh - 290px) * 1.42,1000px,100vw - var(--gutd) * 2 - 280px) - 4vw)}
  .md-beat .h3{font-size:clamp(24px,5.5svh,52px)}
  .md-beat .lead{font-size:clamp(14px,2.6svh,21px)}
  .rw{font-size:clamp(20px,5svh,46px)}
  .rx-words{margin:clamp(10px,3svh,30px) 0}
}
/* celular baixo (iPhone SE e afins) */
/* celular: a lista da privacidade cabe inteira abaixo do P */
@media (max-width:767.98px){
  .m .pbig{height:21svh}
  .odo-win{font-size:min(17svh,120px)}
  .m .pcol{top:calc(var(--nav-h) + 21svh + 4px)}
  .pcol .h2{font-size:31px;margin-bottom:10px}
  .checks{font-size:14.5px;gap:6px;line-height:1.34}
  .pclose{font-size:19px;margin-top:10px}
}
@media (max-width:767.98px) and (max-height:700px){
  .m .pbig{height:18svh}
  .odo-win{font-size:min(15svh,110px)}
  .m .pcol{top:calc(var(--nav-h) + 18svh + 4px)}
  .checks{font-size:13.5px;gap:5px;line-height:1.3}
  .pclose{font-size:18px;margin-top:10px}
  .beat-p{font-size:15px;margin-bottom:4px}
}
/* celular baixo em pé (375×667, r9): as frases finais dos palcos e as legendas presas na base ficavam sob o botão ou cortadas */
@media (max-width:767.98px) and (max-height:700px) and (max-aspect-ratio:1/1){
  .m .pbig{height:15svh}
  .odo-win{font-size:min(13svh,100px)}
  .m .pcol{top:calc(var(--nav-h) + 15svh + 2px)}
  .pcol .h2{font-size:27px;margin-bottom:8px}
  .checks{font-size:13px;gap:4px;line-height:1.28}
  .checks li{padding-left:24px}
  .pclose{font-size:17px;margin-top:8px;padding-left:52px}
  .m .h-lap{top:calc(var(--nav-h) + 112px)}
  .m .h-t1,.m .h-t2{top:calc(var(--nav-h) + 36px);font-size:30px}
  .m .h-state{top:calc(var(--nav-h) + 112px + (100vw - 32px) * .72 + 54px)}
  .st-pill{font-size:16px}
  .h-state .tag{margin-bottom:6px}
  .h-regua{margin-top:8px;font-size:16px;padding-left:52px}
  .m .plan-wrap{height:56.25vw}   /* o quadro 16:9 inteiro, sem corte */
  .m .planta .tag-planta{top:calc(var(--nav-h) + 8px + 56.25vw + 6px)}
  .m .plan-copy{top:calc(var(--nav-h) + 56.25vw + 12px)}
  .plan-copy .h2s{font-size:27px}
  .plan-copy .bignum .num{font-size:52px}
  .plan-copy .lead{font-size:13.5px;margin-top:8px}
  .plan-copy .note{font-size:12px;margin-top:6px;padding-left:52px}
  .plan-copy .cap{font-size:10.5px;margin-top:6px;padding-left:52px}
  .rx-copy .h2{font-size:32px}
  .rw{font-size:19px}
  .rx-words{margin:10px 0 6px}
  .rx-copy .lead{font-size:14px}
  .rx-shot{height:min(100%,calc(100svh - 392px))}
  .rx-dev .cap{margin-top:8px}
}
@media (max-width:380px){
  .badge{font-size:11.5px;padding:6px 11px 6px 10px;gap:8px}
}
@media (max-height:500px) and (min-aspect-ratio:1/1){
  .m .pbig{width:34%}
  .m .pcol{width:min(58%,720px)}
  .checks li{padding-left:24px}
}

/* ===== botão "próxima etapa" (r9): criado pelo site.js (sem JS não existe); anima a rolagem de verdade até a próxima parada ===== */
.nx{position:fixed;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;height:48px;min-width:48px;margin:0;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(29,29,31,.88);color:#f5f5f7;font:600 15px/1 var(--font);letter-spacing:-.01em;box-shadow:0 6px 24px rgba(0,0,0,.45);cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;transition:opacity .3s,transform .3s,background .2s,visibility 0s}
.nx-ic{position:relative;flex:none;width:46px;height:46px;display:grid;place-items:center}
.nx-ic .ar{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.nx.up .nx-ic .ar{transform:rotate(180deg)}
.nx-ring{position:absolute;left:3px;top:3px;width:40px;height:40px;opacity:0;transition:opacity .2s}
.nx-ring circle{fill:none;stroke:var(--o2);stroke-width:2;stroke-dasharray:26 120;stroke-linecap:round}
.nx.wait .nx-ring{opacity:1;animation:nxgira .9s linear infinite}
@keyframes nxgira{to{transform:rotate(360deg)}}
.nx-t{display:block;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;padding:0;transition:max-width .35s var(--ease),opacity .2s,padding .35s var(--ease)}
.nx.open .nx-t,.nx:not(.cobre):focus-visible .nx-t{max-width:280px;opacity:1;padding-right:18px}
@media (hover:hover){.nx:not(.cobre):hover .nx-t{max-width:280px;opacity:1;padding-right:18px}.nx:hover{background:rgba(44,44,47,.94)}}
.nx:focus-visible{outline:3px solid var(--o2);outline-offset:3px;border-radius:999px}
/* bloco de texto da etapa focado pelo Tab depois do botão (tabindex=0 posto pelo site.js na chegada) */
[data-nxf]:focus-visible{outline:2px solid var(--o2);outline-offset:10px;border-radius:12px}
.nx.dim{opacity:.42}
.nx.dim:focus-visible{opacity:1}
@media (hover:hover){.nx.dim:hover{opacity:1}}
.nx.off{opacity:0;transform:translateY(12px);pointer-events:none;visibility:hidden;transition:opacity .3s,transform .3s,visibility 0s .3s}
/* região viva da chegada (só para o leitor de tela) */
.nx-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
@media (max-width:767.98px), (max-width:1099.98px) and (max-aspect-ratio:20/23){
  .nx{left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}
  /* legendas presas na base dos palcos começam à direita do botão */
  .m .cap-real,.m .raiox figcaption.cap{padding-left:62px}
  /* FAQ: o texto das perguntas e respostas começa à direita do botão (canto reservado): o círculo nunca cobre uma pergunta
     e o toque na pergunta não cai no botão (r3; o botão "fantasma" de r2 saiu) */
  .acc summary{padding-left:50px}
  .ans p{padding-left:50px}
}
@media print{.nx{display:none}}
