/* Readability pass: bold headings and readable content, independent of viewport. */
h1,h2,h3{font-weight:var(--weight-heading);line-height:1.15}h1{letter-spacing:-.065em}h2{letter-spacing:-.055em}h3{letter-spacing:-.035em}.hero-copy h1{font-weight:var(--weight-heading);line-height:1.08}.detail-hero h1{font-weight:var(--weight-heading)}.service-nav a>span,.service-nav .service-ticketing>span,.service-nav .service-cashless>span,.service-nav .service-congresos>span{font-weight:var(--weight-subheading)}.hero-bottom .lede,.detail-hero .lede,.detail-intro p,.features p,.corporate p:not(.eyebrow),.support p,.steps p,.spotlight-copy p,.section-intro>p{font-size:var(--text-body);line-height:1.8}.features h3,.steps h3{font-weight:var(--weight-subheading)}.service-nav a>small,.service-nav .service-ticketing>small{font-size:var(--text-secondary);line-height:1.6}.support-points{font-size:var(--text-question);line-height:1.7}.faq summary{font-size:17px;font-weight:600;line-height:1.6}.faq details p{font-size:var(--text-body);line-height:1.8}.nav-direct{font-size:var(--text-secondary)}.head-contact,.menu-toggle{font-size:var(--text-secondary)}.button,.text-link,.detail-hero .button,.spotlight-copy .button,.hero-cta,.contact .primary{font-size:var(--text-secondary);font-weight:var(--weight-control);min-height:48px}.hero-topline .eyebrow,.hero-location,.corporate .eyebrow,.contact .eyebrow,.detail-hero .eyebrow{font-size:var(--text-label)}.contact>div>p:not(.eyebrow){font-size:var(--text-body);line-height:1.8}.contact label{font-size:var(--text-secondary);font-weight:600}.contact select,.contact textarea{font-size:var(--text-body);line-height:1.6}.contact form small{font-size:var(--text-label);line-height:1.7;max-width:44ch}.email{font-size:17px}.footer-meta,footer>p{font-size:var(--text-caption);line-height:1.7}.flow b{font-size:17px;font-weight:700}.flow p{font-size:var(--text-secondary);line-height:1.7}.visual-flow>p{font-size:20px;font-weight:var(--weight-subheading)}.mode-switch button{font-size:var(--text-label)}.corporate figcaption,.detail-hero figcaption,.panel-proof figcaption{font-size:var(--text-label)}
/* Cashless: questions and explanations are primary content, not captions. */
.cash-section-head>p,.cash-mode-intro p,.step-detail-heading>p,.role-detail p,.option-comparison dd,.cash-policy>p,.operations-grid li{font-size:var(--text-body);line-height:1.8}.cash-section-head .eyebrow{font-size:var(--text-label);font-weight:600}.cash-mode-intro h3,.step-detail-heading h3{font-size:28px;font-weight:var(--weight-heading);line-height:1.25;max-width:26ch}.cash-tabs button>span{font-size:18px;font-weight:var(--weight-subheading)}.cash-tabs small{font-size:var(--text-label);line-height:1.6}.cash-tabs button{min-height:98px}.cash-stages b{font-size:var(--text-secondary);font-weight:600;line-height:1.5}.cash-stages button>span{font-size:var(--text-caption)}.cash-stages button{min-height:56px;padding:14px}.step-detail-heading>span{font-size:var(--text-label);font-weight:600}.role-detail>div>span{font-size:var(--text-secondary);font-weight:600}.role-detail .op-icon{width:19px;height:19px}.option-heading h3{font-size:28px;font-weight:var(--weight-heading);line-height:1.25}.option-comparison dt{font-size:var(--text-question);font-weight:600;line-height:1.6;margin-bottom:9px}.option-key{font-size:var(--text-question);font-weight:600;line-height:1.7}.option-comparison dl{gap:28px}.operations-grid h3{font-size:27px;font-weight:var(--weight-heading)}.operations-grid li{padding-left:20px}.operations-note{font-size:var(--text-secondary);line-height:1.8}.cash-controls>p{font-size:var(--text-caption)}.cash-controls button{font-size:var(--text-secondary);min-height:48px}.station-location{font-size:var(--text-caption)}.scene-station>strong{font-size:24px;font-weight:var(--weight-subheading)}.scene-station>p,.scene-journey>small{font-size:var(--text-label);line-height:1.7}.cash-overview b{font-size:17px;font-weight:var(--weight-subheading)}.cash-overview small{font-size:var(--text-label);line-height:1.6}.cash-overview>a{font-size:var(--text-label)}.cash-overview{gap:20px}.cash-policy strong{font-weight:700}
@media(max-width:1100px){.option-comparison{grid-template-columns:minmax(0,1fr)}.option-comparison article{display:block;padding:30px;border-right:0;border-bottom:1px solid var(--color-rule)}.option-comparison article:last-child{border-bottom:0}.option-heading{align-items:center;padding-top:0}.option-comparison dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:28px}.option-key{margin-top:26px;padding-top:22px}.cash-tabs button{padding:18px 12px;gap:10px}.cash-tabs button>span{font-size:var(--text-body)}.cash-stages button{padding:12px;gap:8px}.cash-stages b{font-size:var(--text-label)}.cash-overview b{font-size:var(--text-question)}.cash-overview small{font-size:var(--text-caption)}}
@media(max-width:900px){.cash-mode-intro p{max-width:65ch}.cash-tabs small{font-size:var(--text-caption)}.cash-stages button{display:block;text-align:center}.cash-stages button>span{display:block;margin-bottom:4px}.cash-overview>a{font-size:var(--text-label)}}
@media(max-width:768px){h1,h2,h3{font-weight:var(--weight-heading)}.hero-bottom .lede,.detail-hero .lede,.detail-intro p,.features p,.corporate p:not(.eyebrow),.support p,.steps p,.spotlight-copy p,.section-intro>p{font-size:var(--text-body);line-height:1.75}.section-intro>p{margin-top:22px}.service-nav a>small,.service-nav .service-ticketing>small{font-size:var(--text-secondary)}.support-points{font-size:var(--text-secondary)}.faq summary{font-size:var(--text-body)}.faq details p{font-size:var(--text-question)}.menu-toggle{font-size:var(--text-caption)}.hero-topline .eyebrow,.corporate .eyebrow,.contact .eyebrow,.detail-hero .eyebrow{font-size:var(--text-caption)}.hero-topline .eyebrow{max-width:33ch}.contact>div>p:not(.eyebrow){font-size:var(--text-question)}.contact .primary,.detail-hero .button,.spotlight-copy .button,.hero-cta,.button,.text-link{font-size:var(--text-label);padding:14px 19px}.contact form small{font-size:var(--text-caption)}.email{font-size:var(--text-question)}.footer-meta{font-size:var(--text-caption);display:flex;flex-direction:column;align-items:flex-start;gap:16px}footer>p{font-size:var(--text-caption)}.flow b{font-size:var(--text-body)}.flow p{font-size:var(--text-secondary)}.mode-switch button{font-size:var(--text-caption);padding:10px 14px}.cash-section-head>p,.cash-mode-intro p,.step-detail-heading>p,.role-detail p,.option-comparison dd,.cash-policy>p,.operations-grid li{font-size:var(--text-question);line-height:1.8}.cash-section-head .eyebrow{font-size:var(--text-caption)}.cash-tabs button{padding:14px 6px;min-height:106px;gap:10px}.cash-tabs button>span{font-size:var(--text-label);font-weight:var(--weight-subheading)}.cash-tabs small{font-size:11px;max-width:13ch}.cash-mode-intro h3,.step-detail-heading h3{font-size:25px;line-height:1.3}.cash-stages button{display:flex;align-items:flex-start;text-align:left;gap:8px;padding:13px 10px;white-space:normal}.cash-stages b{font-size:var(--text-caption);line-height:1.5}.cash-stages button>span{font-size:10px;margin:2px 0 0}.step-detail-heading>span{font-size:var(--text-caption)}.role-detail>div>span{font-size:var(--text-secondary)}.option-heading h3{font-size:27px}.option-comparison article{padding:27px 24px}.option-comparison dl{display:flex;flex-direction:column;gap:26px;margin-top:26px}.option-comparison dt{font-size:var(--text-secondary);line-height:1.6}.option-key{font-size:var(--text-question);line-height:1.7;padding-top:22px;margin-top:26px}.cash-policy{padding:24px;gap:14px}.cash-policy strong{margin-bottom:10px}.operations-grid h3{font-size:25px}.operations-note{font-size:var(--text-label)}.cash-controls button{font-size:var(--text-label)}.cash-controls>p{font-size:var(--text-caption)}.station-location{font-size:11px}.scene-station>strong{font-size:23px}.scene-station>p{font-size:var(--text-caption)}.scene-journey>small{font-size:var(--text-caption);max-width:14ch}.scene-journey{gap:16px}.cash-overview b{font-size:var(--text-label)}.cash-overview small{font-size:11px;max-width:12ch}.cash-overview>a{font-size:var(--text-label)}.cash-overview>div{min-width:0}.cash-tabs button>span{white-space:normal}.cash-tabs .op-icon{width:26px;height:26px}}
@media(max-width:374px){.menu-toggle{font-size:11px}.hero-topline .eyebrow{font-size:11px}.hero-copy h1{font-size:41px}.contact .primary{font-size:var(--text-caption);padding:14px 15px}.cash-tabs button>span{font-size:var(--text-caption)}.cash-tabs small{font-size:10px}.cash-tabs button{min-height:110px;padding-inline:5px}.cash-stages b{font-size:11px}.cash-stages button>span{font-size:10px}.cash-stages button{padding:12px 8px;gap:6px}.cash-mode-intro h3,.step-detail-heading h3{font-size:23px}.scene-station{grid-template-columns:44px minmax(0,1fr);gap:4px 12px}.scene-station>strong{font-size:21px}.scene-station>p{font-size:11px}.station-location{font-size:10px}.scene-journey{gap:10px}.scene-journey>small{font-size:11px;max-width:12ch}.option-comparison article{padding:25px 22px}.cash-policy{padding:22px 18px;gap:10px}.cash-overview b{font-size:var(--text-caption)}.cash-overview small{font-size:10px}.role-detail p,.step-detail-heading>p{font-size:var(--text-question)}}

