/* Growthway Capital — FX cluster "climax-scroll" (onda 2)
   1) Dissolução em bronze  — a serifa do hero vira partículas que voam aos anéis
   2) Travessia do Anel     — zoom-through portal na costura hero → capítulo preto
   3) Dolly Zoom Vertigo    — tensão Hitchcock no hero (foto cresce, 3D encolhe)

   Inerte sem JS: todas as regras vivem atrás de html.gw-fx-climax, classe que
   apenas o próprio módulo adiciona (e só com gsap+ScrollTrigger presentes,
   desktop ≥ 941px e sem prefers-reduced-motion). */

/* canvas de partículas da dissolução — overlay do hero, nunca captura eventos */
html.gw-fx-climax .gw-climax-part {
  position: absolute;
  inset: 0;
  z-index: 3; /* sobre a .hero-copy (2); pointer-events none preserva o CTA */
  pointer-events: none;
  visibility: hidden;
}

/* invólucro do dolly zoom (criado em runtime ao redor da foto do hero) */
html.gw-fx-climax .gw-climax-dolly {
  position: absolute;
  inset: 0;
  will-change: transform;
}

/* o objeto 3D também entra na respiração do dolly */
html.gw-fx-climax .hero-3d {
  will-change: transform;
}

/* anel da travessia — fixo, decorativo, SEMPRE abaixo do dock (z 60) */
html.gw-fx-climax .gw-climax-portal {
  position: fixed;
  inset: 0;
  z-index: 40;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  display: none;
}

/* garantia dura: banner CVM e legais do rodapé jamais são cobertos
   (relative sem offsets = zero impacto de layout) */
html.gw-fx-climax .topbar,
html.gw-fx-climax .footer-legal {
  position: relative;
  z-index: 45;
}

/* cinto e suspensório: se o viewport encolher ou o usuário pedir menos
   movimento no meio da sessão, os overlays somem mesmo antes do JS reagir */
@media (max-width: 940.98px), (prefers-reduced-motion: reduce) {
  html.gw-fx-climax .gw-climax-part,
  html.gw-fx-climax .gw-climax-portal {
    display: none !important;
  }
}
