/* TM-TRANSPORT-P31 – Readability typography, 26 Oct 2026
 * Loaded LAST on public Transport frontend only.
 * No layout widths, grids, backgrounds, imagery, sticky bars, animations or admin rules.
 */

/* Baseline for reading content, without changing browser zoom or scaling icon SVGs. */
body.transport-native #main-content,
body.taxi-service-site.tm27-transport-chrome .taxi-service-main {
  font-size: 16.5px;
  line-height: 1.62;
}

/* Site chrome: uniform readable menu but preserve all dimensions and spacing. */
body.transport-native #qn23-header .gx-menu-item > a,
body.transport-native #qn23-header .qn23-mega-trigger,
body.taxi-service-site.tm27-transport-chrome #qn23-header .gx-menu-item > a,
body.taxi-service-site.tm27-transport-chrome #qn23-header .qn23-mega-trigger {
  font-size: 14.5px !important;
}
body.transport-native #qn23-header .gx-hotline,
body.taxi-service-site.tm27-transport-chrome #qn23-header .gx-hotline {
  font-size: 13.5px !important;
}

/* Breadcrumbs and detail navigation: keep single-row horizontal scrolling behavior. */
body.transport-native #main-content :is(.tm72-breadcrumb,.tct5-breadcrumb,.trn74-breadcrumb,.trsp73-breadcrumb,.p75-breadcrumb),
body.taxi-service-site.tm27-transport-chrome .taxi-service-main :is(.tct5-breadcrumb,.trn74-breadcrumb,.trsp73-breadcrumb) {
  font-size: 14px !important;
  line-height: 1.5;
}
body.transport-native .tct6-wrap .tct6-tabs-links a,
body.transport-native > .tct6-tabs.is-fixed .tct6-tabs-links a,
body.taxi-service-site.tm27-transport-chrome .tct6-wrap .tct6-tabs-links a {
  font-size: 14.5px !important;
}

/* Homepage: article and route cards (these used 11–13px). */
body.transport-native.trp02-home #main-content :is(.wt2-cat-item a,.dt-strip-item .dt-strip-copy strong,.trp02-card .home_price_action_btn),
body.transport-native.vf101-match #main-content .vf101-categories .wt2-cat-item a {
  font-size: 14.5px !important;
  line-height: 1.45 !important;
}
body.transport-native.trp02-home #main-content :is(.wt2-cat-top h3,.trp02-card .home_price_car_name),
body.transport-native.vf101-match #main-content .vf101-categories .wt2-cat-top h3 {
  font-size: 17px !important;
  line-height: 1.38 !important;
}
body.transport-native.trp02-home #main-content :is(.wt2-meta,.dt-strip-copy small,.trp02-card-badge,.trp02-card .home_price_value_l),
body.transport-native.vf101-match #main-content .vf101-latest .wt2-meta {
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}
body.transport-native.trp02-home #main-content :is(.trp02-card .home_price_slogan,.trp02-card .trp02-card-info strong,.vf101-latest .wt2-latest-body h3) {
  font-size: 15px !important;
  line-height: 1.5 !important;
}
body.transport-native.trp02-home #main-content :is(.qn-vf23e-heading p,.vf23h3-showroom-heading p,.trm-section-head p,.vf101-media-heading p,.trp02-journey-lead p) {
  font-size: 16px;
  line-height: 1.6;
}
body.transport-native.trp02-home #main-content :is(.home_price_card_body p,.trp02-route-card p,.home-map-info p,.tm07-trust-strip,.qn-vf23e-news p) {
  font-size: 15px;
  line-height: 1.55;
}
body.transport-native.trp02-home #main-content :is(.home_price_tab_btn,.vf23h3-route-filters .home_price_tab_btn) {
  font-size: 14px !important;
}

/* Homepage booking and route-shortlist: visibly undersized in the active Home template. */
body.transport-native.trp02-home #main-content :is(.vinfast-lead-field label,.vinfast-lead-heading span,.vinfast-recent-leads li p,.vinfast-recent-leads li a,.xg-p04-consent span) {
  font-size: 14px;
  line-height: 1.5;
}
body.transport-native.trp02-home #main-content :is(.vinfast-lead-field input,.vinfast-lead-field select,.vinfast-lead-field textarea) {
  font-size: 16px !important;
}
body.transport-native.trp02-home #main-content :is(.vinfast-lead-tab,.vinfast-lead-submit) {
  font-size: 15px;
}

