/* ============================================================
   VS Digital — Entrada INTEGRADA (a animação É a entrada do site)
   A página começa escura: a atmosfera e o conteúdo nascem apagados;
   o próprio "VS" real (.bl-vs) surge no centro, encaixa no seu lugar,
   o azul "acende" e o resto do hero entra. NÃO há overlay/véu separado
   nem cópia do VS — é tudo o conteúdo real (plano z1) sobre a atmosfera.
   O gate (.intro-active) é decidido no <head>, antes da pintura, p/ não piscar.
   ============================================================ */

/* Trava o scroll enquanto a intro toca. */
html.intro-active,
html.intro-active body { overflow: hidden; height: 100%; }

/* A atmosfera (azul/glows/poeira/vinheta) nasce APAGADA — a Fase C a "acende".
   Com opacity:0 a atmosfera some e fica só o fundo #06080e do body (escuro). */
html.intro-active .atmos { opacity: 0; }

/* O "VS" real nasce invisível: o JS o posiciona no centro do viewport e o revela
   (sem isto ele apareceria 1 quadro no slot antes de o JS rodar). */
html.intro-active .capa .bl-vs { opacity: 0; }
/* O "DIGITAL" fica escondido até a sua cortina (revelado na Fase C). */
html.intro-active .capa .bl-digital { opacity: 0; }

/* Os textos da capa ficam escondidos enquanto a intro toca (active OU done):
   o intro.js os revela com clip-path inline (!important), que vence estas regras.
   Se a intro NÃO tocar (reduced-motion / já vista / ?intro=0), nenhuma classe
   está presente e o cinematic.js revela a capa normalmente. */
html.intro-active .capa .reveal,
html.intro-done   .capa .reveal,
html.intro-active .capa .scroll-hint,
html.intro-done   .capa .scroll-hint { opacity: 0; }

/* O dock também surge depois (Fase C). */
html.intro-active .dock { opacity: 0; }

/* Os sidedots (índice lateral) também ficam escondidos durante a abertura escura
   — assim só o VS aparece no escuro. Surgem com fade ao final (transição CSS,
   quando .intro-active sai). */
.sidedots { transition: opacity .6s ease; }
html.intro-active .sidedots { opacity: 0; }

/* Durante a entrada coreografada, segura o sheen do lockup para não somar um
   clarão enquanto o "DIGITAL" é revelado. */
html.intro-settling .capa .brand-lockup .sheen { animation: none !important; }
