/* Kitefold Studio web tokens, generated from design_system/design_system.json v1.2. Light only (no dark mode). */
@font-face{font-family:'Fredoka';src:url('../fonts/Fredoka-Regular.subset.woff2?v=cb29ed6caa') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Fredoka';src:url('../fonts/Fredoka-Bold.subset.woff2?v=f52734e64b') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Nunito';src:url('../fonts/Nunito-Regular.subset.woff2?v=7fe2a6602b') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Nunito';src:url('../fonts/Nunito-Bold.subset.woff2?v=ecc7266ab4') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Patrick Hand';src:url('../fonts/PatrickHand-Regular.subset.woff2?v=1fac9d0552') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
  /* palette (design_system.json colors) */
  --color-ink: #2b2d42;
  --color-paper: #ffffff;
  --color-level-1: #f2a541;
  --color-level-2: #2a9d8f;
  --color-level-3: #6d4c9f;
  --color-accent: #e4572e;
  --color-muted: #8d99ae;
  --color-coloring-outline: #5c677d;
  --color-paper-tint: #eef2f7;
  --color-ks-red: #b8323a;
  --color-ks-red-dark: #8e2430;
  --color-ks-green: #2e6b4a;
  --color-ks-green-light: #7fb08f;
  --color-ks-gold: #d4a23c;
  --color-ks-gold-light: #f2d58a;
  --color-ks-night: #1d2b4a;
  --color-ks-night-light: #3d5284;
  --color-ks-sky: #cfe0ef;
  --color-ks-snow: #f3f7fb;
  --color-ks-cream: #fbf3e4;
  --color-ks-sand: #e9d5b0;
  --color-ks-wood: #8a5a3b;
  /* web-only, contrast-safe text variants */
  --color-accent-strong: #b83d1b;
  --color-level-2-strong: #1f7a6f;
  --color-text-muted: #5c677d;
  --color-ink-hover: #1d1f30;
  --color-line: #d9d4c7;
  /* semantic */
  --bg: var(--color-paper); --bg-alt: var(--color-ks-cream); --text: var(--color-ink); --text-muted: var(--color-text-muted);
  --link: var(--color-ink); --link-hover: var(--color-accent-strong); --focus: var(--color-accent-strong);
  --btn-primary-bg: var(--color-ink); --btn-primary-fg: #ffffff; --btn-etsy-bg: var(--color-accent-strong); --btn-etsy-fg: #ffffff;
  --badge-now-bg: var(--color-accent-strong); --badge-soon-bg: var(--color-text-muted); --badge-fg: #ffffff;
  /* type */
  --font-heading: 'Fredoka', system-ui, sans-serif; --font-body: 'Nunito', system-ui, sans-serif; --font-hand: 'Patrick Hand', 'Nunito', sans-serif;
  --fs-display: clamp(2.5rem, 1.6rem + 3.6vw, 4rem); --fs-h1: clamp(2.125rem, 1.5rem + 2.4vw, 3.25rem); --fs-h2: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);
  --fs-h3: 1.375rem; --fs-body: 1.125rem; --fs-small: 0.9375rem; --fs-tiny: 0.8125rem;
  --lh-tight: 1.15; --lh-body: 1.6; --fw-regular: 400; --fw-bold: 700;
  /* space (4 px base) */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px; --space-10: 128px;
  /* shape */
  --radius-s: 8px; --radius-m: 14px; --radius-l: 22px; --radius-pill: 999px; --border: 2px solid var(--color-ink);
  --shadow-paper: 0 10px 24px rgba(43,45,66,.14), 0 2px 4px rgba(43,45,66,.08); --shadow-card: 0 4px 0 rgba(43,45,66,.10);
  /* layout */
  --container: 1200px; --gutter: 24px; --bp-tablet: 640px; --bp-desktop: 1024px;
  --focus-ring: 0 0 0 3px #ffffff, 0 0 0 6px var(--focus);
}