/* Money pages: reading paragraphs, route facts and booking form. */
body.transport-native #main-content :is(.tm72-direct-answer p,.tm72-section-head p,.tm72-expertise-copy p,.tm72-geo-story p,.tm72-p11-story p,.tm01-article-body p) {
  font-size: 17px;
  line-height: 1.72;
}
body.transport-native #main-content :is(.tm72-vehicle-card p,.tm72-route-grid small,.tm72-route-grid>a>span:last-child,.tm72-vehicle-card a) {
  font-size: 14.5px;
  line-height: 1.55;
}
body.transport-native #main-content :is(.tm72-book-card label,.tm72-booking-zone label,.tct6-book-card label),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.tm72-book-card label,.tct6-book-card label) {
  font-size: 14px !important;
  line-height: 1.45;
}
body.transport-native #main-content :is(.tm72-book-card input,.tm72-book-card select,.tm72-book-card textarea,.tct6-book-card input,.tct6-book-card select,.tct6-book-card textarea),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.tm72-book-card input,.tm72-book-card select,.tm72-book-card textarea,.tct6-book-card input,.tct6-book-card select,.tct6-book-card textarea) {
  font-size: 16px !important;
}

/* Unified CT5 cover / sidebar and content metadata. */
body.transport-native #main-content :is(.tct5-title p,.tct5-provider-info .tct5-address),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.tct5-title p,.tct5-provider-info .tct5-address) {
  font-size: 16px;
  line-height: 1.6;
}
body.transport-native #main-content :is(.tct5-trust p,.tct5-money-link,.tct5-news-meta span,.tct5-brand-line small),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.tct5-trust p,.tct5-money-link,.tct5-news-meta span,.tct5-brand-line small) {
  font-size: 14px;
  line-height: 1.55;
}
body.transport-native #main-content :is(.tct5-actions a,.tct5-provider-buttons a),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.tct5-actions a,.tct5-provider-buttons a) {
  font-size: 15px;
}

/* News & supporting long-form reading: keep existing 18px scale; rescue tiny TOC/meta. */
body.transport-native #main-content :is(.trn74-prose,.trsp73-prose,.tm01-article-body),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.trn74-prose,.trsp73-prose) {
  font-size: 18px !important;
  line-height: 1.78;
}
body.transport-native #main-content :is(.trn74-toc a,.trn74-latest a,.trn74-meta,.trn74-summary p,.trn74-takeaways p),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.trn74-toc a,.trn74-latest a) {
  font-size: 14.5px;
  line-height: 1.55;
}
body.transport-native #main-content :is(.trn74-lead,.trsp73-lead,.p75-feature-news p),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.trn74-lead,.trsp73-lead) {
  font-size: 17px;
  line-height: 1.7;
}
body.transport-native #main-content :is(.p75-news-card p,.p75-card-grid p,.p75-topic-grid p,.p75-service-grid p) {
  font-size: 16px;
  line-height: 1.65;
}

/* Legacy listing/shop frontend (Admin and account are deliberately excluded). */
body.taxi-service-site.tm27-transport-chrome #main-content :is(.taxi-page-card p,.taxi-listing-content p,.taxi-shop-content p,.listing-description,.shop-description) {
  font-size: 16px;
  line-height: 1.65;
}

@media (max-width: 767.98px) {
  body.transport-native #main-content,
  body.taxi-service-site.tm27-transport-chrome .taxi-service-main {font-size:16px;line-height:1.6}
  body.transport-native #main-content :is(.trn74-prose,.trsp73-prose,.tm01-article-body),
  body.taxi-service-site.tm27-transport-chrome #main-content :is(.trn74-prose,.trsp73-prose) {font-size:17px !important;line-height:1.74}
  body.transport-native #main-content :is(.tm72-direct-answer p,.tm72-section-head p,.tm72-expertise-copy p,.tm72-p11-story p,.tm01-article-body p){font-size:16.5px;line-height:1.7}
  body.transport-native.trp02-home #main-content :is(.wt2-cat-item a,.trp02-card .home_price_action_btn){font-size:14.5px !important}
  /* Prevent iOS input zoom while preserving existing field heights. */
  body.transport-native #main-content :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
  body.taxi-service-site.tm27-transport-chrome #main-content :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px !important}
}

