html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-rendered-height, var(--header-height-mobile)) + 1rem); }
body { margin: 0; background: var(--color-ivory); color: var(--color-ink); font-family: var(--font-sans); font-size: var(--text-body); line-height: 1.65; }
body, button, a { -webkit-font-smoothing: antialiased; }
a { color: inherit; }
main { min-width: 0; }
img, svg, video { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 400; line-height: 1.05; }
h1, h2, h3 { overflow-wrap: break-word; }
h1 { font-size: var(--text-hero); }
h2 { font-size: var(--text-section); }
h3 { font-size: var(--text-subhead); }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
.skip-link { position: fixed; left: 1rem; top: 1rem; z-index: 999; transform: translateY(-200%); background: white; color: black; padding: .75rem 1rem; }
.skip-link:focus { transform: none; }
