:root{--night:#101b2b;--paper:#f2ead8;--coral:#fa705c;--mint:#b8dfce;--yellow:#f4d35e;--muted:#aab7b6;--line:#40505b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--paper);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a{font:inherit}a{color:inherit}a:focus-visible,button:focus-visible,.station:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}.page-shell{max-width:1680px;margin:auto;overflow:hidden}.masthead{height:84px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font:700 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em}.brand-mark{color:var(--coral);font-size:26px;vertical-align:-3px;margin-right:9px}.brand-divider{color:#71818a;padding:0 9px}.masthead nav{display:flex;gap:35px}.masthead nav a{font-size:14px;text-decoration:none;color:var(--muted)}.masthead nav a:hover,footer a:hover{color:var(--yellow)}.hero{min-height:570px;padding:92px clamp(24px,7vw,112px) 98px;display:flex;justify-content:space-between;gap:60px;position:relative;background:radial-gradient(circle at 79% 34%,#203346 0,transparent 38%)}.hero:before{content:"";position:absolute;left:69%;top:-10%;width:1px;height:130%;background:#f2ead81c;transform:rotate(28deg);pointer-events:none}.hero-copy{position:relative;z-index:1;max-width:930px}.eyebrow,.hero-side,.map-top,.map-bottom,.panel-kicker,.panel-footnote,.legend,footer{font:600 11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em}.eyebrow{color:var(--mint);margin:0 0 33px}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--coral);margin-right:10px;box-shadow:0 0 0 5px #fa705c22}.hero h1{font-size:clamp(52px,7.8vw,118px);line-height:.99;letter-spacing:-.075em;font-weight:650;margin:0 0 33px}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em;color:var(--mint)}.period{color:var(--coral)}.lede{font-size:clamp(18px,2vw,24px);line-height:1.5;max-width:625px;color:#d3d9d4;margin:0 0 34px}.text-link{color:var(--yellow);text-decoration:none;font-weight:700;border-bottom:1px solid var(--yellow);padding-bottom:6px}.text-link span{display:inline-block;margin-left:17px}.hero-side{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:155px;color:var(--muted);text-align:center}.compass{font-size:12px;line-height:2}.compass span{font-size:75px;line-height:1.3;color:var(--coral);font-weight:400}.folio{font-size:25px;color:var(--paper)}.folio span{color:var(--coral)}.map-section{background:var(--paper);color:var(--night);padding:90px clamp(24px,5vw,80px) 110px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.section-head .eyebrow,.about .eyebrow{color:#a45642;margin-bottom:18px}.section-head h2,.about h2{font-size:clamp(32px,4.3vw,65px);line-height:1.06;letter-spacing:-.058em;margin:0;max-width:760px;font-weight:650}.section-head h2 i{font-family:Georgia,serif;font-weight:400;color:#bd6951}.section-head>p{font-size:14px;line-height:1.6;max-width:240px;color:#536068;margin:0 0 5px}.map-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,.75fr);gap:14px}.map-card{background:#152338;color:var(--paper);border-radius:4px;min-width:0;box-shadow:0 16px 30px #101b2b1c;overflow:hidden}.map-top,.map-bottom{display:flex;justify-content:space-between;gap:15px;padding:20px 25px;color:#aebdba}.map-top{border-bottom:1px solid #35475a}.map-bottom{border-top:1px solid #35475a}.transit{display:block;width:100%;height:auto;min-height:350px}.grid-lines path{stroke:#ffffff0b;fill:none;stroke-width:1}.folds path{stroke:#ffffff19;fill:none;stroke-width:1.3;stroke-dasharray:5 7}.route{fill:none;stroke-width:11;stroke-linecap:round;stroke-linejoin:round}.route.coral{stroke:var(--coral)}.route.mint{stroke:var(--mint)}.route.yellow{stroke:var(--yellow)}.route-labels text{font:700 14px ui-monospace,monospace;fill:var(--paper)}.station{cursor:pointer}.station .halo{fill:#152338;stroke:var(--paper);stroke-width:2.5;transition:stroke-width .15s,fill .15s}.station .dot{fill:var(--paper);pointer-events:none}.station text{fill:var(--paper);font:700 13px ui-monospace,monospace;letter-spacing:.09em;pointer-events:none}.station text.small{font-size:10px;fill:#aab7b6}.station:hover .halo,.station.selected .halo{fill:var(--coral);stroke-width:4}.station.selected .dot{fill:var(--night)}.station:focus-visible{outline:none}.station:focus-visible .halo{stroke:var(--yellow);stroke-width:6}.map-note,.north-label{font:600 10px ui-monospace,monospace;letter-spacing:.12em;fill:#91a4ac}.north{stroke:#91a4ac;fill:none;stroke-width:2}.station-panel{background:#e3dccb;border:1px solid #d2c8b6;padding:29px clamp(23px,3vw,43px);display:flex;flex-direction:column;min-height:100%}.panel-kicker{display:flex;justify-content:space-between;color:#55636a;border-bottom:1px solid #bfb7a7;padding-bottom:17px;margin:0}.panel-symbol{display:grid;place-items:center;width:84px;height:84px;border:2px solid var(--night);border-radius:50%;margin:50px 0 28px;font-size:46px;font-family:Georgia,serif;color:#bb5d49}.station-panel h3{font-size:clamp(32px,3vw,47px);line-height:1.05;letter-spacing:-.055em;margin:0 0 20px}.station-panel>p#stop-description{font-size:17px;line-height:1.55;margin:0 0 45px;color:#394b50;min-height:125px}.station-panel button{background:var(--night);color:var(--paper);padding:17px 19px;border:0;border-radius:2px;cursor:pointer;text-align:left;display:flex;justify-content:space-between;font-weight:700}.station-panel button:hover{background:#30435a}.station-panel button span{color:var(--yellow)}.panel-footnote{margin:auto 0 0;padding-top:26px;color:#637078}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:110px clamp(24px,7vw,112px) 130px}.about h2{max-width:570px}.about-body{padding-top:25px}.about-body p{font-size:clamp(18px,1.7vw,22px);line-height:1.6;color:#d1d7d0;margin:0 0 23px}.legend{display:flex;gap:26px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:47px;padding-top:25px;color:var(--muted)}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.coral-swatch{background:var(--coral)}.mint-swatch{background:var(--mint)}.yellow-swatch{background:var(--yellow)}footer{border-top:1px solid var(--line);padding:30px clamp(24px,5vw,80px);display:flex;justify-content:space-between;gap:20px;color:var(--muted)}footer a{text-decoration:none}.footer-star{color:var(--coral);font-size:18px;vertical-align:-2px}@media(max-width:900px){.hero{min-height:0}.hero-side{display:none}.map-layout{grid-template-columns:1fr}.station-panel{min-height:0}.panel-symbol{margin:24px 0 15px}.station-panel>p#stop-description{min-height:0;margin-bottom:25px}.section-head{align-items:start;flex-direction:column}.about{gap:5%}}@media(max-width:600px){.masthead{height:72px;padding:0 20px}.wordmark{font-size:11px}.brand-divider,.wordmark .brand-divider~span{display:none}.masthead nav{gap:14px}.masthead nav a{font-size:12px}.hero{padding:77px 24px 87px}.hero h1{font-size:clamp(45px,11vw,68px)}.map-section{padding:70px 16px 75px}.section-head{padding:0 8px}.section-head>p{font-size:13px}.map-top,.map-bottom{font-size:8px;padding:14px 12px}.transit{min-height:0}.station text{font-size:12px}.station-panel{padding:24px}.about{grid-template-columns:1fr;padding:85px 24px}.about-body{padding-top:12px}footer{padding:24px;flex-direction:column;font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.mobile-stations{display:none}@media(max-width:600px){.mobile-stations{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;border-top:1px solid #35475a}.mobile-stations button{min-height:46px;background:#273b50;color:var(--paper);border:1px solid #50616e;border-radius:2px;text-align:left;padding:8px 10px;font:600 11px/1.25 ui-monospace,monospace;cursor:pointer}.mobile-stations button.selected{background:var(--coral);color:var(--night);border-color:var(--coral)}}