/* ========================================================================
   TM-TRANSPORT-P32 | Sitewide editorial typography audit (XGDD baseline)
   Amend P31 at source: no new CSS dependency, no width/grid/spacing changes.
   Only the public Transport frontend. Never applies to /admin, account pages,
   or icon glyphs / SVGs. The CSS bundles referenced above remain unchanged.
   ======================================================================== */

/* Universal site chrome: navigation and breadcrumbs use the 1280px shell. */
@media (min-width: 992px) {
  body.transport-native #qn23-header :is(.gx-menu-item > a,.qn23-mega-trigger),
  body.taxi-service-site.tm27-transport-chrome #qn23-header :is(.gx-menu-item > a,.qn23-mega-trigger) {
    font-size:15px !important;
    line-height:1.4 !important;
  }
}
body.transport-native #main-content :is(.tct5-breadcrumb,.trn74-breadcrumb,.trsp73-breadcrumb,.tm72-breadcrumb,.p75-breadcrumb,.tm72-crumbs),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.tct5-breadcrumb,.trn74-breadcrumb,.trsp73-breadcrumb) {
  font-size:14px !important;
  line-height:1.55 !important;
}

/* HOME: micro-labels and section leads, including xg-home-p08 rules that
   previously won by specificity and !important over P31. */
body.transport-native.xg-home-p08 #main-content .trm-home .trm-kicker,
body.transport-native.xg-home-p08 #main-content .trm-home :is(.qnvf23-eyebrow,.qn-vf23e-heading .trm-kicker,.qnvf23f-head .trm-kicker) {
  font-size:13px !important;
  line-height:1.45 !important;
}
body.transport-native.xg-home-p08 #main-content .trm-home :is(.vf23h3-showroom-heading,.home_price_title_wrap,.qn-vf23e-heading,.qnvf23f-head,.qn17-directory-heading) p,
body.transport-native.xg-home-p08 #main-content .trm-home :is(.trm-head,.transport-section-heading,.wt2-section-head) p {
  font-size:15.5px !important;
  line-height:1.6 !important;
}

/* HOME: route directory -- screenshot showed 11-13px action labels. */
body.transport-native.xg-home-p08 #main-content .qn17-directory .qn17-directory-name {
  font-size:17px !important;
  line-height:1.5 !important;
}
body.transport-native.xg-home-p08 #main-content .qn17-directory .qn17-directory-action {
  font-size:15px !important;
  line-height:1.45 !important;
}
body.transport-native.xg-home-p08 #main-content .qn17-directory .qn17-directory-heading p {
  font-size:16px !important;
  line-height:1.6 !important;
}

/* HOME: destination cards and blue local-information panel. */
body.transport-native.xg-home-p08 #main-content .qn23g-local .tx98-local-copy strong,
body.transport-native.xg-home-p08 #main-content .tx98-local-card .tx98-local-copy strong {
  font-size:15px !important;
  line-height:1.48 !important;
}
body.transport-native.xg-home-p08 #main-content .qn23g-local .tx98-local-copy small,
body.transport-native.xg-home-p08 #main-content .tx98-local-card .tx98-local-copy small {
  font-size:14px !important;
  line-height:1.5 !important;
}
body.transport-native.xg-home-p08 #main-content .tx98-local-aside :is(p,li) {
  font-size:15.5px !important;
  line-height:1.66 !important;
}
body.transport-native.xg-home-p08 #main-content .tx98-local-aside button {
  font-size:14.5px !important;
}

/* HOME: service and route cards, price labels and list CTAs. */
body.transport-native.xg-home-p08 #main-content .vf23h3-showroom-shell .vf23h3-panel .trp02-card .home_price_car_name {
  font-size:17px !important;
  line-height:1.42 !important;
}
body.transport-native.xg-home-p08 #main-content .vf23h3-showroom-shell .vf23h3-panel .trp02-card .home_price_slogan {
  font-size:15px !important;
  line-height:1.52 !important;
}
body.transport-native.xg-home-p08 #main-content .vf23h3-showroom-shell .vf23h3-panel .trp02-card :is(.home_price_value_label,.trp02-card-info strong) {
  font-size:14px !important;
  line-height:1.46 !important;
}
body.transport-native.xg-home-p08 #main-content .vf23h3-showroom-shell .vf23h3-panel .trp02-card .home_price_action_btn {
  font-size:15px !important;
}
body.transport-native.xg-home-p08 #main-content .qn23g-price .transport-price-option small {
  font-size:15px !important;
  line-height:1.6 !important;
}
body.transport-native.xg-home-p08 #main-content .qn23g-price :is(.transport-price-action,.q8-price-note) {
  font-size:14px !important;
  line-height:1.55 !important;
}
body.transport-native.xg-home-p08 #main-content .qn23g-price .q8-price-tabs button {
  font-size:14px !important;
}

