:root{
  --canvas:#060D1A;
  --panel:#0B1830;
  --accent:#1E6BFF;
  --accent-hover:#3D82FF;
  --accent-muted:#0AB0EC;
  --ice:#BFEAFB;
  --raid:#0F52CC;
  --wa:#25D366;
  --wa-hover:#2EE874;
  --wa-ink:#03200E;
  --text-secondary:#A9BAD3;
  --text-primary:#F6FAFC;
  --line:rgba(169,186,211,.16);
  --line-strong:rgba(169,186,211,.42);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --tshadow:0 1px 2px rgba(3,7,16,.95),0 3px 12px rgba(3,7,16,.78),0 10px 44px rgba(3,7,16,.8);
  --display:"Clash Display","Archivo",system-ui,sans-serif;
  --brand:"Archivo",system-ui,sans-serif;
  --body:"Geist",system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,monospace;
  --gutter:clamp(16px,5vw,80px);
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.01em;word-spacing:.08em;line-height:1;margin:0}
p{margin:0}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--accent);color:#fff;padding:10px 16px;border-radius:999px;text-decoration:none;font-weight:600;transition:top .3s var(--ease-out)}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--accent-hover);outline-offset:3px;border-radius:6px}
.mono{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase}

/* marca: wordmark aeroespacial em maiúsculas largas */
.wm{font-family:var(--brand);font-stretch:125%;font-variation-settings:"wdth" 125;font-weight:600;text-transform:uppercase;letter-spacing:.22em;line-height:1;white-space:nowrap}
.wm b{font-weight:600;color:#4DA3FF}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.brand .wm{font-size:15px}
.brand-bolt{width:38px;height:33px;flex:none;transition:transform .5s var(--ease-out)}
.brand:hover .brand-bolt{transform:translateX(3px)}
@media (max-width:420px){.brand .wm{font-size:12px;letter-spacing:.16em}.brand-bolt{width:30px;height:26px}}

/* pré-carregamento */
.preloader{position:fixed;inset:0;z-index:200;background:var(--canvas);display:grid;place-items:center;transition:opacity .8s var(--ease-out),visibility .8s}
.preloader.done{opacity:0;visibility:hidden}
.pl-inner{display:flex;flex-direction:column;align-items:center;gap:22px}
.pl-bolt{width:64px;height:56px;animation:plIn 1s var(--ease-out) both}
.pl-wm{font-size:clamp(18px,2.4vw,26px);animation:plWm 1.2s var(--ease-out) .15s both}
.pl-bar{width:180px;height:1px;background:rgba(246,250,252,.15);overflow:hidden}
.pl-bar i{display:block;height:100%;background:var(--accent-muted);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .3s linear}
@keyframes plIn{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}
@keyframes plWm{from{opacity:0;letter-spacing:.6em;filter:blur(10px)}to{opacity:1;letter-spacing:.22em;filter:blur(0)}}

/* o mundo atrás da página */
.world{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--canvas)}
.world-img{position:absolute;inset:0;background:url("hero-ending.jpg") center/cover no-repeat;will-change:transform;transform-origin:50% 60%}
.world-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,13,26,.92),rgba(6,13,26,.78));opacity:0;will-change:opacity}
.stars{position:absolute;inset:-50% 0 0 0;height:200%;background-repeat:repeat;will-change:transform;opacity:.5}
.stars.s1{background-image:radial-gradient(1px 1px at 20px 30px,rgba(246,250,252,.7),transparent 60%),radial-gradient(1px 1px at 140px 90px,rgba(246,250,252,.5),transparent 60%),radial-gradient(1.5px 1.5px at 260px 200px,rgba(10,176,236,.6),transparent 60%),radial-gradient(1px 1px at 330px 40px,rgba(246,250,252,.45),transparent 60%);background-size:380px 260px;animation:drift 140s linear infinite;animation-delay:-30s}
.stars.s2{background-image:radial-gradient(1px 1px at 60px 120px,rgba(246,250,252,.4),transparent 60%),radial-gradient(1px 1px at 210px 20px,rgba(169,186,211,.5),transparent 60%),radial-gradient(1px 1px at 400px 170px,rgba(246,250,252,.35),transparent 60%);background-size:520px 300px;animation:drift 220s linear infinite;animation-delay:-80s;opacity:.35}
@keyframes drift{from{transform:translateY(0)}to{transform:translateY(50%)}}

