
/* BEST mobile UX 2026-11-06: keep choices and stops close to the main action. */
html{scroll-padding-top:16px}.breadcrumbs{margin-bottom:16px}.intro{margin-bottom:16px}
.filters{margin:16px 0 12px}.pan-feature{border:1px solid #bad0ca;border-radius:10px;padding:0 12px;margin:0 0 16px;background:#eff8f5}
.pan-feature a{font-size:1rem;line-height:1.4;padding:10px 0;min-height:44px;display:flex;align-items:center}
.route-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:18px 0 10px}
.route-actions .primary{margin:0;flex:2 1 220px}.route-jump,.pan-jump{display:flex;align-items:center;justify-content:center;padding:12px 16px;min-height:48px;border:1px solid #0b6b68;border-radius:12px;font-weight:700;text-decoration:none;text-align:center}
.route-jump{flex:1 1 160px}.map-note{margin:10px 0 16px}
details.route-facts{margin:16px 0;padding:0;border:1px solid #bad0ca;border-radius:12px;overflow:hidden}
details.route-facts>summary{display:list-item;list-style-position:inside;cursor:pointer;padding:14px;font-size:1rem;font-weight:700;min-height:48px}
.facts-body{padding:0 16px 16px}.facts-hint{font-size:.92rem;margin:6px 0 12px;color:#4b5b56}
.stops{scroll-margin-top:16px}.stops ol{margin-top:16px}.stops li{padding-bottom:22px}
.pan-intro>p{margin:12px 0}.pan-jump{background:#075e59;color:#fff!important;width:fit-content;margin:16px 0}
details.pan-help{border:1px solid #bad0ca;border-radius:10px;padding:0;margin:16px 0}
details.pan-help>summary{display:list-item;list-style-position:inside;padding:12px;cursor:pointer;font-weight:700}
.pan-help-body{padding:0 14px 14px}.pan-sections{margin:12px 0 24px;gap:10px}
.pan-section>summary{display:flex;align-items:flex-start;gap:10px;line-height:1.45;font-size:1rem;padding:14px}
.pan-section>summary bdi{white-space:nowrap;flex:0 0 1.5em}.pan-section>summary span{flex:1;min-width:0}
.pan-section>summary::after{content:'+';flex:0 0 1em;font-size:1.2rem;text-align:center}.pan-section[open]>summary::after{content:'−'}
.pan-content{padding:14px}.pan-content>p:first-child{margin-top:0}.pan-layer{font-size:.95rem}
summary:focus-visible,.route-jump:focus-visible,.pan-jump:focus-visible{outline:3px solid #b2690a;outline-offset:3px}
@media(max-width:600px){main{padding-top:16px}.breadcrumbs{margin-bottom:12px}h1{font-size:30px;line-height:1.16}.intro .lead,.route>.lead{font-size:16px;line-height:1.5}.card{padding:18px}.route-actions{gap:8px}.route-actions .primary,.route-jump{flex-basis:100%;min-height:46px}.pan-intro h1{font-size:30px}.pan-intro>.eyebrow{margin:0 0 8px}.pan-cities{gap:8px}}
