:root{color-scheme:light;--ink:#121619;--paper:#f7f8f4;--yellow:#ffd642;--line-colour:#45545c;font-family:"Aptos","Trebuchet MS","Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}
*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-underline-offset:.22em}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #036a81;outline-offset:5px}html{scroll-padding-top:100px}h1,h2,p{margin-top:0}h1,h2{font-family:"Arial Narrow","Aptos Display",Impact,sans-serif;line-height:1;letter-spacing:-.035em}h1{font-size:clamp(3.2rem,8vw,7rem);margin-bottom:24px}h1 span{color:var(--line-colour)}h2{font-size:clamp(2rem,3.7vw,3.6rem);max-width:22ch;overflow-wrap:anywhere}.skip-link{position:fixed;top:8px;left:12px;padding:12px;background:var(--yellow);z-index:10;transform:translateY(-160%)}.skip-link:focus{transform:none}
.network-header{position:sticky;top:0;z-index:5;min-height:76px;display:flex;align-items:center;gap:30px;background:var(--ink);color:#fff;padding:16px max(24px,calc((100vw - 1260px)/2));border-bottom:5px solid var(--yellow)}.network-header a{font-size:.88rem;font-weight:800}.network-header .wordmark{font-size:1.6rem;line-height:.9;text-decoration:none;margin-right:auto;letter-spacing:-.06em}.wordmark span{display:block;color:var(--yellow)}main{max-width:1320px;margin:auto;padding:0 30px}.line-heading{padding:64px 0 46px;border-bottom:2px solid var(--ink)}.line-heading>p:not(.eyebrow){max-width:650px;font-size:1.2rem}.eyebrow,.map-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.line-heading>a{font-weight:800}.line-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:55px;padding:36px 0 70px}.line-map{position:sticky;top:108px;align-self:start;max-height:calc(100dvh - 130px);overflow:auto;padding:4px 12px 12px 4px}.line-map ol{margin:0;padding:0;list-style:none}.line-map li{position:relative}.line-map li:not(:last-child):before{content:"";position:absolute;width:5px;left:18px;top:25px;bottom:-25px;background:var(--line-colour)}.line-map a{position:relative;display:flex;gap:17px;align-items:center;min-height:65px;text-decoration:none;font-size:.9rem;font-weight:800;padding:8px 0}.line-map a:hover span:last-child{text-decoration:underline}.map-dot{flex:none;position:relative;display:inline-grid;place-items:center;background:var(--paper);width:42px;height:42px;border:4px solid var(--line-colour);border-radius:50%;font-size:.73rem;font-weight:900;color:var(--ink)}.map-dot--terminal{outline:2px solid var(--line-colour);outline-offset:3px}.line-map small{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#536067;margin-top:3px}.map-key{font-size:.77rem;margin-top:25px;color:#48565c}.service-note{font-size:.9rem;max-width:65ch;color:#48565c;margin-bottom:28px}.service-note strong{color:var(--ink)}.route-stop{position:relative;background:#fff;border:1px solid #b9c2c0;border-left:6px solid var(--line-colour);padding:32px;margin:0 0 26px;scroll-margin-top:20px}.route-stop--planned{background:#eef0eb}.route-stop:target{box-shadow:0 0 0 4px var(--yellow)}.stop-top{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:25px}.status{font-size:.7rem;font-weight:900;letter-spacing:.08em}.sash{margin-left:auto;padding:6px 12px;background:var(--yellow);color:var(--ink);font-size:.75rem;font-weight:900;transform:rotate(-2deg)}.route-stop>p{max-width:64ch}.terminal-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:var(--line-colour)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.action{padding:11px 15px;border:2px solid var(--ink);background:var(--ink);color:#fff;font-weight:800;text-decoration:none;font-size:.88rem}.action:hover{background:var(--yellow);color:var(--ink)}.changes{margin-top:24px;border-top:1px solid #adb7b8}.changes summary{cursor:pointer;font-weight:800;padding:17px 0;font-size:.9rem}.changes nav{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 8px}.changes a{padding:8px 11px;background:#fff;border:1px solid #738186;font-weight:700;font-size:.85rem}.end-link{display:inline-block;padding:16px 0;font-weight:800}.network-list{padding:40px 0 60px;list-style:none;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.network-list>li{border:1px solid #bac5c4;border-top:6px solid var(--line-colour);background:#fff;padding:24px}.network-list a{display:flex;gap:17px;align-items:center;text-decoration:none}.network-list strong{font-size:1.6rem}.network-list small{display:block;margin-top:8px;line-height:1.5}.network-list p{font-size:.8rem;color:#526067;margin:23px 0 0}.line-badge{display:grid;place-items:center;flex:none;width:46px;height:46px;background:var(--line-colour);border-radius:50%;color:#fff;font-weight:900;font-size:1.2rem}.main-line{display:inline-block;background:var(--yellow);padding:12px 18px}footer{background:var(--ink);color:#fff;padding:32px max(30px,calc((100vw - 1260px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:.9rem}footer p{margin:0}footer strong{color:var(--yellow)}
@media(max-width:800px){.network-header{gap:18px;padding:15px 20px}.network-header a{font-size:.76rem}.network-header .wordmark{font-size:1.35rem}main{padding:0 20px}.line-heading{padding:42px 0 30px}.line-layout{display:block;padding-top:25px}.line-map{position:static;max-height:none;padding:5px 0 20px;margin-bottom:25px;border-bottom:1px solid #bac5c4}.line-map ol{display:flex;overflow-x:auto;padding:6px 6px 15px;scroll-snap-type:x proximity}.line-map li{flex:0 0 145px;scroll-snap-align:start}.line-map li:not(:last-child):before{height:5px;width:auto;left:21px;right:-20px;top:29px;bottom:auto}.line-map a{align-items:flex-start;flex-direction:column;gap:15px;padding-right:16px;font-size:.82rem}.line-map .map-key{margin:6px 0 0}.route-stop{padding:23px 20px}.stop-top{gap:12px}.sash{margin-left:0}.network-list{grid-template-columns:1fr}.route-stop h2{font-size:2.3rem}.actions{align-items:flex-start;flex-direction:column}.action{max-width:100%}footer{padding:28px 20px}}
@media(max-width:400px){h1{font-size:2.35rem;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
