/**
 * Patriot University — fluid headline (P1.11)
 *
 * `.pu-m1`-scoped, so inert until PU_MOBILE_FIRST is flipped.
 *
 * THE PROBLEM, MEASURED BEFORE ANYTHING WAS WRITTEN. On a 320x568 screen:
 *
 *     kb article  h1 = 28px  ->  210px tall  =  37% of the first viewport
 *     profile     h1 = 28px  ->  105px tall  =  18%
 *
 * The type scale is FIXED — identical at 320, 768 and 1280 — so a headline set
 * for a desktop column is rendered unchanged into a phone, and better than a
 * third of the first screen can be gone before the reader reaches a sentence.
 *
 * SCOPE IS DELIBERATELY ONE ELEMENT. Measured inside the article body, the
 * scale is h1 28 / h2 22 / h3 18 / p 16. Only h1 has a stated, measured problem;
 * h2 at 22px on a phone is fine, and body text is already at the 16px floor that
 * §8.1 forbids going under. Making four things fluid when one has evidence is
 * how a targeted fix becomes a restyle.
 *
 * (An earlier probe of this same scale read h2 as 15px and h3 as 18px — an
 * apparent hierarchy inversion. It was `querySelector('h2')` picking up a
 * sidebar heading rather than the article's. Nothing was wrong. Scope the
 * selector to the content before believing the number.)
 *
 * THE CLAMP'S TOP END IS THE MEASURED VALUE, NOT THE SPEC'S TABLE. §8.1 offers
 * `clamp(1.875rem, 1.4rem + 2.5vw, 3rem)` — 30px to 48px. Adopting that would
 * make every desktop headline 48px where it is 28px today: a restyle wearing a
 * responsive-typography label. The top end here is 1.75rem because 28px is what
 * the page measures, so nothing changes at desktop width.
 *
 *     320px  -> 22px   (floor; 21% shorter, ~37% of the screen becomes ~29%)
 *     512px  -> 22px   (clamp starts growing)
 *    1024px  -> 28px   (top end reached — today's value)
 *    1280px  -> 28px   (unchanged from today)
 */
.pu-m1 h1 {
    font-size: clamp(1.375rem, 1rem + 1.171875vw, 1.75rem);
}

/*
 * Headings had `overflow-wrap: normal`, so a long unbroken token — a statute
 * reference, a URL, a name with no spaces — has NO break opportunity and pushes
 * the page sideways. `anywhere` rather than `break-word`: only `anywhere` lets
 * the token affect min-content sizing, which is what stops a grid track being
 * sized by an unbreakable string. Body prose already carries this; headings were
 * missed.
 */
.pu-m1 h1,
.pu-m1 h2,
.pu-m1 h3,
.pu-m1 h4,
.pu-m1 h5,
.pu-m1 h6 {
    overflow-wrap: anywhere;
}