/* HOME: news strip, editorial lists and magazine labels. */
body.transport-native.xg-home-p08 #main-content .qn-vf23e-news :is(.wt2-cat-item a,.dt-strip-copy strong,.dt-overlay-content strong) {
  font-size:15px !important;
  line-height:1.52 !important;
}
body.transport-native.xg-home-p08 #main-content .qn-vf23e-news :is(.wt2-meta,.dt-strip-copy small,.dt-news-label) {
  font-size:13.5px !important;
  line-height:1.52 !important;
}
body.transport-native.xg-home-p08 #main-content .vf101-media .wt2-video-overlay strong {
  font-size:16px !important;
  line-height:1.42 !important;
}
body.transport-native.xg-home-p08 #main-content .qn-vf23e-news .wt2-latest-body h3 {
  font-size:16px !important;
  line-height:1.5 !important;
}

/* HOME: trust, steps and FAQ, including secondary text. */
body.transport-native.xg-home-p08 #main-content .qnvf23f-section .qnvf23f-feature-card h3 {
  font-size:17px !important;
  line-height:1.42 !important;
}
body.transport-native.xg-home-p08 #main-content .qnvf23f-section :is(.qnvf23f-feature-card p,.qnvf23f-trust-visual-copy span,.qnvf23f-help-content p,.qnvf23f-help-content li,.qnvf23f-steps li) {
  font-size:15px !important;
  line-height:1.62 !important;
}
body.transport-native.xg-home-p08 #main-content .qnvf23f-help .qnvf23f-faq-card :is(summary,.qnvf23f-faq-foot) {
  font-size:15px !important;
  line-height:1.56 !important;
}
body.transport-native.xg-home-p08 #main-content .qnvf23f-help .qnvf23f-faq-answer {
  font-size:16px !important;
  line-height:1.7 !important;
}
body.transport-native.xg-home-p08 #main-content .qnvf23f-help .qnvf23f-help-actions :is(button,a) {
  font-size:14.5px !important;
}

/* HOME footer is not the same DOM as the child-page footer.
   It sits OUTSIDE #main-content, and was completely omitted from P31. */
body.transport-native footer.footer-merge-main :is(.qnvf23f-slogan,.qnvf23f-summary,.qnvf23f-contact),
body.transport-native footer.footer-merge-main .qnvf23f-contacts :is(a,span) {
  font-size:16px !important;
  line-height:1.66 !important;
}
body.transport-native footer.footer-merge-main .footer-menu-heading {
  font-size:18px !important;
  line-height:1.42 !important;
}
body.transport-native footer.footer-merge-main .footer-menu-list :is(a,button) {
  font-size:16px !important;
  line-height:1.55 !important;
}
body.transport-native footer.footer-merge-main .footer-merge-copy,
body.transport-native footer.footer-merge-main .footer-merge-copy a {
  font-size:14px !important;
  line-height:1.6 !important;
}

