/* Responsive typography only. Keep original brand styles at 1600px and above.
   rem + vw preserves user font preferences; never scale the root or controls.
   Loaded last to reconcile legacy, inline and page-specific title scales. */
@media (max-width: 1599.98px) {
  :root {
    --rt-display: clamp(2rem, calc(1rem + 2.75vw), 4rem);
    --rt-section: clamp(1.75rem, calc(1rem + 1.7vw), 2.75rem);
    --rt-content: clamp(1.5rem, calc(1.15rem + .9vw), 2rem);
    --rt-card: clamp(1.125rem, calc(1rem + .4vw), 1.375rem);
    --rt-subdisplay: clamp(1.5rem, calc(1rem + 1.5vw), 2.5rem);
    --rt-lead: clamp(1rem, calc(.95rem + .2vw), 1.125rem);
  }
  .hero-heading h1, .page-hero h1, .aida-hero h1, .pages-index-hero h1, .iv-post-heading h1, .iv-blog-intro h1 {
    font-size: var(--rt-display) !important;
    line-height: 1.12 !important;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .section-head h2, .split h2, .narrow h2, .cta-band h2, .iv-faq-content h2, .home-faq-content h2, .pages-index-intro h2 {
    font-size: var(--rt-section) !important;
    line-height: 1.16 !important;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .content-copy h2, .iv-post-content h2, .iv-post-aside .aside-card h2, .iv-catalog-heading h2 {
    font-size: var(--rt-content) !important;
    line-height: 1.22 !important;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .trust-card h3, .info-card h3, .phase-card h3, .blog-card h3, .iv-vaccine-entry h3, .iv-process-card h3, .contact-card h3, .pages-index-group-head h3, .benefit-grid h3, .iv-blog-card h2, .vaccine-catalog-card h3, .content-copy h3, .iv-post-content h3 {
    font-size: var(--rt-card) !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .aida-card h3 {
    font-size: var(--rt-subdisplay) !important;
    line-height: 1.18 !important;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .hero-copy > p, .page-hero .container > p:not(.eyebrow), .aida-hero .lead, .iv-post-lead, .iv-post-heading > p:not(.eyebrow), .iv-blog-intro > p:not(.eyebrow) { font-size: var(--rt-lead) !important; line-height: 1.65 !important; }
}
@media (max-width: 600px) {
  :root {
    --rt-display: clamp(2rem, calc(1.55rem + 2.4vw), 2.375rem);
    --rt-section: clamp(1.75rem, calc(1.4rem + 1.5vw), 2rem);
  }
}

@media (max-width: 1599.98px) { .page-hero .eyebrow { font-size: clamp(.6875rem, calc(.65rem + .1vw), .8125rem); line-height: 1.45; } }
