/* Global reset and typography. Component-specific CSS lives in components.css. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; background: var(--color-ivory); color: var(--color-charcoal); font-family: var(--font-body); font-weight: 300; -webkit-font-smoothing: antialiased; }
img, picture, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--color-bronze); outline-offset: 5px; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { font-weight: 500; }
p { line-height: 1.75; }
.container { max-width: var(--container); width: calc(100% - (2 * var(--gutter))); margin-inline: auto; }
.section { padding-block: var(--space-section); }
.section--muted { background: var(--color-sand); }
.eyebrow { margin: 0 0 1.9rem; color: var(--color-bronze); font-size: var(--text-xs); font-weight: 600; letter-spacing: .22em; line-height: 1.5; text-transform: uppercase; }
.display-heading { max-width: 16ch; margin-bottom: 1.65rem; font: 500 var(--text-h2)/1.08 var(--font-display); letter-spacing: -.035em; }
.display-heading em { font-weight: 500; }
.body-large { max-width: 57ch; color: var(--color-muted); font-size: var(--text-lg); line-height: 1.85; }
.skip-link { position: fixed; top: -110px; left: 1rem; z-index: 1000; padding: .85rem 1.2rem; background: var(--color-charcoal); color: var(--color-white); }
.skip-link:focus { top: 1rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
::selection { color: var(--color-charcoal); background: var(--color-sand-dark); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}
