/* Screen typography shared across the maintained MHFA templates.
   Existing typefaces, content, chart exports and print layouts are retained. */
@media screen {
  body#mhfa-readable-page.mhfa-readable { --reading-size:18px; --compact-size:17px; }
  body#mhfa-readable-page.mhfa-readable p { font-size:var(--reading-size)!important; line-height:1.7!important; letter-spacing:normal!important; padding-top:0!important; }
  body#mhfa-readable-page.mhfa-readable h1 { letter-spacing:-.025em!important; line-height:1.12!important; }
  body#mhfa-readable-page.mhfa-readable h2 { letter-spacing:-.02em!important; line-height:1.22!important; }
  body#mhfa-readable-page.mhfa-readable h3 { letter-spacing:-.01em!important; line-height:1.35!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root { font-size:18px; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.hero-description,.section-intro,.area-hero-description,.l3-hero-intro,.l3-section-heading p,.area-section-heading p,.team-copy>p,.about-copy>p,.l3-format-copy>p,.l3-assessment-grid p) { font-size:var(--reading-size)!important; line-height:1.7!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.hero-lead,.mh-lede) { font-size:24px!important; line-height:1.5!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.course-description,.resource-list p,.l3-benefits-grid p,.l3-syllabus p,.l3-requirement-list p,.l3-suitability p,.area-delivery-grid p,.area-supporting-grid p,.aberdeen-course-check p,.aberdeen-planning-list p) { font-size:var(--compact-size)!important; line-height:1.65!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.course-award,.course-label,.course-price span,.booking-note,.catalogue-note,.hero-support,.team-facts,.resource-type,.contact-method>span,.form-note,.field p,.field-error,.field label>span,.l3-hero-price>span,.l3-hero-price>p,.l3-booking-action>p,.l3-outcome,.l3-format-context,.l3-contact-hours,.l3-breadcrumb,.breadcrumb,.area-breadcrumb,.l3-mobile-booking small,.aberdeen-sources li) { font-size:15px!important; line-height:1.55!important; letter-spacing:normal!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.course-facts,.course-facts dd,.course-facts dt,.l3-quick-facts dt,.l3-quick-facts dd,.aberdeen-programme dd,.field label,.cf-facts dt,.cf-facts dd) { font-size:16px!important; line-height:1.55!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.button,.card-actions>.button,.text-link,.details-link,.l3-page-nav a,.l3-mobile-booking .button,.cf-button,.cf-text-link) { font-size:16px!important; line-height:1.5!important; letter-spacing:normal!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.button,.cf-button) { min-height:48px; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.faqs summary,.cf-fieldset legend,.cf-option strong) { font-size:18px!important; line-height:1.5!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .faqs details>div { font-size:var(--reading-size)!important; line-height:1.7!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .faqs details a { font-size:inherit!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.l3-syllabus h3,.l3-requirement-list strong) { font-size:19px!important; line-height:1.4!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.cf-progress li,.cf-kicker,.cf-hint,.cf-option>span>span,.cf-privacy,.cf-disclaimer,.cf-error,.cf-checks ul,.cf-class-size,.cf-brief-check,.cf-alternative,.cf-help,.cf-group-enquiry,.cf-answer-summary summary,.cf-answer-summary dl) { font-size:15px!important; line-height:1.55!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.cf-option,.cf-reasons,.cf-supporting-courses) { font-size:17px!important; line-height:1.6!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root :is(.footer-main p,.footer-main>div>a:not(.footer-brand),.social-links,.footer-bottom,.footer-bottom p) { font-size:15px!important; line-height:1.65!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .footer-main h2 { font-size:18px!important; }
  body#mhfa-readable-page.mhfa-readable :is(.link-footer,.contact-breadcrumb,.contact-breadcrumb a,.contact-breadcrumb span,.contact-option h3,.contact-provider>span,.contact-brand) { font-size:15px!important; line-height:1.6!important; letter-spacing:normal!important; }
  body#mhfa-readable-page.mhfa-readable #mhfa-guide-app :is(.hero-cta,.button,.text-link) { font-size:16px!important; line-height:1.5!important; }
  body#mhfa-readable-page.mhfa-readable :is(#sb-app,#ra-app) :is(.sb-text-link,.ra-text-link,.ra-text-button) { font-size:16px!important; line-height:1.5!important; }
  body#mhfa-readable-page.mhfa-readable :is(#sb-app,#ra-app) :is(.sb-sources,.ra-sources) :is(a,li) { font-size:15px!important; line-height:1.6!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .course-card { min-width:0; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .enquiry-form>p { margin-bottom:20px; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .card-actions { gap:14px; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .course-facts>div { gap:12px; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .course-award { min-height:0; margin-top:14px; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .course-description { margin-top:20px; margin-bottom:24px; }
  body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .course-facts { margin-top:auto; }
  @media(min-width:768px) {
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .course-card h3 { min-height:2.7em; }
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .course-award { min-height:3.1em; }
  }

  /* Article reading and the labels needed to interpret the figures. */
  body#mhfa-readable-page.mhfa-readable :is(.mh-story,.hp-story,.guide-article,.final-guide,.final-example,.final-pair,.final-course,.sb-process,.ra-process,.ra-areas-overview) :is(p,li) { font-size:var(--reading-size)!important; line-height:1.7!important; letter-spacing:normal!important; }
  body#mhfa-readable-page.mhfa-readable :is(.mh-stat p,.hp-stat p,.mh-faq-item p,.hp-faq-item p,.mh-method-grid p,.hp-method-grid p,.mh-scope p,.mh-research-note p,.sb-faq details p,.ra-faq details p,.ra-area-heading p) { font-size:var(--compact-size)!important; line-height:1.65!important; }
  body#mhfa-readable-page.mhfa-readable :is(.mh-meta,.hp-meta,.mh-small-note,.hp-small-note,.mh-chart-sub,.hp-chart-sub,.mh-stat small,.hp-stat small,.mh-author p,.mh-sources li,.hp-sources li,.mh-chart-kicker,.hp-chart-kicker,.an-measure-label,.sb-privacy p,.sb-mini-summary p,.sb-field-pair label span,.ra-risk-bottom p,.ra-save-options p,.guide-meta,.guide-note) { font-size:15px!important; line-height:1.55!important; letter-spacing:normal!important; }
  body#mhfa-readable-page.mhfa-readable :is(.mh-eyebrow,.hp-eyebrow,.sb-eyebrow,.ra-eyebrow) { font-size:15px!important; line-height:1.5!important; text-transform:none!important; letter-spacing:normal!important; }
  body#mhfa-readable-page.mhfa-readable :is(.mh-jumpnav a,.hp-jumpnav a,.mh-button,.hp-button,.mh-chart-actions a,.mh-chart-actions button,.hp-chart-actions a,.hp-chart-actions button,.sb-button,.ra-button,.sb-panel label,.ra-form-grid label,.ra-wide-label,.ra-risk-fields>label,.sb-faq summary,.ra-faq summary) { font-size:16px!important; line-height:1.5!important; letter-spacing:normal!important; }
  body#mhfa-readable-page.mhfa-readable :is(#sb-app,#ra-app) :is(input,select,textarea) { font-size:16px!important; line-height:1.5!important; }
  body#mhfa-readable-page.mhfa-readable :is(.mh-chart-table,.mh-condition-table,.mh-evidence-table,.hp-chart-table,.final-table) :is(th,td,p),
  body#mhfa-readable-page.mhfa-readable :is(table.mh-condition-table,table.mh-evidence-table,table.final-table) :is(th,td) { font-size:15px!important; line-height:1.55!important; letter-spacing:normal!important; text-transform:none!important; }
  body#mhfa-readable-page.mhfa-readable :is(.mh-chart-axis-label,.mh-chart-source,.hp-chart-axis-label,.mh-bar-label,.mh-bar-scale,.mh-service-metrics small,.mh-group-row,.mh-column span,.mh-grid-lines span) { font-size:13px!important; line-height:1.45!important; letter-spacing:normal!important; }
  body#mhfa-readable-page.mhfa-readable .mh-group-row { grid-template-columns:56px minmax(0,1fr) 55px; }
  body#mhfa-readable-page.mhfa-readable :is(.mh-research-note summary,.hp-research-note summary) { font-size:16px!important; line-height:1.5!important; }
  body#mhfa-readable-page.mhfa-readable .mh-choice button { font-size:16px!important; line-height:1.4!important; white-space:normal; min-height:48px; }
  body#mhfa-readable-page.mhfa-readable .wp-trend-meta { font-size:14px!important; line-height:1.6!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-guide-root :is(.guide-meta,.guide-breadcrumb,.guide-toc a,.guide-callout p) { font-size:16px!important; line-height:1.6!important; }
  body#mhfa-readable-page.mhfa-readable .mhfa-guide-root .guide-article { max-width:760px; }

  @media(max-width:767px) {
    body#mhfa-readable-page.mhfa-readable { --reading-size:17px; --compact-size:17px; }
    body#mhfa-readable-page.mhfa-readable h1 { font-size:clamp(36px,10vw,44px)!important; }
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .hero-lead { font-size:21px!important; }
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .l3-quick-facts { gap:22px 18px; }
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .l3-mobile-booking { gap:12px; }
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .l3-mobile-booking .button { padding-inline:13px; }
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .card-actions>.button { width:100%; }
    body#mhfa-readable-page.mhfa-readable .wp-trend-wrap { overflow-x:auto; }
    body#mhfa-readable-page.mhfa-readable .wp-trend { min-width:380px; height:330px; padding-bottom:70px; margin-bottom:12px; }
  }
}

