/* Hero de scrub da home */
.hero{position:relative;height:540vh;--static:0}
.stage{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden;background:#0B1030}
.poster{position:absolute;inset:0;background:#0B1030 center/cover no-repeat}
#hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translateZ(0);will-change:transform;transition:opacity .8s var(--ease)}
.stage.video-ready #hero-video{opacity:1}
.stage.video-failed #hero-video{display:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(8,10,28,.62) 0%,rgba(8,10,28,0) 22%),
  radial-gradient(ellipse 120% 90% at 50% 45%,rgba(10,12,32,0) 40%,rgba(10,12,32,.55) 100%)}

/* HUD de câmera */
.hud{position:absolute;inset:calc(var(--hdr) + 14px) 22px 22px;pointer-events:none}
.vf{position:absolute;width:34px;height:34px;border:2px solid rgba(238,240,250,.7)}
.vf.tl{left:0;top:0;border-right:0;border-bottom:0}
.vf.tr{right:0;top:0;border-left:0;border-bottom:0}
.vf.bl{left:0;bottom:0;border-right:0;border-top:0}
.vf.br{right:0;bottom:0;border-left:0;border-top:0}
.chip{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:8px;background:rgba(8,8,24,.55);border:1px solid rgba(148,150,211,.32);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:500 .7rem/1 var(--f-mono);letter-spacing:.08em;color:#E6E8F7;text-shadow:0 1px 3px rgba(5,5,10,.85);white-space:nowrap}
.c-tl{left:46px;top:6px}.c-tr{right:46px;top:6px}.c-bl{left:46px;bottom:6px}.c-br{right:46px;bottom:6px}
.rec{width:8px;height:8px;border-radius:50%;background:var(--busy);animation:recBlink 1.6s steps(2,jump-none) infinite;animation-delay:-.4s}
@keyframes recBlink{50%{opacity:.25}}

/* detecção no quadro final */
.det{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.det-side rect{fill:none;stroke:rgba(148,150,211,.85);stroke-width:2.5;stroke-dasharray:10 7;opacity:calc(var(--dk,0) * .9)}
.det-main{transform-box:fill-box;transform-origin:center;transform:scale(calc(1.18 - .18*var(--dk,0)));opacity:var(--dk,0)}
.det-main path{fill:none;stroke:#C9CBF2;stroke-width:5;stroke-linecap:square}
.det-main .det-fill{fill:rgba(148,150,211,.10);stroke:rgba(201,203,242,.9);stroke-width:2}
.det-labels{position:absolute;inset:0;pointer-events:none}
.dl{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:7px;background:rgba(8,8,24,.72);border:1px solid rgba(148,150,211,.45);font:500 .68rem/1.25 var(--f-mono);letter-spacing:.06em;color:#EEF0FA;white-space:nowrap;opacity:var(--dk,0);transform:translate(var(--x,0px),var(--y,0px))}
.dl-main{flex-direction:column;align-items:flex-start;gap:4px;padding:9px 12px;font-size:.74rem;border-color:#C9CBF2}
.dl-main em{font-style:normal;color:var(--accent)}
.dl .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--busy)}
.dl-main .dot{position:absolute;right:10px;top:11px}

/* faixas de legenda */
.bands{position:absolute;inset:0;pointer-events:none}
.band{position:absolute;top:calc(var(--hdr) + 9vh);width:min(34vw,500px);opacity:0;visibility:hidden;text-shadow:var(--tshadow)}
.band.on{visibility:visible}
.band .btn{text-shadow:none}
.band.side-l{left:max(4vw,40px)}
.band.side-r{right:max(4vw,40px);text-align:right}
.band::before{content:"";position:absolute;inset:-36% -30%;z-index:-1;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(ellipse 60% 56% at 50% 50%,rgba(6,7,22,.7) 0%,rgba(6,7,22,.45) 48%,rgba(6,7,22,0) 76%)}
.band-1::before{background:radial-gradient(ellipse 60% 56% at 50% 50%,rgba(6,7,22,.74) 0%,rgba(6,7,22,.48) 48%,rgba(6,7,22,0) 76%)}
.band h1,.band h2{font-size:clamp(2rem,3.5vw,3.5rem);margin-top:14px}
.band-1{top:calc(var(--hdr) + 5vh);width:min(46vw,680px)}
.band-1 h1{font-size:clamp(1.9rem,3vw,3rem)}
.band-2 h2,.band-3 h2{font-size:clamp(2rem,3.3vw,3.2rem);margin-top:0}
.band .sub{margin-top:16px;font-size:clamp(1rem,1.25vw,1.15rem);color:#DADDF2;max-width:36ch}
.band.side-r .sub{margin-left:auto}
.band-4{top:auto;bottom:max(5vh,40px);left:0;right:0;width:auto;margin:0 auto;max-width:1100px;text-align:center}
.band-4::before{inset:-40% -6%;background:radial-gradient(ellipse 58% 60% at 50% 55%,rgba(6,7,22,.72) 0%,rgba(6,7,22,.46) 50%,rgba(6,7,22,0) 78%)}
.band-4 h2{font-size:clamp(1.6rem,2.6vw,2.6rem);margin-top:0}
.band-4 .sub{font-size:1rem;margin:10px auto 0;max-width:60ch}
.band-4 .cta-row{margin-top:18px;justify-content:center}
.band .cta-row,.static-copy .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;pointer-events:auto}
.band-4.on{pointer-events:auto}

/* divisão de texto */
.split .w{display:inline-block;white-space:nowrap}
.split .c{display:inline-block;will-change:transform}
/* (b) grade: caracteres alinham da esquerda, como uma varredura */
.band[data-entry="grid"] .c{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*var(--jx,0px)))}
/* (g) aproximação da profundidade: a linha cresce como a câmera descendo */
.band[data-entry="depth"] .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.4,1);opacity:var(--kc);transform:scale(calc(.82 + .18*var(--kc)));transform-origin:100% 60%}
/* (f) deriva para baixo: palavras descem como o caminhão dando ré */
.band[data-entry="drift"] .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-26px))}
/* (e) subida palavra por palavra, assentamento em etapas */
.band[data-entry="rise"] .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*22px))}
.band .sub{--ks:clamp(0,(var(--k,0) - .55)*3.2,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*12px))}
.band .cta-row{--kb:clamp(0,(var(--k,0) - .74)*4.5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*12px))}
.band-1 .kicker{opacity:clamp(0,var(--k,0)*3,1)}