/* navegação */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gutter);transition:background-color .5s var(--ease-out),border-color .5s var(--ease-out),transform .6s var(--ease-out);border-bottom:1px solid transparent}
.nav.solid{background:rgba(6,13,26,.62);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--line)}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links>a:not(.btn-wa){text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.8;transition:opacity .3s var(--ease-out)}
.nav-links>a:not(.btn-wa):hover{opacity:1}
@media (max-width:900px){.nav-links .hide-md{display:none}}

/* botões */
.btn,.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:999px;font-family:var(--body);font-weight:600;font-size:16px;text-decoration:none;border:1px solid transparent;cursor:pointer;text-shadow:none;transition:background-color .3s var(--ease-out),border-color .3s var(--ease-out),color .3s var(--ease-out),box-shadow .4s var(--ease-out)}
.btn-wa{background:var(--wa);color:var(--wa-ink);box-shadow:0 10px 30px rgba(37,211,102,.25)}
.btn-wa:hover{background:var(--wa-hover);box-shadow:0 14px 40px rgba(37,211,102,.4)}
.btn-wa svg{width:20px;height:20px;flex:none}
.btn-sm{padding:9px 16px;font-size:14px}
.btn-sm svg{width:16px;height:16px}
.btn-block{width:100%}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-hover)}
.btn-ghost{background:rgba(6,13,26,.35);color:var(--text-primary);border-color:rgba(246,250,252,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--text-primary)}
.magnetic{will-change:transform}
@media (pointer:coarse){.btn,.btn-wa{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}

/* CTA fixo */
.dock{position:fixed;left:50%;bottom:22px;z-index:45;display:flex;align-items:center;gap:6px;transform:translate(-50%,0);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.dock.away{opacity:0;transform:translate(-50%,24px);pointer-events:none}
.dock a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;font-size:14px;transition:background-color .3s var(--ease-out),transform .3s var(--ease-out)}
.dock .pill{padding:12px 22px;border-radius:999px;background:var(--text-primary);color:var(--canvas);white-space:nowrap}
.dock .arrow{width:44px;height:44px;border-radius:50%;background:var(--wa);color:var(--wa-ink)}
.dock .arrow svg{width:20px;height:20px}
.dock a:hover{transform:translateY(-2px)}
.dock .arrow:hover{background:var(--wa-hover)}

/* ===== HERO DE SCRUB ===== */
.hero{position:relative;height:1000vh}
.stage{position:sticky;top:0;height:100vh;overflow:hidden}
/* a mídia do hero se dissolve no céu fixo (mesma imagem) no fim da jornada: sem emenda */
.media{position:absolute;inset:0;will-change:opacity}
.media-bg{position:absolute;inset:0;background:var(--canvas)}
.poster,.poster-end{position:absolute;inset:0;background-size:cover;background-position:center}
.poster-end{opacity:0}
#hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s var(--ease-out);transform:translateZ(0);will-change:transform}
.video-ready #hero{opacity:1}
.video-failed #hero{display:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(4,9,20,0) 38%,rgba(4,9,20,.6) 100%)}

.band{position:absolute;opacity:0;pointer-events:none;text-shadow:var(--tshadow);--k:0}
.band.live{pointer-events:auto}
.cap{position:relative;isolation:isolate}
.cap::before{content:"";position:absolute;inset:-55% -38%;z-index:-1;pointer-events:none;opacity:calc(.6 + .4*var(--k,1));background:radial-gradient(closest-side,rgba(3,8,18,var(--sa,.8)) 0%,rgba(3,8,18,calc(var(--sa,.8)*.92)) 50%,rgba(3,8,18,calc(var(--sa,.8)*.45)) 75%,rgba(3,8,18,0) 100%)}
.band h1,.band h2{font-size:clamp(2.6rem,5.6vw,5.6rem)}
.band .lede{margin-top:20px;font-size:clamp(1.05rem,1.45vw,1.3rem);color:#E6EEF9;max-width:34ch}
.band .tag{display:inline-block;margin-bottom:20px;color:var(--ice);padding:6px 12px;font-size:11px}
.chip{background:rgba(6,13,26,.55);border:1px solid rgba(10,176,236,.35);border-radius:10px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-shadow:0 1px 3px rgba(3,8,18,.85)}
.line{display:block}
.w{display:inline-block}

/* faixa 1 */
.b1{inset:0}
.b1 .mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(calc(.94 + .06*var(--k)));display:flex;flex-direction:column;align-items:center;gap:18px;opacity:var(--k)}
.b1 .wm-xl{font-size:clamp(1.8rem,3.6vw,3.4rem);letter-spacing:.2em;font-weight:500;padding-left:.2em}
.b1 .mark .mono{color:var(--ice);letter-spacing:.42em;font-size:clamp(10px,.9vw,12px);padding:7px 10px 7px 16px}
.b1 .mark .cap::before{inset:-110% -24%}
.b1 .mark .cap{--sa:.72}
.b1 .copy{position:absolute;left:var(--gutter);bottom:12vh}
.b1 .copy .cap{--sa:.9}
.b1 h1{font-size:clamp(2.6rem,5vw,5rem)}
.b1 .stack{display:grid}
.b1 .stack>*{grid-area:1/1}
.b1 .ghost{filter:blur(12px);opacity:calc(1 - var(--k))}
.b1 .crisp{opacity:var(--k)}
.b1 .note{margin-top:18px;color:var(--ice);opacity:var(--k)}

/* faixa 2: aproximação */
.b2{left:var(--gutter);top:11vh}
.b2 h2{max-width:14ch}
.fx-depth .w{--kc:clamp(0,(var(--k) - var(--th,0))*2.6,1);opacity:var(--kc);transform:scale(calc(.82 + .18*var(--kc)))}
/* faixa 3: deriva para baixo */
.b3{right:var(--gutter);top:13vh;max-width:min(600px,46vw)}
.b3 h2{max-width:12ch}
.fx-drift .w{--kc:clamp(0,(var(--k) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-26px))}
/* faixa 4: soco */
.b4{left:var(--gutter);top:50%;transform:translateY(-50%)}
.b4 h2{max-width:11ch}
.b4 .cap{--sa:.9}
.fx-punch .w{--kc:clamp(0,(var(--k) - var(--th,0))*3,1);--ks:clamp(0,(var(--k) - var(--th,0) - var(--sd,.1))*var(--ss,3.2),1);opacity:var(--kc);transform:scale(calc(.6 + (.4 + var(--ov,.12))*var(--kc) - var(--ov,.12)*var(--ks)))}
.fx-punch .w.em{--ov:.24;--sd:.16;--ss:2.6;color:var(--accent-muted)}
/* faixa 5: subida */
.b5{left:50%;top:15vh;transform:translateX(-50%);width:min(980px,90vw);text-align:center}
.b5 h2{font-size:clamp(2.8rem,6.4vw,6.4rem)}
.b5 .cap{--sa:.55}
.fx-rise .w{--kc:clamp(0,(var(--k) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*30px))}
.fx-rise .lede{--ks:clamp(0,(var(--k) - .62)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*14px));margin-left:auto;margin-right:auto}
.fx-rise .row{--kb:clamp(0,(var(--k) - .78)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px));display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.fx-depth .lede,.fx-drift .lede,.fx-punch .lede{--ks:clamp(0,(var(--k) - .5)*3,1);opacity:var(--ks)}

