/* ─── reset & base ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out);
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
p { text-wrap: pretty; }
h1, h2, h3, h4 { text-wrap: balance; }
:focus-visible { outline: 2px solid transparent; box-shadow: var(--focus-ring); }

.skip {
  position: absolute; left: 16px; top: -48px; z-index: 50;
  background: var(--fg); color: var(--bg);
  padding: 10px 18px; border-radius: var(--radius-pill);
  font-size: 14px; font-weight: 600;
  transition: top 120ms var(--ease-out);
}
.skip:focus-visible { top: 12px; }

/* ─── type ──────────────────────────────────────────────────────── */
.h1, h1 {
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-h1); line-height: 1.1;
  letter-spacing: 0.01em; text-transform: uppercase;
  margin: 0;
}
.h2, h2 {
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-h2); line-height: 1.1;
  letter-spacing: 0.01em; text-transform: uppercase;
  margin: 0;
}
.h3, h3 {
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-h3); line-height: 1.3;
  letter-spacing: 0.06em; text-transform: uppercase;
  margin: 0;
}
.lead   { font-size: var(--fs-lead); line-height: 1.6; color: var(--muted); max-width: 56ch; margin: 0; }
.eyebrow {
  font-family: var(--font-mono);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 var(--gap-md);
}
.meta { font-family: var(--font-mono); font-size: var(--fs-meta); color: var(--muted); }
.num  { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.cursor-mark { color: var(--accent); }

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