/* Content scale, matched to the 16px blue-masthead subtitle on both breakpoints.
   Only main content is adjusted. Navigation, mastheads and footer keep their
   approved typography. EN and Traditional Chinese share this scale. */
body {
  --content-body:16px;
  --content-h2:24px;
  --content-h3:20px;
  --content-h4:18px;
  --content-small:14px;
  --content-table:15px;
}
body #main { font-size:var(--content-body); }
body #main :is(p,li,dd,dt,blockquote,summary):not(.inner-masthead *, .site-breadcrumbs *, .new-hero *, .meta, .article-meta, .eyebrow, .new-eyebrow, .category-eyebrow, .new-card-tag, .new-card-number, .category-card-number, .person-role, .faq-category, .reviewed) {
  font-size:var(--content-body);
  line-height:1.8;
}
body #main :is(.prose,.article-body,.managed-rich-content,.category-fit) {
  font-size:var(--content-body);
  line-height:1.8;
}
/* Imported rich text may carry inline font sizes; normalize text only, keeping
   its existing emphasis, colours, links and layout. Headings get their own scale. */
body #main :is(.prose,.article-body) :is(p,li,div,span,font):not(h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,table *, .about-story-lead) {
  font-size:var(--content-body)!important;
}
body #main h2:not(.inner-masthead *, .new-hero *) { font-size:var(--content-h2);line-height:1.45; }
body #main h3:not(.inner-masthead *, .new-hero *) { font-size:var(--content-h3);line-height:1.5; }
body #main :is(h4,h5,h6):not(.inner-masthead *, .new-hero *) { font-size:var(--content-h4);line-height:1.5; }
body #main :is(h2,h3,h4,h5,h6) :is(span,font) { font-size:inherit!important; }
body #main :is(table,th,td),
body #main :is(.prose,.article-body) :is(th,td) :is(p,span,div,font) {
  font-size:var(--content-table)!important;
  line-height:1.65;
}
body #main :is(.meta,.article-meta,.source-box,.faq-disclaimer,figcaption,small,.person-role,.reviewed),
body #main :is(.source-box,.faq-disclaimer) :is(p,li) {
  font-size:var(--content-small);
  line-height:1.65;
}
/* Preserve the specifically approved English news-list title size. */
html[lang="en-CA"] body #main #news-grid .content-card h2 { font-size:18px; }
body.about-small-refinement #main .prose .about-story-lead { font-size:22px;line-height:1.65; }
@media(max-width:720px) {
  body { --content-h2:22px;--content-h3:19px; }
  body.about-small-refinement #main .prose .about-story-lead { font-size:20px; }
}
/* News excerpts use a five-line fixed-height card slot from news-grid-layout.
   Retain its 1.65 line-height so the last visible line is never cut in half. */
body #main #news-grid .content-card p { line-height:1.65; }

/* Chinese mentorship types only: compact imported blank lines and heading gaps. */
body #main .mentorship-types-compact .prose { line-height:1.65; }
body #main .mentorship-types-compact .prose > div:has(> br:only-child) { height:8px;line-height:8px; }
body #main .mentorship-types-compact .prose > h3 { margin-top:20px;margin-bottom:8px; }
body #main .mentorship-types-compact .prose > h3:first-child { margin-top:0; }
