.TrainHubPage-module__XKzW-W__page{--tone-accent:#1a3c2a;--tone-border:#e8e1cf;--tone-mist:#eef3eb;min-height:100%;padding:7rem 1rem max(12rem, calc(9rem + env(safe-area-inset-bottom)));color:#07130e;background:linear-gradient(180deg, #f5f2ea 0%, var(--tone-mist) 100%)}.TrainHubPage-module__XKzW-W__shell{gap:clamp(2rem,5vw,4rem);width:100%;max-width:240rem;margin:0 auto;display:grid}.TrainHubPage-module__XKzW-W__breadcrumb{color:#46554b;align-items:center;gap:.55rem;font-size:.85rem;font-weight:600;display:flex}.TrainHubPage-module__XKzW-W__breadcrumb a{color:inherit;text-decoration:none}.TrainHubPage-module__XKzW-W__breadcrumb a:hover,.TrainHubPage-module__XKzW-W__breadcrumb a:focus-visible{color:#07130e}.TrainHubPage-module__XKzW-W__hero{gap:1.15rem;max-width:74rem;display:grid}.TrainHubPage-module__XKzW-W__eyebrow{color:#46554b;font-family:var(--font-jetbrains);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:600}.TrainHubPage-module__XKzW-W__title{color:#07130e;font-family:var(--font-display);font-size:var(--type-page-title);letter-spacing:var(--fraunces-letter-spacing);font-weight:300;line-height:var(--fraunces-line-height);margin:0}.TrainHubPage-module__XKzW-W__lead{color:#46554b;max-width:58rem;font-size:var(--type-body-large);margin:0;font-weight:600;line-height:1.45}.TrainHubPage-module__XKzW-W__heroGrid{border:1px solid color-mix(in oklch, var(--tone-accent) 28%, var(--tone-border));background:#fff;border-radius:1.25rem;gap:0;display:grid;overflow:hidden;box-shadow:0 1px 1px #07130e12}.TrainHubPage-module__XKzW-W__answerPanel{background:#fff;gap:.9rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.TrainHubPage-module__XKzW-W__panelTitle{font-family:var(--font-display);letter-spacing:var(--fraunces-letter-spacing);font-size:var(--type-functional-title);font-weight:300;line-height:var(--fraunces-line-height);margin:0}.TrainHubPage-module__XKzW-W__copy{color:#46554b;margin:0;font-weight:600;line-height:1.55}.TrainHubPage-module__XKzW-W__statsGrid{border-top:1px solid var(--tone-border);background:var(--tone-mist);gap:0;display:grid}.TrainHubPage-module__XKzW-W__stat{border-bottom:1px solid var(--tone-border);background:0 0;gap:.25rem;min-height:6.5rem;padding:1rem;display:grid}.TrainHubPage-module__XKzW-W__stat:last-child{border-bottom:0}.TrainHubPage-module__XKzW-W__statValue{color:var(--tone-accent);font-family:var(--font-jetbrains);font-size:clamp(1.6rem,4vw,2.25rem);font-weight:600}.TrainHubPage-module__XKzW-W__statLabel{color:#46554b;font-size:.82rem;font-weight:600}.TrainHubPage-module__XKzW-W__actions{flex-wrap:wrap;gap:.75rem;display:flex}.TrainHubPage-module__XKzW-W__actionLink{border:1px solid var(--tone-border);min-height:3rem;color:var(--tone-accent);background:0 0;border-radius:.8rem;justify-content:center;align-items:center;padding:.75rem 1.15rem;font-weight:600;text-decoration:none;display:inline-flex}.TrainHubPage-module__XKzW-W__primaryAction{border-color:var(--tone-accent);color:#fff;background:var(--tone-accent)}.TrainHubPage-module__XKzW-W__cardGrid{gap:.75rem;display:grid}.TrainHubPage-module__XKzW-W__hubCard{border:1px solid var(--tone-border);color:#07130e;background:#fff;border-radius:1rem;gap:.55rem;min-height:11rem;padding:clamp(1.1rem,2vw,1.45rem);text-decoration:none;display:grid;box-shadow:0 1px 1px #07130e12}.TrainHubPage-module__XKzW-W__hubCard strong{font-size:1.1rem;font-weight:600}.TrainHubPage-module__XKzW-W__hubCard span{color:#46554b;font-weight:600;line-height:1.42}.TrainHubPage-module__XKzW-W__hubCard:after{color:var(--tone-accent);content:"→";align-self:end;font-size:1.35rem;font-weight:600}.TrainHubPage-module__XKzW-W__hubCard:hover,.TrainHubPage-module__XKzW-W__hubCard:focus-visible{border-color:color-mix(in oklch, var(--tone-accent) 42%, var(--tone-border));background:var(--tone-mist)}.TrainHubPage-module__XKzW-W__splitSection{gap:1.25rem;display:grid}.TrainHubPage-module__XKzW-W__sectionHeader{gap:.45rem;max-width:56rem;display:grid}.TrainHubPage-module__XKzW-W__directoryGrid{gap:.55rem;display:grid}.TrainHubPage-module__XKzW-W__directoryLink{border:1px solid var(--tone-border);color:#07130e;background:#fff;border-radius:.8rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:4.2rem;padding:.85rem;text-decoration:none;display:grid}.TrainHubPage-module__XKzW-W__directoryLink:hover,.TrainHubPage-module__XKzW-W__directoryLink:focus-visible{border-color:var(--tone-accent)}.TrainHubPage-module__XKzW-W__codePill{color:#fff;background:var(--tone-accent);min-width:3.2rem;height:2.35rem;font-family:var(--font-jetbrains);border-radius:.7rem;justify-content:center;align-items:center;padding:0 .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.TrainHubPage-module__XKzW-W__directoryText{gap:.15rem;min-width:0;display:grid}.TrainHubPage-module__XKzW-W__directoryText strong,.TrainHubPage-module__XKzW-W__directoryText small{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.TrainHubPage-module__XKzW-W__directoryText small{color:#46554b;font-size:.78rem}.TrainHubPage-module__XKzW-W__arrow{color:var(--tone-accent);font-size:1.15rem;font-weight:600}.TrainHubPage-module__XKzW-W__seoBlock{border:1px solid var(--tone-border);background:var(--tone-mist);border-radius:1.25rem;gap:.75rem;max-width:64rem;padding:clamp(1.2rem,3vw,1.8rem);display:grid}.TrainHubPage-module__XKzW-W__stationIndexPanel{border:1px solid var(--tone-border);background:#fff;border-radius:1.25rem;display:grid;overflow:hidden;box-shadow:0 1px 1px #07130e12}.TrainHubPage-module__XKzW-W__stationIndexPanel[open]{padding-bottom:1rem}.TrainHubPage-module__XKzW-W__stationIndexSummary{cursor:pointer;gap:.35rem;padding:clamp(1rem,3vw,1.35rem);list-style:none;display:grid}.TrainHubPage-module__XKzW-W__stationIndexSummary::-webkit-details-marker{display:none}.TrainHubPage-module__XKzW-W__summaryAction{border:1px solid var(--tone-accent);color:#fff;background:var(--tone-accent);border-radius:.8rem;justify-self:start;min-height:2.45rem;padding:.62rem .85rem;font-size:.85rem;font-weight:600}.TrainHubPage-module__XKzW-W__stationIndexGrid{padding:0 clamp(1rem,3vw,1.35rem)}@media (min-width:48rem){.TrainHubPage-module__XKzW-W__page{padding:8rem 2.5rem max(14rem, calc(11rem + env(safe-area-inset-bottom)))}.TrainHubPage-module__XKzW-W__heroGrid{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}.TrainHubPage-module__XKzW-W__statsGrid{border-top:0;border-left:1px solid var(--tone-border)}.TrainHubPage-module__XKzW-W__cardGrid,.TrainHubPage-module__XKzW-W__directoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.TrainHubPage-module__XKzW-W__cardGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.TrainHubPage-module__XKzW-W__directoryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.TrainHubPage-module__XKzW-W__routeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:90rem){.TrainHubPage-module__XKzW-W__page{padding-left:4rem;padding-right:4rem}}@media (min-width:240rem){.TrainHubPage-module__XKzW-W__page{padding-left:6rem;padding-right:6rem}}
