/* Hallmark · genre: editorial · macrostructure: Quote-Led · H3 knobs: weight=roman display, attribution=under quote, length=80–160
 * theme: custom (tuned) · vibe: "ivory paper, verdigris copper, wiring-diagram ink"
 * paper oklch(96.8% 0.007 95) · accent oklch(48% 0.084 186) verdigris (sRGB ceiling for this hue at a white-text-safe L is ~0.085)
 * display: Newsreader (variable, opsz) · body: IBM Plex Sans (variable) · axes: light / roman-serif / cool (verdigris 186)
 * nav: N6 masthead · footer: Ft2 inline single line · CTA: C4 sticky bottom bar (phones) · proof: T1 pull quotes with marginalia
 * studied: no · context: inferred (lead said "go ahead")
 */
@font-face {
  font-family: "Newsreader";
  src: url("fonts/Newsreader.woff2") format("woff2");
  font-weight: 200 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("fonts/IBMPlexSans.woff2") format("woff2");
  font-weight: 100 700; font-style: normal; font-display: swap;
}

:root {
  /* colour: ivory paper, ink with a cool cast, one verdigris accent for the call action, links and focus */
  --color-paper:       oklch(96.8% 0.007 95);
  --color-paper-2:     oklch(93.8% 0.010 100);
  --color-paper-3:     oklch(90.5% 0.012 100);
  --color-ink:         oklch(21.5% 0.014 210);
  --color-ink-2:       oklch(40.5% 0.016 205);
  --color-rule:        oklch(84% 0.012 150);
  --color-rule-strong: oklch(70% 0.014 180);
  --color-accent:      oklch(48% 0.084 186);
  --color-accent-deep: oklch(41% 0.070 188);
  --color-accent-ink:  oklch(97.5% 0.008 95);
  --color-focus:       oklch(52% 0.086 200);
  --color-bar:         oklch(21.5% 0.014 210);
  --color-on-bar:      oklch(96.8% 0.007 95);
  --color-on-bar-2:    oklch(82% 0.012 190);

  /* type */
  --font-display: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --font-body: "IBM Plex Sans", "Segoe UI", -apple-system, system-ui, sans-serif;
  --text-xs: 0.8125rem;
  --text-sm: 0.875rem;
  --text-base: 1.0625rem;
  --text-md: 1.25rem;
  --text-lg: 1.5rem;
  --text-xl: clamp(1.875rem, 1.45rem + 1.9vw, 2.75rem);
  --text-quote: clamp(1.5rem, 1.05rem + 2.1vw, 2.875rem);
  --text-mast: clamp(1.95rem, 1.35rem + 2.8vw, 3.625rem);

  /* space: 4 pt scale */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --page-gutter: clamp(1.125rem, 0.6rem + 2.4vw, 2.5rem);
  --page-max: 76rem;

  /* shape + rules */
  --radius-sm: 3px;
  --rule-hair: 1px;
  --rule-heavy: 2px;

  /* layers */
  --z-sticky: 200;

  /* motion: buttons only, nothing on scroll */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
}
