/* Rafiki Concepts — generated from tokens.json */
:root, [data-theme="light"] {
  --surface: #ffffff;
  --surface-alt: #f5f7fa;
  --surface-raised: #ffffff;
  --line: #e2e6ee;
  --line-strong: #8a93a6;
  --ink: #0b0f19;
  --ink-muted: #545c6e;
  --navy: #00205b;
  --navy-hover: #12357a;
  --on-navy: #ffffff;
  --navy-50: #eef2f9;
  --navy-100: #dce4f2;
  --navy-900: #00205b;
  --on-navy-900: #ffffff;
  --on-navy-900-muted: #b8c4dd;
  --copper: #ad6332;
  --copper-hover: #94532a;
  --on-copper: #ffffff;
  --copper-text: #8e4d24;
  --copper-light: #dfa275;
  --copper-50: #f9f0e9;
  --copper-100: #f1dccb;
  --success: #1d7a4a;
  --danger: #b42318;
  --shadow-sm: 0 1px 2px #00205b0f, 0 1px 3px #00205b14;
  --shadow-md: 0 8px 24px -6px #00205b1f, 0 2px 6px #00205b0f;
  --focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #ad6332;
}
[data-theme="dark"] {
  --surface: #070d1c;
  --surface-alt: #0c1428;
  --surface-raised: #101b34;
  --line: #23304d;
  --line-strong: #5a6b8f;
  --ink: #f3f5f9;
  --ink-muted: #a3acbf;
  --navy: #9fb4e0;
  --navy-hover: #b9c9ea;
  --on-navy: #00205b;
  --navy-50: #0e1a36;
  --navy-100: #172750;
  --navy-900: #00205b;
  --on-navy-900: #ffffff;
  --on-navy-900-muted: #b8c4dd;
  --copper: #d4915f;
  --copper-hover: #e0a173;
  --on-copper: #1f1006;
  --copper-text: #e3a87c;
  --copper-light: #dfa275;
  --copper-50: #26170d;
  --copper-100: #3b2414;
  --success: #5cc98e;
  --danger: #f47b6e;
  --shadow-sm: 0 1px 3px #000000b3;
  --shadow-md: 0 10px 28px -6px #000000cc;
  --focus-ring: 0 0 0 2px #070d1c, 0 0 0 4px #d4915f;
  color-scheme: dark;
}
:root {
  --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;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 32px;
  --radius-full: 9999px;
  --container: 1240px;
  --measure: 640px;
  --font-display: Montserrat, "Helvetica Neue", Arial, sans-serif;
  --font-body: Mulish, "Segoe UI", system-ui, sans-serif;
  --font-accent: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}
.display-xl { font-family: var(--font-display); font-size: 64px; line-height: 68px; font-weight: 500; letter-spacing: -0.03em; }
.display-lg { font-family: var(--font-display); font-size: 48px; line-height: 56px; font-weight: 500; letter-spacing: -0.025em; }
.heading-lg { font-family: var(--font-display); font-size: 40px; line-height: 48px; font-weight: 500; letter-spacing: -0.025em; }
.heading-md { font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -0.01em; }
.heading-sm { font-family: var(--font-display); font-size: 18px; line-height: 26px; font-weight: 600; }
.price { font-family: var(--font-display); font-size: 20px; line-height: 28px; font-weight: 700; }
.button { font-family: var(--font-display); font-size: 15px; line-height: 20px; font-weight: 600; }
.eyebrow { font-family: var(--font-display); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.12em; }
.body-lg { font-family: var(--font-body); font-size: 18px; line-height: 30px; font-weight: 400; }
.body { font-family: var(--font-body); font-size: 16px; line-height: 26px; font-weight: 400; }
.body-sm { font-family: var(--font-body); font-size: 14px; line-height: 22px; font-weight: 400; }
.caption { font-family: var(--font-body); font-size: 13px; line-height: 18px; font-weight: 500; }
.accent-xl { font-family: var(--font-accent); font-size: 70px; line-height: 68px; font-weight: 500; font-style: italic; }
.accent-lg { font-family: var(--font-accent); font-size: 44px; line-height: 48px; font-weight: 500; font-style: italic; }
