:root {
  /* Global theme fonts: change these once to update the full site. */
  --theme-font-body: "Inter", Helvetica, Arial, sans-serif;
  --theme-font-heading: "Instrument Sans", Helvetica, Arial, sans-serif;
  --theme-font-system: "Segoe UI", Arial, sans-serif;
  --theme-font-legacy: "Roboto", Helvetica, Arial, sans-serif;

  /* Global theme typography: change these once to update the full site. */
  --theme-font-weight-regular: 400;
  --theme-font-weight-medium: 500;
  --theme-font-weight-semibold: 600;
  --theme-font-weight-bold: 700;
  --theme-font-weight-heavy: 800;

  --theme-text-2xs: 8px;
  --theme-text-xs: 10px;
  --theme-text-sm: 12px;
  --theme-text-md: 14px;
  --theme-text-lg: 16px;
  --theme-text-xl: 18px;
  --theme-text-2xl: 20px;
  --theme-text-3xl: 24px;
  --theme-text-stat: 30px;
  --theme-text-section-title: clamp(31px, 3vw, 38px);
  --theme-text-section-title-lg: clamp(34px, 2.8vw, 44px);
  --theme-text-split-title: clamp(40px, 3.1vw, 52px);
  --theme-text-cta-title: clamp(42px, 4vw, 58px);
  --theme-text-hero-title: clamp(76px, 5.15vw, 96px);
  --theme-text-mobile-title: clamp(38px, 11vw, 52px);

  --theme-line-none: 1;
  --theme-line-tight: 1.05;
  --theme-line-heading: 1.15;
  --theme-line-compact: 1.25;
  --theme-line-body: 1.5;
  --theme-line-relaxed: 1.6;

  --theme-letter-normal: 0;
  --theme-letter-tight: -0.02em;
  --theme-letter-heading: -0.03em;
  --theme-letter-eyebrow: 0.32em;

  /* Base theme colors: change only these to reskin the full site. */
  --theme-color-primary: #081e67;
  --theme-color-accent: #3eda31;
  --theme-color-text: #4f5d7a;
  --theme-color-background: #fbfaf4;
  --theme-color-surface: #ffffff;

  /* Derived theme colors: these update automatically from the five base colors above. */
  --theme-color-primary-05: rgb(from var(--theme-color-primary) r g b / 0.05);
  --theme-color-primary-10: rgb(from var(--theme-color-primary) r g b / 0.10);
  --theme-color-primary-15: rgb(from var(--theme-color-primary) r g b / 0.15);
  --theme-color-primary-20: rgb(from var(--theme-color-primary) r g b / 0.20);
  --theme-color-primary-25: rgb(from var(--theme-color-primary) r g b / 0.25);
  --theme-color-primary-30: rgb(from var(--theme-color-primary) r g b / 0.30);
  --theme-color-primary-55: rgb(from var(--theme-color-primary) r g b / 0.55);
  --theme-color-primary-70: rgb(from var(--theme-color-primary) r g b / 0.70);
  --theme-color-primary-80: rgb(from var(--theme-color-primary) r g b / 0.80);
  --theme-color-primary-deep: color-mix(in srgb, var(--theme-color-primary) 92%, black);
  --theme-color-primary-dark: color-mix(in srgb, var(--theme-color-primary) 88%, black);
  --theme-color-primary-link: color-mix(in srgb, var(--theme-color-primary) 78%, var(--theme-color-surface));
  --theme-color-blue: color-mix(in srgb, var(--theme-color-primary) 82%, var(--theme-color-surface));
  --theme-color-blue-10: rgb(from var(--theme-color-blue) r g b / 0.10);
  --theme-color-blue-15: rgb(from var(--theme-color-blue) r g b / 0.15);
  --theme-color-blue-30: rgb(from var(--theme-color-blue) r g b / 0.30);
  --theme-color-blue-40: rgb(from var(--theme-color-blue) r g b / 0.40);
  --theme-color-green: var(--theme-color-accent);
  --theme-color-green-15: rgb(from var(--theme-color-accent) r g b / 0.15);
  --theme-color-green-20: rgb(from var(--theme-color-accent) r g b / 0.20);
  --theme-color-green-25: rgb(from var(--theme-color-accent) r g b / 0.25);
  --theme-color-green-bright: color-mix(in srgb, var(--theme-color-accent) 92%, var(--theme-color-surface));
  --theme-color-muted: var(--theme-color-text);
  --theme-color-focus: color-mix(in srgb, var(--theme-color-primary) 50%, var(--theme-color-accent));
  --theme-color-white: var(--theme-color-surface);
  --theme-color-white-soft: color-mix(in srgb, var(--theme-color-surface) 98%, var(--theme-color-background));
  --theme-color-white-soft-50: rgb(from var(--theme-color-white-soft) r g b / 0.50);
  --theme-color-white-soft-70: rgb(from var(--theme-color-white-soft) r g b / 0.70);
  --theme-color-white-soft-75: rgb(from var(--theme-color-white-soft) r g b / 0.75);
  --theme-color-white-soft-80: rgb(from var(--theme-color-white-soft) r g b / 0.80);
  --theme-color-white-soft-95: rgb(from var(--theme-color-white-soft) r g b / 0.95);
  --theme-color-white-transparent: rgb(from var(--theme-color-surface) r g b / 0.01);
  --theme-color-cream: var(--theme-color-background);
  --theme-color-cream-40: rgb(from var(--theme-color-background) r g b / 0.40);
  --theme-color-cream-85: rgb(from var(--theme-color-background) r g b / 0.85);
  --theme-color-cream-light: color-mix(in srgb, var(--theme-color-background) 70%, var(--theme-color-surface));
  --theme-color-card: color-mix(in srgb, var(--theme-color-surface) 92%, var(--theme-color-background));
  --theme-color-hero-green: color-mix(in srgb, var(--theme-color-accent) 14%, var(--theme-color-surface));
  --theme-color-hero-blue: color-mix(in srgb, var(--theme-color-primary) 8%, var(--theme-color-surface));
  --theme-color-shadow-black-10: rgb(0 0 0 / 0.10);
  --theme-color-teal: color-mix(in srgb, var(--theme-color-primary) 70%, var(--theme-color-accent));
  --trt-roboto-regular-font-family:
    var(--theme-font-body);
  --trt-roboto-regular-font-weight: var(--theme-font-weight-regular);
  --trt-roboto-regular-font-size: var(--theme-text-sm);
  --trt-roboto-regular-letter-spacing: var(--theme-letter-normal);
  --trt-roboto-regular-line-height: var(--theme-line-none);
  --trt-roboto-regular-font-style: normal;
  --trt-instrument-sans-semibold-font-family:
    var(--theme-font-heading);
  --trt-instrument-sans-semibold-font-weight: var(--theme-font-weight-semibold);
  --trt-instrument-sans-semibold-font-size: var(--theme-text-cta-title);
  --trt-instrument-sans-semibold-letter-spacing: var(--theme-letter-tight);
  --trt-instrument-sans-semibold-line-height: var(--theme-line-tight);
  --trt-instrument-sans-semibold-font-style: normal;
  --trt-inter-bold-upper-font-family:
    var(--theme-font-body);
  --trt-inter-bold-upper-font-weight: var(--theme-font-weight-bold);
  --trt-inter-bold-upper-font-size: var(--theme-text-xs);
  --trt-inter-bold-upper-letter-spacing: var(--theme-letter-eyebrow);
  --trt-inter-bold-upper-line-height: var(--theme-line-body);
  --trt-inter-bold-upper-font-style: normal;
  --trt-inter-medium-font-family:
    var(--theme-font-body);
  --trt-inter-medium-font-weight: var(--theme-font-weight-medium);
  --trt-inter-medium-font-size: var(--theme-text-md);
  --trt-inter-medium-letter-spacing: var(--theme-letter-normal);
  --trt-inter-medium-line-height: var(--theme-line-body);
  --trt-inter-medium-font-style: normal;
  --trt-inter-regular-font-family:
    var(--theme-font-body);
  --trt-inter-regular-font-weight: var(--theme-font-weight-regular);
  --trt-inter-regular-font-size: var(--theme-text-sm);
  --trt-inter-regular-letter-spacing: var(--theme-letter-normal);
  --trt-inter-regular-line-height: var(--theme-line-body);
  --trt-inter-regular-font-style: normal;
  --trt-inter-regular-upper-font-family:
    var(--theme-font-body);
  --trt-inter-regular-upper-font-weight: var(--theme-font-weight-regular);
  --trt-inter-regular-upper-font-size: var(--theme-text-sm);
  --trt-inter-regular-upper-letter-spacing: var(--theme-letter-eyebrow);
  --trt-inter-regular-upper-line-height: var(--theme-line-body);
  --trt-inter-regular-upper-font-style: normal;
  --trt-inter-semi-bold-font-family:
    var(--theme-font-body);
  --trt-inter-semi-bold-font-weight: var(--theme-font-weight-semibold);
  --trt-inter-semi-bold-font-size: var(--theme-text-xl);
  --trt-inter-semi-bold-letter-spacing: var(--theme-letter-normal);
  --trt-inter-semi-bold-line-height: var(--theme-line-body);
  --trt-inter-semi-bold-font-style: normal;
}




