.TrainHubJourneySearch-module__CY_1vW__form{gap:.85rem;width:100%;display:grid;position:relative}.TrainHubJourneySearch-module__CY_1vW__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.TrainHubJourneySearch-module__CY_1vW__submit{color:#fff;cursor:pointer;background:#1a3c2a;border:1px solid #1a3c2a;border-radius:.8rem;justify-content:space-between;align-items:center;min-height:3.15rem;padding:0 1rem;font-size:.95rem;font-weight:500;transition:background-color .16s,transform .16s;display:inline-flex}.TrainHubJourneySearch-module__CY_1vW__submit span{font-size:1.1rem;transition:transform .16s}.TrainHubJourneySearch-module__CY_1vW__submit:hover,.TrainHubJourneySearch-module__CY_1vW__submit:focus-visible{background:#006548;transform:translateY(-1px)}.TrainHubJourneySearch-module__CY_1vW__submit:hover span,.TrainHubJourneySearch-module__CY_1vW__submit:focus-visible span{transform:translate(.15rem)}.TrainHubJourneySearch-module__CY_1vW__submit:focus-visible{outline-offset:3px;outline:2px solid #8da299}.TrainHubJourneySearch-module__CY_1vW__error{color:#9f3a24;min-height:1.2rem;margin:0;font-size:.82rem;font-weight:400;line-height:1.45}@media (prefers-reduced-motion:reduce){.TrainHubJourneySearch-module__CY_1vW__submit,.TrainHubJourneySearch-module__CY_1vW__submit span{transition:none}}
.TrainHubPage-module__XKzW-W__page{color:#07130e;background:var(--color-paper);min-height:100%}.TrainHubPage-module__XKzW-W__band{width:100%;padding:clamp(4.5rem,9vw,8rem) 1rem}.TrainHubPage-module__XKzW-W__inner{width:100%;max-width:240rem;margin:0 auto}.TrainHubPage-module__XKzW-W__heroBand{min-height:min(62rem,100svh);padding-top:max(var(--page-header-clearance), clamp(6.75rem, 10vw, 9rem));background:radial-gradient(circle at 84% 12%, #e7ed171f, transparent 26rem), var(--color-paper);align-items:center;display:grid}.TrainHubPage-module__XKzW-W__heroGrid{align-items:center;gap:clamp(2.5rem,7vw,7rem);display:grid}.TrainHubPage-module__XKzW-W__heroCopy{gap:clamp(1rem,2vw,1.5rem);max-width:52rem;display:grid}.TrainHubPage-module__XKzW-W__eyebrow{color:#46554b;font-family:var(--font-jetbrains);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:500;line-height:1.4}.TrainHubPage-module__XKzW-W__heroTitle,.TrainHubPage-module__XKzW-W__sectionTitle,.TrainHubPage-module__XKzW-W__mapTitle,.TrainHubPage-module__XKzW-W__plannerTitle{font-family:var(--font-serif);font-optical-sizing:auto;font-variation-settings:"opsz" 144, "SOFT" 50;font-weight:var(--font-weight-editorial);letter-spacing:var(--fraunces-letter-spacing);line-height:var(--fraunces-line-height);text-wrap:balance;margin:0}.TrainHubPage-module__XKzW-W__heroTitle{max-width:12ch;font-size:var(--type-page-title);display:grid}.TrainHubPage-module__XKzW-W__heroTitle span{display:block}.TrainHubPage-module__XKzW-W__italicTitleLine{font-variation-settings:"opsz" 144, "SOFT" 100;font-style:italic}.TrainHubPage-module__XKzW-W__lead,.TrainHubPage-module__XKzW-W__sectionDescription,.TrainHubPage-module__XKzW-W__mapDescription{font-weight:var(--font-weight-editorial);margin:0;line-height:1.65}.TrainHubPage-module__XKzW-W__lead{color:#46554b;max-width:42rem;font-size:var(--type-body-large)}.TrainHubPage-module__XKzW-W__planner{z-index:20;background:#fff;border:.5px solid #e8e1cf;border-radius:1.25rem;gap:clamp(1.25rem,3vw,2rem);width:100%;max-width:48rem;padding:clamp(1.1rem,3vw,2rem);display:grid;position:relative;box-shadow:0 1px 2px #07130e17,0 24px 48px -40px #07130e52}.TrainHubPage-module__XKzW-W__plannerHeader{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.TrainHubPage-module__XKzW-W__plannerIcon{display:inline-flex}.TrainHubPage-module__XKzW-W__plannerIcon>svg{color:#1a3c2a;width:1.35rem;height:1.35rem;margin-top:.18rem}.TrainHubPage-module__XKzW-W__plannerTitle{font-size:var(--type-functional-title)}.TrainHubPage-module__XKzW-W__stationBand{background:var(--color-mist);overflow:visible}.TrainHubPage-module__XKzW-W__splitHeader{gap:1.25rem;margin-bottom:clamp(2rem,5vw,4rem);display:grid}.TrainHubPage-module__XKzW-W__sectionTitle{max-width:15ch;font-size:var(--type-section-title)}.TrainHubPage-module__XKzW-W__sectionDescription{color:#46554b;max-width:44rem;font-size:var(--type-body-large)}.TrainHubPage-module__XKzW-W__stationSearch{z-index:15;width:100%;max-width:54rem;margin-bottom:clamp(3.5rem,7vw,6rem);position:relative}.TrainHubPage-module__XKzW-W__stationHeading{font-family:var(--font-serif);font-size:var(--type-functional-title);font-weight:var(--font-weight-editorial);letter-spacing:var(--fraunces-letter-spacing);line-height:var(--fraunces-line-height);margin-bottom:1.25rem}.TrainHubPage-module__XKzW-W__stationGrid,.TrainHubPage-module__XKzW-W__practicalGrid{background:#e8e1cf;border:.5px solid #e8e1cf;border-radius:1.25rem;gap:1px;display:grid;overflow:hidden;box-shadow:0 1px 1px #07130e12}.TrainHubPage-module__XKzW-W__stationCard{background:#fff;align-content:space-between;gap:2rem;min-height:11.5rem;padding:clamp(1.1rem,2.5vw,1.65rem);display:grid}.TrainHubPage-module__XKzW-W__stationIdentity{gap:.35rem;display:grid}.TrainHubPage-module__XKzW-W__stationIdentity h3{font-family:var(--font-serif);font-size:var(--type-card-title);font-weight:var(--font-weight-editorial);letter-spacing:var(--fraunces-letter-spacing);line-height:var(--fraunces-line-height);overflow-wrap:anywhere;margin:0}.TrainHubPage-module__XKzW-W__stationCode{color:#59675f;font-family:var(--font-jetbrains);letter-spacing:.14em;font-size:.7rem;font-weight:500;line-height:1.4}.TrainHubPage-module__XKzW-W__stationActions{flex-wrap:wrap;gap:.8rem 1.15rem;display:flex}.TrainHubPage-module__XKzW-W__stationActions a,.TrainHubPage-module__XKzW-W__mapAction{color:#1a3c2a;align-items:center;gap:.45rem;min-height:2.75rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.TrainHubPage-module__XKzW-W__stationActions a:hover,.TrainHubPage-module__XKzW-W__stationActions a:focus-visible{color:#006548;text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.TrainHubPage-module__XKzW-W__stationActions a:focus-visible,.TrainHubPage-module__XKzW-W__directory summary:focus-visible,.TrainHubPage-module__XKzW-W__directoryLink:focus-visible,.TrainHubPage-module__XKzW-W__practicalLink:focus-visible,.TrainHubPage-module__XKzW-W__mapAction:focus-visible{outline-offset:4px;border-radius:.2rem;outline:2px solid #8da299}.TrainHubPage-module__XKzW-W__directory{background:#fff;border:.5px solid #e8e1cf;border-radius:1.25rem;margin-top:clamp(1.5rem,4vw,2.5rem);box-shadow:0 1px 1px #07130e12}.TrainHubPage-module__XKzW-W__directory summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:5.5rem;padding:clamp(1rem,2.5vw,1.5rem);list-style:none;display:flex}.TrainHubPage-module__XKzW-W__directory summary::-webkit-details-marker{display:none}.TrainHubPage-module__XKzW-W__directory summary>span:first-child{gap:.25rem;min-width:0;display:grid}.TrainHubPage-module__XKzW-W__directory summary strong{font-family:var(--font-serif);font-size:1.35rem;font-weight:var(--font-weight-editorial);letter-spacing:var(--fraunces-letter-spacing);line-height:var(--fraunces-line-height)}.TrainHubPage-module__XKzW-W__directory summary small{color:#46554b;max-width:40rem;font-size:.82rem;font-weight:400;line-height:1.5}.TrainHubPage-module__XKzW-W__directoryAction{color:#1a3c2a;flex:none;align-items:center;gap:.6rem;min-height:2.75rem;font-size:.85rem;font-weight:500;display:inline-flex}.TrainHubPage-module__XKzW-W__chevron{border-bottom:1.5px solid;border-right:1.5px solid;width:.5rem;height:.5rem;transition:transform .16s;transform:translateY(-.12rem)rotate(45deg)}.TrainHubPage-module__XKzW-W__directory[open] .TrainHubPage-module__XKzW-W__chevron{transform:translateY(.12rem)rotate(225deg)}.TrainHubPage-module__XKzW-W__directoryGrid{background:#e8e1cf;border-top:.5px solid #e8e1cf;gap:1px;padding:1px;display:grid}.TrainHubPage-module__XKzW-W__directoryLink{color:#07130e;background:#fff;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:3.75rem;padding:.75rem 1rem;font-size:.92rem;font-weight:400;text-decoration:none;display:grid}.TrainHubPage-module__XKzW-W__directoryLink:hover{color:#006548;background:#f8faf6}.TrainHubPage-module__XKzW-W__mapBand{background:var(--color-paper)}.TrainHubPage-module__XKzW-W__mapFeature{color:#fff;background:#07110c;border:.5px solid #eef4ec2e;border-radius:1.25rem;min-height:clamp(34rem,64vw,52rem);display:grid;position:relative;overflow:hidden;box-shadow:0 1px 2px #07130e22}.TrainHubPage-module__XKzW-W__mapPicture,.TrainHubPage-module__XKzW-W__mapShade,.TrainHubPage-module__XKzW-W__mapContent{grid-area:1/1}.TrainHubPage-module__XKzW-W__mapPicture{position:absolute;inset:0}.TrainHubPage-module__XKzW-W__mapImage{object-fit:cover;object-position:center right;filter:saturate(.88)contrast(1.06);width:100%;height:100%;display:block}.TrainHubPage-module__XKzW-W__mapShade{z-index:1;background:linear-gradient(90deg,#03110beb 0%,#03110bb8 46%,#03110b2e 100%),linear-gradient(#0309071f 0%,#030907a8 100%)}.TrainHubPage-module__XKzW-W__mapContent{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07110cbd;border:1px solid #eef4ec2e;border-radius:1.25rem;align-self:end;gap:1.15rem;width:min(44rem,100% - 2rem);margin:clamp(1rem,3vw,2.2rem);padding:clamp(1.35rem,4vw,3.4rem);display:grid}.TrainHubPage-module__XKzW-W__mapEyebrow{color:#eef4ecb3}.TrainHubPage-module__XKzW-W__mapTitle{color:#fff;max-width:12ch;font-size:var(--type-section-title)}.TrainHubPage-module__XKzW-W__mapDescription{color:#fffdf0c2;max-width:38rem;font-size:var(--type-body-large)}.TrainHubPage-module__XKzW-W__mapAction{color:#e7ed17;justify-self:start}.TrainHubPage-module__XKzW-W__mapAction:hover{color:#fff}.TrainHubPage-module__XKzW-W__practicalBand{padding-bottom:var(--page-end-space);background:var(--color-mist)}.TrainHubPage-module__XKzW-W__practicalTitle{margin-bottom:clamp(2.25rem,5vw,4rem)}.TrainHubPage-module__XKzW-W__practicalLink{color:#07130e;background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;min-height:12rem;padding:clamp(1.15rem,3vw,1.8rem);text-decoration:none;transition:background-color .16s;display:grid}.TrainHubPage-module__XKzW-W__practicalLink:hover{background:#f8faf6}.TrainHubPage-module__XKzW-W__practicalCopy{gap:.6rem;display:grid}.TrainHubPage-module__XKzW-W__practicalCopy h3{font-family:var(--font-serif);font-size:var(--type-card-title);font-weight:var(--font-weight-editorial);letter-spacing:var(--fraunces-letter-spacing);line-height:var(--fraunces-line-height);margin:0}.TrainHubPage-module__XKzW-W__practicalCopy>span{color:#46554b;max-width:30rem;font-size:.92rem;font-weight:400;line-height:1.55}@media (min-width:40rem){.TrainHubPage-module__XKzW-W__stationGrid,.TrainHubPage-module__XKzW-W__directoryGrid,.TrainHubPage-module__XKzW-W__practicalGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:24rem){.TrainHubPage-module__XKzW-W__directory summary{justify-content:stretch;display:grid}.TrainHubPage-module__XKzW-W__directoryAction{justify-self:start}}@media (min-width:48rem){.TrainHubPage-module__XKzW-W__band{padding-left:2.5rem;padding-right:2.5rem}.TrainHubPage-module__XKzW-W__splitHeader{grid-template-columns:minmax(0,1fr) minmax(22rem,.72fr);align-items:end}.TrainHubPage-module__XKzW-W__directoryLink{grid-template-columns:4rem minmax(0,1fr) auto}}@media (min-width:64rem){.TrainHubPage-module__XKzW-W__heroGrid{grid-template-columns:minmax(22rem,.78fr) minmax(31rem,1fr)}.TrainHubPage-module__XKzW-W__planner{justify-self:end}.TrainHubPage-module__XKzW-W__stationGrid{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__practicalGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:90rem){.TrainHubPage-module__XKzW-W__band{padding-left:4rem;padding-right:4rem}}@media (min-width:240rem){.TrainHubPage-module__XKzW-W__band{padding-left:6rem;padding-right:6rem}}@media (prefers-reduced-motion:reduce){.TrainHubPage-module__XKzW-W__chevron,.TrainHubPage-module__XKzW-W__practicalLink{transition:none}}
