/* Hallmark · BRZK portfolio · tokens
 * theme: Midnight (atmospheric cluster · warm-anchored void)
 * paper-band: dark · display-style: geometric-sans · accent-hue: warm
 */

:root {
  /* ── Colour · OKLCH only · warm anchor at hue 30 ─────────────────────── */
  --color-paper:        oklch(12% 0.010 30);   /* deep void base */
  --color-paper-2:      oklch(16% 0.012 30);   /* elevated surface */
  --color-paper-3:      oklch(20% 0.014 30);   /* card / inset */
  --color-rule:         oklch(28% 0.012 30);   /* hairline */
  --color-rule-2:       oklch(36% 0.010 30);   /* stronger hairline */
  --color-neutral:      oklch(58% 0.008 30);   /* dim text */
  --color-muted:        oklch(74% 0.006 30);   /* secondary text */
  --color-ink-2:        oklch(86% 0.006 60);   /* near-primary */
  --color-ink:          oklch(95% 0.006 60);   /* primary text */

  --color-accent:       oklch(72% 0.18 35);    /* warm ember · the single bloom */
  --color-accent-soft:  oklch(60% 0.14 30);    /* dimmer ember for blooms */
  --color-accent-ink:   oklch(14% 0.012 30);   /* text on accent fill (paper-equivalent) */
  --color-focus:        oklch(80% 0.18 40);    /* focus ring · ≥ 3:1 vs paper + accent */

  /* ── Atmospheric blooms · single warm hue family · fixed canvas ──────── */
  --bloom-1:            oklch(58% 0.16 30 / 0.22);
  --bloom-2:            oklch(46% 0.14 25 / 0.16);

  /* ── Typography · Geist + Geist Mono (2+1 ceiling) ───────────────────── */
  --font-display: "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-body:    "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-outlier: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* ── Scale · major third (1.25) from 16 px ───────────────────────────── */
  --text-xs:        0.75rem;     /* 12 px */
  --text-sm:        0.875rem;    /* 14 px */
  --text-base:      1rem;        /* 16 px */
  --text-md:        1.125rem;    /* 18 px */
  --text-lg:        1.375rem;    /* 22 px */
  --text-xl:        1.75rem;     /* 28 px */
  --text-2xl:       2.25rem;     /* 36 px */
  --text-3xl:       2.875rem;    /* 46 px */
  --text-4xl:       3.625rem;    /* 58 px */
  --text-display-s: clamp(2rem, 4vw + 1rem, 3.5rem);
  --text-display:   clamp(2.5rem, 6vw + 1rem, 5.25rem);

  /* ── Spacing · 4 pt scale · named by role ────────────────────────────── */
  --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 · fluid ─────────────────────────────────────────────── */
  --page-gutter:  clamp(1.25rem, 4vw + 0.5rem, 4rem);
  --page-max:     88rem;

  /* ── Rules ───────────────────────────────────────────────────────────── */
  --rule-hair:    1px;
  --rule-thick:   2px;
  --radius-sm:    0.25rem;
  --radius-md:    0.5rem;

  /* ── 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:    110ms;   /* 0.9× of 120 ms (Midnight theme multiplier) */
  --dur-short:    200ms;
  --dur-long:     380ms;

  /* ── Z-index · six named levels ──────────────────────────────────────── */
  --z-base:       1;
  --z-raised:     10;
  --z-dropdown:   100;
  --z-sticky:     200;
  --z-modal:      400;
  --z-toast:      500;
}
