:root {
  /* Families */
  --font-serif-display: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-sans: 'Inter', 'Helvetica Neue', Helvetica, sans-serif;
  /* Every title, display figure and CTA label reads --font-display. Flip the whole
     system to sans by adding .ot-titles-sans to a wrapper; integration names in the
     marquees intentionally reference --font-serif-display directly and never move. */
  --font-display: var(--font-serif-display);
  --font-comparison-brand: Georgia, 'Times New Roman', serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* Type scale — 1.25 ratio, clamped for the marketing surface */
  --text-2xs: 11px;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-md: 16px;
  --text-lg: 18px;
  --text-xl: 21px;
  --text-2xl: 26px;
  --text-3xl: 33px;
  --text-4xl: 42px;
  --text-5xl: 54px;
  --text-6xl: 68px;
  --text-error: clamp(7rem, 28vw, 22rem);
  --hero-title-size: clamp(var(--text-4xl), 5.6vw, var(--text-6xl));

  --leading-tight: 1.05;
  --leading-snug: 1.2;
  --leading-normal: 1.5;
  --leading-loose: 1.65;

  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;

  --tracking-display: -0.02em;
  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-label: 0.08em;

  /* Semantic roles */
  --type-display: var(--weight-medium) var(--text-5xl) / var(--leading-tight) var(--font-display);
  --type-title: var(--weight-medium) var(--text-3xl) / var(--leading-snug) var(--font-display);
  --type-heading: var(--weight-medium) var(--text-xl) / var(--leading-snug) var(--font-sans);
  --type-body: var(--weight-regular) var(--text-md) / var(--leading-loose) var(--font-sans);
  --type-body-sm: var(--weight-regular) var(--text-sm) / var(--leading-normal) var(--font-sans);
  --type-ui: var(--weight-medium) var(--text-sm) / 1.2 var(--font-sans);
  --type-mono: var(--weight-regular) var(--text-xs) / var(--leading-normal) var(--font-mono);
  --type-eyebrow: var(--weight-medium) var(--text-2xs) / 1.2 var(--font-mono);
}