/* Child-page footer uses trf61 instead (loaded by component after <head>). */
body.transport-native footer.trf61 :is(.trf61-slogan,.trf61-intro,.trf61-info,.trf61-info a,.trf61-info span),
body.taxi-service-site.tm27-transport-chrome footer.trf61 :is(.trf61-slogan,.trf61-intro,.trf61-info,.trf61-info a,.trf61-info span) {
  font-size:15px !important;
  line-height:1.65 !important;
}
body.transport-native footer.trf61 .trf61-nav h3,
body.taxi-service-site.tm27-transport-chrome footer.trf61 .trf61-nav h3 {
  font-size:18px !important;
}
body.transport-native footer.trf61 .trf61-list :is(a,button),
body.taxi-service-site.tm27-transport-chrome footer.trf61 .trf61-list :is(a,button) {
  font-size:15px !important;
  line-height:1.55 !important;
}
body.transport-native footer.trf61 .trf61-bottom,
body.transport-native footer.trf61 .trf61-bottom a,
body.taxi-service-site.tm27-transport-chrome footer.trf61 .trf61-bottom {
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Money Page / Supporting / News: metadata, related links, cards and sidebar. */
body.transport-native #main-content :is(.tm72-page,.tct5-wrap,.trsp73,.trn74) :is(.tm72-summary p,.tm72-route-facts p,.tm72-section-head p,.tm72-hero-desc) {
  font-size:17px !important;
  line-height:1.68 !important;
}
body.transport-native #main-content :is(.trsp73,.trn74,.tct5-wrap) :is(.trsp73-meta,.trn74-meta,.tct5-brand-line small) {
  font-size:15px !important;
  line-height:1.65 !important;
}
body.transport-native #main-content :is(.tm72-page,.tct5-wrap,.trsp73,.trn74) :is(.tm72-card p,.trsp73-related p,.trsp73-related a,.trn74-latest a,.trn74-toc a,.tct5-trust p,.tct5-provider-info p),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.trsp73,.trn74,.tct5-wrap) :is(.trsp73-related a,.trn74-toc a,.trn74-latest a,.tct5-trust p) {
  font-size:15px !important;
  line-height:1.62 !important;
}
body.transport-native #main-content :is(.tm72-page,.tct5-wrap,.trsp73,.trn74) :is(.tm72-cta a,.tm72-cta button,.trsp73-related a,.tct5-actions a),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.tct5-wrap,.trsp73) .tct5-actions a {
  font-size:15px !important;
}
body.transport-native #main-content :is(.trn74-prose,.trsp73-prose,.tm01-article-body) :is(p,li),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.trn74-prose,.trsp73-prose) :is(p,li) {
  font-size:18px !important;
  line-height:1.78 !important;
}
/* Text entered into booking fields must remain >=16px for mobile readability. */
body.transport-native #main-content :is(.tm72-book-card,.tct6-book-card,.tm72-booking-zone) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
body.taxi-service-site.tm27-transport-chrome #main-content :is(.tm72-book-card,.tct6-book-card) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  font-size:16px !important;
}

@media (max-width: 767.98px) {
  /* Mobile keeps 1-column and 2-column layouts unchanged; only text responds. */
  body.transport-native.xg-home-p08 #main-content .trm-home :is(.vf23h3-showroom-heading,.home_price_title_wrap,.qn-vf23e-heading,.qnvf23f-head,.qn17-directory-heading,.trm-head) p {
    font-size:15px !important;
  }
  body.transport-native.xg-home-p08 #main-content .vf23h3-showroom-shell .vf23h3-panel .trp02-card .home_price_car_name {
    font-size:16px !important;
  }
  body.transport-native.xg-home-p08 #main-content .vf23h3-showroom-shell .vf23h3-panel .trp02-card .home_price_slogan {
    font-size:14.5px !important;
  }
  body.transport-native.xg-home-p08 #main-content .qn17-directory .qn17-directory-name,
  body.transport-native.xg-home-p08 #main-content .qn23g-local .tx98-local-copy strong {
    font-size:16px !important;
  }
  body.transport-native.xg-home-p08 #main-content .qn17-directory .qn17-directory-action,
  body.transport-native.xg-home-p08 #main-content .qn23g-local .tx98-local-copy small {
    font-size:14px !important;
  }
  body.transport-native #main-content :is(.trn74-prose,.trsp73-prose,.tm01-article-body) :is(p,li),
  body.taxi-service-site.tm27-transport-chrome #main-content :is(.trn74-prose,.trsp73-prose) :is(p,li) {
    font-size:17px !important;
    line-height:1.74 !important;
  }
  body.transport-native footer.footer-merge-main :is(.qnvf23f-summary,.qnvf23f-contact),
  body.transport-native footer.footer-merge-main .footer-menu-list :is(a,button),
  body.transport-native footer.trf61 .trf61-list :is(a,button) {
    font-size:15px !important;
  }
  body.transport-native footer.footer-merge-main .footer-merge-copy,
  body.transport-native footer.trf61 .trf61-bottom {
    font-size:13.5px !important;
  }
}