/* anel / indicador */
.cue{position:absolute;right:var(--gutter);bottom:5vh;display:flex;align-items:center;gap:14px}
.cue .ring{width:44px;height:44px;transform:rotate(-90deg)}
.cue .track{stroke:rgba(246,250,252,.25)}
.cue .fill{stroke:var(--text-primary);stroke-dashoffset:var(--ld,126);transition:stroke-dashoffset .2s linear}
.cue .mono{font-size:11px;text-shadow:var(--tshadow)}
@media (max-height:560px){.cue{display:none}}

/* hero estático (celular e tablet em retrato) */
.hero-static{display:none;position:relative;min-height:100vh;min-height:100svh;place-items:center;padding:110px var(--gutter) 120px;background:url("hero-ending.jpg") center/cover no-repeat,var(--canvas);text-align:center}
.hero-static::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 70% at 50% 40%,rgba(3,8,18,.55),rgba(3,8,18,.2) 70%),linear-gradient(to bottom,rgba(6,13,26,.4),transparent 30%,transparent 80%,rgba(6,13,26,.6))}
.hero-static .inner{position:relative;text-shadow:var(--tshadow)}
.hero-static h1{font-size:clamp(2rem,8vw,4.6rem);text-wrap:balance}
.hero-static h1 .line{text-wrap:balance}
.hero-static .lede{margin:20px auto 0;max-width:32ch;color:#E3EBF7}
.hero-static .btn-wa{margin-top:28px;text-shadow:none}
.hero-static .tag{display:block;margin-bottom:18px;color:var(--ice)}
.no-scrub .hero{display:none}
.no-scrub .hero-static{display:grid}

/* hero de scrub em tela em pé: textos empilhados e centralizados na coluna */
@media (orientation:portrait){
  .hero{height:820vh}
  .band h1,.band h2{font-size:clamp(2.1rem,9.4vw,3.6rem)}
  .band .lede{font-size:1rem;max-width:30ch;margin-top:14px}
  .band .tag{margin-bottom:14px}
  .b1 .mark{top:40%}
  .b1 .wm-xl{font-size:clamp(1.1rem,5.4vw,2.2rem);letter-spacing:.14em;padding-left:.14em}
  .b1 .mark .mono{letter-spacing:.2em;font-size:10px;white-space:nowrap;padding:6px 8px 6px 12px}
  .b1 .copy{left:var(--gutter);right:var(--gutter);bottom:17vh}
  .b1 h1{font-size:clamp(2.3rem,10.5vw,3.8rem)}
  .b2,.b3{left:var(--gutter);right:var(--gutter);top:13vh;max-width:none}
  .b2 h2,.b3 h2{max-width:13ch}
  .b4{left:var(--gutter);right:var(--gutter);top:46%}
  .b5{top:13vh;width:calc(100% - 2*var(--gutter))}
  .b5 h2{font-size:clamp(2.3rem,10vw,3.8rem)}
  .fx-rise .row{flex-direction:column;align-items:center;gap:10px}
  .cue{bottom:96px}
  .cue .mono{display:none}
}

/* ===== SEÇÕES (flutuam sobre o mundo) ===== */
.sec{position:relative;padding:clamp(110px,16vh,180px) var(--gutter)}
.kicker{display:flex;align-items:center;gap:12px;color:#8FDCF8;margin-bottom:24px;text-shadow:0 1px 3px rgba(3,8,18,.9),0 0 18px rgba(3,8,18,.7)}
.kicker::before{content:"";width:28px;height:1px;background:currentColor}
.sec h2,.frentes h2,.metodo h2{font-size:clamp(2.4rem,5.4vw,5rem)}
.intro{color:var(--text-secondary);font-size:clamp(1.05rem,1.35vw,1.2rem);margin-top:20px;max-width:46ch}
.persp{perspective:900px}
.rw{display:inline-block;will-change:transform}

/* manifesto */
.manifesto{min-height:100vh;display:flex;flex-direction:column;justify-content:center;text-shadow:var(--tshadow)}
.big-read{font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,4.2vw,4.1rem);line-height:1.12;letter-spacing:-.005em;word-spacing:.08em;max-width:22ch}
.big-read .hw{opacity:.18;transition:opacity .25s linear}

/* dores */
.feed{list-style:none;margin:72px 0 0;padding:0;display:grid;gap:clamp(34px,5vw,56px);max-width:1200px}
.feed li{max-width:900px;border-left:1px solid var(--line-strong);padding:6px 0 6px clamp(18px,3vw,36px)}
.feed li:nth-child(2){margin-left:auto}
.feed li:nth-child(3){margin-left:clamp(0px,12vw,200px)}
.feed .meta{display:flex;align-items:center;gap:10px;color:var(--text-secondary);margin-bottom:12px}
.feed .dot{width:7px;height:7px;border-radius:50%;background:var(--accent-muted)}
.feed q{display:block;font-family:var(--display);font-weight:500;font-size:clamp(1.7rem,3.4vw,3.2rem);line-height:1.08;letter-spacing:-.005em;word-spacing:.08em;quotes:none}
.feed q::before,.feed q::after{content:none}
.dores .verdict{margin-top:84px;font-family:var(--display);font-weight:500;font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.1;word-spacing:.08em;color:var(--ice)}
.alive .feed .dot,.dores.alive .dot{animation:blip 4.4s var(--ease-io) infinite}
@keyframes blip{0%,100%{opacity:1}50%{opacity:.25}}

/* frentes: trilho horizontal */
.frentes{position:relative}
/* padrão (sem JS ou celular): cartões empilhados */
.h-pin{padding:clamp(110px,16vh,180px) 0 60px}
.h-track{display:flex;flex-direction:column;gap:clamp(16px,2vw,28px);padding:0 var(--gutter)}
.h-intro{padding:0 0 20px}
.h-hint{display:none}
.panel{border-radius:26px;overflow:hidden;position:relative;background:var(--panel);border:1px solid rgba(169,186,211,.2);display:flex;flex-direction:column;justify-content:flex-end;height:72vh;max-height:560px}
/* desktop com GSAP: trilho horizontal fixado */
.h-on .h-pin{height:100vh;overflow:hidden;display:flex;align-items:center;padding:0}
.h-on .h-track{flex-direction:row;align-items:stretch;will-change:transform}
.h-on .h-intro{flex:none;width:min(560px,80vw);display:flex;flex-direction:column;justify-content:center;padding:0 40px 0 0}
.h-on .h-hint{display:block;margin-top:34px;color:var(--text-secondary)}
.h-on .panel{flex:none;width:min(560px,78vw);height:min(70vh,640px);max-height:none}
.panel .ph{position:absolute;inset:0;overflow:hidden}
.panel .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);will-change:transform}
.panel .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,13,26,.95) 8%,rgba(6,13,26,.55) 45%,rgba(6,13,26,.05) 75%)}
.panel .body{position:relative;padding:34px 34px 38px}
.panel .num{color:var(--ice);display:block;margin-bottom:14px}
.panel h3{font-size:clamp(1.9rem,2.8vw,2.7rem);line-height:1}
.panel p{color:#D5E0F0;margin-top:14px;max-width:34ch}

/* método */
.metodo{position:relative}
.m-pin{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px var(--gutter) 80px}
.metodo .head{text-align:center;display:flex;flex-direction:column;align-items:center}
.metodo .kicker::after{content:"";width:28px;height:1px;background:currentColor}
.orbit{position:relative;margin-top:56px;max-width:1240px;width:100%;margin-left:auto;margin-right:auto}
.orbit svg.path{width:100%;height:auto;overflow:visible}
.orbit .ghost-path{stroke:var(--line-strong);stroke-dasharray:2 10;stroke-linecap:round}
.orbit .draw{stroke:var(--accent-muted);stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(10,176,236,.6))}
.orbit .wp .ring{fill:rgba(6,13,26,.8);stroke:var(--line-strong);stroke-width:1.5;transition:stroke .6s var(--ease-out)}
.orbit .wp .core{fill:var(--line-strong);transition:fill .6s var(--ease-out)}
.orbit .wp.lit .ring{stroke:var(--accent-muted)}
.orbit .wp.lit .core{fill:var(--accent-muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,32px);margin-top:16px}
.step{text-align:center;padding:0 6px;transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.m-on .step{opacity:.3;transform:translateY(16px)}
.m-on .step.lit{opacity:1;transform:none}
.step h3{font-size:clamp(1.5rem,2vw,1.9rem)}
.step p{color:var(--text-secondary);margin:10px auto 0;max-width:28ch;font-size:16px}
.step .mono{display:block;color:var(--accent-muted);margin-bottom:10px}
.vline{display:none}
@media (max-width:900px){
  .orbit svg.path{display:none}
  .orbit{padding-left:34px}
  .vline{display:block;position:absolute;left:8px;top:4px;bottom:4px;width:1px;background:var(--line-strong)}
  .vline i{position:absolute;inset:0;background:var(--accent-muted);transform-origin:top;transform:scaleY(var(--prog,0))}
  .steps{grid-template-columns:1fr;gap:38px;margin-top:0}
  .step{text-align:left;padding:0}
  .step p{margin-left:0}
}

/* raio */
.raio{text-align:center;overflow:hidden}
.raio .halo{position:absolute;left:50%;top:50%;width:min(900px,120vw);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(30,107,255,.22),transparent 62%);opacity:calc(.35 + .65*var(--c,0));pointer-events:none}
.raio .head{position:relative;display:flex;flex-direction:column;align-items:center}
.raio .kicker::after{content:"";width:28px;height:1px;background:currentColor}
.reactor{position:relative;width:min(280px,62vw);aspect-ratio:1;margin:48px auto 0}
.reactor svg{width:100%;height:100%;overflow:visible}
.reactor .rtrack{fill:none;stroke:rgba(169,186,211,.22);stroke-width:2}
.reactor .rfill{fill:none;stroke:var(--accent-muted);stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(10,176,236,.8))}
.reactor .glow{position:absolute;inset:14%;border-radius:50%;box-shadow:0 0 90px 20px rgba(30,107,255,.45);opacity:.15}
.alive .reactor .glow,.raio.alive .glow{animation:pulse 4.8s var(--ease-io) infinite;animation-delay:-1.6s}
@keyframes pulse{0%,100%{opacity:.1}50%{opacity:.4}}
.reactor .rbolt{transform-origin:60px 60px;transform:scale(calc(.9 + .14*var(--c,0)));filter:drop-shadow(0 0 calc(4px + 14px*var(--c,0)) rgba(77,163,255,.7))}
.flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(214,240,255,.95),rgba(30,107,255,.45) 35%,transparent 70%);opacity:0;pointer-events:none}
.struck .flash{animation:flash 1.2s var(--ease-out) 1}
@keyframes flash{0%{opacity:0}8%{opacity:1}100%{opacity:0}}
.hold{margin-top:38px;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-touch-callout:none}
.struck .hold{background:transparent;border-color:var(--accent-muted);color:var(--accent-muted);cursor:default}
.raio .hint{margin-top:14px;color:var(--text-secondary);font-size:14px}
.promises{list-style:none;padding:0;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1080px}
.promises li{background:rgba(11,24,48,.7);border:1px solid var(--line);border-radius:18px;padding:24px 22px;text-align:left;opacity:.28;transform:translateY(10px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),border-color .8s var(--ease-out);transition-delay:calc(var(--i,0)*160ms + 200ms)}
.promises li .mono{display:block;color:var(--text-secondary);margin-bottom:10px;font-size:11px}
.promises li p{font-family:var(--display);font-weight:500;font-size:1.35rem;line-height:1.15}
.struck .promises li{opacity:1;transform:none;border-color:rgba(10,176,236,.5)}
.struck .promises li .mono{color:var(--accent-muted)}
@media (max-width:900px){.promises{grid-template-columns:1fr}}

