.locator{--locator-accent:var(--color-primary-600);--locator-active-opacity:.26;--locator-hover-opacity:.13;--locator-marker-rest:.62}.locator-grid{grid-template-columns:1fr;gap:.5rem;display:grid}.locator-frame{aspect-ratio:200/420;width:min(62vw,250px);position:relative}.locator-render{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.locator-render[hidden]{display:none}.locator-frame [data-locator-figure]{z-index:1;touch-action:manipulation;width:100%;height:100%;position:absolute;inset:0}.locator-frame [data-locator-figure]:not(.locator-quiet) .locator-marker[data-featured=true] .locator-marker-halo{transform-origin:50%;transform-box:fill-box;animation:2.2s ease-out infinite locator-pulse}@keyframes locator-pulse{0%{opacity:.5;transform:scale(.6)}80%{opacity:0;transform:scale(2)}to{opacity:0}}.locator-float{z-index:3;white-space:nowrap;background:var(--color-base-900);color:#fff;opacity:0;pointer-events:none;border-radius:.4rem;padding:.25rem .6rem;font-size:.8125rem;font-weight:600;transition:opacity .12s;position:absolute;left:78%;transform:translateY(-50%)}.locator-float[data-shown]{opacity:1}.locator-region-button{border:1px solid var(--border);background:var(--color-base-50);border-radius:.55rem;min-height:2.75rem;padding:.5rem .85rem;font-size:.875rem;transition:border-color .2s}.locator-region-button[data-empty=true]{color:var(--muted-foreground)}.locator-region-button:hover{border-color:var(--color-primary-500)}.locator-region-button[aria-pressed=true]{border-color:var(--color-primary-600);background:var(--color-primary-100);color:var(--color-primary-800);font-weight:600}[data-locator-trail] button,[data-locator-trail-items] button{color:var(--color-primary-700);text-underline-offset:3px;padding:.25rem .15rem;text-decoration:underline}.locator-panel{background:var(--color-base-50)}.locator-bridge{border-left:3px solid var(--color-primary-600);background:var(--color-primary-100);border-radius:0 .5rem .5rem 0;margin-top:.75rem;padding:.6rem .9rem;font-size:.9375rem}.locator-panel-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted-foreground);margin-top:1.25rem;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.locator-linkrow{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.locator-linkrow a{border:1px solid var(--border);background:var(--color-base-50);color:var(--color-primary-800);border-radius:.55rem;padding:.5rem .8rem;font-size:.9rem;display:inline-block}.locator-linkrow a:hover{border-color:var(--color-primary-500)}.locator-cta{border-radius:.6rem;align-items:center;min-height:2.875rem;padding:.7rem 1.1rem;font-weight:600;display:inline-flex}.locator-cta-primary{background:var(--color-primary-700);color:#fff}.locator-cta-secondary{border:1px solid var(--color-primary-700);color:var(--color-primary-800)}.locator-sheet-close{display:none}@media (min-width:768px){.locator-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:2.25rem}.locator-panel{border:1px solid var(--border);border-radius:var(--radius);min-height:27rem;padding:1.5rem 1.6rem;position:sticky;top:1.25rem}}@media (max-width:767px){.locator-frame{width:auto;height:min(48vh,400px)}.locator-panel{z-index:40;overscroll-behavior:contain;border-top:1px solid var(--border);max-height:min(46vh,380px);padding:1.1rem 1.25rem calc(1.75rem + env(safe-area-inset-bottom));visibility:hidden;border-radius:1.1rem 1.1rem 0 0;transition:transform .24s,visibility 0s .24s;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(103%);box-shadow:0 -8px 30px #0000002e}body.locator-sheet-open .locator-panel{visibility:visible;transition-delay:0s;transform:translateY(0)}body.locator-sheet-open{padding-bottom:min(46vh,380px)}[data-locator-welcome]{display:none}.locator-sheet-close{float:right;border:1px solid var(--border);background:var(--color-base-50);width:2.75rem;height:2.75rem;color:var(--muted-foreground);border-radius:50%;justify-content:center;align-items:center;margin:-.35rem -.5rem 0 .75rem;font-size:1.25rem;display:flex;position:sticky;top:0}}@media (prefers-reduced-motion:reduce){.locator-marker .locator-marker-halo{animation:none!important}.locator-panel,.locator-float{transition:none!important}}
