/* Flowdojo heading scale (Nov 2026), loaded after flowdojo-revamp-staging.css. Desktop sizes:
   H1 80px · H2 style 64px · H3 56px · H4 40px · H5 32px · H6 28px, stepped down on tablet and phones.
   - Every page's main heading (h1) is 80px whichever heading-style class it carries.
   - The heading-style classes (and their is-100 / is-80 / is-64 / is-60 / small size modifiers) follow the scale.
   - Plain h1 to h6 tags without a size class follow it too; article bodies (.blog-rich-text, .case-study-body) and
     the custom hero headings (about, contact, referral, case study showcase) keep their own sizes.
   - Section headings with their own classes join the scale: .heading-style-60 cards (H3), and the contact page's
     .fd-heading-navy / .fd-before-after_heading (H2). Small card titles (.heading-2) and the home page's
     .heading-style-display1 statement keep their sizes.
   - Every heading wraps with text-wrap: balance, so lines are even and no single word is left on the last line; section
     headings are capped at 15em so long ones break into two lines (QA.md).
   :not(#_) raises specificity above Webflow's modifier combinations without !important. */

h1, h2, h3, h4, h5, h6, [class*="heading-style"] { text-wrap: balance; }
/* long indented statements run past six lines on phones, where balance stops working; pretty still avoids a lone last word */
:is(.is-text-indent, .is-intend) { text-wrap: pretty; }
.section-header :is(h2, h3) { max-width: 15em; }

h1 { font-size: 5rem; }
h2 { font-size: 4rem; }
h3 { font-size: 3.5rem; }
h4 { font-size: 2.5rem; }
h5 { font-size: 2rem; }
h6 { font-size: 1.75rem; }

:is(.heading-style-h2, .heading-style-h2-mid, .fd-heading-navy, .fd-before-after_heading):not(#_) { font-size: 4rem; }
:is(.heading-style-h3, .heading-style-60):not(#_) { font-size: 3.5rem; }
.heading-style-h4:not(#_) { font-size: 2.5rem; }
.heading-style-h5:not(#_) { font-size: 2rem; }
.heading-style-h6:not(#_) { font-size: 1.75rem; }
:is(.heading-style-h1, .heading-style-h1-2):not(#_),
h1:is(.heading-style-h1, .heading-style-h1-2, .heading-style-h2, .heading-style-h2-mid, .heading-style-h3):not(#_) { font-size: 5rem; }

@media screen and (max-width: 991px) {
  h1 { font-size: 4rem; }
  h2 { font-size: 3.25rem; }
  h3 { font-size: 2.75rem; }
  h4 { font-size: 2rem; }
  h5 { font-size: 1.75rem; }
  h6 { font-size: 1.5rem; }

  :is(.heading-style-h2, .heading-style-h2-mid, .fd-heading-navy, .fd-before-after_heading):not(#_) { font-size: 3.25rem; }
  .heading-style-h3:not(#_) { font-size: 2.75rem; }
  .heading-style-60:not(#_) { font-size: 2.25rem; } /* card titles: two or three cards to a row at this width */
  .b2b-problem-section-card-title:not(#_) { font-size: 1.25rem; } /* narrow problem cards on the industry pages */
  .heading-style-h4:not(#_) { font-size: 2rem; }
  .heading-style-h5:not(#_) { font-size: 1.75rem; }
  .heading-style-h6:not(#_) { font-size: 1.5rem; }
  :is(.heading-style-h1, .heading-style-h1-2):not(#_),
  h1:is(.heading-style-h1, .heading-style-h1-2, .heading-style-h2, .heading-style-h2-mid, .heading-style-h3):not(#_) { font-size: 4rem; }
}

@media screen and (max-width: 767px) {
  h1 { font-size: 3rem; }
  h2 { font-size: 2.5rem; }
  h3 { font-size: 2.25rem; }
  h4 { font-size: 1.75rem; }
  h5 { font-size: 1.5rem; }
  h6 { font-size: 1.25rem; }

  :is(.heading-style-h2, .heading-style-h2-mid, .fd-heading-navy, .fd-before-after_heading):not(#_) { font-size: 2.5rem; }
  :is(.heading-style-h3, .heading-style-60):not(#_) { font-size: 2.25rem; }
  .heading-style-h4:not(#_) { font-size: 1.75rem; }
  .heading-style-h5:not(#_) { font-size: 1.5rem; }
  .heading-style-h6:not(#_) { font-size: 1.25rem; }
  :is(.heading-style-h1, .heading-style-h1-2):not(#_),
  h1:is(.heading-style-h1, .heading-style-h1-2, .heading-style-h2, .heading-style-h2-mid, .heading-style-h3):not(#_) { font-size: 3rem; }
}

@media screen and (max-width: 479px) {
  h1 { font-size: 2.5rem; }
  h2 { font-size: 2.25rem; }
  h3 { font-size: 2rem; }
  h4 { font-size: 1.5rem; }
  h5 { font-size: 1.25rem; }
  h6 { font-size: 1.125rem; }

  :is(.heading-style-h2, .heading-style-h2-mid, .fd-heading-navy, .fd-before-after_heading):not(#_) { font-size: 2.25rem; }
  :is(.heading-style-h3, .heading-style-60):not(#_) { font-size: 2rem; }
  .heading-style-h4:not(#_) { font-size: 1.5rem; }
  .heading-style-h5:not(#_) { font-size: 1.25rem; }
  .heading-style-h6:not(#_) { font-size: 1.125rem; }
  :is(.heading-style-h1, .heading-style-h1-2):not(#_),
  h1:is(.heading-style-h1, .heading-style-h1-2, .heading-style-h2, .heading-style-h2-mid, .heading-style-h3):not(#_) { font-size: 2.5rem; }
}