/* prova */
.prova{min-height:90vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;text-shadow:var(--tshadow)}
.prova h2{font-size:clamp(2.8rem,7.4vw,7.4rem);max-width:14ch}
.prova .intro{color:#E6EEF9;margin-left:auto;margin-right:auto}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,90px);align-items:start}
.faq .head{position:sticky;top:120px}
.qa{border-top:1px solid var(--line)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;font-family:var(--display);font-weight:500;font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.2}
.qa summary::-webkit-details-marker{display:none}
.qa summary .plus{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);position:relative;transition:transform .5s var(--ease-out),border-color .5s var(--ease-out)}
.qa summary .plus::before,.qa summary .plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--text-primary);transform:translate(-50%,-50%)}
.qa summary .plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa details[open] .plus{transform:rotate(45deg);border-color:var(--accent-muted)}
.qa .ans{color:var(--text-secondary);padding:0 0 28px;max-width:60ch}
@media (max-width:900px){.faq{grid-template-columns:1fr}.faq .head{position:static}}

/* contato */
.contato{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:clamp(32px,6vw,90px);align-items:center}
.contato .left{text-shadow:var(--tshadow)}
.contato h2{max-width:12ch}
.contato .intro{color:#E6EEF9}
.wa-card{display:flex;align-items:center;gap:16px;margin-top:36px;padding:16px 18px;border-radius:18px;background:rgba(6,13,26,.55);border:1px solid rgba(37,211,102,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-decoration:none;max-width:440px;text-shadow:none;transition:border-color .4s var(--ease-out),background-color .4s var(--ease-out)}
.wa-card:hover{border-color:var(--wa);background:rgba(6,13,26,.7)}
.wa-card .ico{flex:none;width:48px;height:48px;border-radius:50%;background:var(--wa);color:var(--wa-ink);display:grid;place-items:center}
.wa-card .ico svg{width:24px;height:24px}
.wa-card strong{display:block;font-size:16px}
.wa-card span span{color:var(--text-secondary);font-size:14px}
.wa-card .go{margin-left:auto;font-size:20px;color:var(--wa)}
.mail-line{margin-top:18px;font-size:15px;color:#DCE6F5}
.mail-line a{color:var(--text-primary);text-decoration-color:rgba(246,250,252,.4);text-underline-offset:4px;transition:text-decoration-color .3s var(--ease-out)}
.mail-line a:hover{text-decoration-color:var(--text-primary)}
.foot-mail:hover{color:var(--text-primary)}
.form{background:rgba(8,18,38,.78);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(246,250,252,.14);border-radius:26px;padding:clamp(24px,3vw,36px);box-shadow:0 40px 100px rgba(3,8,18,.5)}
.form h3{font-size:1.7rem}
.form .sub{color:var(--text-secondary);font-size:15px;margin-top:8px}
.field{display:block;margin-top:18px}
.field span{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:#DCE6F5}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--text-primary);background:rgba(6,13,26,.7);border:1px solid rgba(169,186,211,.4);border-radius:12px;padding:13px 14px;transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out)}
.field textarea{min-height:92px;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent-hover);box-shadow:0 0 0 3px rgba(30,107,255,.25)}
.field ::placeholder{color:#7F93B3}
.form .btn-block{margin-top:24px}
.form .micro{font-size:13px;color:var(--text-secondary);margin-top:12px;text-align:center}
.form .ok{display:none;text-align:center;padding:30px 6px}
.form.sent .fields{display:none}
.form.sent .ok{display:block}
.form .ok-bolt{width:56px;height:49px;margin:0 auto 18px}
.form .ok p{color:var(--text-secondary);margin-top:10px}
@media (max-width:900px){.contato{grid-template-columns:1fr;padding-top:120px}}

/* cidades */
.cities{padding:52px 0 58px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.cities .label{display:flex;justify-content:center;color:var(--text-secondary);margin-bottom:26px;padding:0 var(--gutter);text-align:center}
.marquee{display:flex;width:max-content}
.marquee ul{display:flex;list-style:none;margin:0;padding:0}
.marquee li{font-family:var(--display);font-weight:500;font-size:clamp(1.7rem,3.2vw,2.8rem);white-space:nowrap;padding:0 28px;color:rgba(246,250,252,.86);display:flex;align-items:center}
.marquee li::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-muted);margin-left:56px}
.cities.alive .marquee{animation:marq 60s linear infinite;animation-delay:-8s}
@keyframes marq{to{transform:translateX(-50%)}}

/* rodapé */
.foot{padding:56px var(--gutter) 110px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:center;color:var(--text-secondary);font-size:14px}
.foot .tagline{color:var(--accent-muted);letter-spacing:.32em}
.foot nav{display:flex;gap:22px;flex-wrap:wrap}
.foot a{text-decoration:none}
.foot nav a:hover{color:var(--text-primary)}

/* pausa global */
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* Movimento reduzido: a jornada guiada pela rolagem continua (o movimento só acontece quando a pessoa rola);
   o que se move sozinho para. */
@media (prefers-reduced-motion:reduce){
  .stars,.marquee,.feed .dot,.reactor .glow,.flash{animation:none!important}
}
