* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; color: var(--ink); background: var(--surface); font-family: var(--body-font); -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-family: var(--heading-font); }
.container { width: min(calc(100% - 88px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 18px; background: var(--ink); color: #fff; }
.skip-link:focus { top: 12px; }
.section-wrap { position: relative; }

@media (max-width: 1100px) {
  .container { width: min(calc(100% - 60px), var(--container)); }
}

@media (max-width: 800px) {
  .container { width: min(calc(100% - 42px), var(--container)); }
}

@media (max-width: 600px) {
  .container { width: min(calc(100% - 36px), var(--container)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
