/* Hallmark · tokens · theme: custom "Giftwrap" — vibe: giftwrap warmth, handwritten card, quietly musical
 * anchor: paper oklch(96.8% 0.014 78) · ink oklch(23% 0.016 30) · accent (raspberry) oklch(47% 0.155 358)
 * contrast (WCAG): ink/paper 15.4 · muted/paper 6.0 · muted/paper-3 4.9 · accent/paper 6.8 · accent-ink/accent 7.0 · rule-2/paper 3.9 · focus/paper 12.5
 */
@font-face { font-family: "Fraunces LA"; src: url(/fonts/fraunces-latin.woff2) format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fraunces LA"; src: url(/fonts/fraunces-latin-ext.woff2) format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plex LA"; src: url(/fonts/plex-latin-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plex LA"; src: url(/fonts/plex-latin-500.woff2) format("woff2"); font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plex LA"; src: url(/fonts/plex-latin-600.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plex LA"; src: url(/fonts/plex-latin-400-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F; }
@font-face { font-family: "Plex LA"; src: url(/fonts/plex-latin-ext-400.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plex LA"; src: url(/fonts/plex-latin-ext-500.woff2) format("woff2"); font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plex LA"; src: url(/fonts/plex-latin-ext-600.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C0, U+2C60-2C7F, U+A720-A7FF; }

:root {
  color-scheme: light;

  --font-display: "Fraunces LA", ui-serif, Georgia, serif;
  --font-body: "Plex LA", ui-sans-serif, sans-serif;

  --color-paper: oklch(96.8% 0.014 78);
  --color-paper-2: oklch(94% 0.018 75);
  --color-paper-3: oklch(90.5% 0.024 72);
  --color-ink: oklch(23% 0.016 30);
  --color-ink-2: oklch(38% 0.016 35);
  --color-muted: oklch(48% 0.014 45);
  --color-rule: oklch(87% 0.016 65);
  --color-rule-2: oklch(58% 0.016 50);
  --color-accent: oklch(47% 0.155 358);
  --color-accent-2: oklch(41% 0.145 358);
  --color-accent-3: oklch(37% 0.13 358);
  --color-accent-tint: oklch(92.5% 0.035 358);
  --color-accent-ink: oklch(98% 0.008 78);
  --color-focus: oklch(30% 0.09 260);
  --color-error: oklch(50% 0.17 32);
  --color-error-tint: oklch(94.5% 0.025 40);
  --color-success: oklch(46% 0.1 150);
  --color-shadow: oklch(23% 0.016 30 / 0.12);

  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px;
  --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px; --space-32: 128px;

  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-md: 1.0625rem;
  --text-lg: clamp(1.1875rem, 1.1rem + 0.4vw, 1.375rem);
  --text-xl: clamp(1.625rem, 1.35rem + 1.3vw, 2.375rem);
  --text-2xl: clamp(2.375rem, 1.6rem + 3.6vw, 4.375rem);

  --radius-sm: 4px; --radius-md: 8px; --radius-pill: 999px;
  --control-h: 48px;

  --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-instant: 100ms; --dur-short: 180ms; --dur-med: 280ms; --dur-long: 450ms;

  --page-gutter: clamp(16px, 4.5vw, 56px);
  --maxw: 1180px;
  --measure: 60ch;

  --z-raised: 10; --z-sticky: 100; --z-overlay: 1000; --z-toast: 1200;
}
