/* Typography is owned here. Keep root rem size, font families, and logos unchanged. */
:root {
  --herb-type-page: 1.875rem;
  --herb-type-display: 2.25rem;
  --herb-type-section: 1.5rem;
  --herb-type-subsection: 1.25rem;
  --herb-type-card: 1.125rem;
  --herb-type-card-lead: 1.5rem;
  --herb-type-card-compact: 1.125rem;
  --herb-type-body: 1rem;
  --herb-type-deck: 1.125rem;
  --herb-type-small: .875rem;
  --herb-type-control: 1rem;
  --herb-type-nav: .9375rem;
  --herb-leading-page: 1.25;
  --herb-leading-heading: 1.3;
  --herb-leading-card: 1.4;
  --herb-leading-body: 1.65;
  --herb-leading-small: 1.5;

  /* Connect original semantic tokens to one responsive scale. Numeric tokens
     such as --font-size-32 retain their literal meaning in the base styles. */
  --text-expressive-300-b-s-font-size: var(--herb-type-display);
  --text-expressive-300-m-xl-font-size: var(--herb-type-display);
  --text-expressive-200-b-s-font-size: var(--herb-type-display);
  --text-expressive-200-m-xl-font-size: var(--herb-type-display);
  --text-expressive-100-b-s-font-size: var(--herb-type-page);
  --text-expressive-100-m-xl-font-size: var(--herb-type-page);
  --text-headline-400-b-s-font-size: var(--herb-type-page);
  --text-headline-400-m-xl-font-size: var(--herb-type-page);
  --text-headline-300-b-s-font-size: var(--herb-type-card-lead);
  --text-headline-300-m-xl-font-size: var(--herb-type-card-lead);
  --text-headline-200-b-s-font-size: var(--herb-type-subsection);
  --text-headline-200-m-xl-font-size: var(--herb-type-subsection);
  --text-headline-100-b-s-font-size: var(--herb-type-card);
  --text-headline-100-m-xl-font-size: var(--herb-type-card);
  --text-title-300-font-size: var(--herb-type-section);
  --text-title-200-font-size: var(--herb-type-subsection);
  --text-title-100-font-size: var(--herb-type-card);
  --text-body-200-font-size: var(--herb-type-deck);
  --text-body-100-font-size: var(--herb-type-body);
  --text-utility-300-font-size: var(--herb-type-control);
  --text-utility-200-font-size: var(--herb-type-small);
  --text-utility-100-font-size: var(--herb-type-small);
  --text-label-300-font-size: var(--herb-type-small);
  --text-label-200-font-size: var(--herb-type-small);
  --text-label-100-font-size: var(--herb-type-small);
  --text-expressive-300-line-height: 125%;
  --text-expressive-200-line-height: 125%;
  --text-expressive-100-line-height: 125%;
  --text-headline-400-line-height: 125%;
  --text-headline-300-line-height: 130%;
  --text-headline-200-line-height: 130%;
  --text-headline-100-line-height: 140%;
  --text-title-300-line-height: 130%;
  --text-title-200-line-height: 130%;
  --text-title-100-line-height: 140%;
  --text-body-200-line-height: 150%;
  --text-body-100-line-height: 165%;
  --text-utility-300-line-height: 150%;
  --text-utility-200-line-height: 150%;
  --text-utility-100-line-height: 150%;
  --text-label-300-line-height: 150%;
  --text-label-200-line-height: 150%;
  --text-label-100-line-height: 150%;
}

@media (min-width: 50em) {
  :root {
    --herb-type-page: 2.25rem;
    --herb-type-display: 2.625rem;
    --herb-type-section: 1.625rem;
    --herb-type-subsection: 1.3125rem;
    --herb-type-card: 1.1875rem;
    --herb-type-card-lead: 1.625rem;
    --herb-type-body: 1.0625rem;
    --herb-type-deck: 1.1875rem;
  }
}

@media (min-width: 64em) {
  :root {
    --herb-type-page: 2.5rem;
    --herb-type-display: 3rem;
    --herb-type-section: 1.75rem;
    --herb-type-subsection: 1.375rem;
    --herb-type-card: 1.25rem;
    --herb-type-card-lead: 1.75rem;
    --herb-type-deck: 1.25rem;
  }
}