@media screen {
  body#mhfa-readable-page #mhfa-visual-article .mh-section-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px 18px; align-items:center; }
  body#mhfa-readable-page #mhfa-visual-article .mh-section-nav a { min-height:40px; display:flex; align-items:center; }
  @media(max-width:767px) {
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .l3-mobile-booking { padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important; }
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .l3-mobile-booking>div { flex:0 0 128px; }
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .l3-mobile-booking .button { min-width:0; }
    body#mhfa-readable-page #mhfa-visual-article .mh-section-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 14px; }
  }
  @media(max-width:360px) {
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .l3-mobile-booking .button { font-size:15px!important; padding-inline:10px; gap:7px; }
    body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .l3-mobile-booking small { font-size:14px!important; }
  }
}

/* Review followups: actual article/control families present in the maintained HTML. */
@media screen {
  body#mhfa-readable-page.mhfa-readable :is(.mh-primary,.mh-secondary,.hp-primary,.hp-secondary,.mh-section-nav a,.hp-section-nav a,.mh-nav a,.mh-chart-links a,.mh-citation button,.hp-citation button) {
    font-size:16px!important; line-height:1.5!important; letter-spacing:normal!important;
  }
  body#mhfa-readable-page.mhfa-readable :is(.mh-primary,.mh-secondary,.hp-primary,.hp-secondary) { min-height:48px; }
  body#mhfa-readable-page.mhfa-readable :is(.ns-table,.an-table,.wp-table-wrap,.mh-table-scroll,.hp-table-scroll,.hp-method-table,.hp-history-table,.wp-fresh-table) :is(th,td) {
    font-size:15px!important; line-height:1.55!important; letter-spacing:normal!important; text-transform:none!important;
  }
  body#mhfa-readable-page.mhfa-readable :is(.ns-source-note,.ns-chart-note,.ns-reference,.ns-target-key,.ns-metric>small,.an-treatment small,.wp-trend-meta,.mh-chart-scope,.mh-chart-measure,.mh-chart-note,.mh-metric span,.mh-metric small,.mh-citation-status,.hp-citation-status,.mh-status,.mh-scope strong,.hp-scope strong,.mh-service-metrics span,.hp-service-metrics span,.mh-fact-pair span,.hp-fact-pair span,.mh-legend-row,.hp-legend-row,.mh-group-title,.hp-group-title,.hp-author p) {
    font-size:15px!important; line-height:1.55!important; letter-spacing:normal!important;
  }
  body#mhfa-readable-page.mhfa-readable :is(.wp-trend-year,.mh-bar-axis,.hp-grid-lines span,.hp-column span,.hp-bar-scale,.hp-group-row,.hp-service-metrics small,.mh-ring-inner span,.hp-ring-inner span) {
    font-size:13px!important; line-height:1.45!important; letter-spacing:normal!important;
  }
  body#mhfa-readable-page.mhfa-readable .wp-trend-value { font-size:14px!important; line-height:1.35!important; letter-spacing:normal!important; }
  body#mhfa-readable-page.mhfa-readable .hp-group-row { grid-template-columns:56px minmax(0,1fr) 55px; }
  body#mhfa-readable-page.mhfa-readable :is(.mh-chart-table,.hp-chart-table) summary { font-size:16px!important; line-height:1.5!important; }

  body#mhfa-readable-page.mhfa-readable :is(#sb-app,#ra-app) :is(.sb-button,.sb-example-button,.sb-tabs button,.sb-input-row button,.sb-suggestions button,.sb-back,.sb-reset,.ra-example-button,.ra-small-button,.ra-tool-tabs button,.ra-area-tabs button,.ra-nav a,.ra-plan-training a) {
    font-size:16px!important; line-height:1.5!important; letter-spacing:normal!important;
  }
  body#mhfa-readable-page.mhfa-readable :is(#sb-app,#ra-app) :is(.sb-button,.sb-example-button,.sb-input-row button,.sb-suggestions button,.sb-back,.sb-reset,.ra-example-button,.ra-small-button,.ra-area-tabs button) { min-height:44px; }
  body#mhfa-readable-page.mhfa-readable #sb-app :is(.sb-process p,.sb-intro p,.sb-panel>p,.sb-faq details p) {
    font-size:var(--compact-size)!important; line-height:1.65!important;
  }
  body#mhfa-readable-page.mhfa-readable #sb-app .sb-process h3 { font-size:18px!important; line-height:1.4!important; }
  body#mhfa-readable-page.mhfa-readable :is(#sb-app,#ra-app) :is(.sb-small,.sb-privacy p,.sb-mini-summary h4,.sb-mini-summary p,.sb-entry-limit,.sb-illustration-note,.sb-work-note,.sb-error,.sb-review .sb-section-heading p,.sb-sheet-next>p,.sb-sheet-next>div p,.sb-download-meta,.sb-sources>p,.sb-suggestions>span,.ra-small,.ra-tool-note,.ra-status,.ra-plan-head p,.ra-plan-area>p,.ra-plan-record-meta,.ra-sources>p) {
    font-size:15px!important; line-height:1.55!important; letter-spacing:normal!important;
  }
  body#mhfa-readable-page.mhfa-readable :is(#sb-app,#ra-app) :is(.sb-tabs button,.ra-tool-tabs button,.ra-area-tabs button) { min-width:0; white-space:normal; overflow-wrap:normal; }
  body#mhfa-readable-page.mhfa-readable #sb-app .sb-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body#mhfa-readable-page.mhfa-readable :is(#sb-app,#ra-app) :is(.sb-tabs button span,.ra-tool-tabs span,.ra-area-tabs button>span:first-child) { font-size:14px!important; flex-shrink:0; }
  @media(max-width:600px) {
    body#mhfa-readable-page.mhfa-readable #sb-app .sb-tabs button { flex-direction:column; gap:4px; padding:14px 6px; text-align:center; }
    body#mhfa-readable-page.mhfa-readable #ra-app .ra-area-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
}

@media screen { body#mhfa-readable-page #ra-app .ra-art-top { font-size:14px!important; letter-spacing:normal!important; text-transform:none!important; } body#mhfa-readable-page :is(#ra-app,#sb-app) label small {font-size:14px!important;} }

@media screen and (max-width:360px) { body#mhfa-readable-page.mhfa-readable .mhfa-redesign-root .l3-mobile-booking .button>span { display:none; } }

@media screen and (max-width:767px) { body#mhfa-readable-page.mhfa-readable .wp-trend-wrap::before { content:"Scroll sideways to view all years."; display:block; font-size:15px; line-height:1.5; margin:10px 0 12px; color:#526b79; } }
