/* Hallmark · macrostructure: timetable ledger · tone: brushed, punctual, unhurried · anchor hue: 195 (teal) */
/* The only file with raw values. Source of truth: docs/DESIGN-SYSTEM.md */

@font-face {
  font-family: "Space Grotesk";
  src: url("/fonts/space-grotesk-latin-var.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/fonts/plus-jakarta-sans-latin-var.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Space Mono";
  src: url("/fonts/space-mono-latin-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Space Mono";
  src: url("/fonts/space-mono-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: dark;

  --c-bg: oklch(0.165 0.008 270);
  --c-surface: oklch(0.205 0.009 270);
  --c-surface-high: oklch(0.245 0.010 270);
  --c-line: oklch(0.78 0.02 250 / 0.16);
  --c-line-strong: oklch(0.78 0.02 250 / 0.32);
  --c-text: oklch(0.95 0.006 220);
  --c-text-2: oklch(0.80 0.015 250);
  --c-text-3: oklch(0.66 0.015 250);
  --c-teal: oklch(0.80 0.125 195);
  --c-teal-hover: oklch(0.86 0.11 192);
  --c-teal-press: oklch(0.70 0.115 198);
  --c-teal-soft: oklch(0.80 0.125 195 / 0.14);
  --c-gold: oklch(0.82 0.12 85);
  --c-alert: oklch(0.74 0.15 35);
  --c-alert-soft: oklch(0.74 0.15 35 / 0.14);
  --c-on-accent: oklch(0.17 0.01 270);
  --c-flap-top: oklch(0.235 0.008 280);
  --c-flap-bottom: oklch(0.205 0.008 280);
  --c-flap-seam: oklch(0.08 0.005 280);
  --c-board-well: oklch(0.12 0.006 270);
  --c-alu-hi: oklch(0.88 0.008 250);
  --c-alu-mid: oklch(0.66 0.012 250);
  --c-alu-lo: oklch(0.40 0.010 250);
  --c-shadow: oklch(0 0 0 / 0.5);
  --c-grain: oklch(1 0 0 / 0.06);
  --c-grain-dark: oklch(0 0 0 / 0.07);

  --font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  --font-flap: "Space Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --text-display: clamp(2.4rem, 1.2rem + 5.4vw, 6rem);
  --text-h2: clamp(1.9rem, 1.2rem + 2.6vw, 3.4rem);
  --text-h3: clamp(1.2rem, 1rem + 0.7vw, 1.5rem);
  --text-lead: clamp(1.125rem, 1rem + 0.45vw, 1.375rem);
  --text-body: 1.0625rem;
  --text-small: 0.9375rem;
  --text-mono: 0.875rem;
  --text-price: clamp(2.6rem, 2rem + 2vw, 3.6rem);
  --leading-tight: 1.02;
  --leading-heading: 1.12;
  --leading-body: 1.6;
  --tracking-display: -0.025em;
  --tracking-mono: 0.04em;

  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6.5rem;
  --section-pad: clamp(4rem, 2.5rem + 6vw, 9rem);
  --gutter: clamp(1rem, 0.5rem + 2.5vw, 3rem);
  --container: min(84rem, 100% - 2 * var(--gutter));
  --rail: clamp(4rem, 1rem + 6vw, 7rem);
  --measure: 62ch;
  --radius-sm: 0.375rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.25rem;
  --tap: 2.75rem;
  --ring: 2px;
  --ring-offset: 3px;

  --duration-state: 120ms;
  --ease-state: cubic-bezier(0.2, 0, 0, 1);

  --z-base: 0;
  --z-raised: 10;
  --z-sticky: 20;
  --z-skip: 100;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-state: 0ms;
  }
}
