/* ==========================================================================
   1.8.440 — Site-wide HEADLINE rule (Tone):
   • every headline fits on ONE line;
   • a headline with 2+ sentences puts each sentence on its own line,
     and each of those lines is one line too.
   assets/js/headlines-440.js marks headlines with .hl-fit, splits sentences into
   .hl-line spans and shrinks font-size (never below ~22px on phones) until the
   line fits its container. These rules only apply once JS has marked a heading,
   so a no-JS visitor gets normal wrapping (never sideways scroll).
   Footer, builder plugins and the mega-menu tagline are excluded in the JS.
   ========================================================================== */
.hl-fit { white-space: nowrap !important; max-width: 100% !important; overflow-wrap: normal !important; word-break: normal !important; text-wrap: nowrap !important; }
.hl-fit .hl-line { display: block; white-space: nowrap; }
.hl-fit.hl-toolong { white-space: normal !important; text-wrap: balance !important; } /* last resort: wraps instead of clipping */
.hl-fit.hl-toolong .hl-line { white-space: normal; }
/* 1.8.441 — flex/grid items holding a headline may shrink below the headline's one-line width */
:where(*):has(> .hl-fit) { min-width: 0; }
