:root{--color-black:#111;--color-white:#fff;--color-red:#c8102e;--color-red-deep:#7a1020;--color-ink:#1a1a1a;--color-muted:#3f3f3f;--color-line:#e4e4e4;--font-display:"Noto Sans Display", "Arial Black", "Helvetica Neue", Arial, sans-serif;--font-body:"Liberation Sans", "Noto Sans", "Segoe UI", Arial, sans-serif;--header-height:4.25rem;--max:72rem;--prose:40rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--color-ink);background:var(--color-white);font-family:var(--font-body);margin:0;font-size:1.0625rem;line-height:1.55}img{max-width:100%;height:auto}a{color:var(--color-red-deep)}a:hover{color:var(--color-black)}:focus-visible{outline:2px solid var(--color-red);outline-offset:3px}.skip{z-index:40;background:var(--color-white);color:var(--color-black);padding:.5rem .75rem;font-weight:700;position:absolute;top:-4rem;left:.75rem}.skip:focus{top:.75rem}.site-header{z-index:20;background:var(--color-black);color:var(--color-white);border-bottom:4px solid var(--color-red);position:sticky;top:0}.site-header a{color:var(--color-white);text-decoration:none}.site-header a:hover{color:var(--color-white)}.bar{max-width:var(--max);min-height:var(--header-height);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:0 1rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.7rem;font-size:1.05rem;font-weight:700;display:flex}.brand-mark{background:var(--color-red);flex:none;width:1.35rem;height:1.35rem}.nav-toggle{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.menu-button{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--color-white);padding:.45rem .7rem;font-size:.8rem;font-weight:700}.nav-toggle:focus-visible+.menu-button{outline:2px solid var(--color-white);outline-offset:3px}.site-nav{display:none}.nav-toggle:checked~.site-nav{background:var(--color-black);border-bottom:4px solid var(--color-red);padding:.5rem 0 1rem;display:block;position:absolute;top:100%;left:0;right:0}.nav-list,.nav-list ul{margin:0;padding:0;list-style:none}.nav-list a{letter-spacing:.04em;text-transform:uppercase;padding:.7rem 1.25rem;font-size:.82rem;font-weight:700;display:block}.nav-list a[aria-current=page]{box-shadow:inset 4px 0 0 var(--color-red)}.has-sub>ul a{text-transform:none;letter-spacing:0;color:#f2f2f2;padding-left:2rem;font-weight:600}.hero{background:var(--color-black);color:var(--color-white);padding:3.5rem 1.25rem 3rem}.hero-inner,.page,.footer-inner{max-width:var(--max);margin:0 auto}.kicker{color:var(--color-red);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-size:.78rem;font-weight:700}.hero h1,.page-intro h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-weight:700;line-height:.95}.hero h1{max-width:10ch;font-size:clamp(3rem,10vw,5.5rem)}.hero p{max-width:38rem}.hero-actions,.route-list{flex-wrap:wrap;gap:.75rem;display:flex}.btn{background:var(--color-red-deep);color:var(--color-white);letter-spacing:.02em;padding:.8rem 1rem;font-weight:700;text-decoration:none;display:inline-block}.btn:hover{background:var(--color-white);color:var(--color-black)}.btn-secondary{border:2px solid var(--color-white);background:0 0}.page{padding:2.25rem 1.25rem 3.5rem}.page-intro{border-left:6px solid var(--color-red);margin-bottom:1.5rem;padding-left:1rem}.page-intro h1{font-size:clamp(2.2rem,6vw,3.4rem)}.page-intro p,.prose{max-width:var(--prose)}.route-list{margin-top:1.5rem}.route-list a{border:2px solid var(--color-black);color:var(--color-black);padding:.55rem .75rem;font-weight:700;text-decoration:none;display:inline-block}.route-list a:hover{background:var(--color-black);color:var(--color-white)}.embed-slot,.schedule-frame{border:2px dashed var(--color-black);max-width:var(--prose);background:#fafafa;padding:1.25rem}.schedule-frame img{background:var(--color-black);width:100%;display:block}.path-list{padding-left:1.1rem}.path-list code{font-family:Cascadia Mono,Liberation Mono,ui-monospace,monospace;font-size:.92em}.site-footer{background:var(--color-black);color:var(--color-white);padding:2.5rem 1.25rem}.site-footer a{color:var(--color-white)}.footer-name{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .75rem;font-weight:700}.site-footer address{margin-bottom:.75rem;font-style:normal}.footer-links{flex-wrap:wrap;gap:.5rem 1.25rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.fine{color:#c8c8c8;font-size:.85rem}@media (width>=60rem){.menu-button{display:none}.site-nav,.nav-toggle:checked~.site-nav{background:0 0;border:0;padding:0;display:block;position:static}.nav-list{align-items:center;gap:.15rem;display:flex}.nav-list a{padding:.45rem .55rem}.nav-list a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--color-red)}.has-sub{position:relative}.has-sub>ul{background:var(--color-black);border-top:3px solid var(--color-red);z-index:30;min-width:16rem;padding:.4rem 0;display:none;position:absolute;top:100%;left:0}.has-sub:hover>ul,.has-sub:focus-within>ul{display:block}.has-sub>ul a{text-transform:none;padding:.55rem .9rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
