/* the crumble — design tokens (from the crumble design system, tokens.json) */
:root, [data-theme="light"] {
  --crumble-brown: #6f3607;
  --crumble-cream: #feebcd;
  --cup-cocoa: #4b2e1b;
  --peach: #ffdec3;
  --caramel: #cb9d43;
  --rose-petal: #972a48;
  --surface: #fff7eb;
  --surface-peach: var(--peach);
  --surface-blush: #fff5f3;
  --surface-sand: #f2eadf;
  --surface-raised: #ffffff;
  --surface-inverse: var(--cup-cocoa);
  --frame: #ffffff;
  --ink: #23160d;
  --ink-muted: #756060;
  --ink-inverse: #fff7eb;
  --ink-on-photo: #ffffff;
  --brand: var(--crumble-brown);
  --brand-hover: #582a04;
  --on-brand: var(--crumble-cream);
  --accent: var(--rose-petal);
  --on-accent: #fff7eb;
  --line: var(--ink);
  --line-soft: rgba(35, 22, 13, 0.16);
  --focus: var(--crumble-brown);
  --scrim: rgba(28, 18, 11, 0.45);
  --danger: #b02a1a;
  --success: #1f5f78;
  --shadow-lift: 0 10px 30px rgba(75, 46, 27, 0.14);
  --shadow-overlay: 0 24px 64px rgba(35, 22, 13, 0.22);
}
[data-theme="dark"] {
  --surface: #1c120b;
  --surface-peach: #2e1d12;
  --surface-blush: #26170f;
  --surface-sand: #2a1b11;
  --surface-raised: #3a2618;
  --surface-inverse: #120b06;
  --frame: #4a3221;
  --ink: #fff7eb;
  --ink-muted: #d6c2b2;
  --ink-inverse: #fff7eb;
  --ink-on-photo: #ffffff;
  --brand: #e3a76f;
  --brand-hover: #edbb8b;
  --on-brand: #2a1509;
  --accent: #f2a7bf;
  --on-accent: #2a1509;
  --line: var(--ink);
  --line-soft: rgba(255, 247, 235, 0.18);
  --focus: #f3c896;
  --danger: #ff9a85;
  --success: #8fd0e8;
  --shadow-lift: 0 10px 30px rgba(0, 0, 0, 0.45);
  --shadow-overlay: 0 24px 64px rgba(0, 0, 0, 0.6);
}
:root {
  --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-24: 96px;
  --space-32: 128px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 28px;
  --radius-pill: 999px;
  --border-hairline: 1px;
  --border-outline: 2px;
  --border-frame: 6px;
  --container-max: 1200px;
  --container-text: 680px;
  --header-height: 72px;
  --section-rule-width: 520px;
  --font-sans: "Nunito TC", "Nunito", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;
}
.display { font-family: var(--font-sans); font-size: 120px; line-height: 0.95; font-weight: 800; letter-spacing: -0.03em; }
.display-sm { font-family: var(--font-sans); font-size: 72px; line-height: 0.95; font-weight: 800; letter-spacing: -0.025em; }
.h1 { font-family: var(--font-sans); font-size: 56px; line-height: 60px; font-weight: 800; letter-spacing: -0.02em; }
.h2 { font-family: var(--font-sans); font-size: 40px; line-height: 46px; font-weight: 700; letter-spacing: -0.01em; }
.h3 { font-family: var(--font-sans); font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: -0.005em; }
.h4 { font-family: var(--font-sans); font-size: 20px; line-height: 26px; font-weight: 800; }
.lead { font-family: var(--font-sans); font-size: 20px; line-height: 30px; font-weight: 500; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 26px; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 400; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.01em; }
.label { font-family: var(--font-sans); font-size: 15px; line-height: 20px; font-weight: 700; letter-spacing: 0.005em; }
.eyebrow { font-family: var(--font-sans); font-size: 13px; line-height: 16px; font-weight: 800; letter-spacing: 0.12em; }
.nav { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 700; }
.nav-xl { font-family: var(--font-sans); font-size: 36px; line-height: 44px; font-weight: 600; letter-spacing: -0.01em; }
.handle { font-family: var(--font-sans); font-size: 18px; line-height: 24px; font-weight: 600; font-style: italic; }

/* Nunito (variable), self-hosted — no external font requests.
   Upright only, to save space: italic text uses the browser's slanted version of this font. */
@font-face { font-family: "Nunito TC"; src: url("../fonts/Nunito-Variable.woff") format("woff"); font-weight: 200 1000; font-style: normal; font-display: swap; }
