/* Public-site reading scale. Admin, logos, media and third-party maps are unchanged. */
:root {
    --wb-reading-body: 20px;
    --wb-reading-small: 17px;
    --wb-reading-control: 19px;
}
body { font-size: 19px; }

/* General patient-facing content; display-sized headlines keep their hierarchy. */
body :is(.wb-subhero__summary, .wb-content__lead p, .wb-section-head > p:last-child,
    .wb-section-head--split > div:last-child > p, .wb-page-hero p:last-child,
    .wb-page-points__grid p, .wb-page-notice p, .wb-point-grid p,
    .wb-related-grid p, .wb-page-faq p, .wb-faq-grid p,
    .wb-policy__body p, .wb-policy__body li, .wb-endoscopy__copy > p,
    .wb-journal__head > p, .wb-map-card__place span,
    .wb-clinical-detail p, .wb-clinical-detail li, .wb-screening-guide p,
    .wb-screening-guide__head > p span, .wb-screening-guide__check p) {
    font-size: var(--wb-reading-body);
    line-height: 1.8;
}
body :is(.wb-breadcrumbs ol, .wb-breadcrumb, .wb-kicker, .wb-review-eyebrow,
    .wb-trust-numbers__source, .wb-medical-note, .wb-medical-note p,
    .wb-hours p, .wb-policy-meta, .wb-journal-card__meta,
    .wb-journal-card__more, .wb-related p, .wb-related span,
    .wb-endoscopy__copy li p, .wb-screening-guide__cancer-note) {
    font-size: var(--wb-reading-small);
    line-height: 1.7;
}
body :is(.wb-btn, .wb-text-link, .wb-journal__links a, .wb-map-card__actions a,
    .wb-section-nav a, .wb-screening-guide__jump a) {
    font-size: var(--wb-reading-control);
    line-height: 1.5;
}
body .wb-section-nav a { padding-inline: 17px; }
body .wb-screening-table :is(th, td) { font-size: 19px; line-height: 1.75; }
body .wb-clinical-detail__facts h3 { font-size: 24px; }
body .wb-video-card h3 { font-size: 21px; }
body .wb-video-card--large h3 { font-size: 29px; }
body .wb-journal-card h3 { font-size: 26px; }
body .wb-trust-numbers__list p { font-size: 20px; }
body .wb-trust-numbers__head h2 { font-size: clamp(36px, 4.8vw, 70px); }
body .wb-page-faq summary { font-size: 22px; line-height: 1.6; }

/* Navigation and site-wide contact links. */
body .wb-navigation__utility { font-size: 15px; }
body .wb-navigation__primary button { font-size: 20px; padding-inline: 14px; }
body .wb-navigation__consult { font-size: 18px; }
body .wb-navigation__toggle { font-size: 16px; }
body .wb-navigation__columns h2 { font-size: 21px; }
body .wb-navigation__columns a { font-size: 18px; }
body :is(.wb-navigation__book, .wb-navigation__ask, .wb-navigation__directions) { font-size: 18px; }
body :is(.wb-navigation__channels a, .wb-navigation__bottom,
    .wb-navigation__bottom button, .wb-navigation__contact-phone > span) { font-size: 16px; }
body .wb-navigation__contact-phone a { font-size: 26px; }
body .wb-navigation__mobile-list section > button { font-size: 23px; }
body .wb-navigation__mobile-list a { font-size: 19px; }
body :is(.wb-navigation__mobile-shortcuts a, .wb-navigation__mobile-contact a) { font-size: 18px; }
body .wb-footer { font-size: 16px; line-height: 1.8; }
body .wb-footer-sitemap a { font-size: 17px; line-height: 1.7; }
body .wb-footer-sitemap h3 { font-size: 21px; }
body :is(.wb-footer-sitemap h4, .wb-footer-sitemap__toggle span,
    .wb-footer-sitemap__toggle small) { font-size: 16px; }
body .wb-floating em { font-size: 14px; }

