/* Hallmark · genre: editorial · macrostructure: Photographic (08) · theme: custom
 * vibe: "sun-warmed concrete, charcoal ink, clay accent — a stonemason's paper"
 * paper: oklch(97% 0.012 80) · accent: oklch(58% 0.16 45) warm-clay · studied: no
 * display: Fraunces (serif, wt 600-680) · body: Switzer · outlier: JetBrains Mono
 * nav: adapted-N1 (wordmark + link row + CTA — practical multi-destination business nav,
 *      deviates from editorial default N6 masthead; hairline not floating-pill/shadow)
 * footer: Ft1 Mast-headed, extended with a quiet info band (address/registry/links)
 * axes: paper-band=light · display-style=roman-serif · accent-hue=warm(45°)
 */

:root {
  /* ---------- colour — warm stone / charcoal / clay anchor (hue 45-80) ---------- */
  --color-paper:        oklch(97%  0.012 80);
  --color-paper-2:       oklch(94%  0.014 79);
  --color-paper-3:       oklch(91%  0.015 78);
  --color-rule:          oklch(85%  0.014 78);
  --color-rule-strong:   oklch(74%  0.016 76);
  --color-neutral:       oklch(58%  0.012 75);
  --color-muted:         oklch(42%  0.014 70);
  --color-ink:           oklch(19%  0.012 60);
  --color-ink-2:         oklch(27%  0.014 56);

  --color-accent:        oklch(58%  0.16  45);
  --color-accent-2:      oklch(67%  0.14  50);
  --color-accent-ink:    oklch(24%  0.05  45);
  --color-focus:         oklch(62%  0.18  45);

  /* dark surfaces — footer, nav-on-dark, hero scrim, portfolio band */
  --color-paper-dark:    oklch(17%  0.012 60);
  --color-paper-dark-2:  oklch(22%  0.014 58);
  --color-paper-dark-3:  oklch(27%  0.015 56);
  --color-ink-dark:      oklch(95%  0.008 78);
  --color-muted-dark:    oklch(72%  0.012 74);
  --color-rule-dark:     oklch(34%  0.015 58);

  --color-success:       oklch(56% 0.13 145);
  --color-error:         oklch(56% 0.17 25);

  /* ---------- type ---------- */
  --font-display: "Fraunces", ui-serif, Georgia, serif;
  --font-body:    "Switzer", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-outlier: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;

  --text-xs:   0.75rem;     /* 12px — smallest legible size on phones */
  --text-sm:   0.85rem;     /* 13.6px  */
  --text-base: 1rem;        /* 16px    */
  --text-md:   1.2rem;      /* 19.2px  */
  --text-lg:   1.45rem;     /* 23.2px  */
  --text-xl:   1.85rem;     /* 29.6px  */
  --text-2xl:  2.35rem;
  --text-3xl:  2.95rem;
  --text-4xl:  3.7rem;
  --text-display:   clamp(2.6rem, 4.4vw + 1rem, 4.6rem);
  --text-display-s: clamp(2.1rem, 3vw + 1rem, 3.3rem);

  /* ---------- 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;

  /* ---------- 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-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  460ms;

  /* ---------- misc ---------- */
  --radius-sm: 2px;
  --radius-md: 4px;
  --shadow-whisper: 0 1px 2px oklch(20% 0.01 60 / 0.06);
  --shadow-hairline: 0 0 0 1px oklch(30% 0.01 60 / 0.08);
  --measure: 62ch;

  --z-base:     1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;
  --z-tooltip:  600;
}