/* Public category hubs (/xe-ghep, /taxi, /xe-hop-dong...), which P31 omitted. */
body.transport-native #main-content .tmhub :is(.tmhub-hero p,.tmhub-heading p,.tmhub-empty) {
  font-size:16px !important;
  line-height:1.66 !important;
}
body.transport-native #main-content .tmhub .tmhub-card h3 {
  font-size:18px !important;
  line-height:1.42 !important;
}
body.transport-native #main-content .tmhub :is(.tmhub-card p,.tmhub-knowledge p,.tmhub-editorial-paragraph p,.tmhub-faq p) {
  font-size:16px !important;
  line-height:1.7 !important;
}
body.transport-native #main-content .tmhub :is(.tmhub-crumb,.tmhub-hero-nav a,.tmhub-services a,.tmhub-more,.tmhub-summary,.tmhub-knowledge li) {
  font-size:15px !important;
  line-height:1.55 !important;
}
body.transport-native #main-content .tmhub :is(.tmhub-overline,.tmhub-heading small,.tmhub-card small) {
  font-size:13.5px !important;
  line-height:1.4 !important;
}
body.transport-native #main-content .tmhub .tmhub-faq summary {
  font-size:16px !important;
  line-height:1.58 !important;
}

/* Public About, Contact, price/help and news category landing blocks. */
body.transport-native #main-content :is(.p75-hero,.p75-section,.p77h-news) :is(.p75-heading p,.p75-hero-grid p,.p75-hero-card li,.p75-card-grid p,.p75-service-grid p,.p75-business p,.p75-contact-side p,.p75-note p,.p77h-card-body p) {
  font-size:16px !important;
  line-height:1.67 !important;
}
body.transport-native #main-content :is(.p75-hero,.p75-section) :is(.p75-kicker,.p75-geo-grid span) {
  font-size:14px !important;
  line-height:1.45 !important;
}
body.transport-native #main-content :is(.p75-hero,.p75-section) :is(.p75-btn,.p75-inline-links a,.p75-link-grid a,.p75-contact-method span) {
  font-size:15px !important;
  line-height:1.55 !important;
}
body.transport-native #main-content :is(.p75-section,.p75-hero) :is(.p75-form label,.p75-contact-method b) {
  font-size:15px !important;
}

/* ========================================================================
   TM-TRANSPORT-P33 | Inner-page heading scale normalization
   Desktop H1: 34–46px. Mobile H1: 29–33px. P75 section H2: max 34px.
   Applies only to public Transport inner pages; homepage hero typography is
   intentionally preserved. No layout, content, SEO metadata or URL changes.
   ======================================================================== */
body.transport-native #main-content :is(
  .p75-hero h1,
  .tm72-page .tm72-hero h1,
  .trsp73 .trsp73-hero h1,
  .trn74 .trn74-header h1,
  .p77h-news .p77h-hero h1,
  .tr-page-hero h1,
  .tx37-page-hero h1,
  .trsp30-hero-copy h1,
  .trn31-header h1
) {
  font-size: clamp(34px, 3.1vw, 46px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

/* Legacy app layout is still used by Transport SEO fallback and route pages. */
body.taxi-service-site.tm27-transport-chrome .taxi-service-main :is(
  .txseo-hero h1,
  .route-seo-page .route-hero h1,
  .ct5-shop-page-local-service h1
) {
  font-size: clamp(34px, 3.1vw, 46px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

/* Restore a clear H1 > H2 hierarchy on the About / Contact / Price pages. */
body.transport-native #main-content .p75-heading h2 {
  font-size: clamp(26px, 2.2vw, 34px) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.02em !important;
}
body.transport-native #main-content .p75-feature-news h2 {
  font-size: clamp(27px, 2.4vw, 36px) !important;
  line-height: 1.16 !important;
}

@media (max-width: 767.98px) {
  body.transport-native #main-content :is(
    .p75-hero h1,
    .tm72-page .tm72-hero h1,
    .trsp73 .trsp73-hero h1,
    .trn74 .trn74-header h1,
    .p77h-news .p77h-hero h1,
    .tr-page-hero h1,
    .tx37-page-hero h1,
    .trsp30-hero-copy h1,
    .trn31-header h1
  ),
  body.taxi-service-site.tm27-transport-chrome .taxi-service-main :is(
    .txseo-hero h1,
    .route-seo-page .route-hero h1,
    .ct5-shop-page-local-service h1
  ) {
    font-size: clamp(29px, 7.5vw, 33px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.02em !important;
  }

  body.transport-native #main-content .p75-heading h2,
  body.transport-native #main-content .p75-feature-news h2 {
    font-size: 27px !important;
    line-height: 1.2 !important;
  }
}
