.loc{--loc-line:color-mix(in srgb, var(--ui-ink) 14%, transparent);--loc-line-strong:color-mix(in srgb, var(--ui-ink) 30%, transparent);--loc-focus:#1d4ed8;--loc-map-h:clamp(300px, 42vh, 420px);color:var(--ui-ink)}.loc-toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 0 14px;display:flex}.loc-filter{border:1px solid var(--loc-line-strong);background:var(--ui-paper-dim);border-radius:999px;padding:3px;display:none}.loc-filter button{font:inherit;min-height:36px;color:var(--ui-ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:.86rem;font-weight:600}.loc-filter button[aria-checked=true]{background:var(--ui-ink);color:var(--ui-paper)}.loc-filter button:focus-visible,.loc-reset:focus-visible,.loc-show:focus-visible,.loc-cta:focus-visible,.loc-secondary:focus-visible,.loc-directions:focus-visible{outline:3px solid var(--loc-focus);outline-offset:2px}.loc-reset,.loc-show{font:inherit;border:1px solid var(--loc-line-strong);background:var(--ui-paper);min-height:36px;color:var(--ui-ink);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:.84rem;font-weight:600;display:none}.loc-reset svg{width:14px;height:14px}.loc.is-ready .loc-reset,.loc.is-ready .loc-show,.loc.is-ready .loc-filter{display:inline-flex}.loc:not(.is-ready) .loc-map,.loc:not(.is-ready) .loc-disclaimer,.loc:not(.is-ready) .loc-map-empty,.loc.is-map-unavailable .loc-reset,.loc.is-map-unavailable .loc-show{display:none}.loc-status{color:var(--ui-ink-soft);flex-basis:100%;margin:0;font-size:.86rem}.loc-map-sticky{position:relative;top:0}.loc-layout{gap:22px;display:grid}@media (width>=900px){.loc-layout{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:32px}.loc{--loc-map-h:min(72vh, 720px)}.loc-map-sticky{position:sticky;top:12px}}.loc-map{height:var(--loc-map-h);border:1px solid var(--loc-line-strong);background:var(--ui-paper-dim);isolation:isolate;border-radius:12px;width:100%;overflow:hidden}.loc.is-map-unavailable .loc-map{height:160px}.loc-map-note{background:var(--ui-verify-bg);border:1px solid color-mix(in srgb, var(--ui-verify) 45%, transparent);border-radius:8px;margin:0 0 10px;padding:10px 12px;font-size:.88rem}.loc-map-empty{background:var(--ui-paper);border:1px solid var(--loc-line-strong);text-align:center;z-index:2;border-radius:8px;margin:0;padding:10px 12px;font-size:.88rem;position:absolute;inset:auto 12px 44px}.loc-disclaimer{color:var(--ui-ink-soft);margin:8px 0 0;font-size:.76rem}.loc-map .leaflet-control-zoom a{width:40px;height:40px;color:var(--ui-ink);font-size:20px;line-height:40px}.loc-map .leaflet-control-zoom a:focus-visible{outline:3px solid var(--loc-focus);outline-offset:-3px}.loc-map .leaflet-control-attribution{background:color-mix(in srgb, var(--ui-paper) 88%, transparent);color:var(--ui-ink-soft);font-size:11px}.loc-map .leaflet-control-attribution a{color:var(--ui-ink)}.loc-map.leaflet-container{font-family:inherit}.loc-marker{background:0 0;border:0}.loc-cluster{border:3px solid var(--ui-paper);background:var(--ui-ink);color:var(--ui-paper);border-radius:50%;place-items:center;font-size:16px;font-weight:700;display:grid;box-shadow:0 2px 6px #0000004d}.loc-cluster:focus-visible,.loc-group h2:focus-visible,.loc-trip h3:focus-visible,.loc-choices select:focus-visible{outline:3px solid var(--loc-focus);outline-offset:3px}.loc-marker-pin{background:var(--ui-cta);width:34px;height:34px;color:var(--ui-paper);border:2px solid var(--ui-paper);border-radius:50%;place-items:center;transition:transform .14s;display:grid;position:relative;box-shadow:0 2px 6px #0000004d}.loc-marker-glyph svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.loc-marker--approximate .loc-marker-pin{background:var(--ui-ink-soft);border-style:dashed}.loc-marker:hover .loc-marker-pin{transform:scale(1.08)}.loc-marker:focus-visible{outline:none}.loc-marker:focus-visible .loc-marker-pin{outline:3px solid var(--loc-focus);outline-offset:2px}.loc-marker.is-selected .loc-marker-pin{background:var(--ui-ink);box-shadow:0 0 0 4px color-mix(in srgb, var(--ui-cta) 45%, transparent), 0 2px 8px #00000059;transform:scale(1.22)}.loc-marker.is-selected .loc-marker-pin:after{content:"✓";background:var(--ui-paper);width:15px;height:15px;color:var(--ui-ink);text-align:center;border-radius:50%;font-size:10px;font-weight:700;line-height:15px;position:absolute;top:-5px;right:-5px}@media (prefers-reduced-motion:reduce){.loc-marker-pin{transition:none}}@media (width<=480px){.loc-marker-pin{width:30px;height:30px;margin:2px}.loc-marker-glyph svg{width:16px;height:16px}}.loc-tip{color:var(--ui-ink);background:var(--ui-paper);border:1px solid var(--loc-line-strong);border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.8rem;font-weight:600;line-height:1.2;box-shadow:0 2px 6px #0000002e}.loc-tip--selected{background:var(--ui-ink);color:var(--ui-paper);border-color:var(--ui-ink)}.loc-tip--selected:before{border-top-color:var(--ui-ink)}.loc-list{min-width:0}.loc-season-note,.loc-empty{background:var(--ui-paper-dim);border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:.9rem}.loc-group{border-top:1px solid var(--loc-line);padding:18px 0 8px;scroll-margin-top:12px}.loc-group.is-selected{border-top-color:var(--ui-cta);box-shadow:inset 4px 0 0 var(--ui-cta);margin-left:-14px;padding-left:14px}.loc-group-title{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.loc-group-title h2{margin:0;font-size:1.25rem}.loc-glyph{background:var(--ui-ink);width:30px;height:30px;color:var(--ui-paper);border-radius:50%;flex:none;place-items:center;display:inline-grid}.loc-glyph svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.loc-tag{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--loc-line-strong);border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:650}.loc-tag--muted{color:var(--ui-ink-soft)}.loc-short{color:var(--ui-ink-soft);margin:4px 0 0 40px;font-size:.86rem}.loc-arrival{max-width:62ch;margin:8px 0 0 40px;font-size:.92rem}.loc-group-actions{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0 0 40px;display:flex}.loc-directions{align-items:center;min-height:36px;font-size:.88rem;font-weight:600;display:inline-flex}@media (width<=480px){.loc-short,.loc-arrival,.loc-group-actions{margin-left:0}}.loc-trips{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.loc-trip{border:1px solid var(--loc-line);background:var(--ui-paper);border-radius:8px;padding:14px 16px;scroll-margin-top:12px}.loc-trip.is-selected{border-color:var(--ui-ink)}.loc-trip-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.loc-trip-head h3{margin:0;font-size:1.02rem}.loc-facts{gap:4px 14px;margin:10px 0 0;font-size:.88rem;display:grid}.loc-facts div{grid-template-columns:6.5rem minmax(0,1fr);gap:8px;display:grid}.loc-facts dt{color:var(--ui-ink-soft)}.loc-facts dd{margin:0}.loc-choices{margin:10px 0 0;font-size:.86rem}.loc-choices-control{display:none}.loc.is-ready .loc-choices-control{gap:6px;display:grid}.loc-choices select{border:1px solid var(--loc-line-strong);width:100%;min-width:0;min-height:44px;font:inherit;color:var(--ui-ink);background:var(--ui-paper);border-radius:6px;padding:8px}.loc-choices-label{color:var(--ui-ink-soft);margin-right:6px}.loc-dot{color:var(--ui-ink-soft);margin:0 6px}.loc-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;display:flex}.loc-cta{background:var(--ui-cta);color:#fff;border-radius:8px;align-items:center;min-height:42px;padding:0 18px;font-size:.92rem;font-weight:650;text-decoration:none;display:inline-flex}.loc-cta--text{background:var(--ui-ink)}.loc-cta:hover{filter:brightness(1.06)}.loc-secondary{color:var(--ui-ink);align-items:center;min-height:36px;font-size:.86rem;font-weight:600;display:inline-flex}.loc--embed{padding:8px clamp(10px,2vw,16px) 16px}.loc--embed .loc-toolbar{padding-top:4px}body.embed .loc--embed{background:var(--ui-paper);min-height:100dvh}.loc-page-head{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:18px;padding-block:clamp(14px,2.4vw,24px) 4px;padding-inline:clamp(16px,4vw,32px);display:grid}.loc-page-head .brand-row{grid-row:1/span 2;margin:0}.loc-page-head .brand-row img{width:48px;height:48px;padding:6px}.loc-page-head h1{max-width:none;margin:0;font-size:1.5rem}.loc-page-head .sub{max-width:70ch;margin:2px 0 0;font-size:.92rem}@media (width<=480px){.loc-page-head .sub{grid-column:1/-1}}
