/* Don Gelato 2027 Design System — generated from tokens.json */
:root, [data-theme="light"] {
  --bg-page: #fbf7f2;
  --bg-surface: #ffffff;
  --bg-surface-warm: #fefaf6;
  --bg-panel: #edf6fe;
  --bg-chip: #e2f1fd;
  --border-warm: #efe3d3;
  --border-cool: #d8e6f3;
  --text-heading: #0a2a8c;
  --text-ink: #0f1852;
  --text-subtle: #3f67b0;
  --text-link: #1a3aae;
  --text-accent: #2f78c0;
  --text-on-action: #ffffff;
  --action: #052c64;
  --action-hover: #0a3a80;
  --icon: #0a2a8c;
  --gold-badge: #b97b1d;
  --gold-script: #c0792e;
  --gold-soft: #faeed6;
  --gold-rule: #f3b539;
  --star: #fab83d;
  --script-blue: #1a3aae;
  --pastel-pink: #fef2ee;
  --pastel-blue: #eff8fe;
  --pastel-cream: #fefaee;
  --pastel-green: #f3fbf6;
  --pastel-peach: #fef5ec;
  --icon-circle-cream: #f8e9c3;
  --icon-circle-blue: #c6e0ee;
  --icon-circle-green: #c9e6dd;
  --icon-circle-peach: #f9dec4;
  --footer-band: #014d74;
  --illus-red: #dc3540;
  --brand-whatsapp: #25d366;
  --success: #1e7f3a;
  --success-soft: #e9f6ee;
  --warning: #a35f00;
  --warning-icon: #e8a317;
  --warning-soft: #fdf3e1;
  --danger: #d4212b;
  --danger-soft: #fdecec;
  --scrim: rgba(15, 24, 82, 0.45);
  --shadow-card: 0 2px 4px rgba(60, 40, 20, 0.04), 0 8px 24px rgba(60, 40, 20, 0.07);
  --shadow-raised: 0 4px 10px rgba(5, 44, 100, 0.08), 0 16px 40px rgba(5, 44, 100, 0.10);
  --shadow-button: 0 6px 16px rgba(5, 44, 100, 0.28);
  --shadow-header: 0 1px 0 rgba(10, 42, 140, 0.06);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --radius-pill: 999px;
  --header-height: 64px;
  --hero-height: 260px;
  --hero-photo-width: 46%;
  --hit-min: 44px;
  --button-height: 52px;
  --content-max: 1200px;
  --focus-ring: 3px;
  --font-display: "Source Serif 4", "PT Serif", Georgia, serif;
  --font-sans: "Golos Text", "Segoe UI", Arial, sans-serif;
  --font-script: "Marck Script", "Segoe Script", cursive;
}
.display-xl { font-family: var(--font-display); font-size: 30px; line-height: 1.08; font-weight: 700; letter-spacing: -0.01em; }
.display-lg { font-family: var(--font-display); font-size: 28px; line-height: 1.12; font-weight: 700; }
.display-md { font-family: var(--font-display); font-size: 26px; line-height: 1.15; font-weight: 700; }
.display-sm { font-family: var(--font-display); font-size: 21px; line-height: 1.2; font-weight: 700; }
.lead { font-family: var(--font-sans); font-size: 20px; line-height: 1.45; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 18px; line-height: 1.55; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 18px; line-height: 1.45; font-weight: 600; }
.body-sm { font-family: var(--font-sans); font-size: 16px; line-height: 1.5; font-weight: 400; }
.caption { font-family: var(--font-sans); font-size: 15px; line-height: 1.4; font-weight: 500; }
.button { font-family: var(--font-sans); font-size: 18px; line-height: 1.2; font-weight: 600; }
.price { font-family: var(--font-sans); font-size: 30px; line-height: 1.1; font-weight: 700; }
.overline { font-family: var(--font-sans); font-size: 16px; line-height: 1.3; font-weight: 700; letter-spacing: 0.04em; }
.script-lg { font-family: var(--font-script); font-size: 30px; line-height: 1.15; font-weight: 400; }
.script-md { font-family: var(--font-script); font-size: 24px; line-height: 1.2; font-weight: 400; }
