/* Hallmark · genre: editorial · macrostructure: Photographic · theme: custom "Archive"
 * nav: N9 edge-aligned · footer: Ft5 statement · enrichment: none (real photography)
 * vibe: "gallery bone paper, ink, work is the only colour"
 * paper oklch(95% 0.005 85) · accent oklch(43% 0.13 30) burnt-oxblood
 * axes: light paper · roman-serif display · warm accent
 * pre-emit critique: P5 H5 E4 S5 R5 V5
 */

:root {
  /* ── colour ── */
  --color-paper:    oklch(95%  0.005  85);   /* warm bone, never #fff */
  --color-paper-2:  oklch(91%  0.006  85);
  --color-paper-3:  oklch(87%  0.007  85);
  --color-ink:      oklch(17%  0.008  60);   /* warm near-black, never #000 */
  --color-ink-2:    oklch(43%  0.007  65);
  --color-ink-3:    oklch(60%  0.006  70);
  --color-rule:     oklch(85%  0.005  85);
  --color-accent:   oklch(43%  0.13   30);   /* oxblood — links + focus only, <2% */
  --color-focus:    oklch(43%  0.13   30);
  --color-well:     oklch(13%  0.010  60);   /* dark band behind night work */

  /* ── type ── */
  --font-display: "Newsreader", ui-serif, Charter, Georgia, serif;
  --font-body:    "Geist", ui-sans-serif, system-ui, sans-serif;
  --font-outlier: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* perfect fourth, 1.333 */
  --text-xs:        0.75rem;
  --text-sm:        0.875rem;
  --text-base:      1rem;
  --text-lg:        1.333rem;
  --text-xl:        1.777rem;
  --text-2xl:       2.369rem;
  --text-3xl:       3.157rem;
  --text-4xl:       4.209rem;
  --text-display-s: clamp(2.4rem, 5vw + 0.4rem, 4.2rem);
  --text-display:   clamp(3rem, 8vw + 0.5rem, 7rem);

  /* ── space · 4pt ── */
  --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: 6rem;
  --space-3xl: 9rem;

  /* ── line ── */
  --rule-hair: 1px solid var(--color-rule);
  --rule-ink:  1px solid var(--color-ink);

  /* ── motion ── */
  --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-fast:    140ms;
  --dur-base:    260ms;
  --dur-slow:    620ms;

  --radius-none: 0;
}
