/* Readability floors.
   Loads last on every page. Descriptions, card copy, fine print and the small
   uppercase labels read larger on laptops, where the rem-based sizes had shrunk
   to 9-14px; at 1920px they stay close to the original design. Headings are
   not touched. `:root` lifts each rule over the section sheets (and `.v6`). */

:root {
  --rd-lede:  clamp(18px, calc(2rem + 1.5px), 22.5px);    /* intros, hero ledes, running copy */
  --rd-note:  max(18px, calc(2.1rem + 1.5px));          /* home section notes (designed at 2.1rem) */
  --rd-card:  clamp(17px, calc(1.75rem + 1.5px), 20.5px); /* descriptions inside cards */
  --rd-fine:  clamp(14.5px, calc(1.45rem + 1px), 16.5px);/* fine print, captions, form help */
  --rd-label: clamp(11.5px, 1.3rem, 14px);   /* uppercase eyebrows, labels, buttons */
}

@media (max-width: 767px) {
  :root {
    --rd-lede:  17.5px;
    --rd-note:  17px;
    --rd-card:  16.5px;
    --rd-fine:  14.5px;
    --rd-label: 11.5px;
  }
}

/* Intros and running copy */
:root .sy-text,
:root .nt-body p,
:root .aw-lede,
:root .cr-lede,
:root .cr-hero .cr-hero-lede,
:root .cr-done-note,
:root .ab-body,
:root .ab-paper .ab-body,
:root .ab-origin-copy .ab-body,
:root .ab-cta-lede,
:root .ab-trade-say,
:root .fd-philo-copy p,
:root .fd-cta-lede,
:root .bl-lede,
:root .bl-feature-dek,
:root .bl-ask-lede,
:root .bp-dek,
:root .pa-lede,
:root .cx-lede,
:root .ec-lede,
:root .ni-cta-lede,
:root .nx-said {
  font-size: var(--rd-lede);
}

:root .wk-note,
:root .vt-note,
:root .fq-note,
:root .ct-note,
:root .fq-say p,
:root .v6 .fq-say p {
  font-size: var(--rd-note);
}

/* Card and list copy */
:root .wk-desc,
:root .aw-say,
:root .et-said,
:root .vt-line,
:root .pa-desc,
:root .ab-lead-bio,
:root .ab-dept-text,
:root .fd-card-text,
:root .fd-pillar-text,
:root .bl-card-dek,
:root .cr-why-text,
:root .ni-gloss .cr-why-text,
:root .cr-why-text p,
:root .cr-role-line,
:root .cp-type-text,
:root .cp-type-points li,
:root .ni-stage-text,
:root .ni-reason-text,
:root .ni-step-text,
:root .ni-split-row > span,
:root .ni-note-text,
:root .ni-note-text p,
:root .ni-opp ul li,
:root .ni-opp-place,
:root .ni-a p,
:root .ni-example-table,
:root .cx-addr {
  font-size: var(--rd-card);
}

/* Fine print */
:root .ec-fine,
:root .cr-help,
:root .cr-check span,
:root .cx-check span,
:root .cx-tile span,
:root .cx-privacy,
:root .cp-step-note,
:root .ni-faq-fine,
:root .ni-example-note,
:root .ni-lead-line,
:root .ni-lead-line a,
:root .pj-cn-map figcaption {
  font-size: var(--rd-fine);
}

/* Uppercase eyebrows, roles, field labels and button text */
:root .sy-eyebrow,
:root .wk-eyebrow,
:root .vt-eyebrow,
:root .rv-eyebrow,
:root .hero-eyebrow,
:root .ab-eyebrow,
:root .fq-eyebrow,
:root .ec-eyebrow,
:root .et-eyebrow,
:root .ct-eyebrow,
:root .bl-eyebrow,
:root .cx-eyebrow,
:root .pa-eyebrow,
:root .lg-eyebrow,
:root .fx-eyebrow,
:root .aw-eyebrow,
:root .aw-issuer,
:root .nt-eyebrow,
:root .cr-eyebrow,
:root .nt-role,
:root .ab-role,
:root .ab-paper .ab-role,
:root .wk-place,
:root .wk-more,
:root .et-label,
:root .cr-field > label,
:root .btn {
  font-size: var(--rd-label);
}
