:root{--ink:#123b3b;--muted:#607573;--teal:#006c67;--deep:#004d49;--mint:#dff2e9;--paper:#f5f8f4;--line:#d7e2dd;color:var(--ink);background:var(--paper);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6}:focus-visible{outline-offset:4px;outline:3px solid #c07216}header{border-bottom:1px solid var(--line);background:#fff}.shell{max-width:1120px;margin:auto;padding:0 24px}.nav{justify-content:space-between;align-items:center;gap:24px;min-height:86px;display:flex}.logo{letter-spacing:-1px;color:var(--teal);white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;font-size:24px;font-weight:800;line-height:1;display:flex}.logo-mark{flex-shrink:0;width:64px;height:auto;display:block}.logo-domain{color:#092b4c}.nav-links{gap:26px;font-size:14px;font-weight:650;display:flex}.nav-links a{color:var(--ink)}.skip{z-index:9;background:#fff;padding:10px;position:absolute;top:-100px}.skip:focus{top:8px}main{min-height:70vh;padding-bottom:64px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--teal);font-size:12px;font-weight:750}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-2.5px;margin-bottom:22px;font-size:clamp(36px,5vw,62px);line-height:1.07}h2{letter-spacing:-.65px;font-size:25px}h3{font-size:18px}.muted{color:var(--muted)}.lead{max-width:620px;font-size:18px;line-height:1.65}.hero{grid-template-columns:1.5fr 1fr;align-items:center;gap:70px;padding:72px 0 48px;display:grid}.hero-copy h1 span{color:var(--teal)}.hero-art{background:var(--mint);border-radius:28px;place-items:center;min-height:280px;display:grid;position:relative;overflow:hidden}.hero-art:before{content:"";border:1px solid #bdd8ca;border-radius:50%;width:280px;height:280px;position:absolute;transform:translate(100px,-90px)}.bus-illustration{background:var(--teal);border-radius:27px 27px 20px 20px;width:172px;height:184px;position:relative;box-shadow:12px 14px #bddbd0}.bus-illustration:before{content:"";border-top:12px solid var(--deep);background:#f5fffa;border-radius:8px;height:86px;position:absolute;top:28px;left:20px;right:20px}.bus-illustration:after{content:"";background:#c6e9ba;border-radius:50%;width:16px;height:16px;position:absolute;bottom:28px;left:22px;box-shadow:110px 0 #c6e9ba}.bus-wheels{background:var(--deep);width:24px;height:28px;box-shadow:100px 0 0 var(--deep);border-radius:5px;position:absolute;bottom:-14px;left:24px}.art-label{letter-spacing:1.5px;font-size:11px;font-weight:700;position:absolute;bottom:15px}.search-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:25px;box-shadow:0 8px 24px #123b3b06}.search-bar{gap:12px;display:flex}.search-input{background:var(--paper);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:10px;min-width:0;padding:16px 18px;font-size:17px}.button{background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:13px 20px;font-weight:650;display:inline-flex}.button:hover{background:var(--deep);text-decoration:none}.button.secondary{color:var(--teal);border-color:var(--line);background:#fff}.search-tools{justify-content:space-between;gap:16px;margin-top:14px;font-size:13px;display:flex}.location-button{color:var(--teal);background:0 0;border:0;padding:6px 0;font-weight:650}.search-results{margin:16px 0 0;padding:0;list-style:none}.search-results li+li{border-top:1px solid var(--line)}.search-results a{justify-content:space-between;gap:16px;padding:14px 5px;display:flex}.search-results strong{color:var(--ink)}.search-results small{color:var(--muted);margin-top:4px;display:block}.result-code,.stop-number{background:var(--mint);border-radius:7px;padding:7px 10px;font-size:13px;font-weight:750}.section{margin-top:44px}.section-heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.section-heading>a{font-size:14px;font-weight:650}.grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px}.card h3{margin-bottom:10px}.card p{margin-bottom:0;font-size:14px;line-height:1.7}.card-link{color:var(--ink);display:block}.card-link:hover{border-color:var(--teal);text-decoration:none}.card-kicker{letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:11px}.route-badge{background:var(--teal);color:#fff;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;min-width:46px;padding:7px 10px;font-size:16px;font-weight:800;line-height:1;display:inline-flex}.route-badge.small{min-width:30px;padding:5px 7px;font-size:12px}.route-badges{flex-wrap:wrap;gap:6px;display:flex}.route-card-top{justify-content:space-between;margin-bottom:18px;display:flex}.operator{color:var(--muted);font-size:12px}.notice{background:var(--mint);border:1px solid #cce2d6;border-radius:12px;padding:18px 20px;font-size:14px;line-height:1.7}.notice.warning{color:#754b1e;background:#fff5e7;border-color:#f0dbbc}.breadcrumb{color:var(--muted);padding:28px 0 20px;font-size:13px}.breadcrumb a{color:var(--muted)}.page-heading{justify-content:space-between;gap:20px;margin:12px 0 30px;display:flex}.page-heading h1{letter-spacing:-1.5px;margin-bottom:12px;font-size:42px}.stop-number{margin-bottom:16px;display:inline-block}.layout{grid-template-columns:minmax(0,1fr) 290px;gap:25px;display:grid}.board{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.board-heading{padding:23px 24px 15px}.board-heading h2{margin-bottom:8px}.board-meta{color:var(--muted);font-size:12px;line-height:1.6}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;display:flex}.filters select,.date-select,.route-controls select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;max-width:100%;padding:10px 12px}.departures{border-collapse:collapse;table-layout:fixed;width:100%}.departures th{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);text-align:left;border-block:1px solid var(--line);background:#f9fbf9;padding:12px 16px;font-size:11px}.departures td{vertical-align:middle;border-bottom:1px solid #e8eeea;padding:17px 16px}.departures tr:last-child td{border-bottom:0}.departures th:first-child{width:76px}.departures th:last-child{width:128px}.destination{overflow-wrap:anywhere;font-size:15px;font-weight:650}.destination small{color:var(--muted);margin-top:5px;font-size:11px;font-weight:400;display:block}.time{letter-spacing:-.5px;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:23px;font-weight:750}.time small{color:var(--muted);letter-spacing:0;white-space:normal;margin-top:6px;font-size:10px;font-weight:500;display:block}.empty{color:var(--muted);padding:25px;font-size:14px;line-height:1.7}.sidebar{flex-direction:column;gap:18px;display:flex}.sidebar .card{padding:20px}.link-list{margin:0;padding:0;list-style:none}.link-list li+li{margin-top:13px}.link-list a{font-size:14px}.link-list small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.timetable{margin-top:28px}.timetable summary{cursor:pointer;padding:18px 0;font-size:19px;font-weight:700}.prose{max-width:740px;line-height:1.8}.prose h2{margin-top:35px}.prose ul{padding-left:22px}.prose p{margin-bottom:18px}.route-controls{flex-wrap:wrap;gap:20px;margin-bottom:25px;display:flex}.route-controls label{gap:8px;font-size:13px;font-weight:650;display:grid}.diagram{align-items:flex-start;padding:10px 20px;display:flex}.diagram svg{color:var(--teal);flex-shrink:0}.diagram ol{flex:1;margin:0;padding:0;list-style:none}.diagram li{align-items:center;min-height:48px;font-size:14px;display:flex}.diagram li a{color:var(--ink)}.diagram li small{color:var(--muted);font-size:11px}.saved-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.saved-grid a{border:1px solid var(--line);background:#fff;border-radius:10px;padding:18px;font-weight:650;display:block}.saved-grid small{color:var(--muted);margin-top:7px;font-size:12px;font-weight:400;display:block}.status-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.status-value{font-size:20px;font-weight:750}.footer{border-top:1px solid var(--line);background:#fff;padding:35px 0}.footer-top{justify-content:space-between;gap:25px;margin-bottom:24px;display:flex}.footer-links{gap:20px;font-size:13px;display:flex}.footer p{color:var(--muted);max-width:800px;font-size:11px;line-height:1.8}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}@media (width<=800px){.shell{padding:0 18px}.hero{grid-template-columns:1.5fr 1fr;gap:30px;padding-top:45px}.hero-art{min-height:220px}.bus-illustration{transform:scale(.75)}h1{font-size:44px}.layout{grid-template-columns:1fr}.sidebar{grid-template-columns:repeat(2,1fr);display:grid}.grid,.saved-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.nav{gap:10px;min-height:72px}.logo{gap:7px;font-size:20px}.logo-mark{width:48px}.nav-links{gap:16px;font-size:12px}.desktop-link{display:none}.hero{padding:42px 0 26px;display:block}.hero-art{display:none}h1{letter-spacing:-2px;font-size:44px}.lead{font-size:16px}.search-card{padding:18px}.search-bar{gap:8px}.search-input{padding:13px 12px;font-size:15px}.search-bar .button{padding:12px 14px}.search-tools{display:block}.search-tools span{margin-top:8px;display:block}.grid,.saved-grid,.sidebar,.status-grid{grid-template-columns:1fr}.section{margin-top:34px}.page-heading{flex-wrap:wrap;gap:13px}.page-heading h1{font-size:34px}.board-heading{padding:20px 16px 12px}.departures th:first-child{width:63px}.departures th:last-child{width:103px}.departures td,.departures th{padding:14px 10px}.destination{font-size:13px}.time{font-size:21px}.route-badge{min-width:38px;padding:7px 8px;font-size:14px}.footer-top{flex-direction:column}.footer-links{flex-wrap:wrap}.route-controls{display:block}.route-controls label{margin-bottom:16px}.diagram{padding-left:10px}}@media (width<=380px){.nav{flex-wrap:wrap;justify-content:center;padding-top:12px;padding-bottom:12px}}
