

/* Tipografia local desta tela: nenhum elemento usa negrito. */
html body *:not(#geducacional-font-weight-normal),
html body *:not(#geducacional-font-weight-normal)::before,
html body *:not(#geducacional-font-weight-normal)::after {
  font-weight: 400 !important;
}
*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; font-size: 14px !important; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { min-height: 100vh; margin: 0; background: var(--color-background); color: var(--color-text); font-size: 14px !important; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: var(--space-3); font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 400; line-height: 1.12; }
h2 { margin-bottom: var(--space-3); font-size: 1.35rem; font-weight: 400; }
h3 { margin-bottom: var(--space-2); font-size: 1rem; font-weight: 400; }
a { color: var(--color-primary-600); }
.muted { color: var(--color-muted); }
.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; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-primary-500) 30%, transparent); outline-offset: 2px; }
