/* Layered important rules supersede the legacy page heading overrides. */
@layer cf-typography {
  :root { --cf-heading-size:clamp(32px,3.2vw,40px); }
  h1 { font-size:var(--cf-heading-size)!important;line-height:1.16!important;letter-spacing:-.035em!important;text-wrap:balance;overflow-wrap:break-word; }
  .hero h1 { font-size:clamp(30px,3.1vw,40px)!important;line-height:1.16!important; }
  h2,.section-title { font-size:clamp(25px,2.5vw,34px)!important;line-height:1.23!important;font-family:'Plus Jakarta Sans',sans-serif!important;letter-spacing:-.025em!important;text-wrap:balance;overflow-wrap:break-word; }
  .section-title { max-width:880px!important; }
  .benefits-col h2,.ps-card h2,.cta-left h2 { font-size:clamp(24px,2.3vw,30px)!important; }
  .step-header h2,.section-head h2,.form-card h2,.next-panel h2 { font-size:clamp(21px,2vw,25px)!important;line-height:1.3!important; }
  .article-content h2 { font-size:clamp(24px,2.4vw,30px)!important; }
  h3 { font-size:clamp(18px,1.7vw,22px)!important;line-height:1.35!important;font-family:'Plus Jakarta Sans',sans-serif!important;text-wrap:balance; }
  .faq-header h3 { font-size:17px!important; }
  .footer-col h3 { font-size:11px!important; }
  .audit-page .hero h1,.schedule-page h1 { font-size:clamp(30px,3.1vw,40px)!important;line-height:1.16!important; }
  .thank-you-page h1 { font-size:clamp(30px,3.1vw,40px)!important; }
  @media(max-width:600px) {
    h1 { font-size:30px!important; }
    .hero h1 { font-size:28px!important; }
    h2,.section-title,.benefits-col h2,.ps-card h2,.cta-left h2 { font-size:24px!important; }
    .audit-page .hero h1,.schedule-page h1 { font-size:28px!important; }
  }
}
.journey-label{margin:16px 0 10px;font-size:12px;font-weight:800;letter-spacing:.14em}
.heading-break{display:block}
@media(max-width:820px){.heading-break{display:inline!important}.service-page .hero h1 span{display:inline!important}}
.journey-statement{text-align:center;margin:34px 0 0;font-size:12px;font-weight:800;letter-spacing:.16em}
