/* Shared readable text scale. Keep colors explicit for dark and light panels. */
:root {--read-body:18px;--read-ink:#33465c;--read-light:#d9e5f2;}
body main p {font-size:var(--read-body)!important;line-height:1.8!important;color:var(--read-ink)!important;}
body main :is(.hero-copy,.network-block,.coverage,.planner-preview,.solution-aside,.tender-process) p {color:var(--read-light)!important;}
body main .page-next p {color:#304129!important;}
body main :is(.eyebrow,.section-kicker) {font-size:13px;line-height:1.6;letter-spacing:1.8px;}
body main .page-intro-copy .eyebrow {color:#43566e;}
body main :is(.section-heading>p,.page-intro-copy>p,.solution-intro>p) {max-width:60ch;}
body main :is(.service,.benefits,.case-grid,.steps,.region-overview-grid) h3 {font-size:22px;line-height:1.4;}
body main :is(.text-link,.service-more,.service-detail a,.service-detail button,.service-note button,.solution-card>span,.showcase-top>a,.process-detail>a) {font-size:16px;line-height:1.6;}
body main :is(.solution-card small,.service-hero figcaption,.diagram-caption,.image-label,.showcase-bottom,.service-tags>span) {font-size:14px;line-height:1.6;}
body main .solution-card small {letter-spacing:1px;}
body main .service.featured {color:#17243a;background:#f1f8d9;border-color:#c4d599;}
body main .service.featured :is(h3,.service-top>span) {color:#17243a;}
body main .service.featured .service-tags>span {color:#33465c;background:#fff9;border-color:#9aad76;}
body main .service.featured :is(.service-more,.service-detail button,.service-detail a) {color:#174d96;}
body main .service.featured .service-more>span {color:#174d96;background:#fff8;border-color:#acbf83;}
body main .service.featured .service-top>svg {color:#174d96;background:#fff8;border-color:#acbf83;}
body main .service-note {align-items:start;}
body main .service-note strong {color:#243c59;}
body main .service-detail {font-size:17px;line-height:1.8;color:#33465c;}
body main .service.featured .service-detail {color:#33465c;}
body main :is(.region-tabs button,.network-tabs button,.city-tags span) {font-size:16px;line-height:1.5;}
body main #region-info h3 {font-size:23px;line-height:1.4;}
body main :is(.route-stop small,.board-top,.board-foot,.route-middle,.preview-heading,.plan-completeness,.preview-service small,.live-route small,.preview-extras small,.preview-stats span,.preview-extras>div,.preview-extras>div>span) {font-size:14px;line-height:1.6;color:#c4d6eb;}
body main :is(.route-stop p,.preview-service p,.preview-caption) {font-size:16px!important;}
body main :is(.route-stop strong,.live-route strong) {font-size:20px;line-height:1.5;}
body main .live-route strong.route-placeholder {color:#c8d7e9;}
body main .region-overview-grid article>span {color:#37639b;}
body main .map-caption {font-size:14px;color:#c4d6eb;}
body main .map-caption small {font-size:13px;color:#c4d6eb;}
body main .planner-presets strong {font-size:17px;line-height:1.5;}
body main .planner-presets small {font-size:15px;line-height:1.6;color:#43566e;}
body main .planner-controls label {font-size:16px!important;line-height:1.6;color:#33465c;}
body main .planner-controls input:not([type=radio]):not([type=checkbox]) {font-size:17px;line-height:1.5;min-height:50px;}
body main input::placeholder,body main textarea::placeholder {color:#586b82;opacity:1;}
body main .planner-label {flex-wrap:wrap;row-gap:12px;}
body main .planner-label h3 {font-size:20px;line-height:1.4;}
body main .planner-label>span {font-size:14px;width:30px;height:30px;flex-shrink:0;}
body main .planner-label>button>span {font-size:15px;}
body main :is(.frequency-options label>span,.planner-extras label>span,.add-stop,.planner-submit) {font-size:16px;line-height:1.5;min-height:48px;}
body main .frequency-options label>span {color:#33465c;padding:12px 8px;}
body main .planner-extras label>span {color:#33465c;padding:14px 12px;}
body main :is(.preset-status,.form-hint,.tender-documents p,.tender-process>p) {font-size:15px!important;line-height:1.75!important;}
body main .company-details dt {color:#43566e;font-size:16px;line-height:1.6;}
body main .company-details dd {font-size:17px;line-height:1.7;overflow-wrap:anywhere;}
body main .preparation-list {font-size:18px;line-height:1.7;}
body main .preparation-list span {font-size:17px;color:#33465c;line-height:1.8;}
body main .faq-section summary {font-size:19px;line-height:1.5;}
body main .finder-tabs strong {font-size:16px;line-height:1.5;}
body main .finder-tabs small {font-size:14px;color:#43566e;}
body main .process-tabs button {font-size:17px;line-height:1.5;}
body main .process-tabs b {font-size:15px;}
body main .showcase-bottom {gap:12px;}
body main .hero-checks {font-size:15px;line-height:1.6;}
body main .breadcrumbs {font-size:15px;line-height:1.6;}
body .footer-main p,body .footer-company {font-size:16px!important;line-height:1.85;color:#d5e0ee!important;}
body .footer-main nav {font-size:16px;line-height:1.7;gap:20px;}
body footer nav a[aria-current=page] {color:#dbff72;}
body .footer-bottom,body .footer-bottom button,body .footer-visual-note {font-size:14px;line-height:1.7;color:#c7d5e7;}
body .footer-main {flex-wrap:wrap;gap:28px;}
body .footer-company a {overflow-wrap:anywhere;}
body .nav nav a {font-size:15px;}
body .nav {gap:22px;}
@media(max-width:1100px) and (min-width:801px) {body .nav {gap:15px;}body .nav nav {gap:15px;}body .nav nav a {font-size:14px;}}
@media(max-width:800px) {
 :root {--read-body:17px;}
 body main .showcase-grid {grid-template-columns:1fr;}
 body main .planner-extras {grid-template-columns:1fr;}
 body main .planner-presets>button {padding:18px;}
 body main .finder-tabs {grid-template-columns:1fr;}
 body main .finder-tabs button {padding:18px;text-align:left;border-right:0;border-bottom:1px solid #dfe4ea;}
 body main .finder-tabs button>span {display:inline-block;margin:0 14px 0 0;vertical-align:middle;}
 body main .finder-tabs strong {display:inline;}
 body main .finder-tabs small {display:block;margin-left:48px;}
 body main .service-note button {margin-left:0;white-space:normal;}
 body main .frequency-options {flex-wrap:wrap;}
 body main .frequency-options>label {min-width:85px;}
 body main .route-stop {gap:12px;}
 body main .route-stop>svg {display:none;}
 body main .route-stop small {letter-spacing:.7px;}
 body main .route-stop strong {font-size:22px;}
 body main .page-intro-copy>p {max-width:none;}
 body .footer-main p {margin-left:0;}
 body .nav nav a {font-size:17px;}
}
@media(max-width:480px) {
 body main .planner-label>button {flex-basis:100%;margin:0 0 2px 40px;}
 body main .region-tabs button {padding:10px 15px;}
 body main .network-tabs button {padding:10px 14px;}
 body main .board-foot {gap:12px;}
 body main .solution-card h3 {font-size:25px;line-height:1.3;}
 body main .service h3 {font-size:24px;}
 body main .section-heading {gap:20px;}
 body .footer-main nav {gap:14px 22px;}
}
body .footer-main nav a[aria-current=page] {color:#dbff72;}
body main .service-tags>span {color:#43566e;background:#fff9;border-color:#c0cad6;}
body main .service-top>span {color:#506781;}
body main .button {font-size:16px;line-height:1.5;min-height:50px;}
body .nav .button {font-size:15px;min-height:50px;}
body main #stop-count {font-size:14px;color:#43566e;}
body main .planner-stop>button {min-width:44px;min-height:50px;color:#43566e;}
body main .finder-result .eyebrow {color:#43566e;}
@media(max-width:480px) {
 body main .frequency-options {display:grid;grid-template-columns:1fr;gap:10px;}
 body main .frequency-options>label {min-width:0;}
 body main .frequency-options label>span {min-height:48px;}
 body main .service-note {gap:14px;}
}
body main .service.featured .service-more {color:#174d96!important;}
body main .service.featured .service-more>span {color:#174d96!important;}
