/* Hallmark · tokens · genre: editorial · theme: Sport
 * axes — paper band: light (L 96.5%) · display: display-condensed (roman) · accent: warm (hue 32)
 * Palette anchored on the MH Autokorjaamo logo: oxblood #6C0C00, azure #00A8F0.
 * Portable design system for MH Autokorjaamo. Every colour and font in styles.css
 * references a token from this file. No inline values anywhere.
 */

:root {
  /* ---- Type ------------------------------------------------------------ */
  --font-display: "Big Shoulders Display", "Arial Narrow", ui-sans-serif, sans-serif;
  --font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  /* Outlier — one role only: machine-set data (price sheet figures + colophon) */
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;

  /* ---- Scale — major third (1.25) from 16px ---------------------------- */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.25rem;
  --text-lg: 1.5625rem;
  --text-xl: 1.9531rem;
  --text-2xl: 2.4414rem;
  --text-3xl: 3.0518rem;
  --text-4xl: 3.8147rem;
  --text-display-s: clamp(2.25rem, 4vw + 0.75rem, 3.75rem);
  --text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);

  /* ---- Colour — OKLCH, warm anchor ------------------------------------- */
  --color-paper: oklch(96.5% 0.008 65);
  --color-paper-2: oklch(93.5% 0.010 65);
  --color-paper-3: oklch(90% 0.012 62);
  --color-rule: oklch(84% 0.012 60);
  --color-rule-2: oklch(76% 0.014 58);
  --color-neutral: oklch(52% 0.012 55);
  --color-muted: oklch(42% 0.014 50);
  --color-ink-2: oklch(30% 0.018 48);
  --color-ink: oklch(21% 0.018 48);

  /* Accent — the logo's oxblood (#6C0C00). Hairlines, numerals, marks.
     Never a large fill. */
  --color-accent: oklch(38% 0.145 32);
  /* Accent-deep — the only accent value allowed to carry text on top of it. */
  --color-accent-deep: oklch(32% 0.130 32);
  --color-accent-ink: oklch(99% 0.008 60);

  /* Marker — the logo's azure (#00A8F0), the same blue the mechanic draws
     the fault circle with. Used only where the page points at something. */
  --color-marker: oklch(67% 0.150 235);
  --color-marker-deep: oklch(48% 0.145 240);

  --color-focus: var(--color-marker-deep);
  --color-error: oklch(46% 0.190 25);
  --color-ok: oklch(45% 0.110 150);

  /* ---- Space — 4pt scale ----------------------------------------------- */
  --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;
  --page-gutter: clamp(1.125rem, 4vw, 3.5rem);
  --content-max: 82rem;
  /* Gutter that also holds the content to --content-max on wide monitors.
     Below that width the max() falls back to the plain gutter. */
  --gutter-x: max(var(--page-gutter), calc((100% - var(--content-max)) / 2));
  --measure: 62ch;

  /* ---- Rules ----------------------------------------------------------- */
  --rule-hair: 1px;
  --rule-thick: 3px;
  --radius-none: 0;
  --radius-sm: 2px;

  /* ---- Motion — Sport runs at 0.7x, sharp ------------------------------ */
  --dur-micro: 90ms;
  --dur-short: 160ms;
  --dur-long: 300ms;
  --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);

  /* ---- Depth ----------------------------------------------------------- */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;
  --shadow-hairline: 0 0 0 1px oklch(30% 0.01 48 / 0.06);
}
