:root{--ink: #141414;--paper: #eceae4;--mute: #5f5c56;--line: color-mix(in srgb, var(--ink) 14%, transparent);--color-surface-primary: var(--paper);--color-content-primary: var(--ink);--color-content-muted: var(--mute);--color-border-subtle: var(--line);--color-state-focus: var(--ink);--font-display: "Syne", "Noto Sans SC", sans-serif;--font-body: "Noto Sans SC", "Syne", sans-serif;color:var(--color-content-primary);background:var(--color-surface-primary);font-family:var(--font-body);font-size:17px;line-height:1.5;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(900px 520px at 0% -5%,#f7f5ef 0%,transparent 55%),radial-gradient(700px 420px at 100% 0%,#ddd9d0 0%,transparent 48%),var(--paper)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;line-height:1.05;margin:0}p{margin:0}.shell{width:min(720px,calc(100% - 2rem));margin-inline:auto}.topbar{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.25rem 0 .5rem}.topbar nav{display:flex;flex-wrap:wrap;align-items:baseline;gap:.85rem 1.1rem}.topbar a{text-decoration:none}.topbar a[aria-current=page]{text-decoration:underline}.brand-mark{font-family:var(--font-display);font-weight:800;letter-spacing:-.06em;font-size:1.05rem;text-decoration:none}.locale-switch{appearance:none;border:0;background:none;padding:0;color:var(--mute);font-size:.92rem}.hero{position:relative;min-height:calc(100svh - 4.5rem);display:grid;align-content:end;padding:2rem 0 3rem;overflow:hidden}.hero-map{position:absolute;inset:-6% -8% auto auto;width:min(88vw,560px);opacity:.28;pointer-events:none}.hero-map path{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round}.hero-copy{position:relative;max-width:28rem;animation:rise .9s cubic-bezier(.16,1,.3,1) both}.hero h1{font-size:clamp(3.2rem,11vw,5.6rem);margin:.1rem 0 .65rem}.hero .support{max-width:24rem;font-size:1.05rem;color:var(--mute)}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.35rem;margin-top:1.4rem}.cta{appearance:none;border:0;background:var(--ink);color:var(--paper);padding:.8rem 1.15rem;text-decoration:none;font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}.cta.ghost{background:transparent;color:var(--ink);padding:0;box-shadow:inset 0 -1px 0 var(--ink)}.section{padding:2.4rem 0 .4rem}.section h2{font-size:clamp(1.35rem,3.5vw,1.75rem);margin-bottom:.9rem}.line-list,.advisory-list,.station-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.line-list li,.advisory-list li,.station-list li{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--line)}.line-list a,.station-list a,.advisory-list a{text-decoration:none}.line-list .meta,.station-list .meta,.advisory-list .meta{color:var(--mute);font-size:.92rem}.list-blurb{margin-top:.35rem;color:var(--mute);font-size:.95rem}.status{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.form-stack{display:grid;gap:1rem;max-width:28rem}label{display:grid;gap:.3rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}input[type=text],input[type=search],input[type=email],textarea,select{appearance:none;width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;border-radius:0;padding:.5rem 0;text-transform:none;letter-spacing:0;font-size:1.05rem;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:none;border-bottom-width:2px}input:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-state-focus);outline-offset:2px}.choices{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem}.choices label{display:flex;align-items:center;gap:.4rem;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--mute)}.suggest{list-style:none;margin:0;padding:.15rem 0 0}.suggest button{width:100%;text-align:left;background:none;border:0;padding:.4rem 0;display:flex;justify-content:space-between;gap:1rem}.route{padding:1.2rem 0 1.6rem;border-top:1px solid var(--line);animation:rise .5s cubic-bezier(.16,1,.3,1) both;max-width:28rem}.route-meta{display:flex;flex-wrap:wrap;gap:.35rem .95rem;font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.04em;margin-bottom:.75rem}.leg{padding:.45rem 0}.leg p{color:var(--mute);font-size:.95rem}.notice{margin:2rem 0 0;max-width:36rem;color:var(--mute);font-size:.9rem}.page{padding:1.6rem 0 3.5rem}.page h1{font-size:clamp(2.1rem,7vw,3.4rem);margin-bottom:1.2rem}.lede{max-width:28rem;color:var(--mute);margin-bottom:1.4rem}.prose{max-width:36rem}.prose h2{font-size:1.3rem;margin:1.6rem 0 .5rem}.prose p,.prose li{margin-bottom:.65rem}.footer{display:flex;flex-wrap:wrap;gap:.7rem 1.1rem;padding:2.5rem 0 2rem;border-top:1px solid var(--line);color:var(--mute);font-size:.88rem}.footer a{text-decoration:none}.footer-note{flex-basis:100%;margin-top:.35rem}.err{color:var(--ink);border-top:1px solid var(--ink);padding-top:.7rem;margin-top:1.2rem;max-width:28rem}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(max-width:720px){.hero{min-height:calc(100svh - 5rem);align-content:center}}@media(prefers-reduced-motion:reduce){.hero-copy,.route{animation:none}}
