/* LDT page typography tokens. The rendered role adapter owns size and leading.
 * No body/html reset; no colour, family, weight, spacing or control overrides.
 * Main section headings follow the established 36/27 page standard.
 */
.ldt-type-scope,
.ldt-type-legacy-page {
  --ldt-type-title: 48px;
  --ldt-type-title-line: 1.18;
  --ldt-type-section: 36px;
  --ldt-type-section-line: 1.3;
  --ldt-type-subsection: 25px;
  --ldt-type-subsection-line: 1.4;
  --ldt-type-card-title: 20px;
  --ldt-type-card-title-line: 1.4;
  --ldt-type-compact-title: 18px;
  --ldt-type-compact-title-line: 1.45;
  --ldt-type-body: 16px;
  --ldt-type-body-line: 1.75;
  --ldt-type-lead: 18px;
  --ldt-type-lead-line: 1.7;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .ldt-type-scope,
  .ldt-type-legacy-page {
    --ldt-type-title: 40px;
    --ldt-type-section: 32px;
    --ldt-type-subsection: 22px;
    --ldt-type-card-title: 19px;
    --ldt-type-lead: 17px;
  }
}

@media (max-width: 767px) {
  .ldt-type-scope,
  .ldt-type-legacy-page {
    --ldt-type-title: 32px;
    --ldt-type-title-line: 1.25;
    --ldt-type-section: 27px;
    --ldt-type-subsection: 19px;
    --ldt-type-card-title: 18px;
    --ldt-type-compact-title: 18px;
    --ldt-type-lead: 17px;
  }
}

/* Only the three audited legacy pages receive this class. Header/footer and
 * interactive controls keep their existing typography; no global tag reset. */
.ldt-type-legacy-page #main h1:not(:where(form *, nav *, footer *)) {
  font-size: var(--ldt-type-title) !important;
  line-height: var(--ldt-type-title-line) !important;
}
.ldt-type-legacy-page #main h2:not(:where(form *, nav *, footer *, .content_banner *)) {
  font-size: var(--ldt-type-section) !important;
  line-height: var(--ldt-type-section-line) !important;
}
/* These two pages also receive the existing editorial MU stylesheet. Use a
 * page-specific selector so its 32px !important rule cannot override this role. */
body.page.ldt-type-legacy-page:is(.page-id-1292, .page-id-1293) #main .entry-content h2:not(:where(form *, nav *, footer *)) {
  font-size: var(--ldt-type-section) !important;
  line-height: var(--ldt-type-section-line) !important;
}
.ldt-type-legacy-page.page-id-409 #main h3:not(.thin-font):not(:has(img)):not(:where(form *, nav *, footer *)),
.ldt-type-legacy-page.page-id-409 #main h4:not(:where(form *, nav *, footer *)) {
  font-size: var(--ldt-type-card-title) !important;
  line-height: var(--ldt-type-card-title-line) !important;
}
.ldt-type-legacy-page #main :is(h1, h2):not(:where(form *, nav *, footer *, .content_banner *)) :is(span, strong, b, em),
.ldt-type-legacy-page.page-id-409 #main h3:not(.thin-font):not(:has(img)):not(:where(form *, nav *, footer *)) :is(span, strong, b, em),
.ldt-type-legacy-page.page-id-409 #main h4:not(:where(form *, nav *, footer *)) :is(span, strong, b, em) {
  font-size: inherit !important;
  line-height: inherit !important;
}
/* Explicit prose containers exclude number badges, personnel identity panels,
 * banner kickers and award-image wrappers found in the legacy About page. */
.ldt-type-legacy-page.page-id-409 #main :is(.text, .col-inner) > p:not(.uppercase):not(:has(img)):not(:where(form *, nav *, footer *, .number *, .icon-box-text > p)),
.ldt-type-legacy-page.page-id-409 #main p.break-words:not(:where(form *, nav *, footer *)) {
  font-size: var(--ldt-type-body) !important;
  line-height: var(--ldt-type-body-line) !important;
}
.ldt-type-legacy-page.page-id-409 #main :is(.text, .col-inner) > p:not(.uppercase):not(:has(img)):not(:where(form *, nav *, footer *, .number *, .icon-box-text > p)) :is(span, strong, b, em),
.ldt-type-legacy-page.page-id-409 #main p.break-words:not(:where(form *, nav *, footer *)) :is(span, strong, b, em) {
  font-size: inherit !important;
  line-height: inherit !important;
}
