/* 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 Modo Jogo (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; spike da tarefa 5.1). Cada regra do pacote
   que depende da largura da janela (vw) é repetida 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-modo-jogo"] .site-header { left: var(--cz-overlay-side); right: var(--cz-overlay-side); } /* inset:0 0 auto */
  html[data-cz-overlay="landingpage-modo-jogo"] .age { right: calc(var(--cz-overlay-side) + 13px); }                             /* right:13px */

  /* vw → largura do painel. */
  html[data-cz-overlay="landingpage-modo-jogo"] h1 { font-size: clamp(3.1rem, calc(var(--cz-panel-w) * .054), 5.65rem); }         /* 5.4vw */
  html[data-cz-overlay="landingpage-modo-jogo"] h2 { font-size: clamp(2.4rem, calc(var(--cz-panel-w) * .041), 4.25rem); }         /* 4.1vw */
  html[data-cz-overlay="landingpage-modo-jogo"] h3 { font-size: clamp(1.2rem, calc(var(--cz-panel-w) * .02), 1.7rem); }           /* 2vw */
  html[data-cz-overlay="landingpage-modo-jogo"] .cta-card h2 { font-size: clamp(1.95rem, calc(var(--cz-panel-w) * .032), 3.25rem); } /* 3.2vw */
}
