/* T9 — refinos autorizados pelo CTO em 07/10/2026 (comuns às páginas com títulos .tech-heading).
   O brilho dos títulos (titleSweep) terminava em background-position -110%: como o fundo se repete, uma faixa
   colorida ficava congelada no meio das palavras. Aqui o brilho termina em 0%, onde o gradiente é só tinta. */
@keyframes czTitleSweep {
  from { background-position: 122% 0; }
  to { background-position: 0 0; }
}

.tech-heading.spark {
  animation-name: czTitleSweep;
}

.tech-heading {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

/* Refinos T9 da Landing Geral (registro de decisões §2.8): só o necessário para a landing caber no painel do overlay
   com a página principal visível nas laterais (a partir de 1180 px). Cada regra do pacote que depende da largura da
   janela (vw) é repetida aqui com --cz-panel-w no lugar de 100vw — o mesmo resultado que o pacote teria numa janela
   da largura do painel. Abaixo de 1180 px nada muda. */
@media (min-width: 1180px) {
  /* Elementos fixos do pacote ficam dentro do painel. */
  html[data-cz-overlay="landingpage-geral"] .site-header { left: var(--cz-overlay-side); right: var(--cz-overlay-side); } /* left:0; right:0 */
  html[data-cz-overlay="landingpage-geral"] .age-badge { right: calc(var(--cz-overlay-side) + 14px); }                   /* right:14px */

  /* vw → largura do painel (pacote: h1 5.6vw, h2 4.5vw, h3 2.4vw, .lead 1.5vw, .hero-sub 1.55vw, .benefit h3 2vw,
     .final-card h2 4.3vw, .event-title 4vw, .benefit-emphasis h3 2.15vw). */
  html[data-cz-overlay="landingpage-geral"] h1 { font-size: clamp(3rem, calc(var(--cz-panel-w) * .056), 5.7rem); }
  html[data-cz-overlay="landingpage-geral"] h2 { font-size: clamp(2.35rem, calc(var(--cz-panel-w) * .045), 4.75rem); }
  html[data-cz-overlay="landingpage-geral"] h3 { font-size: clamp(1.55rem, calc(var(--cz-panel-w) * .024), 2.35rem); }
  html[data-cz-overlay="landingpage-geral"] .lead { font-size: clamp(1.08rem, calc(var(--cz-panel-w) * .015), 1.3rem); }
  html[data-cz-overlay="landingpage-geral"] .hero-sub { font-size: clamp(1.12rem, calc(var(--cz-panel-w) * .0155), 1.35rem); }
  html[data-cz-overlay="landingpage-geral"] .benefit h3 { font-size: clamp(1.35rem, calc(var(--cz-panel-w) * .02), 1.9rem); }
  html[data-cz-overlay="landingpage-geral"] .final-card h2 { font-size: clamp(2.3rem, calc(var(--cz-panel-w) * .043), 4.3rem); }
  html[data-cz-overlay="landingpage-geral"] .event-title { font-size: clamp(2.55rem, calc(var(--cz-panel-w) * .04), 4.35rem); }
  html[data-cz-overlay="landingpage-geral"] .benefit-emphasis h3 { font-size: clamp(1.55rem, calc(var(--cz-panel-w) * .0215), 2.08rem); }
  /* .hero-visual sangra até a borda da janela: calc((100vw - min(var(--max),calc(100vw - 48px)))/-2) → borda do painel. */
  html[data-cz-overlay="landingpage-geral"] .hero-visual { margin-right: calc((var(--cz-panel-w) - min(var(--max), calc(var(--cz-panel-w) - 48px))) / -2); }
}
