* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 20rem;
  color: var(--ink);
  background: var(--surface);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
a { color: inherit; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
:focus-visible { outline: .2rem solid var(--accent); outline-offset: .22rem; }
.skip-link { position: absolute; left: 1rem; top: -4rem; z-index: 20; padding: .65rem 1rem; background: var(--ink); color: #fff; border-radius: .35rem; }
.skip-link:focus-visible { top: 1rem; }
.page-width { width: min(calc(100% - 2rem), var(--content)); margin-inline: auto; }
.reading-width { width: min(100%, var(--reading)); }
section[id] { scroll-margin-top: 1rem; }
.eyebrow { margin: 0; color: var(--brand); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.section-title { margin: .45rem 0 0; font: 400 clamp(2rem, 4vw, 3.2rem)/1.08 var(--serif); letter-spacing: -.035em; }
.section-copy { max-width: var(--reading); margin: 1rem 0 0; color: var(--ink-soft); font-size: 1.05rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 3.15rem; padding: .78rem 1.1rem; border: 0; border-radius: var(--radius-pill); background: var(--brand); color: #fff; font: 800 .9rem/1 var(--sans); letter-spacing: .01em; text-align: center; text-decoration: none; transition: background .16s ease, transform .16s ease; }
.button:hover { background: var(--brand-dark); transform: translateY(-1px); }
.button--quiet { background: transparent; color: var(--brand-dark); box-shadow: inset 0 0 0 1px var(--brand); }
.button--quiet:hover { color: #fff; background: var(--brand); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}
