.loc-hub{--loc-gap:var(--gap-bento);--loc-edge:calc(max(0px, (100% - var(--container)) / 2 - var(--gutter)) + var(--gutter));--loc-panel-w:436px;--loc-card-w:420px;--loc-fab:88px;--loc-find-h:48px;position:relative;isolation:isolate;height:max(480px,calc(100dvh - var(--loc-top, var(--header-h) + var(--loc-gap))));margin-top:var(--loc-gap);overflow:hidden;background:var(--paper)}@media (min-width:1024px){.loc-hub{height:max(560px,calc(100dvh - var(--loc-top, var(--header-h) + var(--loc-gap))))}}.loc-hub__safe{position:absolute;width:0;height:env(safe-area-inset-bottom);visibility:hidden;pointer-events:none}.loc-round{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:0;border-radius:var(--r-pill);background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.loc-round:hover{background:var(--inverse);color:var(--on-inverse);box-shadow:none}.loc-round svg{width:20px;height:20px}.loc-map{position:absolute;inset:0}.loc-map>.loc-map__canvas{position:absolute;inset:0;font:inherit}.loc-map .maplibregl-canvas:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.loc-map__status{position:absolute;inset:0;display:grid;place-content:center;gap:6px;padding:24px;text-align:center}.loc-map__status>*{max-width:34ch}.loc-marker{z-index:1}.loc-marker[data-selected]{z-index:2}.loc-marker:focus-within,.loc-marker:hover{z-index:3}.loc-map{--pin-base:28px}.loc-map[data-scale=far]{--pin-base:20px}.loc-map[data-scale=mid]{--pin-base:24px}.loc-pin{--pin:var(--pin-base);transition:transform var(--t-fast) var(--ease),width var(--t-fast) var(--ease),height var(--t-fast) var(--ease)}.loc-pin[aria-pressed=true]{--pin:calc(var(--pin-base) + 12px);transform:none}.loc-pin[aria-pressed=true] .ds-pin__name{opacity:1;font-size:13px}.loc-ctrl{position:absolute;z-index:1;top:calc(var(--loc-gap) + var(--loc-find-h) + 12px);right:var(--gutter);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-card);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),var(--shadow-pin)}.loc-ctrl__btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;transition:background-color var(--t-fast) var(--ease)}.loc-ctrl__btn+.loc-ctrl__btn{border-top:1px solid var(--line)}.loc-ctrl__btn:hover{background:var(--band)}.loc-ctrl__btn:focus-visible{outline-offset:-3px}.loc-ctrl__btn svg{width:20px;height:20px}.loc-credit{position:absolute;z-index:1;left:8px;bottom:calc(var(--sheet-visible, 96px) + 8px);display:flex;flex-wrap:wrap;gap:0 6px;max-width:calc(100% - 16px);margin:0;padding:1px 10px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--ink-muted);font-size:11px;line-height:18px;transition:bottom var(--t-base) var(--ease)}.loc-credit a{transition:color var(--t-fast) var(--ease)}.loc-credit a:hover{color:var(--ink);text-decoration:underline}.loc-search{position:relative}.loc-search__icon{position:absolute;top:50%;left:16px;width:20px;height:20px;color:var(--ink-muted);transform:translateY(-50%);pointer-events:none}.ds-input.loc-search__input{padding-inline:48px;border-radius:var(--r-pill);-webkit-appearance:none;appearance:none}.loc-search__input::-webkit-search-cancel-button,.loc-search__input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.loc-search__clear{position:absolute;top:50%;right:4px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--ink-muted);transform:translateY(-50%);cursor:pointer;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.loc-search__clear:hover{background:var(--band);color:var(--ink)}.loc-search__clear svg{width:18px;height:18px}.loc-search[data-plain] .ds-input.loc-search__input{min-height:48px;padding:0 48px 0 24px;background:var(--light-grey);box-shadow:none;color:var(--graphite);font-size:16px}.loc-search[data-plain] .loc-search__input::placeholder{color:color-mix(in srgb,var(--graphite) 60%,transparent)}.loc-search[data-plain] .ds-input.loc-search__input:focus-visible{outline:2px solid var(--light-grey);outline-offset:2px}.loc-search[data-plain] .loc-search__clear{color:var(--graphite)}.loc-search[data-plain] .loc-search__clear:hover{background:color-mix(in srgb,var(--graphite) 10%,transparent)}.loc-find{position:absolute;z-index:2;top:var(--loc-gap);left:var(--gutter);right:var(--gutter)}.loc-find .ds-input.loc-search__input{min-height:var(--loc-find-h);background:var(--surface);box-shadow:0 2px 12px color-mix(in srgb,var(--graphite) 16%,transparent)}.loc-find .ds-input.loc-search__input:hover{box-shadow:inset 0 0 0 1px var(--ink-muted),0 2px 12px color-mix(in srgb,var(--graphite) 16%,transparent)}.loc-find .ds-input.loc-search__input:focus{box-shadow:inset 0 0 0 1.5px var(--ink),0 2px 12px color-mix(in srgb,var(--graphite) 16%,transparent)}.loc-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.loc-list__item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px;border:0;border-radius:var(--r-card);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--t-fast) var(--ease)}.loc-list__item:hover{background:var(--paper)}.loc-list__item[aria-current=true]{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink)}.loc-list__item:focus-visible{outline-offset:-3px}.loc-list__dot{width:10px;height:10px;flex:none;margin-top:6px;border-radius:var(--r-pill);background:var(--ink)}.loc-list__dot[data-off]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-muted)}.loc-list__text{display:flex;flex-direction:column;min-width:0}.loc-list__title{font-weight:500}.loc-list__address,.loc-list__title{font-size:var(--fs-caption);line-height:1.45}.loc-list__address{color:var(--ink-muted)}.loc-list__empty{padding:12px}.loc-panel__head{display:flex;flex-direction:column;gap:8px}.loc-panel__title{font-size:34px;line-height:1.02;letter-spacing:-.02em;font-weight:500}.loc-panel__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.loc-panel__stats>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:4px}.loc-panel__stats dd{margin:0;font-size:28px;line-height:1;font-weight:500}.loc-panel__stats dt{color:var(--ink-muted);font-size:var(--fs-caption);line-height:1.45}.loc-panel__tools{display:flex;flex-direction:column;gap:24px}.loc-panel__list{display:none}.loc-panel__list .loc-list{margin-inline:-12px}.loc-panel .loc-list__item:hover,.loc-panel .loc-list__item[aria-current=true]{background:var(--tile-hover)}.loc-legend{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none}.loc-legend li{display:flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:var(--fs-caption);line-height:1.45}.loc-legend__heart{display:grid;place-items:center;width:20px;height:20px;border-radius:var(--r-pill);background:var(--tile-hover);color:var(--ink)}.loc-legend__heart svg{width:11px;height:auto}.loc-back{position:absolute;z-index:2;top:calc(var(--loc-gap) + var(--loc-find-h) + 12px);left:var(--gutter);display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border:0;border-radius:var(--r-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),var(--shadow-pin);color:var(--ink);font:inherit;font-size:var(--fs-caption);font-weight:500;cursor:pointer;transition:background-color var(--t-fast) var(--ease)}.loc-back:hover{background:var(--band)}.loc-back svg{width:16px;height:16px}.loc-sheet__row .loc-round{box-shadow:none}@media (max-width:1023px){.loc-panel{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.loc-aside,.loc-panel__tools{display:none}}@media (min-width:1024px){.loc-panel{position:absolute;z-index:2;top:8px;left:calc(var(--loc-edge) + 24px);display:flex;flex-direction:column;gap:24px;width:var(--loc-panel-w);max-height:calc(100% - 32px);padding:32px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;border-radius:32px;background:var(--tile);color:var(--ink)}.loc-panel::-webkit-scrollbar{display:none}.loc-panel__title{font-size:44px}.loc-panel__stats dd{font-size:32px}.loc-find{display:none}.loc-back{top:24px;left:calc(var(--loc-edge) + 24px + var(--loc-panel-w) + 12px);box-shadow:inset 0 0 0 1px var(--line)}.loc-ctrl{top:auto;right:auto;bottom:10px;left:10px}.loc-credit{left:auto;right:var(--loc-fab);bottom:4px;max-width:none}}@media (min-width:1024px) and (max-width:1279px){.loc-aside[data-club]{display:none}.loc-panel__list{display:flex;flex-direction:column;gap:8px}}@media (min-width:1024px){.loc-aside{position:absolute;z-index:2;top:24px;right:var(--loc-fab);bottom:24px;width:var(--loc-card-w);padding:32px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;border-radius:32px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-float);animation:loc-in var(--t-base) var(--ease)}.loc-aside::-webkit-scrollbar{display:none}.loc-aside__close{position:absolute;z-index:1;top:24px;right:24px}}@keyframes loc-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.loc-club{display:flex;flex-direction:column;gap:24px}.loc-club__head{display:flex;align-items:center;gap:16px}.loc-club__mark{display:grid;place-items:center;width:64px;height:64px;flex:none;border-radius:var(--r-pill);background:var(--paper);color:var(--ink)}.loc-club__mark svg{width:auto;height:28px;animation:ds-heartbeat 1.6s ease-in-out infinite}.loc-club__name{display:flex;flex-direction:column;gap:4px;min-width:0}.loc-club__title{font-size:28px;line-height:1.05;font-weight:500}.loc-club__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.loc-club__stats>div{padding:16px;border-radius:var(--r-card);background:var(--paper)}.loc-club__stats dt{color:var(--ink-muted);font-size:var(--fs-caption);line-height:1.45}.loc-club__stats dd{margin:0;font-size:28px;line-height:1;font-weight:500}.loc-club__actions{display:flex;flex-wrap:wrap;gap:8px}.loc-club__list{display:flex;flex-direction:column;gap:8px}.loc-club__count:empty{display:none}.loc-club__list .loc-list{margin-inline:-12px}.loc-card{display:flex;flex-direction:column;gap:24px}.loc-card__media{width:100%;aspect-ratio:16/9;border-radius:var(--r-card)}.loc-card__head{display:flex;flex-direction:column;gap:8px}.loc-aside .loc-card__head{padding-right:48px}.loc-aside .loc-card__media+.loc-card__head{padding-right:0}.loc-card__title{font-size:26px;line-height:1.1;letter-spacing:-.01em;font-weight:500}.loc-card__title:focus{outline:none}.loc-card__actions{display:flex;flex-wrap:wrap;gap:8px}.loc-card__about{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.loc-card__summary{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.loc-card__more{min-height:32px;padding:0;border:0;background:none;color:var(--ink);font:inherit;font-size:var(--fs-caption);font-weight:500;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.loc-card__more:hover{text-decoration:none}.loc-card__also{display:flex;flex-direction:column;gap:8px;align-self:stretch}.loc-card__also ul{margin:0 -12px;padding:0;list-style:none}.loc-sheet{position:absolute;z-index:3;right:0;bottom:0;left:0;display:flex;flex-direction:column;height:calc(96px + env(safe-area-inset-bottom));border-radius:var(--r-tile) var(--r-tile) 0 0;background:var(--surface);color:var(--ink);box-shadow:0 -8px 32px color-mix(in srgb,var(--graphite) 18%,transparent);transition:transform .38s cubic-bezier(.22,1.18,.36,1);will-change:transform}.loc-sheet__bar{flex:none;padding:0 var(--gutter) 12px;cursor:grab;touch-action:none;user-select:none}.loc-sheet__bar:active{cursor:grabbing}.loc-sheet__handle{display:flex;align-items:center;justify-content:center;width:100%;height:24px;padding:0;border:0;border-radius:var(--r-pill);background:none;cursor:pointer}.loc-sheet__handle:focus-visible{outline-offset:-3px}.loc-sheet__handle>span{width:40px;height:4px;border-radius:var(--r-pill);background:var(--line)}.loc-sheet__summary{display:flex;flex-direction:column;padding-top:4px}.loc-sheet__row{display:flex;align-items:center;gap:8px;padding-top:4px}.loc-sheet__title{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-caption);line-height:1.25;font-weight:600}.loc-sheet__body{min-height:0;padding:12px var(--gutter) calc(32px + env(safe-area-inset-bottom));overflow:hidden;overscroll-behavior:contain;scrollbar-width:none}.loc-sheet__body::-webkit-scrollbar{display:none}.loc-sheet:not([data-snap=peek]) .loc-sheet__body{overflow-y:auto;touch-action:pan-y}.loc-sheet__list{display:flex;flex-direction:column;gap:12px}.loc-sheet__list .loc-list{margin-inline:-12px}.loc-sheet__more{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;font-weight:500}@media (min-width:1024px){.loc-sheet{display:none}}.loc-venues{display:flex;flex-direction:column;gap:24px;padding-block:48px}.loc-venues__title{font-size:32px;line-height:1.05;letter-spacing:-.02em;font-weight:500}.loc-venues__lead{max-width:60ch}.loc-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none}.loc-tile{gap:16px;padding:24px;border-radius:var(--r-tile);background:var(--surface);color:var(--ink);scroll-margin-top:var(--sticky-top)}.loc-tile,.loc-tile__head{display:flex;flex-direction:column}.loc-tile__head{gap:4px}.loc-tile__actions{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:auto;padding-top:4px}.loc-tile__link{font-size:var(--fs-caption);line-height:1.45;font-weight:500;text-decoration:underline;text-underline-offset:2px}.loc-tile__link:hover{text-decoration:none}@media (min-width:600px){.loc-venues__title{font-size:40px}.loc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.loc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.loc-tile{padding:32px;border-radius:32px}}@media (prefers-reduced-motion:reduce){.loc-aside,.loc-club__mark svg{animation:none}.loc-credit,.loc-pin,.loc-sheet{transition:none}}