/* Hallmark · genre: modern-minimal · macrostructure: Split Studio · theme: Cobalt · enrichment: code-hero (Tier B) · nav: N1b-bordered · footer: Ft2
 * Hallmark · pre-emit critique: P5 H5 E5 S4 R5 V5
 * paper band: light (L 98.5%) · display: grotesk-sans (Space Grotesk) · accent: electric cobalt (H 256) */

:root {
  /* palette — cool engineered paper */
  --color-paper:        oklch(98.5% 0.004 250);
  --color-paper-2:      oklch(96% 0.005 250);
  --color-ink:          oklch(24% 0.02 258);
  --color-ink-2:        oklch(34% 0.018 257);
  --color-muted:        oklch(56% 0.012 258);
  --color-rule:         oklch(90% 0.006 255);
  --color-rule-2:       oklch(84% 0.008 255);
  --color-accent:       oklch(58% 0.20 256);
  --color-accent-hover: oklch(54% 0.20 256);
  --color-accent-ink:   oklch(98.5% 0.004 250);
  --color-focus:        oklch(58% 0.20 256);
  --color-graphite:     oklch(22% 0.016 260);
  --color-graphite-2:   oklch(27% 0.016 260);
  --color-graphite-ink: oklch(91% 0.006 255);
  --color-graphite-mut: oklch(67% 0.008 255);
  --shadow-lift:    oklch(24% 0.02 258 / 0.05);
  --shadow-palette: oklch(24% 0.02 258 / 0.3);
  --scrim:          oklch(24% 0.02 258 / 0.4);

  /* type */
  --font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, monospace;

  /* 4pt spacing scale */
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2rem;
  --space-2xl: 3rem;
  --space-3xl: 4.5rem;
  --space-4xl: 6.5rem;
  --page-gutter: clamp(1.25rem, 4vw, 3rem);

  /* type scale — major third */
  --text-xs:   0.64rem;
  --text-sm:   0.8rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.9531rem;
  --text-2xl:  2.4414rem;
  --text-3xl:  3.0518rem;
  --text-display:   clamp(2.5rem, 5vw + 0.5rem, 4.75rem);
  --text-display-s: clamp(1.75rem, 3vw + 0.75rem, 3rem);

  /* easing */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.55, 0.06, 0.68, 0.19);
  --ease-in-out: cubic-bezier(0.65, 0.05, 0.36, 1);

  /* duration */
  --dur-fast: 120ms;
  --dur-short: 200ms;
  --dur-med:  320ms;
  --dur-slow: 600ms;

  /* rules & radius — drawn with a ruler */
  --rule-hair: 1px;
  --rule-thick: 2px;
  --radius-sm: 6px;
  --radius-md: 10px;

  /* tracking */
  --tracking-micro: 0.06em;
}