/* Hallmark · genre: modern-minimal · macrostructure: Marquee Hero · theme: custom (dark hero + cool white + brand gold)
 * nav: N9 edge-aligned dark · footer: Ft2 inline minimal · design-system: design.md · designed-as-app
 * pre-emit critique: P5 H5 E4 S4 R5 V5
 */

:root {
  /* === Hero / dark surfaces ====================================== */
  --color-hero:         oklch(11% 0.008 260);
  --color-hero-2:       oklch(15% 0.008 260);
  --color-hero-ink:     oklch(96% 0.006 85);
  --color-hero-sub:     oklch(68% 0.005 260);
  --color-hero-rule:    oklch(22% 0.006 260);

  /* === Body / light surfaces ===================================== */
  --color-paper:        oklch(98% 0.005 250);
  --color-paper-2:      oklch(94% 0.006 250);
  --color-paper-3:      oklch(99% 0.003 250);
  --color-ink:          oklch(13% 0.008 260);
  --color-ink-2:        oklch(42% 0.008 260);
  --color-ink-3:        oklch(62% 0.008 260);
  --color-rule:         oklch(89% 0.005 250);

  /* === Accent (brand gold) ======================================= */
  --color-accent:       oklch(82% 0.17 85);
  --color-accent-dim:   oklch(76% 0.14 85);
  --color-accent-ink:   oklch(14% 0.02 80);
  --color-accent-wash:  oklch(82% 0.17 85 / 0.10);

  /* === Semantic ================================================== */
  --color-success:      oklch(53% 0.14 150);
  --color-error:        oklch(52% 0.17 25);
  --color-focus:        oklch(55% 0.18 265);
  --color-paper-nav:    oklch(11% 0.008 260 / 0.88);
  --color-paper-sticky: oklch(98% 0.005 250 / 0.96);

  /* === Typography ================================================ */
  --font-display:  "Geist", ui-sans-serif, system-ui, sans-serif;
  --font-body:     "Geist", ui-sans-serif, system-ui, sans-serif;
  --font-wordmark: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;

  /* === Type scale (major third · 1.25×) ========================= */
  --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-s: clamp(2rem, 3.5vw + 0.75rem, 3rem);
  --text-display:   clamp(2.75rem, 5vw + 1rem, 5rem);
  --text-hero:      clamp(2.75rem, 5.5vw + 1rem, 5.5rem);

  /* === Spacing (4pt scale) ======================================= */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs:  0.75rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;

  /* === 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.83, 0, 0.17, 1);
  --dur-short:   200ms;
  --dur-medium:  320ms;

  /* === Layout ==================================================== */
  --maxw:        1080px;
  --maxw-narrow: 680px;
  --radius-btn:  6px;
  --radius-card: 10px;
}
