/* Hallmark · genre: editorial · macrostructure: Split Studio / Long Document · theme: custom smoked-amber glass · enrichment: real office imagery + restrained glass · motion: restrained reveals + static ambient light · nav: N5 floating pill · footer: rounded location shell · contrast: pass (46–50) · honest: pass (56) · chrome: pass (57) · tokens: pass (58) · mobile: pass (36,59,61–69) · critique: P4 H4 E4 S4 R5 V4 */
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/newsreader-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fonts/newsreader-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/newsreader-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/ibm-plex-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/ibm-plex-mono-latin-700-normal.woff2") format("woff2"); }

:root {
  color-scheme: dark;

  --color-paper: oklch(13.5% 0.018 63);
  --color-paper-2: oklch(16.5% 0.021 63);
  --color-paper-3: oklch(21% 0.024 63);
  --color-paper-4: oklch(27% 0.025 63);
  --color-ink: oklch(96% 0.021 83);
  --color-ink-2: oklch(89% 0.031 82);
  --color-muted: oklch(76% 0.04 78);
  --color-muted-2: oklch(65% 0.034 75);
  --color-rule: oklch(58% 0.055 78 / 0.32);
  --color-rule-strong: oklch(70% 0.078 78 / 0.52);
  --color-accent: oklch(78% 0.127 79);
  --color-accent-ink: oklch(15% 0.02 58);
  --color-focus: oklch(83% 0.142 83);
  --color-error: oklch(72% 0.16 31);
  --color-success: oklch(72% 0.12 142);
  --color-glass: oklch(20% 0.025 63 / 0.62);
  --color-glass-strong: oklch(17% 0.026 63 / 0.82);
  --color-glass-soft: oklch(98% 0.011 84 / 0.055);
  --color-overlay-hero: oklch(12% 0.018 63 / 0.84);
  --color-overlay-hero-soft: oklch(12% 0.018 63 / 0.46);
  --color-overlay-hero-mobile: oklch(10.5% 0.018 63 / 0.9);
  --color-overlay-hero-mobile-soft: oklch(10.5% 0.018 63 / 0.74);
  --color-motion-ambient: oklch(78% 0.127 79 / 0.105);
  --color-motion-glow: oklch(78% 0.127 79 / 0.18);
  --color-motion-glow-strong: oklch(82% 0.135 82 / 0.26);
  --color-motion-line: oklch(78% 0.127 79 / 0.46);

  --font-display: "Newsreader", "Iowan Old Style", Georgia, serif;
  --font-body: "IBM Plex Sans", Aptos, "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", ui-monospace, monospace;

  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.375rem;
  --text-xl: 1.75rem;
  --text-2xl: 2.25rem;
  --text-3xl: 3rem;
  --text-display: clamp(2.65rem, 4.6vw + 0.7rem, 5.2rem);
  --text-display-small: clamp(2.05rem, 3.4vw + 0.6rem, 3.8rem);

  --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;
  --dur-long: 420ms;
  --dur-page: 560ms;
  --dur-hero: 980ms;
  --motion-rise: clamp(10px, 1.35vw, 18px);
  --motion-lift: -2px;

  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --radius-pill: 999px;
  --rule-hairline: 1px;
  --shadow-raised: 0 28px 90px oklch(4% 0.01 63 / 0.48);
  --shadow-soft: 0 16px 44px oklch(4% 0.01 63 / 0.34);
  --color-shadow-logo: oklch(4% 0.01 63 / 0.38);
  --color-shadow-portrait: oklch(4% 0.01 63 / 0.44);

  --max: 1180px;
  --header-h: 76px;
  --z-base: 1;
  --z-sticky: 200;
  --z-tooltip: 600;
}
