/* ============================================================
   SITE BASE: shared by every page built from Sanity (src/site/build.js).
   Section styles live in assets/themes/*.css, scoped to each section.
   ============================================================ */
@font-face { font-family: 'Right Grotesk Compact'; src: url('RightGroteskCompact-Black.ttf') format('truetype'); font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'ABC Monument Grotesk'; src: url('ABCMonumentGroteskEdu-Regular.otf') format('opentype'); font-weight: 100 900; font-display: swap; }

:root {
  --max: none;
  --gutter: clamp(48px, 5vw, 104px);   /* page margin, same as the homepage */
  --header-height: 76px;
}
@media (max-width: 1023px) { :root { --gutter: 32px; } }

html { scroll-behavior: auto; }   /* Lenis handles smooth scrolling */
body {
  margin: 0; background: #fff; color: #0d0d12;
  font-family: 'ABC Monument Grotesk', Inter, -apple-system, 'Segoe UI', sans-serif;
  font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased;
  overflow-x: clip;   /* no sideways scroll, without breaking position: sticky */
}
p { text-wrap: pretty; }

/* Sections stack above a pinned full-screen hero as the page scrolls */
main > * { position: relative; z-index: 2; }
/* Links to a section (#name) land below the fixed header */
main [id] { scroll-margin-top: var(--sn-h, 76px); }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
img { max-width: 100%; }
