
.transit-wrap{padding-bottom:60px}
.transit-breadcrumb{margin:18px 0;font-size:13px;color:#777}
.transit-breadcrumb a{color:inherit}
.transit-hero{margin:22px 0 20px;padding:30px;border:1px solid #ddd;border-radius:20px;background:#fff}
.transit-kicker{font-size:12px;letter-spacing:.13em;font-weight:900;color:#777}
.transit-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.03;margin:8px 0 12px}
.transit-hero p{max-width:850px;font-size:18px;line-height:1.6;color:#555}
.transit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.transit-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid #222;border-radius:999px;text-decoration:none;font-weight:850;color:#111;background:#fff}
.transit-btn.primary{background:#111;color:#fff}
.transit-btn.live{background:#edf7ef;border-color:#b9d5bf}
.transit-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 26px}
.transit-stat{padding:18px;border:1px solid #ddd;border-radius:15px;background:#fff}
.transit-stat small{display:block;font-size:11px;color:#777;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}
.transit-stat b{font-size:22px}
.transit-hubgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 28px}
.transit-hubcard{display:block;padding:22px;border:1px solid #ddd;border-radius:17px;background:#fff;text-decoration:none;color:#111}
.transit-hubcard:hover{border-color:#777;transform:translateY(-1px)}
.transit-hubcard span{font-size:12px;font-weight:900;letter-spacing:.09em;color:#777}
.transit-hubcard h2{font-size:24px;margin:7px 0 7px}
.transit-hubcard p{margin:0;color:#666;line-height:1.5}
.transit-panel{margin:18px 0;padding:24px;border:1px solid #ddd;border-radius:17px;background:#fff}
.transit-panel h2{font-size:26px;margin:0 0 8px}
.transit-panel>p{color:#5f5f5f;line-height:1.6}
.transit-change{padding:15px 17px;border:1px solid #e4d19c;border-radius:14px;background:#fff9e8;margin:18px 0;font-size:14px;line-height:1.5}
.transit-change b{display:block;margin-bottom:4px}
.transit-lines{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.transit-line-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid #ddd;border-radius:14px;text-decoration:none;color:#111;background:#fff}
.transit-line-card:hover{border-color:#777}
.transit-badge{display:inline-flex;width:42px;height:42px;flex:0 0 42px;border-radius:12px;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:950;font-size:19px}
.transit-line-card b{display:block;font-size:17px}
.transit-line-card small{display:block;color:#777;line-height:1.45;margin-top:4px}
.transit-route{display:flex;gap:12px;overflow-x:auto;padding:5px 2px 12px;scrollbar-width:thin}
.transit-stop-node{position:relative;min-width:152px;padding:16px 14px 14px 26px;border:1px solid #ddd;border-radius:13px;background:#fff}
.transit-stop-node:before{content:"";position:absolute;left:11px;top:22px;width:8px;height:8px;border-radius:50%;background:#111}
.transit-stop-node:after{content:"";position:absolute;left:19px;top:25px;width:26px;height:2px;background:#bbb;transform:translateX(-100%)}
.transit-stop-node:first-child:after{display:none}
.transit-stop-node a{text-decoration:none;color:#111;font-weight:800}
.transit-stop-node small{display:block;color:#777;margin-top:4px}
.transit-stop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.transit-stop-card{display:block;padding:14px;border:1px solid #ddd;border-radius:13px;background:#fff;text-decoration:none;color:#111}
.transit-stop-card b{display:block}
.transit-stop-card small{display:block;color:#777;margin-top:5px}
.transit-liveboard{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.transit-liveitem{padding:20px;border:1px solid #ddd;border-radius:16px;background:#fff}
.transit-liveitem span{font-size:12px;letter-spacing:.09em;font-weight:900;color:#777}
.transit-liveitem h3{font-size:22px;margin:7px 0}
.transit-liveitem p{font-size:14px;color:#666;line-height:1.5}
.transit-liveitem a{display:inline-block;margin-top:7px;font-weight:900}
.transit-regional{width:100%;border-collapse:collapse}
.transit-regional th,.transit-regional td{padding:11px 10px;border-bottom:1px solid #e6e6e6;text-align:left;vertical-align:top}
.transit-regional th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#777}
.transit-regional td:first-child{white-space:nowrap;font-weight:900}
.transit-mapbox{border:1px solid #ddd;border-radius:18px;background:#fff;overflow:hidden}
.transit-mapbox img{display:block;width:100%;height:auto}
.transit-mapnote{padding:14px 18px;color:#666;font-size:13px;border-top:1px solid #eee}
.transit-sourcebox{font-size:13px;color:#666;line-height:1.6}
.transit-sourcebox a{color:#222}
.transit-related{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.transit-related a{display:block;padding:14px;border:1px solid #ddd;border-radius:12px;text-decoration:none;color:#111}
.transit-related span{display:block;color:#777;font-size:12px;margin-bottom:5px}
.transit-street-link{display:inline-flex;margin-top:9px;padding:7px 10px;border-radius:999px;background:#f2f2f2;text-decoration:none;font-size:12px;font-weight:800;color:#222}
.transit-article-box{margin:24px 0;padding:18px;border-left:4px solid #111;background:#f7f7f7;border-radius:0 13px 13px 0}
.transit-article-box>span{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;color:#777;margin-bottom:9px}
.transit-article-links{display:flex;flex-wrap:wrap;gap:8px}
.transit-article-links a{padding:9px 11px;background:#fff;border:1px solid #ddd;border-radius:999px;text-decoration:none;color:#111;font-size:13px;font-weight:800}
.transit-rail-directions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.transit-rail-directions span{padding:9px 12px;background:#f4f4f4;border-radius:999px;font-weight:800}
.transit-mini{font-size:12px;color:#777}
.transit-footerlink{font-weight:850}
@media(max-width:900px){
 .transit-statgrid{grid-template-columns:1fr 1fr}
 .transit-hubgrid,.transit-liveboard,.transit-related{grid-template-columns:1fr}
 .transit-lines{grid-template-columns:1fr}
 .transit-stop-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:580px){
 .transit-hero{padding:20px}
 .transit-hero p{font-size:16px}
 .transit-statgrid,.transit-stop-grid{grid-template-columns:1fr}
 .transit-panel{padding:18px}
 .transit-regional{font-size:13px}
}
