:root {
  --apsu-prose-font-size: 1rem;
  --apsu-prose-font-weight: 400;
  --apsu-prose-line-height: 1.85;
  --apsu-prose-color: #444444;
}

/*
 * Introductory paragraphs are body copy, not display copy. Keeping them on
 * the same type scale prevents the first paragraph of a section from looking
 * heavier or more important than the paragraphs that follow it.
 */
main .text-lead {
  color: var(--apsu-prose-color) !important;
  font-family: var(--font-body, "Lato", sans-serif) !important;
  font-size: var(--apsu-prose-font-size) !important;
  font-weight: var(--apsu-prose-font-weight) !important;
  letter-spacing: normal !important;
  line-height: var(--apsu-prose-line-height) !important;
}

/*
 * Ordinary body copy uses one shared rhythm across both site silos. Display
 * text, interface labels, quotations, credentials, prices, and regulatory
 * fine print retain their intentional hierarchy.
 */
main {
  color: var(--apsu-prose-color);
}

main :where(p, li, dd):not(
  :where(
    .hero *,
    [class*="hero"] *,
    .page-section-nav *,
    [class*="quote"] *,
    [class*="testimonial"] *,
    [class*="credential"] *,
    [class*="stat"] *,
    [class*="timeline"] *,
    [class*="trust"] *,
    [class*="footer"] *,
    [class*="nav"] *,
    [class*="price"] *,
    [class*="meta"] *,
    [class*="disclaimer"] *,
    [class*="caption"] *,
    [class*="legal"] *,
    [class*="badge"] *,
    [class*="tag"] *,
    [class*="button"] *,
    [class*="btn"] *,
    [class*="eyebrow"],
    [class*="kicker"],
    [class*="label"],
    [class*="caption"],
    [class*="disclaimer"],
    [class*="fine-print"],
    [class*="fineprint"],
    [class*="meta"],
    [class*="price"],
    [class*="stat"],
    [class*="tag"],
    [class*="badge"],
    [class*="byline"],
    [class*="attribution"],
    [class*="overline"],
    [class*="microcopy"],
    [class*="button"],
    [class*="btn"]
  )
):not([style*="font-family: var(--font-heading)"]):not([style*="font-family: 'Playfair"]):not([style*='font-family: "Playfair']) {
  color: var(--apsu-prose-color) !important;
  font-family: var(--font-body, "Lato", sans-serif) !important;
  font-size: var(--apsu-prose-font-size) !important;
  font-weight: var(--apsu-prose-font-weight) !important;
  letter-spacing: normal !important;
  line-height: var(--apsu-prose-line-height) !important;
}

/*
 * Inverse body copy is assigned by apsu-site-shell.js after it measures the
 * rendered background, then styled by apsu-inverse-guard.css. Class names
 * such as "contrast" and "sage" are also used on light champagne and blush
 * panels, so they must not be treated as proof of a dark surface here.
 */