/* Comparison and program details. */
body .wb-screening-hero h1 { font-size: clamp(38px, 4.4vw, 64px); }
body .wb-screening-hero__intro { font-size: 24px; line-height: 1.6; }
body :is(.wb-screening-hero__summary, .wb-review-description,
    .wb-program-detail__body p, .wb-program-detail__body ul,
    .wb-other-program__items ul, .wb-submission-list p) {
    font-size: var(--wb-reading-body);
    line-height: 1.8;
}
body .wb-screening-section h2 { font-size: 34px; line-height: 1.4; }
body :is(.wb-review-caution, .wb-comparison-notes p, .wb-program-detail__state,
    .wb-program-detail__foot p, .wb-screening-reads article p,
    .wb-screening-reads time, .wb-screening-media .wb-related-video__meta) {
    font-size: var(--wb-reading-small);
    line-height: 1.8;
}
body :is(.wb-review-link, .wb-review-textlink, .wb-screening-nav a,
    .wb-other-program .wb-review-link, .wb-program-finder label,
    .wb-program-finder select, .wb-contact-channels a) {
    font-size: var(--wb-reading-control);
    line-height: 1.5;
}
body .wb-program-detail > summary h3 { font-size: 28px; }
body .wb-program-detail > summary .wb-program-detail__price { font-size: 24px; }
body .wb-program-detail__body h4 { font-size: 21px; }
body .wb-comparison { min-width: 1180px; font-size: 19px; line-height: 1.65; }
body .wb-comparison :is(th, td) { padding: 22px 15px; }
body .wb-comparison thead strong { font-size: 23px; }
body .wb-comparison thead span { font-size: 21px; }
body :is(.wb-comparison thead a, .wb-comparison td span, .wb-comparison .is-unlisted) { font-size: 17px; }
body .wb-compare-controls label { font-size: 17px; }
body .wb-compare-controls select { font-size: 18px; }
body .wb-other-programs__head { font-size: 18px; }
body .wb-other-program h3 { font-size: 25px; }
body .wb-other-program__price { font-size: 25px; }
body .wb-other-program__choice { font-size: 19px; }
body .wb-submission-list h3 { font-size: 27px; }
body .wb-screening-media .wb-related-video__copy h2,
body .wb-screening-reads h4 { font-size: 28px; }
body .wb-screening-reads > h3 { font-size: 20px; }
body .wb-screening-media .wb-related-video__play b { font-size: 18px; }
body .wb-contact-channels small { font-size: 17px; line-height: 1.6; }

/* Contact landing, quick consultation and board writing form. */
body .wb-consultation__heading p { font-size: var(--wb-reading-body); }
body .wb-consultation__card h2 { font-size: 29px; }
body .wb-consultation__card p { font-size: var(--wb-reading-body); }
body .wb-consultation__business h2 { font-size: 24px; }
body .wb-consultation__business strong { font-size: 22px; }
body .wb-consultation__help h2 { font-size: 22px; }
body :is(.wb-consultation__button, .wb-consultation__help a) { font-size: var(--wb-reading-control); }
body :is(.wb-consultation__notice, .wb-consultation__card small,
    .wb-consultation__business span, .wb-consult--editorial .wb-consent,
    .wb-consult--editorial .wb-consult__privacy-note,
    .wb-consult--editorial .wb-consult__channels strong) {
    font-size: var(--wb-reading-small);
    line-height: 1.7;
}
body .wb-consult--editorial .wb-consult__heading > p { font-size: var(--wb-reading-body); }
body :is(.wb-consult--editorial .wb-consult__heading > a,
    .wb-consult--editorial form label > span:first-child,
    .wb-consult--editorial form input, .wb-consult--editorial form textarea,
    .wb-consult--editorial .wb-consult__channels span,
    .wb-consult--editorial .wb-consult__submit) { font-size: var(--wb-reading-control); }