/* Navigation: compact header, readable links and section labels in the drawer. */
.header .nav-list-item .nav-title a,
.header .nav-list-item .nav-tools__title {
  font-size: var(--herb-type-nav) !important;
  line-height: 1.4 !important;
}

.header .nav-sub a,
.header .nav-sub li.nav-item-active span,
.fullscreen-nav .fullscreen-nav-sub li,
.fullscreen-nav .fullscreen-nav-sub a,
.fullscreen-nav .breadcrumbs-list-link,
.fullscreen-nav .breadcrumbs-tools-link,
.fullscreen-nav .link-list-link__deprecated {
  font-size: var(--herb-type-control) !important;
  line-height: 1.5 !important;
}

.fullscreen-nav .fullscreen-nav-title,
.fullscreen-nav .fullscreen-nav-title a,
.fullscreen-nav .breadcrumbs-list-subtitle {
  font-size: var(--herb-type-subsection) !important;
  line-height: var(--herb-leading-heading) !important;
}

.header .menu-button > span,
.header .skip-link {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

/* Forms and action labels share one size; sizes do not shrink on mobile. */
.general-search .general-search-input,
.header.is-fullnav .fullscreen-nav .general-search .general-search-input,
.newsletter-signup-vue__input,
.article-feedback__feedback-text {
  font-size: var(--herb-type-control) !important;
  line-height: 1.5 !important;
}

.general-search .btn,
.newsletter-signup-vue__button,
main .text-btn,
main .text-button,
.article-feedback__submit-button {
  font-size: var(--herb-type-control) !important;
  line-height: 1.5 !important;
}

.newsletter-signup-vue__header {
  font-size: var(--herb-type-subsection) !important;
  line-height: var(--herb-leading-heading) !important;
}

.newsletter-signup-vue__input-label,
.newsletter-success-msg,
.herb-form-status,
.herb-video-status {
  font-size: var(--herb-type-small) !important;
  line-height: var(--herb-leading-small) !important;
}

/* Footer hierarchy: primary navigation, support links, then legal text. */
.footer .footer-tax1 a,
.footer .social-nav__title {
  font-size: var(--herb-type-control) !important;
  line-height: 1.5 !important;
}

.footer .footer-links-item,
.footer .footer-links-item a,
.footer .footer-links-item button,
.footer .disclaimer,
.footer .copyright,
.footer .mntl-dotdash-universal-nav__text,
.footer .mntl-dotdash-universal-nav__text--link {
  font-size: var(--herb-type-small) !important;
  line-height: var(--herb-leading-small) !important;
}

/* Long Vietnamese labels wrap as words; SVG dimensions and artwork are untouched. */
.newsletter-signup-vue__header,
.footer .footer-links-item,
.fullscreen-nav .breadcrumbs-list-link {
  overflow-wrap: anywhere;
}

/* The home statistics strip sits outside main; size its copy explicitly. */
.homeTemplate .stats-bar-copy__intro {
  font-size: var(--herb-type-body);
  line-height: var(--herb-leading-body);
}

.homeTemplate .stats-bar-copy__tagline {
  font-size: var(--herb-type-subsection);
  line-height: var(--herb-leading-heading);
}

.homeTemplate .stats-bar-link__number {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
}

.homeTemplate .stats-bar-link__text,
.homeTemplate .stats-bar-link .stats-bar-link__category {
  white-space: normal;
}

.homeTemplate .stats-bar-link .stats-bar-link__category {
  width: auto;
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

/* The source chip row used 18px text inside a 16.8px line box. */
html main .breadcrumbs--chips.mntl-universal-breadcrumbs--chips .mntl-breadcrumbs__read-more,
html main .breadcrumbs--chips.mntl-universal-breadcrumbs--chips .mntl-breadcrumbs__link {
  font-size: var(--herb-type-control);
  line-height: 1.5;
  white-space: normal;
}

main .mntl-jwplayer-broad__title-icon--close {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

/* Nested label elements must follow their control instead of an older 12px rule. */
html main .breadcrumbs--chips.mntl-universal-breadcrumbs--chips .mntl-breadcrumbs__item .link__wrapper {
  font-size: inherit;
  line-height: inherit;
}

html main .journey-accordion__sublist-item--current-article {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

[class~="404Template"] main .btn.btn-divider,
[class~="404Template"] main .btn.btn-divider .btn-divider-inner,
html main .mntl-sc-block-featuredlink__link,
html main .mntl-sc-block-featuredlink__link .link__wrapper,
html.corporateTemplate main .mntl-toc .mntl-toc__list-item-heading {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}

/* Listing pages. Keep this stylesheet last and scope exceptions to their
   templates. Compact rails retain readable sizes and may grow with the copy. */

/* Page titles: category, A–Z, error page, and the catalog's title only. */
.glossaryTemplate main .hero-title,
[class~="404Template"] main .hero-title,
.taxonomyScTemplate main .mntl-taxonomysc-heading,
.catalogTemplate > body > header h1 {
  font-size: var(--herb-type-page);
  line-height: var(--herb-leading-page);
}

/* Home: establish a hierarchy between the lead story and ordinary cards. */
.homeTemplate main .block__title {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
}
.homeTemplate main .block--large .block__title,
.homeTemplate main .block--special .block__title {
  font-size: var(--herb-type-card-lead);
  line-height: var(--herb-leading-card);
}
.homeTemplate main .homeTemplate__section-heading,
.homeTemplate main .healthy-convos__title,
.homeTemplate main .video-playlist__header {
  font-size: var(--herb-type-section);
  line-height: var(--herb-leading-heading);
}
.homeTemplate main .homeTemplate__row--secondary .homeTemplate__section-heading,
.homeTemplate main .latest-news__title {
  font-size: var(--herb-type-subsection);
  line-height: var(--herb-leading-heading);
}
.homeTemplate main .mntl-vertical-list .mntl-section-title .mntl-section-title__heading {
  /* This heading occupies a narrow rail with an existing 113px text slot. */
  font-size: 1.5rem;
  line-height: 1.3;
  height: auto;
  min-height: 113px;
}
.homeTemplate main .mntl-vertical-list .mntl-card-list .card .card__title,
.homeTemplate main .mntl-vertical-list .mntl-card-list .card .card__title-text,
.homeTemplate main .award-block__title {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
}
.homeTemplate main .latest-news .mntl-card-list .card .card__title,
.homeTemplate main .latest-news .mntl-card-list .card .card__title-text,
.homeTemplate main .board-member__name {
  /* Compact news rail and portrait/name pairs retain 18px at every width. */
  font-size: 1.125rem;
  line-height: 1.35;
}
.homeTemplate main .our-promise__headline,
.homeTemplate main .home-review-board__headline {
  font-size: var(--herb-type-deck);
  line-height: 1.5;
}
.homeTemplate main .healthy-convos__intro,
.homeTemplate main .our-promise-item__text {
  font-size: var(--herb-type-body);
  line-height: var(--herb-leading-body);
}
.homeTemplate main .video-playlist__current-title {
  font-size: var(--herb-type-subsection);
  line-height: var(--herb-leading-heading);
}
.homeTemplate main .video-playlist__item-title,
.homeTemplate main .home-tool__text,
.homeTemplate main .grid-nav-title,
.homeTemplate main .healthy-convos__links,
.homeTemplate main .our-promise__button,
.homeTemplate main .home-review-board__button {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}
.homeTemplate main .board-member__specialty {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

/* A–Z: promotional cards, alphabetical index labels, and actual topic links. */
.glossaryTemplate main .mntl-three-post__inner.mntl-universal-card-list .card .card__title,
.glossaryTemplate main .mntl-three-post__inner.mntl-universal-card-list .card .card__title-text {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
}
.homeTemplate main .alphabetical-nav .section-title,
.glossaryTemplate main .alphabetical-nav .section-title,
.glossaryTemplate main .mntl-breadcrumbs__read-more {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}
.homeTemplate main .alphabetical-nav-list a,
.glossaryTemplate main .alphabetical-nav-list a {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}
.glossaryTemplate main .alphabetical-list .alphabetical-group h3 {
  /* Existing 50px square minus 20px vertical padding leaves exactly 30px. */
  font-size: 1.5rem;
  line-height: 1.25;
}
.glossaryTemplate main .alphabetical-list .link-list-link__deprecated {
  font-size: var(--herb-type-body);
  line-height: var(--herb-leading-body);
}
.glossaryTemplate main .mntl-breadcrumbs__link {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}

/* Search: the visible count/status sits beside the search input. Keep it
   below a page-title scale; the existing semantic h1 remains visually hidden. */
.searchTemplate main .search-content-header .num-results {
  font-size: var(--herb-type-subsection);
  line-height: var(--herb-leading-heading);
}
.searchTemplate main .search-result-list-item .block__title {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
}
.searchTemplate main .search-result-list-item .block.featured .block__title {
  font-size: var(--herb-type-card-lead);
  line-height: var(--herb-leading-card);
}
.searchTemplate main .search-result-list-item .block__excerpt {
  font-size: var(--herb-type-body);
  line-height: var(--herb-leading-body);
}
.searchTemplate main .pagination,
.searchTemplate main .pagination a,
.searchTemplate main .pagination button,
.searchTemplate main .general-search-input,
.searchTemplate main .general-search .btn,
.glossaryTemplate main .general-search-input,
.glossaryTemplate main .general-search .btn {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}

/* Error page: a deck rather than a second oversized title. */
[class~="404Template"] main .page-404--subhead {
  font-size: var(--herb-type-deck);
  line-height: 1.5;
}
[class~="404Template"] main [class~="404-content"] > p:not(.page-404--subhead) {
  font-size: var(--herb-type-body);
  line-height: var(--herb-leading-body);
}
[class~="404Template"] main .btn-link {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}

/* Categories: align every module heading, then distinguish only the
   deliberately large first card in the five-card editorial arrangement. */
.taxonomyScTemplate main .mntl-sc-block-spotlight__heading,
.taxonomyScTemplate main .mntl-sc-block-faq__title,
.taxonomyScTemplate main .health-sc-block-keyterms.mntl-sc-block-keyterms .mntl-sc-block-keyterms__title,
.taxonomyScTemplate main .mntl-document-spotlight__title,
.taxonomyScTemplate main .mntl-taxonomysc-sibling-nodes__title,
.taxonomyScTemplate main .mntl-sc-block-groupcallout-heading {
  font-size: var(--herb-type-section);
  line-height: var(--herb-leading-heading);
}
.taxonomyScTemplate main .mntl-card-list .mntl-card.card .card__title,
.taxonomyScTemplate main .mntl-card-list .mntl-card.card .card__title-text {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
}
.taxonomyScTemplate main .theme-fivecard .mntl-card-list .card:first-child .card__title,
.taxonomyScTemplate main .theme-fivecard .mntl-card-list .card:first-child .card__title-text {
  font-size: var(--herb-type-card-lead);
  line-height: var(--herb-leading-card);
}
.taxonomyScTemplate main .mntl-sc-block-faq__content .accordion__title,
.taxonomyScTemplate main .health-sc-block-keyterms.mntl-sc-block-keyterms .carousel-card__title {
  font-size: var(--herb-type-subsection);
  line-height: var(--herb-leading-heading);
}
.taxonomyScTemplate main .mntl-sc-block-html,
.taxonomyScTemplate main .mntl-sc-block-html p,
.taxonomyScTemplate main .faq-accordion__item-answer p,
.taxonomyScTemplate main .carousel-card__body,
.taxonomyScTemplate main .carousel-card__body p,
.taxonomyScTemplate main .mntl-sc-block-groupcallout-items p {
  font-size: var(--herb-type-body);
  line-height: var(--herb-leading-body);
}
.taxonomyScTemplate main .taxonomysc-child-node,
.taxonomyScTemplate main .taxonomysc-child-node__more-button,
.taxonomyScTemplate main .mntl-taxonomysc-sibling-node,
.taxonomyScTemplate main .health-sc-block-keyterms.mntl-sc-block-keyterms .mntl-sc-block-keyterms__nav-item,
.taxonomyScTemplate main .health-sc-block-keyterms.mntl-sc-block-keyterms .carousel-card__link,
.taxonomyScTemplate main .accordion-content__feature-link,
.taxonomyScTemplate main .link-button-copy,
.taxonomyScTemplate main .mntl-article-sources__heading {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}
.taxonomyScTemplate main .mntl-breadcrumbs__link,
.taxonomyScTemplate main .mntl-attribution__item-descriptor,
.taxonomyScTemplate main .mntl-attribution__item-name,
.taxonomyScTemplate main .mntl-attribution__item-date,
.taxonomyScTemplate main .mntl-sources__source,
.taxonomyScTemplate main .mntl-sources__source p {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

/* Existing card metadata and CSS-generated labels. No content or color edits. */
.homeTemplate main .mntl-card-list .card .card__byline,
.glossaryTemplate main .mntl-card-list .card .card__byline,
.taxonomyScTemplate main .mntl-card-list .card .card__byline,
.homeTemplate main .block__content::before,
.searchTemplate main .block__content::before,
.homeTemplate main .card .card__header[data-kicker]::before,
.glossaryTemplate main .card .card__header[data-kicker]::before,
.taxonomyScTemplate main .card .card__header[data-kicker]::before,
.homeTemplate main .mntl-card-list .card .card__content::before,
.glossaryTemplate main .mntl-card-list .card .card__content::before,
.taxonomyScTemplate main .mntl-card-list .card .card__content::before {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

/* Catalog: preserve all utility colors, weights, grid, and text logo. */
.catalogTemplate main h2 {
  font-size: var(--herb-type-section);
  line-height: var(--herb-leading-heading);
}
.catalogTemplate main .hover-card > .font-bold {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
}
.catalogTemplate main .text-xs,
.catalogTemplate main .text-\[11px\],
.catalogTemplate main code {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}
.catalogTemplate > body > header p {
  font-size: var(--herb-type-body);
  line-height: var(--herb-leading-body);
}

/* Article roles for the seven current article pages. Load after source CSS.
   Shared --herb-type-* tokens are provided by the root typography stylesheet.
   This file changes only type size, leading and text wrapping. */

/* The journey H1 and related sections can sit outside <article>, inside main. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  h1.article-heading,
  h1.journey-hero__heading
) {
  font-size: var(--herb-type-page, 30px) !important;
  line-height: var(--herb-leading-page) !important;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Existing deck nodes are empty on all six standard article headers. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main .article-subheading {
  font-size: var(--herb-type-deck, 18px) !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Actual editorial prose and editorial lists; excludes source/caption/UI text. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main .article-content :is(
  .mntl-sc-block-html,
  .mntl-sc-block-html p,
  .mntl-sc-block-html li
) {
  font-size: var(--herb-type-body, 16px) !important;
  line-height: var(--herb-leading-body) !important;
  overflow-wrap: anywhere;
}

/* The inner text-title class has its own font size; style both levels. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  .article-content h2.mntl-sc-block-heading,
  .article-content .mntl-sc-block-heading__text,
  .related-article-list > .section-title,
  .midcirc__heading
) {
  font-size: var(--herb-type-section, 24px) !important;
  line-height: var(--herb-leading-heading) !important;
  overflow-wrap: anywhere;
  white-space: normal;
}

html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  .article-content h3.mntl-sc-block-subheading,
  .article-content .mntl-sc-block-subheading__text,
  .article-content .mntl-sc-block-callout-heading,
  .article-content .mntl-sc-block-guide-heading
) {
  font-size: var(--herb-type-subsection, 20px) !important;
  line-height: var(--herb-leading-heading) !important;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Key takeaways are regular prose, not oversized quotation text. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main .mntl-sc-block-callout:not(.theme-pullquote) :is(
  .mntl-sc-block-callout-body,
  .mntl-sc-block-callout-body p,
  .mntl-sc-block-callout-body li
) {
  font-size: var(--herb-type-body, 16px) !important;
  line-height: var(--herb-leading-body) !important;
  overflow-wrap: anywhere;
}

/* Preserve the large decorative quotation-mark ::before and original weight. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main .mntl-sc-block-callout.theme-pullquote :is(
  .mntl-sc-block-callout-body,
  .mntl-sc-block-callout-body p
) {
  font-size: var(--herb-type-subsection, 20px) !important;
  line-height: var(--herb-leading-heading) !important;
  overflow-wrap: anywhere;
}

/* All metadata labels have consistent 14px text with room for Vietnamese marks. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  .mntl-bylines__group,
  .mntl-bylines__item,
  .mntl-attribution__item-descriptor,
  .mntl-attribution__item-name,
  .mntl-attribution__item-date,
  .mntl-figure-caption,
  .figure-article-caption-text,
  .figure-article-caption-owner,
  .related-article-list .card__byline,
  .health-article .card__byline,
  .trust-ribbon-item__text
) {
  font-size: var(--herb-type-small, 14px) !important;
  line-height: var(--herb-leading-small) !important;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* TOC navigation remains body-sized; only its compact label is 14px. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  .mntl-toc__list-item,
  .mntl-toc__list-item-link,
  .sticky-toc__cta-next-journey-link
) {
  font-size: var(--herb-type-body, 16px) !important;
  line-height: var(--herb-leading-body) !important;
  overflow-wrap: anywhere;
  white-space: normal;
}
html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  .mntl-toc__heading-text,
  .mntl-toc-toggle__btn,
  .sticky-toc__cta-journey-title
) {
  font-size: var(--herb-type-small, 14px) !important;
  line-height: var(--herb-leading-small) !important;
  white-space: normal;
}

/* Includes all 112 prefooter cards plus the one inline Mounjaro card. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  .related-article-list .card__title,
  .related-article-list .card__title-text,
  .health-article .card__title,
  .health-article .card__title-text,
  .midcirc-card__title,
  .health-sc-block-featuredlink--related .mntl-sc-block-featuredlink__link
) {
  font-size: var(--herb-type-card, 18px) !important;
  line-height: var(--herb-leading-card) !important;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* References are compact supporting copy; editorial-body rules must not expand them. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main .mntl-article-sources :is(
  .source-guidelines,
  .mntl-sources__source,
  .mntl-sources__source p,
  .mntl-sources__source a
) {
  font-size: var(--herb-type-small, 14px) !important;
  line-height: var(--herb-leading-small) !important;
  overflow-wrap: anywhere;
}
html:is(.structuredContentTemplate, .exclusiveTemplate) main .mntl-article-sources__heading {
  font-size: var(--herb-type-control, 16px) !important;
  line-height: 1.5 !important;
}

/* Author synopsis is prose; existing bold author-name treatment is untouched. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  .author-bio__bio-text,
  .author-bio__bio-title
) {
  font-size: var(--herb-type-body, 16px) !important;
  line-height: var(--herb-leading-body) !important;
  overflow-wrap: anywhere;
}

/* Feedback uses the form-control scale, separate from article H3 headings. */
html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  .article-feedback__heading,
  .article-feedback__feedback-text
) {
  font-size: var(--herb-type-control, 16px) !important;
  line-height: 1.5 !important;
}
html:is(.structuredContentTemplate, .exclusiveTemplate) main :is(
  .article-feedback__feedback-button,
  .article-feedback__submit-button,
  .article-feedback .herb-form-status
) {
  font-size: var(--herb-type-small, 14px) !important;
  line-height: var(--herb-leading-small) !important;
  white-space: normal;
}

html:is(.structuredContentTemplate, .exclusiveTemplate) main .article-feedback__feedback-text::placeholder {
  font-size: var(--herb-type-control, 16px) !important;
  line-height: 1.5 !important;
}

/* Editorial typography: About, medical board, author bio and digital issue.
 * Append after the page styles, custom.css and the shared --herb-type-* tokens.
 * No font-family, font-weight, colour, image or logo changes. Credits retain
 * their intended column counts with intrinsic height instead of fixed-height
 * flex wrapping; final story cards can grow with their text.
 */

/* Corporate pages: distinguish the About lead statement from section titles. */
html.corporateTemplate main .static-hero .hero-title {
  font-size: var(--herb-type-page);
  line-height: var(--herb-leading-page);
  overflow-wrap: break-word;
}

html.corporateTemplate main .health-article .article-content h2.mntl-sc-block-heading {
  font-size: var(--herb-type-section);
  line-height: var(--herb-leading-heading);
  overflow-wrap: break-word;
}

html.corporateTemplate main .health-article.about-us .article-content > h2.mntl-sc-block-heading:first-of-type {
  font-size: var(--herb-type-page);
  line-height: var(--herb-leading-page) !important;
}

/* Tokenized child spans must follow their actual heading, not text-title-300. */
html.corporateTemplate main .health-article .mntl-sc-block-heading > .mntl-sc-block-heading__text,
html.corporateTemplate main .health-article .mntl-sc-block-subheading > .mntl-sc-block-subheading__text {
  font-size: inherit;
  line-height: inherit !important;
}

html.corporateTemplate main .health-article .article-content h3,
html.corporateTemplate main .health-article .article-content h4,
html.corporateTemplate main .health-article .article-content .mntl-sc-block-subheading,
html.corporateTemplate main .health-article .mntl-sc-block-bio .mntl-sc-block-bio__person .mntl-sc-block-bio__name {
  font-size: var(--herb-type-subsection);
  line-height: var(--herb-leading-heading);
  overflow-wrap: break-word;
}

html.corporateTemplate main .health-article .article-content,
html.corporateTemplate main .health-article .article-content .mntl-sc-block-html,
html.corporateTemplate main .health-article .article-content p,
html.corporateTemplate main .health-article .article-content li,
html.corporateTemplate main .health-article .mntl-sc-block-bio__excerpt,
html.corporateTemplate main .health-article .mntl-sc-block-groupcallout-body {
  font-size: var(--herb-type-body) !important;
  line-height: var(--herb-leading-body);
}

html.corporateTemplate main .health-article .mntl-sc-block-bio__title,
html.corporateTemplate main .health-article .mntl-figure-caption {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
  overflow-wrap: break-word;
}

html.corporateTemplate main .health-article .mntl-sc-block-bio__link,
html.corporateTemplate main .health-article .mntl-sc-block-featuredlink__link .link__wrapper,
html.corporateTemplate main .back-to-top-button {
  font-size: var(--herb-type-control);
  line-height: 1.5;
  white-space: normal;
}

/* Contents is navigation; its lists must not inherit article paragraph size. */
html.corporateTemplate main .mntl-toc .mntl-toc__heading-text {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
}

html.corporateTemplate main .mntl-toc .mntl-toc__list-item-link {
  font-size: var(--herb-type-control);
  line-height: 1.5;
  white-space: normal;
}

html.corporateTemplate main .mntl-toc .mntl-toc-toggle__btn {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

/* Author bio: data-label H2s are not content section headings. */
html.bioTemplate main .bio-details__name {
  font-size: var(--herb-type-page);
  line-height: var(--herb-leading-page);
  overflow-wrap: break-word;
}

html.bioTemplate main .bio-details__title,
html.bioTemplate main .bio-details__ex-ed__items,
html.bioTemplate main .bio-content,
html.bioTemplate main .bio-content p,
html.bioTemplate main .bio-content li {
  font-size: var(--herb-type-body);
  line-height: var(--herb-leading-body);
}

html.bioTemplate main .bio-details__ex-ed__title {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}

html.bioTemplate main .bio-content .bio-content__header,
html.bioTemplate main .bio-article-list .section-title {
  font-size: var(--herb-type-section);
  line-height: var(--herb-leading-heading);
  overflow-wrap: break-word;
}

html.bioTemplate main .bio-content h3 {
  font-size: var(--herb-type-subsection);
  line-height: var(--herb-leading-heading);
}

html.bioTemplate main .bio-quote__text,
html.bioTemplate main .bio-quote__text p {
  font-size: var(--herb-type-deck);
  line-height: 1.5;
}

html.bioTemplate main .bio-quote__author,
html.bioTemplate main .bio-article-list .block__byline,
html.bioTemplate main .bio-article-list .block__excerpt {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
  white-space: normal;
}

html.bioTemplate main .bio-article-list .block .block__title {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
  overflow-wrap: break-word;
}

html.bioTemplate main .bio-content .btn,
html.bioTemplate main .bio-article-list .btn {
  font-size: var(--herb-type-control);
  line-height: 1.5;
  white-space: normal;
}

/* Digital issue: keep its display hero distinct without sizing all .fs-* alike. */
html.healthDigitalIssue2Template main .health-di2__row-1 .di-hero__title {
  font-size: var(--herb-type-display);
  line-height: var(--herb-leading-page);
  overflow-wrap: break-word;
}

html.healthDigitalIssue2Template main .health-di2__row-1 .di-hero__subtitle {
  font-size: var(--herb-type-deck);
  line-height: 1.5;
}

html.healthDigitalIssue2Template main .di-title,
html.healthDigitalIssue2Template main .di-slideshow-title,
html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits-title {
  font-size: var(--herb-type-section);
  line-height: var(--herb-leading-heading);
  overflow-wrap: break-word;
}

html.healthDigitalIssue2Template main .di-editor-letter__byline .name {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
}

html.healthDigitalIssue2Template main .di-editor-letter__byline .title {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

html.healthDigitalIssue2Template main .di-editor-letter__letter .mntl-sc-block-html,
html.healthDigitalIssue2Template main .di-editor-letter__letter p {
  font-size: var(--herb-type-body) !important;
  line-height: var(--herb-leading-body);
}

html.healthDigitalIssue2Template main .di-hero__link .link__wrapper,
html.healthDigitalIssue2Template main .health-di2__row-6 .di-slide .di-slide__feature-link,
html.healthDigitalIssue2Template main .expandable__toggle-text {
  font-size: var(--herb-type-control);
  line-height: 1.5;
}

html.healthDigitalIssue2Template main .di-story .di-story__title,
html.healthDigitalIssue2Template main .health-di2__row-7.di-card-row .stories .title.di-story__title {
  font-size: var(--herb-type-card);
  line-height: var(--herb-leading-card);
  overflow-wrap: break-word;
}

html.healthDigitalIssue2Template main .di-story .di-story__byline {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
}

html.healthDigitalIssue2Template main .di-slideshow .di-slide__quote {
  font-size: var(--herb-type-card-lead);
  line-height: var(--herb-leading-card);
}

html.healthDigitalIssue2Template main .di-slideshow .di-slide__subheading {
  font-size: var(--herb-type-deck);
  line-height: 1.5;
}

/* Credits are metadata in the existing compact columns, including the names. */
html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits__section-title,
html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits__credit-item,
html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits__credit-item .credit,
html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits__columns .list-item .link__wrapper {
  font-size: var(--herb-type-small);
  line-height: var(--herb-leading-small);
  white-space: normal;
  overflow-wrap: break-word;
}

/* Keep the original card minimum while letting long Vietnamese titles fit. */
html.healthDigitalIssue2Template main .health-di2__row-7.di-card-row .stories .list-item > a.story {
  height: auto;
  min-height: 360px;
}

/* Twenty credit groups retain column-major reading and original 2/3/4-column
 * intent without silently spilling into extra columns as labels wrap. */
html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits__columns {
  display: block;
  height: auto;
  column-count: 1;
  column-gap: 2rem;
}

html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits__columns > .list-item {
  break-inside: avoid;
  page-break-inside: avoid;
}

@media (min-width: 34em) {
  html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits__columns {
    column-count: 2;
  }
}

@media (min-width: 50em) {
  html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits__columns {
    column-count: 3;
  }
}

@media (min-width: 64em) {
  html.healthDigitalIssue2Template main .health-di2__row-8 .di-credits__columns {
    column-count: 4;
  }
}
