:root {
  /* Brand and surfaces */
  --background: #F0EEE8;
  --surface: #F8F7F3;
  --surface-secondary: #E5E2DA;
  --text: #181817;
  --contrast: #232321;
  --muted: #5C5C56;
  --line: #D1CEC6;
  --focus: rgba(35, 35, 33, 0.32);
  /* Compatibility aliases for existing institutional components. */
  --navy: var(--text);
  --navy-2: var(--contrast);
  --blue: var(--contrast);
  --blue-2: var(--text);
  --ice: var(--surface-secondary);

  /* Typography */
  --font-sans: "Segoe UI", system-ui, sans-serif;
  --type-body: 1rem;
  --type-body-small: 0.875rem;
  --type-eyebrow: 0.8125rem;
  --type-lead: clamp(1.0625rem, 1.5vw, 1.25rem);
  --type-display: clamp(2.25rem, 4.2vw, 3.75rem);
  --type-heading: clamp(1.75rem, 2.8vw, 2.5rem);
  --type-subheading: clamp(1.375rem, 2vw, 1.75rem);
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-body: 1.6;
  --leading-lead: 1.65;
  --leading-display: 1.075;
  --leading-heading: 1.17;
  --tracking-eyebrow: 0.1em;
  --tracking-display: -0.04em;
  --tracking-heading: -0.03em;

  /* Layout and spacing */
  --max: 1180px;
  --reading: 720px;
  --gutter: clamp(16px, 4vw, 40px);
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 18px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --section-space: clamp(44px, 5vw, 64px);
  --hero-space: clamp(44px, 5vw, 64px);
  --grid-gap: clamp(16px, 2.2vw, 28px);

  /* Components */
  --cta-height: 48px;
  --cta-height-compact: 42px;
  --cta-radius: 7px;
  --cta-padding-x: 22px;
  --cta-gap: 24px;
  --radius: 16px;
  --radius-small: 12px;
  --radius-card: 12px;
  --shadow: 0 8px 24px rgba(24, 24, 23, 0.05);
  --shadow-media: 0 12px 28px rgba(24, 24, 23, 0.09);
}