/* Shared roles take precedence over earlier per-section type variations. */
.detail-hero h1{font-size:var(--text-title);font-weight:var(--weight-heading);line-height:var(--line-heading)}
h2,.section-intro h2,.spotlight-copy h2,.corporate h2,.support h2,.faq h2,.contact h2,.detail-intro h2,.how h2,.other>h2,.cash-section-head h2{font-size:var(--text-section);font-weight:var(--weight-heading);line-height:var(--line-heading)}
h3,.features h3,.steps h3,.cash-mode-intro h3,.step-detail-heading h3,.option-heading h3,.operations-grid h3,.sector-map h3,.cash-agreements h3{font-size:var(--text-card);font-weight:var(--weight-heading);line-height:1.25}
.hero-bottom .lede,.detail-hero .lede,.detail-intro p,.features p,.corporate p:not(.eyebrow),.support p,.steps p,.spotlight-copy p,.section-intro>p,.faq details p,.contact>div>p:not(.eyebrow),.cash-section-head>p,.cash-mode-intro p,.step-detail-heading>p,.role-detail p,.option-comparison dd,.cash-policy>p,.operations-grid li,.sector-map p,.cash-agreements li,.demo-copy p{font-size:var(--text-body);line-height:var(--line-body)}
.service-nav a>small,.service-nav .service-ticketing>small,.support-points,.contact label,.flow p,.role-detail>div>span,.operations-note{font-size:var(--text-secondary);line-height:1.65}
.option-comparison dt,.option-key{font-size:var(--text-question);line-height:1.65;font-weight:600}
.eyebrow,.hero-topline .eyebrow,.corporate .eyebrow,.contact .eyebrow,.detail-hero .eyebrow,.cash-section-head .eyebrow{font-size:var(--text-label);font-family:var(--font-body);font-weight:600;letter-spacing:0;text-transform:none}
.button,.text-link,.detail-hero .button,.spotlight-copy .button,.hero-cta,.contact .primary,.head-contact,.cash-controls button{font-family:var(--font-body);font-size:var(--text-control);font-weight:var(--weight-control);border-radius:var(--radius-control);min-height:var(--control-height)}
.contact .primary{padding-inline:16px}.contact select,.contact textarea{font-family:var(--font-body);font-size:var(--text-body);line-height:1.6}
footer>p,.footer-meta,.contact form small,.corporate figcaption,.detail-hero figcaption,.panel-proof figcaption,.cash-controls>p{font-size:var(--text-caption);line-height:1.7}
@media(max-width:768px){.hero-topline .eyebrow{font-size:var(--text-caption)}.menu-toggle{font-size:var(--text-label)}.cash-tabs button>span{font-size:var(--text-secondary)}.cash-tabs small{font-size:var(--text-caption)}.cash-tabs button{padding-inline:6px}.contact form .primary{max-width:100%}.cash-overview small{font-size:var(--text-caption)}.cash-stages b{font-size:var(--text-caption)}.scene-station>p,.scene-journey>small{font-size:var(--text-caption)}}
@media(max-width:374px){.cash-tabs button>span{font-size:var(--text-label)}.cash-tabs small{font-size:11px}.hero-topline .eyebrow{font-size:11px}.cash-overview small{font-size:11px}}

/* Section labels are a clear reading level on every page. */
body .eyebrow,body .hero-topline .eyebrow,body .detail-hero .eyebrow,body .corporate .eyebrow,body .contact .eyebrow,body .cash-section-head .eyebrow,body .google-project .eyebrow{font-size:var(--text-eyebrow);font-weight:750;line-height:1.4;letter-spacing:0;text-transform:none;max-width:none}
.hero-topline .live-dot{flex-shrink:0}
