* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.public-body { margin: 0; background: var(--color-background); color: var(--color-text); font-family: var(--font-body); font-size: var(--font-size-base); line-height: 1.6; }
body.public-body a { color: inherit; }
body.public-body button, body.public-body input { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-heading); line-height: 1.05; letter-spacing: -.055em; }
h1 { font-size: var(--font-size-h1); max-width: 10ch; margin-bottom: var(--space-5); }
h2 { font-size: var(--font-size-h2); max-width: 12ch; margin-bottom: var(--space-4); }
h3 { font-size: var(--font-size-h3); }
p { color: var(--color-text-muted); }
.site-container { width: min(calc(100% - 3rem), var(--container-width)); margin: 0 auto; }
.section-pad { padding: var(--section-spacing) 0; }
.section-alt { background: var(--color-background-alt); }
.eyebrow { margin-bottom: var(--space-4); color: var(--color-primary); font-size: .75rem; font-weight: 700; letter-spacing: .15em; line-height: 1.3; }
.skip-link { position: absolute; top: -4rem; left: var(--space-3); z-index: 100; padding: var(--space-2) var(--space-3); background: var(--color-text); color: var(--color-background); }
.skip-link:focus { top: var(--space-3); }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
@media (max-width: 700px) { .site-container { width: min(calc(100% - 2rem), var(--container-width)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
