:root {
  --type-scale-prototype: 0.66;
  --color-bg: #ffffff;
  --color-surface: #ffffff;
  --color-surface-muted: #ffffff;
  --color-surface-accent: #009fd7;
  --color-text: #004d89;
  --color-text-soft: #ffffff;
  --color-text-bright: #f9fdfe;
  --color-text-muted: #6d96b7;
  --color-text-on-dark: rgba(255, 255, 255, 0.9);
  --color-text-on-dark-muted: #7fa6c4;
  --color-border-soft: rgba(255, 255, 255, 0.16);
  --color-border: #ffffff;
  --color-accent: #004d89;
  --color-accent-soft: #009fd7;
  --color-support-band: #50bce3;
  --color-divider-soft: #d3eef8;
  --color-hero-panel: #0a2c61;
  --color-hero-links: #0a4f89;
  --color-home-bg: #145589;
  --color-white-strong: rgba(255, 255, 255, 0.98);
  --color-shadow-soft-dark: rgba(0, 0, 0, 0.18);
  --shadow-soft: none;
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 5rem;
  --shell-width: 1280px;
  --shell-page: 1280px;
  --shell-narrow: 46rem;
  --content-width-frame: var(--shell-width);
  --content-width-copy: 1040px;
  --content-width-wide-copy: 1276px;
  --content-width-panel: 1280px;
  --content-width-panel-copy: 1207px;
  --content-inset-panel-x: 50px;
  --content-gap-cta: 66px;
  --about-intro-pad-top: 60px;
  --about-intro-pad-bottom: 118px;
  --about-intro-copy-line-height: 40px;
  --about-intro-copy-gap: 18px;
  --button-pill-width-sm: 174px;
  --button-pill-height-lg: 67px;
  --controller-top-offset: 10.5rem;
  --faq-hero-min-height: 32rem;
  --faq-group-gap: 2.5rem;
  --faq-group-pad-y: 2.15rem;
  --faq-group-pad-x: clamp(1.15rem, 2vw, 2rem);
  --faq-surface-dark: rgba(0, 77, 137, 0.5);
  --faq-surface-light: rgba(213, 238, 248, 0.5);
  --faq-title-size: calc(var(--font-size-page-copy) * var(--font-ratio-title-over-copy));
  --faq-question-size: calc(var(--font-size-page-copy) * 1.12);
  --faq-answer-size: var(--font-size-page-copy);
  --section-pad-about-intro-y: 3rem;
  --section-pad-about-work-y: 2.75rem;
  --button-pill-min-height: calc(5.3rem * var(--type-scale-prototype));
  --button-pill-pad-y: 0.2rem;
  --button-pill-pad-x: calc(2.27rem * var(--type-scale-prototype));
  --button-pill-font-size: calc(2.35rem * var(--type-scale-prototype));
  --button-pill-letter-spacing: 0.04em;
  --font-ratio-title-over-copy: 1.5333;
  --font-sans: "Ubuntu Condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-size-hero-title: calc(3.5rem * var(--type-scale-prototype));
  --font-size-page-hero-title: calc(4.1rem * var(--type-scale-prototype));
  --font-size-intro-copy: calc(1.875rem * var(--type-scale-prototype));
  --font-size-page-copy: calc(2.37rem * var(--type-scale-prototype));
  --font-size-page-copy-compact: calc(1.82rem * var(--type-scale-prototype));
  --font-size-cta: calc(1.875rem * var(--type-scale-prototype));
  --font-size-section-title: calc(2.875rem * var(--type-scale-prototype));
  --font-size-section-copy: calc(1.875rem * var(--type-scale-prototype));
  --font-size-card-title: calc(2.0625rem * var(--type-scale-prototype));
  --font-size-card-copy: calc(1.4375rem * var(--type-scale-prototype));
  --font-size-support-title: calc(2.875rem * var(--type-scale-prototype));
  --font-size-support-copy: calc(1.875rem * var(--type-scale-prototype));
  --font-size-footer-nav: calc(1.75rem * var(--type-scale-prototype));
  --font-size-footer-legal: calc(0.9375rem * var(--type-scale-prototype));
}

@media (max-width: 700px) {
  :root {
    --type-scale-prototype: 0.62;
  }
}

@media (max-width: 420px) {
  :root {
    --type-scale-prototype: 0.58;
  }
}
