/* ══════════════════════════════════════════════════════════════
   Base comum às duas identidades. Carregue DEPOIS do tokens.css
   da identidade da página. Não define cores nem fontes próprias:
   usa as variáveis do tokens.css (--focus, --font-text…).
   ══════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
body { margin: 0; font-family: var(--font-text, system-ui, sans-serif); line-height: 1.6; }
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

/* Foco visível para teclado, na cor de foco da identidade */
:focus-visible { outline: 2px solid var(--focus, currentColor); outline-offset: 3px; }

/* Link "pular para o conteúdo" — primeiro elemento do <body> */
.pular-conteudo {
  position: absolute; left: 8px; top: -100px; z-index: 1000;
  padding: 8px 16px; background: #fff; color: #000; text-decoration: none;
}
.pular-conteudo:focus { top: 8px; }

/* Só para leitores de tela */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.container { width: 100%; max-width: 1120px; margin-inline: auto; padding-inline: 20px; }
.container--estreito { max-width: 760px; }
