/* Global heading safety gate — must load last on every page */
:root{
  --safe-h1-desktop: 42px;
  --safe-h2-desktop: 30px;
  --safe-h3-desktop: 23px;
}
html body h1,
html body .hero h1,
html body .hero-section h1,
html body section.hero h1,
html body [class*="hero"] h1,
html body .legal-card h1,
html body .legal-wrap h1,
html body main h1{
  font-size:clamp(2rem,3.2vw,var(--safe-h1-desktop)) !important;
  line-height:1.12 !important;
  letter-spacing:-.025em !important;
}
html body h2,
html body section h2,
html body [class*="hero"] h2,
html body .legal-card h2,
html body main h2{
  font-size:clamp(1.55rem,2.3vw,var(--safe-h2-desktop)) !important;
  line-height:1.2 !important;
  letter-spacing:-.015em !important;
}
html body h3,
html body section h3,
html body main h3{
  font-size:clamp(1.18rem,1.6vw,var(--safe-h3-desktop)) !important;
  line-height:1.25 !important;
}
@media (max-width: 640px){
  html body h1,
  html body .hero h1,
  html body .hero-section h1,
  html body section.hero h1,
  html body [class*="hero"] h1,
  html body .legal-card h1,
  html body .legal-wrap h1,
  html body main h1{
    font-size:clamp(1.85rem,8vw,32px) !important;
    line-height:1.15 !important;
  }
  html body h2,
  html body section h2,
  html body [class*="hero"] h2,
  html body .legal-card h2,
  html body main h2{
    font-size:clamp(1.45rem,6vw,26px) !important;
  }
  html body h3,
  html body section h3,
  html body main h3{
    font-size:clamp(1.12rem,5vw,21px) !important;
  }
}