body .wb-inquiry--review .wb-inquiry__heading p { font-size: var(--wb-reading-body); }
body .wb-inquiry--review :is(.wb-qna-form, .wb-qna-form label, input, select, textarea, button) {
    font-size: var(--wb-reading-control);
}
body .wb-inquiry--review :is(.wb-qna-helper, .wb-qna-consent, .wb-qna-context p) {
    font-size: var(--wb-reading-small);
    line-height: 1.7;
}
body :is(.wb-faq-assistant, .wb-imaging-referral, .wb-corporate-inquiry) :is(p, li, label, input, select, textarea) {
    font-size: var(--wb-reading-body);
    line-height: 1.8;
}
/* Board text only: do not resize hidden headings, icon glyphs or embedded images. */
body :is(#bo_list, #bo_v, #bo_w) { font-size: 19px; }
body #bo_list .bo_tit { font-size: 20px; line-height: 1.6; }
body #bo_v_con { font-size: 20px; line-height: 1.85; }
body #bo_v_con :is(p, li, td) { font-size: inherit; line-height: inherit; }
body #bo_list_total, body #bo_v_info { font-size: 17px; }
body .wb-nonpay-catalog { font-size: 20px; }
body .wb-nonpay-catalog .wb-nonpay-table strong { font-size: 20px; }
body .wb-nonpay-catalog .wb-nonpay-table > div:not(.wb-nonpay-table__head) > span { font-size: 21px; }
body .wb-nonpay-catalog :is(.wb-nonpay-table small, .wb-nonpay-table__head, summary span) { font-size: 18px; }

/* Small labels in the older homepage and FAQ modules use explicit pixel sizes. */
body :is(.wb-intro__eyebrow, .wb-intro__panel small,
    .wb-trust-numbers__list small, .wb-doctor-stage small,
    .wb-doctor-stage__label, .wbp-specialty__head > p,
    .wbp-specialty small, .wbp-path__head > p, .wbp-path__copy small,
    .wb-contact-entry__notice, .wb-program-finder__results > p) {
    font-size: var(--wb-reading-small);
    line-height: 1.6;
}
body .wb-doctor-stage__intro > p:not(.wb-doctor-stage__label) { font-size: var(--wb-reading-body); }
body .wb-hero-video-toggle { font-size: 16px; }
body .wb-faq-assistant .wb-kicker { font-size: var(--wb-reading-small); }
body .wb-faq-assistant summary { font-size: 20px; line-height: 1.65; }
body .wb-faq-assistant button { font-size: 18px; }
body .wb-faq-assistant :is(small, .wb-faq-assistant__result-head,
    .wb-faq-assistant__reply-label, .wb-faq-assistant__number) { font-size: 16px; }
body .wb-inquiry--review :is(.wb-qna-selection p, .wb-qna-write small,
    .wb-qna-write > p, .wb-qna-privacy-note) {
    font-size: var(--wb-reading-small);
    line-height: 1.75;
}

@media (min-width:1100px) and (max-width:1450px) {
    body .wb-navigation__primary button { font-size: 18px; padding-inline: 9px; }
    body .wb-navigation__consult { padding-inline: 12px; }
    body .wb-navigation__bar { gap: 14px; }
    body .wb-navigation__columns { gap: 18px; }
    body .wb-navigation__columns h2 { font-size: 20px; }
    body .wb-navigation__contact-phone a { font-size: 24px; }
}
@media (max-width:1099px) {
    body .wb-navigation__consult { font-size: 16px; }
}
@media (max-width:760px) {
    :root {
        --wb-reading-body: 18px;
        --wb-reading-small: 16px;
        --wb-reading-control: 18px;
    }
    body { font-size: 18px; }
    body .wb-screening-hero h1 { font-size: 38px; }
    body .wb-screening-hero__intro { font-size: 22px; }
    body .wb-screening-section h2 { font-size: 29px; }
    body .wb-trust-numbers__head h2 { font-size: clamp(29px, 8.4vw, 44px); }
    body .wb-trust-numbers__list p { font-size: 18px; }
    body .wb-screening-nav .wb-shell { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
    body .wb-screening-nav__links { display: contents; }
    body .wb-screening-nav a { font-size: 16px; white-space: normal; min-height: 70px; text-align: center; justify-content: center; word-break: keep-all; }
    body .wb-screening-nav__ask { padding-left: 8px; }
    body .wb-screening-section { scroll-margin-top: calc(var(--wb-nav-height) + 90px); }
    body .wb-comparison { font-size: 17px; }
    body .wb-comparison.is-pair-comparison { min-width: 320px; }
    body .wb-comparison.is-pair-comparison thead th:first-child { width: 82px; }
    body .wb-comparison.is-pair-comparison :is(th, td) { padding: 16px 8px; }
    body .wb-comparison.is-pair-comparison thead strong { font-size: 19px; }
    body .wb-comparison.is-pair-comparison thead span { font-size: 17px; white-space: nowrap; }
    body .wb-comparison.is-pair-comparison tr > :first-child { font-size: 16px; }
    body .wb-comparison.is-pair-comparison td strong { font-size: 17px; }
    body .wb-comparison.is-pair-comparison td span { font-size: 16px; }
    body .wb-comparison thead a { font-size: 16px; }
    body .wb-program-detail > summary h3 { font-size: 26px; }
    body .wb-program-detail > summary .wb-program-detail__price { font-size: 22px; }
    body .wb-program-detail__body h4 { font-size: 20px; }
    body .wb-other-program h3, body .wb-other-program__price { font-size: 23px; }
    body .wb-other-program__choice { font-size: 18px; }
    body .wb-submission-list h3 { font-size: 25px; }
    body .wb-screening-media .wb-related-video__copy h2,
    body .wb-screening-reads h4 { font-size: 25px; }
    body .wb-screening-table :is(th, td) { font-size: 18px; }
    body .wb-screening-table :is(th, td)::before { font-size: 16px; }
    body .wb-consultation__card h2 { font-size: 26px; }
    body .wb-footer-sitemap a { font-size: 16px; }
    body .wb-video-card h3 { font-size: 19px; }
    body .wb-video-card--large h3 { font-size: 26px; }
    body .wb-journal-card h3 { font-size: 24px; }
    body #bo_v_con { font-size: 18px; }
    body #bo_list .bo_tit { font-size: 18px; }
}
@media (max-width:480px) {
    body .wb-other-program { grid-template-columns: minmax(0,1fr); gap: 8px; }
    body .wb-other-program__price { margin-bottom: 10px; }
    body .wb-other-program__items { margin-bottom: 12px; }
}
@media (max-width:380px) {
    body .wb-navigation .wb-logo__image { width: clamp(110px,calc(100vw - 210px),154px); }
    body .wb-navigation__consult { padding-inline: 8px; }
}
