/* ============================================================
   NexArq — Camada de performance + scroll (carregada por ÚLTIMO)
   Corta as fontes de jank (repaint/composite contínuo no scroll e
   no mousemove) SEM mudar o visual, e adiciona encaixe por seção.
   Cada regra abaixo neutraliza um custo medido em nexarq-anim.css.
   ============================================================ */

/* 1) Grão fixo full-screen com mix-blend-mode: forçava recomposição
      da viewport inteira a cada frame de scroll. É o maior ofensor. */
body::after { display: none !important; }

/* 2) Animações decorativas que rodam pra SEMPRE (mesmo fora da tela)
      e forçam repaint caro. Congeladas no estado final — visual igual. */
.phero::after,               /* meshDrift: camada blur(40px) animada infinita */
.italic,                     /* italicShimmer: repaint de texto com background-clip */
.phero__cta .btn--primary,   /* ctaGlow: animा box-shadow (repaint) */
.aurora-chat {               /* chatFloat: reamostra backdrop-filter a cada frame */
  animation: none !important;
}

/* 3) backdrop-filter é caro sobre elemento fixo/repintado no scroll.
      Raio de blur reduzido — mantém o vidro, muito mais leve. */
.nav.scrolled { backdrop-filter: blur(10px) saturate(1.4); -webkit-backdrop-filter: blur(10px) saturate(1.4); }
.aurora-chat  { backdrop-filter: blur(12px) saturate(1.3); -webkit-backdrop-filter: blur(12px) saturate(1.3); }
.mega         { backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4); }
.wl-appicon   { backdrop-filter: blur(10px) saturate(1.3); -webkit-backdrop-filter: blur(10px) saturate(1.3); }

/* 4) .reveal tinha will-change permanente (dezenas de camadas vivas)
      e filter: blur() na transição (repaint por elemento). Removidos —
      a entrada continua via opacity + translate (barato, GPU). */
.reveal { will-change: auto !important; filter: none !important; }

/* 5) Encaixe de scroll por seção — só desktop alto, como a landing antiga.
      scroll-snap nativo (barato, sem hijack); o nexarq-scroll.js dá o
      "1 gesto = 1 seção" nos limites e deixa rolar por dentro das altas. */
@media (min-width: 821px) and (min-height: 601px) {
  html { scroll-snap-type: y proximity; }
  .phero, .section { scroll-snap-align: start; scroll-margin-top: 84px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-snap-type: none; }
}
