/* Uses the recovered production typography, theme and focus tokens. */
.travel-hub{scroll-margin-top:2rem}
.travel-options{display:grid;gap:12px;margin:24px 0}
.travel-option{min-width:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper)}
.travel-option summary{cursor:pointer;min-height:56px;padding:16px 18px;display:flex;align-items:center;gap:12px;font-weight:600;list-style:none}
.travel-option summary::-webkit-details-marker{display:none}
.travel-option summary::after{content:'+';margin-left:auto;font-size:1.5rem;line-height:1}
.travel-option[open] summary::after{content:'−'}
.travel-option summary img{flex:none;background:#fff;border-radius:4px;padding:2px;box-sizing:content-box}
.travel-option-body{padding:0 18px 18px}
.travel-option-body p:first-child{margin-top:0}
.travel-option-actions{display:flex;flex-wrap:wrap;gap:8px 20px}
.travel-option-actions a{display:inline-flex;align-items:center;min-height:44px}
.travel-source{padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:var(--r-md)}
.travel-source h3{margin-top:0}
.travel-source .button,.event-arrival .button{white-space:normal;max-width:100%;text-align:left;overflow-wrap:anywhere}
.event-arrival{border-left:4px solid var(--marquee);padding-left:20px}
.travel-option summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.nearby-transit{margin-top:28px}
.nearby-transit h3{margin-bottom:8px}
.transit-explainer{font-size:.95rem;max-width:70ch}
.transit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.transit-mode{min-width:0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);overflow-wrap:anywhere}
.transit-mode h4{font-size:1rem;margin:0;padding:12px 16px;background:var(--soft);border-bottom:1px solid var(--line);border-radius:var(--r-md) var(--r-md) 0 0}
.transit-stops{list-style:none;padding:0;margin:0}
.transit-stops li{padding:16px}
.transit-stops li+li{border-top:1px solid var(--line)}
.transit-stop-heading{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}
.transit-stop-heading strong{font-size:1.05rem;line-height:1.35}
.transit-distance{flex:none;text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.transit-distance small{display:block;font-size:.72rem;font-weight:400;line-height:1.4}
.transit-service{font-size:.87rem;font-weight:600;margin:10px 0 6px}
.transit-note{font-size:.92rem;margin:6px 0;line-height:1.5}
.transit-stop-links{display:flex;flex-wrap:wrap;gap:0 16px;font-size:.9rem;margin-top:8px}
.transit-stop-links a{display:inline-flex;align-items:center;min-height:44px}
.transit-attribution{margin-top:16px}
@media(max-width:680px){.transit-grid{grid-template-columns:minmax(0,1fr)}}
