/* Phone reading sizes. Desktop typography stays in the main stylesheets.
   The minimum-size list covers the existing small-print component selectors.
   Keep new phone labels at 1.125rem or larger when adding components. */
@media (max-width:760px) {
  :root { --type-body:1.25rem; --page-gutter-phone:16px; }
  body { font-size:1.25rem; line-height:1.6; }
  .masthead { gap:12px; }
  .masthead .logo-link { min-width:0; flex:1 1 auto; }
  .masthead .menu-btn { flex:0 0 auto; }
  .vtag { white-space:normal; max-width:100%; }
  button:not(.term) { font-size:1.125rem !important; }
  /* A wrapped section menu should not cover the reading area while scrolling. */
  .onthispage { position:static; }
  .text-small-muted,
  .site-footer-kicker,
  .site-footer-copy,
  .site-footer-disclosure,
  .site-footer-cta,
  .masthead .site-name,
  .masthead .site-sub,
  .nav-links,
  .menu-btn,
  .menu-btn .mb-ico,
  .nav-group > summary::after,
  .page-hero .kicker,
  .section .kicker,
  .embed-slot .es-tag,
  .embed-slot .es-help,
  .embed-slot .es-help code,
  .viz-shield-hint,
  .community-lens__label,
  .community-lens > p,
  .community-lens thead th,
  .community-lens tbody th,
  .community-lens tbody th span,
  .community-lens tbody td,
  .community-lens__source,
  .community-lens__link,
  .dime-primer__label,
  .dime-primer p,
  .dime-equation__term span,
  .rural-effect__stat span,
  .rural-effect__label,
  .rural-effect p,
  .rural-effect__vintage,
  .community-lens tbody th,
  .community-lens tbody td,
  .dc-kicker,
  .dc-field label,
  .dc-field select,
.dc-field input[type="text"],
  .dc-name,
  .dc-sub,
  .dc-meta,
  .dc-compare,
  .levy-money-input input,
.levy-cents-input input,
  .levy-cents-input span,
  .levy-home-result span,
  .levy-home-result p,
  .levy-home-label,
  .levy-yield span,
  .levy-total,
  .levy-yield-na,
  .levy-impact-note,
  .k12-period,
  .k12-status,
  .k12-real,
  .k12-benchmark,
.k12-limit,
  .k12-ledger-key,
  .k12-ledger-table caption,
  .viz-caption,
  .means .kicker,
  .means-card .mc-who,
  .means-card p,
  .means-ask .ma-title,
  .means-ask li,
  .theme-card .tc-kicker,
  .theme-card .tc-desc,
  .theme-card .tc-go,
  .stat-chip .compare-side-label,
  .stat-chip .compare-vs,
  .stat-chip .lab,
  .stat-chip .src,
  .res-row .t,
  .res-row .d,
  .callout,
  .mos-viz-deck,
  .mos-growth-value,
  .mos-growth-year,
  .mos-meter-label,.mos-money-label,
  .mos-meter-label strong,.mos-money-label strong,
  .mos-meter-note,
  .mos-viz-caution,
  .mos-viz-link,
  .mos-gap-note strong,
  .mos-gap-note span,
  .mos-viz figcaption,
  .mos-districts > p,
  .mos-district-controls label,
  .mos-district-controls input,
  .mos-district-table,
  .mos-district-table thead th,
  .mos-district-pager > div:first-child,
  .mos-district-buttons button,
  .mos-districts .mos-district-note,
  .mos-eao-panel > p,.mos-ledger-panel > p,.mos-school-directory > p,
  .mos-eao-label,
  .mos-eao-label strong,
  .mos-eao-cap,
  .mos-eao-cap strong,
  .mos-ledger-list strong,
  .mos-ledger-list span,
  footer,
  .home-eyebrow,
  .button-primary,
.button-secondary,
  .hp-find-lab,
  .hp-find-sub,
  .app-promo-copy strong,
  .app-promo-copy span,
  .app-promo-link,
  .app-help-link,
  .hp-opt,
  .hp-opt .hp-sub,
  .hp-none,
  .mobile-guide-point,
  .install-support,
  .mobile-guide-fineprint,
  .datatable,
  .datatable thead th,
  .viz-load-btn,
  .vlb-ico,
  .viz-fallback,
  .viz-spin,
  .viz-tool-actions button,
  .viz-selection-help,
  .vex-ico,
  .viz-modal-hint,
  .viz-modal-close,
  table.dtable th, table.dtable td,
  table.dtable th,
  .accreditation-status__label,
  table.dtable.dtable--narrative th,
  table.dtable.dtable--narrative td,
  .hero-stats .hs,
  .hero-map-card .hm-head,
  .hm-legend,
  .hm-a11y-note,
  .home-masthead-kicker,
  .home-masthead-meta,
  .home-masthead-count span,
  .skip-link,
  .keyfind h3,
  .keyfind li,
  .vintage .vlabel,
  .vtag,
  .onthispage .otp-lab,
  .onthispage a,
  .ev-h,
  .ev p,
  .disclaimer,
  .corr-date,
  .corr .chg,
  .maplegend,
  .sh-status,
  .sh-lab,
  .sh-btn,
  .mapkey,
  .maprow .side .lede,
  .deepdive > summary,
  .deepdive > summary::before,
  .atlas-card .ac-t,
  .atlas-card .ac-r,
  details.viz-table,
  .viz-table th, .viz-table td,
  .viz-table caption,
  .term-bubble,
  .lk-opt,
  .lk-opt .lk-sub,
  .lk-empty,
  .lk-hero .lk-meta,
  .lk-report-copy span,
  .lk-report-copy p,
  .lk-gtitle,
  .lk-gsay,
  .lk-row.head div,
  .lk-lab,
  .lk-lab .lk-note,
  .lk-med,
  .lk-cmp,
  .acs-withheld,
  .acs-disclosure,
  .ctx-card p,
  .ctx-occupation p,
  .ctx-kicker,
  .ctx-summary-fact,
  .ctx-caution,
  .ctx-action,
  .ctx-legend li,
  .ctx-measure-head,
  .ctx-measure-head .ctx-withheld,
  .ctx-leader-detail > summary,
  .ctx-planning-topic .ctx-topic-value,
  .ctx-planning-topic .ctx-peer-note,
  .ctx-age-share,
  .lg-lab,
  .lg-chip,
  .lk-datadate,
  .lk-building span,
  .lk-building-phone,
  .lk-building-code,
  .lk-hl-card .lk-hl-lab,
  .lk-hl-card p,
  .lk-revenue-source p,
  .lk-revenue-table th,
  .lk-revenue-table td,
  .lk-revenue-source figcaption,
  .lk-wyc li,
  .lk-nodata,
  .lk-foot,
  .lk-empty-state .es-s,
  .lk-chip,
  .fdl-kicker,
  .fdl-toggle button,
  .fdl-sub,
  .fdl-lab,
  .fdl-lab small,
  .fdl-gap,
  .fdl-gap small,
  .fdl-ticks,
  .fdl-leg,
  details.fdl-tab,
  .fdl-tab th,.fdl-tab td,
  .fdl-foot,
  .lcl-kicker,
  .lcl-toggle button,
  .lcl-sub,
  .lcl-lab,
  .lcl-lab small,
  .lcl-gap,
  .lcl-gap small,
  .lcl-ticks,
  .lcl-leg,
  details.lcl-tab,
  .lcl-tab th,.lcl-tab td,
  .lcl-foot,
  .lclb-lab,
  .lclb-lab small,
  .lclb-val,
  .lclb-head,
  .lclb-foot,
  .pns-cap,
  .pns-lab,
  .pns-lab small,
  .pns-val,
  .pns-val small,
  .pns-note,
  .pns-calc .pc-kick,
  .pns-field label,
  .pns-field select,
  .pns-card .t,
  .pns-card .s,
  .pns-cfoot,
  .uvc-kicker,
  .uvc .uvc-instruction,
  .uvc-field label,
  .uvc-field select,
  .uvc-update,
  .uvc-status,
  .uvc-table thead th,
  .uvc-table tbody th,
  .uvc-table tbody th span,
  .uvc-table .uvc-group-row th,
  .uvc-summary,
  .uvc .uvc-note,
  .uvc-table tbody td::before,
  .sample-eyebrow,
  .sample-search-label,
  .sample-count-note,
  .sample-map-title,
  .sample-map-subtitle,
  .sample-map-legend,
  .sample-map-help,
  .sample-kicker,
  .sample-question-card .topic,
  .sample-question-card p,
  .sample-card-links a,
  .sample-more-heading p,
  .sample-more-card .topic,
  .sample-more-card p,
  .sample-more-card .sample-more-cta,
  .sample-action p,
  .sample-action a,
  .sample-about-box p,
  .sample-about-links a,
  .sample-nav-trigger::after,
  .cm-fam,
  .cm-card .cm-sub,
  .cm-srow,
  .cm-srow .cm-who small,
  .cm-sbar i,
  .cm-legend,
  .cm-flow,
  .cm-drow,
  .cm-foot,
  .cm-stat .cm-k,
  .cm-stat .cm-pair small,
  .cm-stat .cm-vs,
  .native-map,
  .nm-heading p,
  .nm-heading button,
  .nm-toolbar label,
  .nm-toolbar :is(input,select),
  .nm-results button,
  .nm-baseline label,
  .nm-tooltip,
  .nm-key,
  .nm-key strong[data-legend-title],
  .nm-ticks,
  .nm-color-note,
  .nm-categories,
  .nm-selection,
  .nm-selected p,
  .nm-help,
  .nm-actions button,
  .nm-details,
  .nm-table table,
  .nm-table button,
  .nm-footer,
  .nm-share,
  .nm-preview-banner,
  .nm-mobile-selection,
  .nm-expanded .nm-heading button,
  .nm-expanded .nm-color-note,
  .nm-expanded .nm-categories,
  .nm-context,
  .nm-expanded .nm-context,
  .native-map .nm-context,
  .native-map .nm-color-note,
  .native-map .nm-help { font-size:1.125rem !important; }

  /* Comfortable prose; keep headings and key figures larger. */
  .section p, .section li, .page-hero p.lede, .section .lede,
  .lk-hero .lk-meta, .lk-gsay, .lk-lab, .lk-hl-card p,
  .lk-report-copy p, .lk-wyc li, .callout, .cm-fam,
  .ctx-card p, .ctx-occupation p, .ctx-summary-fact {
    font-size:1.25rem !important; line-height:1.6;
  }
  .lk-lab .lk-note, .lk-foot, .lk-datadate, .cm-foot,
  .lk-revenue-source figcaption, .text-small-muted, .sh-status {
    color:#514B49; line-height:1.55;
  }
  input:not([type=range]):not([type=checkbox]):not([type=radio]), select, textarea {
    font-size:1.25rem !important; max-width:100%; min-width:0;
  }
  button:not(.term), .sh-btn, .button-primary, .button-secondary {
    min-height:44px; line-height:1.35;
  }
  .sh-btn { padding:10px 13px; }
  .lk-report-button { font-size:1.25rem; white-space:normal; }
  .lk-report-copy strong { font-size:1.5rem; line-height:1.25; }
  .lk-report-copy span, .lk-gtitle, .dc-kicker { letter-spacing:.06em; }
  .lk-body, .lk-hero, .lk-jumpnav { padding-left:16px; padding-right:16px; }
  .lk-row { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .lk-lab { grid-column:1/-1; }
  .lk-val { text-align:left; font-size:1.25rem; }
  .lk-cmp { grid-column:2; }
  .lk-pill { white-space:normal; overflow-wrap:anywhere; }
  .dc-cards { grid-template-columns:minmax(0,1fr); }
  .dc-name { min-height:0; }
  .ctx-measure-head, .cm-drow { min-width:0; overflow-wrap:anywhere; }
  .cm-srow { grid-template-columns:minmax(0,1fr); gap:5px; }
  .cm-srow .cm-who { text-align:left; }
  .cm-sbar { height:34px; }
  .cm-sbar i { line-height:34px; }
  .cm-drow { grid-template-columns:minmax(0,1fr) 52px; }
  .cm-drow .cm-dbar { grid-column:1/-1; grid-row:2; }
  .site-footer-disclosure, .site-footer-copy { font-size:1.125rem; line-height:1.6; }
  .smms-app-brand, .smms-app-full-site { font-size:1.125rem !important; }

  /* Map keys keep their meaning and size even in the compact layout. */
  .native-map, .nm-share { font-size:1.125rem; line-height:1.5; }
  .native-map p, .native-map li, .native-map .nm-footer,
  .native-map .nm-context, .native-map .nm-color-note,
  .native-map .nm-toolbar label, .native-map .nm-ticks,
  .nm-share p, .nm-share label, .nm-share summary {
    font-size:1.125rem !important; line-height:1.5;
  }
  .native-map button, .nm-share button { font-size:1.125rem !important; }
  .native-map .nm-heading { flex-wrap:wrap; }
  .native-map .nm-heading h3 { font-size:1.5rem; }
  .native-map .nm-toolbar label { flex-basis:140px; }
  .native-map .nm-reading { height:auto; min-height:0; }
  .native-map .nm-ticks { gap:5px; }
  .nm-share { width:96vw; max-height:94svh; padding:16px; }
  .nm-share nav { flex-wrap:wrap; }
  .nm-share textarea { min-height:9em; }
  .nm-share-head { align-items:flex-start; gap:12px; }
  .nm-share-head h2 { font-size:1.75rem; }
}