/* carregamento */
.loader{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:#EEF0FA;transition:opacity .6s var(--ease)}
.ring{width:38px;height:38px;transform:rotate(-90deg)}
.cue{font:500 .7rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 3px rgba(5,5,10,.9)}
.stage.scrolled .loader{opacity:0}
.stage.video-failed .ring{display:none}

/* hero estático: celulares, tablets em retrato, toque deitado e movimento reduzido */
.static-copy{display:none}
@media (max-width:720px),(orientation:portrait) and (max-width:1024px),(orientation:portrait) and (pointer:coarse),(orientation:landscape) and (pointer:coarse) and (max-height:560px),(prefers-reduced-motion:reduce){
  .hero{height:auto;--static:1}
  .stage{position:relative;height:auto;min-height:100svh;display:flex;align-items:flex-end}
  .poster{background-image:url("../hero-ending.jpg");background-position:50% 40%}
  #hero-video,.bands,.loader,.det,.det-labels{display:none}
  .scrim{background:linear-gradient(180deg,rgba(8,10,28,.55) 0%,rgba(8,10,28,.15) 30%,rgba(8,10,28,.8) 62%,rgba(11,16,48,.98) 100%)}
  .hud{inset:calc(var(--hdr) + 10px) 14px auto;height:60px}
  .vf.bl,.vf.br,.c-bl,.c-br{display:none}
  .c-tl{left:40px}.c-tr{display:none}
  .static-copy{display:block;position:relative;z-index:2;width:var(--wrap);margin:0 auto;padding:46vh 0 48px;text-shadow:var(--tshadow)}
  .static-copy .h1{font-size:clamp(2rem,8.6vw,3.2rem);margin-top:14px}
  .static-copy .sub{margin-top:16px;color:#DADDF2;max-width:40ch}
  .static-copy .btn{text-shadow:none}
}
@media (max-height:560px){.chip,.vf{display:none}}
@media (prefers-reduced-motion:reduce){.rec{animation:none}}
