/* Waterford tokens — from the Waterford design system (tokens.json).
   Fonts are registered in theme.json (fontFace); no @font-face here.
   Grounds: data-theme on custom markup, is-style-section-* on core blocks. */
:root, [data-theme="stone"], .is-style-section-stone {
  --waterford-blue: #283a97;
  --uv-blue: #2f1eaa;
  --stone: #dcdcd3;
  --sandstone: #c1c1c5;
  --navy: #121327;
  --midnight: #090867;
  --charcoal: #393938;
  --white: #ffffff;
  --stroke-light: #d6d6cb;
  --logo-offwhite: #e4e0d9;
  --logo-grey: #a49c96;
  --bg: var(--stone);
  --surface: var(--white);
  --field: var(--white);
  --ink: var(--navy);
  --ink-muted: var(--charcoal);
  --line: var(--sandstone);
  --line-strong: var(--charcoal);
  --action: var(--waterford-blue);
  --on-action: var(--stone);
  --action-hover: var(--midnight);
  --on-action-hover: var(--stone);
  --link: var(--waterford-blue);
  --focus: var(--waterford-blue);
  --logo-mark: var(--waterford-blue);
  --logo-strap: var(--logo-grey);
}
[data-theme="navy"], .is-style-section-navy {
  --bg: var(--navy);
  --surface: var(--midnight);
  --field: var(--navy);
  --ink: var(--stone);
  --ink-muted: var(--sandstone);
  --line: var(--charcoal);
  --line-strong: var(--stroke-light);
  --action: var(--waterford-blue);
  --on-action: var(--stone);
  --action-hover: var(--stone);
  --on-action-hover: var(--navy);
  --link: var(--stone);
  --focus: var(--stone);
  --logo-mark: var(--logo-offwhite);
  --logo-strap: var(--logo-grey);
}
[data-theme="blue"], .is-style-section-blue {
  --bg: var(--waterford-blue);
  --surface: var(--midnight);
  --field: var(--midnight);
  --ink: var(--stone);
  --ink-muted: var(--sandstone);
  --line: var(--stone);
  --line-strong: var(--stone);
  --action: var(--stone);
  --on-action: var(--navy);
  --action-hover: var(--white);
  --on-action-hover: var(--navy);
  --link: var(--stone);
  --focus: var(--stone);
  --logo-mark: var(--logo-offwhite);
  --logo-strap: var(--logo-grey);
}
: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-none: 0;
  --width-measure: 680px;
  --width-wide: 1200px;
  --width-max: 1440px;
  --header-height: 80px;
  --rule-width: 1px;
  --font-display: Granville, "Domaine Text", Georgia, serif;
  --font-serif: "Domaine Text", Georgia, "Times New Roman", serif;
  --font-sans: "Maison Neue", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "Maison Neue Mono", ui-monospace, Menlo, monospace;
}
.display-xl { font-family: var(--font-display); font-size: 64px; line-height: 1.05; font-weight: 300; letter-spacing: 0.2em; }
.display-l { font-family: var(--font-display); font-size: 44px; line-height: 1.1; font-weight: 300; letter-spacing: 0.2em; }
.heading-l { font-family: var(--font-display); font-size: 30px; line-height: 1.2; font-weight: 300; letter-spacing: 0.2em; }
.heading-m { font-family: var(--font-display); font-size: 22px; line-height: 1.3; font-weight: 300; letter-spacing: 0.2em; }
.subhead-l { font-family: var(--font-sans); font-size: 16px; line-height: 1.4; font-weight: 700; letter-spacing: 0.1em; }
.subhead { font-family: var(--font-sans); font-size: 13px; line-height: 1.4; font-weight: 700; letter-spacing: 0.1em; }
.body-l { font-family: var(--font-serif); font-size: 20px; line-height: 1.6; font-weight: 300; letter-spacing: 0; }
.body { font-family: var(--font-serif); font-size: 17px; line-height: 1.65; font-weight: 300; letter-spacing: 0; }
.body-s { font-family: var(--font-serif); font-size: 15px; line-height: 1.6; font-weight: 300; letter-spacing: 0; }
.data { font-family: var(--font-mono); font-size: 14px; line-height: 1.4; font-weight: 400; letter-spacing: 0; }
.caption { font-family: var(--font-mono); font-size: 12px; line-height: 1.5; font-weight: 400; letter-spacing: 0; }
