/* Hallmark · tokens · custom sea-salt café system */
:root {
  --color-paper: oklch(99% 0.009 95);
  --color-paper-2: oklch(96% 0.018 82);
  --color-paper-3: oklch(92% 0.025 73);
  --color-ink: oklch(18% 0.012 65);
  --color-ink-2: oklch(27% 0.018 62);
  --color-muted: oklch(45% 0.026 60);
  --color-rule: oklch(78% 0.026 72);
  --color-rule-2: oklch(87% 0.022 78);
  --color-coral: oklch(72% 0.16 13);
  --color-pink: oklch(67% 0.16 355);
  --color-blue: oklch(75% 0.14 232);
  --color-green: oklch(55% 0.11 153);
  --color-orange: oklch(77% 0.16 70);
  --color-gold: oklch(78% 0.13 85);
  --color-gold-dark: oklch(58% 0.09 82);
  --color-wood: oklch(67% 0.07 62);
  --color-indigo: oklch(38% 0.08 255);
  --color-charcoal: oklch(18% 0.008 70);
  --color-charcoal-2: oklch(24% 0.012 68);
  --color-night-ink: oklch(96% 0.012 88);
  --color-accent: var(--color-pink);
  --color-accent-strong: oklch(58% 0.18 355);
  --color-accent-ink: var(--color-charcoal);
  --color-focus: oklch(48% 0.18 232);
  --color-focus-light: oklch(90% 0.08 88);
  --color-success: oklch(48% 0.14 153);
  --color-error: oklch(55% 0.20 28);
  --color-overlay: oklch(12% 0.012 65 / 0.52);
  --color-overlay-strong: oklch(10% 0.012 65 / 0.82);

  --font-display: "Noto Serif SC", "Songti SC", serif;
  --font-body: "Noto Sans SC", "PingFang SC", sans-serif;

  --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: 4rem;
  --space-4xl: 6rem;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.25rem;
  --text-lg: 1.5625rem;
  --text-xl: 1.953rem;
  --text-2xl: 2.441rem;
  --text-3xl: 3.052rem;
  --text-display-s: clamp(2.35rem, 7vw, 4.4rem);
  --text-display: clamp(2.65rem, 8vw, 5.25rem);

  --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: 200ms;
  --dur-long: 420ms;

  --rule-hair: 1px;
  --rule-strong: 2px;
  --rule-double: 3px;
  --radius-xs: 0.25rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-pill: 999px;

  --shadow-soft: 0 1.25rem 3rem -2rem color-mix(in oklch, var(--color-indigo) 40%, transparent);
  --shadow-float: 0 1rem 2.5rem -1.25rem color-mix(in oklch, var(--color-charcoal) 38%, transparent);
  --page: 86rem;
  --reading: 68ch;
  --gutter: clamp(1rem, 4vw, 2rem);
  --nav-height: 4.5rem;
  --banner-height: 4.5rem;
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 40;
  --z-sticky-nav: 60;
  --z-modal: 100;
}

@media (min-width: 40rem) {
  :root {
    --nav-height: 7rem;
    --banner-height: 7rem;
  }
}
