:root{--accent: #c8a96a;--accent-ink: #14110c;--ink: #f4f1ea;--ink-dim: rgba(244,241,234,.62);--surface: rgba(18,18,20,.82);--surface-line: rgba(244,241,234,.14);--bg: #08080a;--font-display: "Georgia", "Times New Roman", serif;--font-ui: ui-sans-serif, -apple-system, "Segoe UI", Inter, system-ui, sans-serif;--radius: 4px;--vignette: .55;--scrim: .42;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-ui);overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased}.stage{position:fixed;inset:0;overflow:hidden;isolation:isolate}.gs-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;-webkit-tap-highlight-color:transparent;outline:none}.grade{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(120% 90% at 50% 45%,transparent 42%,rgba(0,0,0,var(--vignette)) 100%),linear-gradient(to bottom,rgba(0,0,0,var(--scrim)) 0%,transparent 22%,transparent 74%,rgba(0,0,0,calc(var(--scrim) * 1.24)) 100%)}.brand-logo{position:absolute;z-index:30;top:calc(18px + var(--safe-t));left:20px;pointer-events:auto;line-height:0;opacity:.92}.brand-logo[hidden]{display:none}.brand-logo[data-position=top-right]{left:auto;right:20px}.brand-logo[data-position=top-center]{left:50%;transform:translate(-50%)}.brand-logo img{display:block;width:auto;max-width:42vw}.loader{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:#08080a;transition:opacity .7s var(--ease),visibility .7s}.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.loader__inner{width:min(340px,74vw);text-align:center}.loader__venue{font-family:var(--font-display);font-size:clamp(19px,4.6vw,27px);letter-spacing:.06em;margin-bottom:22px;color:var(--ink)}.loader__track{height:1px;width:100%;background:#f4f1ea29;overflow:hidden}.loader__bar{height:100%;width:0%;background:var(--accent);transition:width .28s linear}.loader__pct{margin-top:12px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);font-variant-numeric:tabular-nums}.fallback{position:absolute;inset:0;z-index:90;display:grid;place-items:center;background:#08080a;padding:28px;text-align:center}.fallback[hidden]{display:none}.fallback__inner{max-width:420px}.fallback h2{font-family:var(--font-display);font-weight:400;font-size:20px;margin:0 0 10px}.fallback p{color:var(--ink-dim);font-size:14px;line-height:1.6;margin:0}.hotspot-layer{position:absolute;inset:0;z-index:20;pointer-events:none;contain:layout style}.hotspot{position:absolute;top:0;left:0;pointer-events:auto;cursor:pointer;border:0;padding:0;margin:0;background:none;color:var(--ink);font:inherit;display:flex;align-items:center;gap:10px;transform-origin:0 0;will-change:transform,opacity;opacity:0;transition:opacity .35s var(--ease);-webkit-tap-highlight-color:transparent}.hotspot.is-visible{opacity:1}.hotspot.is-hidden{opacity:0;pointer-events:none}.hotspot__pin{position:relative;width:14px;height:14px;flex:0 0 14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px #00000080,0 2px 10px #0009}.hotspot__pin:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--accent);opacity:.8;animation:pulse 2.8s var(--ease) infinite}@keyframes pulse{0%{transform:scale(.72);opacity:.85}70%{transform:scale(1.9);opacity:0}to{transform:scale(1.9);opacity:0}}.hotspot__label{white-space:nowrap;font-size:12px;letter-spacing:.13em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--surface-line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:translate(-6px);opacity:0;transition:opacity .3s var(--ease),transform .3s var(--ease);pointer-events:none}.hotspot:hover .hotspot__label,.hotspot:focus-visible .hotspot__label,.hotspot.is-near .hotspot__label{opacity:1;transform:translate(0)}.hotspot:focus-visible{outline:2px solid var(--accent);outline-offset:8px;border-radius:4px}@media(hover:none){.hotspot__label{opacity:1;transform:none;font-size:10.5px;padding:6px 10px}}.hotspot__arrow{position:relative;width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;color:var(--accent-ink);background:var(--accent);box-shadow:0 0 0 1px #00000073,0 3px 14px #0000008c;transition:transform .32s var(--ease)}.hotspot__arrow svg{width:16px;height:16px;display:block}.hotspot__arrow:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--accent);opacity:.7;animation:pulseArrow 3.4s var(--ease) infinite}@keyframes pulseArrow{0%{transform:scale(.85);opacity:.8}70%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}.hotspot--link:hover .hotspot__arrow,.hotspot--link:focus-visible .hotspot__arrow{transform:translate(3px)}.hotspot--link .hotspot__label{background:var(--surface);font-weight:500}.walk-marker{position:absolute;top:0;left:0;z-index:18;width:46px;height:46px;pointer-events:none;opacity:0;transition:opacity .28s var(--ease);will-change:transform,opacity}.walk-marker.is-active{opacity:.95}.walk-marker span{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--accent);transform:scaleY(.34)}.walk-marker span:last-child{animation:markerPulse 1.5s var(--ease) infinite}@keyframes markerPulse{0%{transform:scaleY(.34) scale(.5);opacity:.9}to{transform:scaleY(.34) scale(1.5);opacity:0}}.gs-canvas.is-walking{cursor:crosshair}.gs-canvas{transition:none;will-change:opacity,filter}.gs-canvas.is-revealing{animation:splatReveal var(--reveal-ms, 2.2s) cubic-bezier(.24,.8,.3,1) both}@keyframes splatReveal{0%{opacity:0;filter:blur(26px) saturate(.25) brightness(1.5);transform:scale(1.045)}22%{opacity:.55;filter:blur(17px) saturate(.5) brightness(1.28)}48%{opacity:.85;filter:blur(8px) saturate(.82) brightness(1.12)}74%{opacity:.97;filter:blur(3px) saturate(.96) brightness(1.04)}to{opacity:1;filter:blur(0) saturate(1) brightness(1);transform:scale(1)}}.gs-canvas.is-dissolving{animation:splatDissolve var(--dissolve-ms, .9s) cubic-bezier(.5,0,.75,.3) both}@keyframes splatDissolve{0%{opacity:1;filter:blur(0) saturate(1) brightness(1);transform:scale(1)}35%{opacity:.9;filter:blur(4px) saturate(.9) brightness(1.08)}70%{opacity:.55;filter:blur(14px) saturate(.55) brightness(1.3)}to{opacity:0;filter:blur(28px) saturate(.2) brightness(1.6);transform:scale(1.035)}}@media(prefers-reduced-motion:reduce){.gs-canvas.is-revealing,.gs-canvas.is-dissolving{animation-duration:.3s}}.switch{pointer-events:auto;display:inline-flex;padding:3px;border-radius:999px;border:1px solid var(--surface-line);background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.switch[hidden]{display:none}.switch__opt{font:inherit;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);padding:7px 15px;border:0;border-radius:999px;background:transparent;cursor:pointer;transition:background .28s var(--ease),color .28s var(--ease)}.switch__opt:hover{color:var(--ink)}.switch__opt.is-active{background:var(--accent);color:var(--accent-ink)}.switch__opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dock{position:absolute;z-index:56;left:0;right:0;bottom:calc(14px + var(--safe-b));display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 12px;pointer-events:none}.discovered{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;pointer-events:none}.discovered:empty{display:none}.found{pointer-events:auto;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:6px 13px 6px 9px;border-radius:999px;border:1px solid var(--surface-line);background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;opacity:0;transform:translateY(14px) scale(.82);transition:opacity .5s var(--ease),transform .62s cubic-bezier(.16,1.3,.4,1),border-color .25s var(--ease)}.found.is-in{opacity:1;transform:translateY(0) scale(1)}.found:hover{border-color:var(--accent)}.found:active{transform:scale(.96)}.found:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.found__mark{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:0 0 7px;box-shadow:0 0 0 0 var(--accent)}.found.is-in .found__mark{animation:foundPing 1.5s var(--ease) .18s 2}@keyframes foundPing{0%{box-shadow:0 0 #c8a96abf}70%{box-shadow:0 0 0 9px #c8a96a00}to{box-shadow:0 0 #c8a96a00}}.found--link .found__mark{border-radius:2px;transform:rotate(45deg) scale(.85)}.hotspot.is-discovered .hotspot__pin,.hotspot.is-discovered .hotspot__arrow{animation:discoverFlash 1.1s var(--ease)}@keyframes discoverFlash{0%{transform:scale(1);box-shadow:0 0 #c8a96ae6}28%{transform:scale(1.55);box-shadow:0 0 0 12px #c8a96a00}to{transform:scale(1);box-shadow:0 0 #c8a96a00}}@media(max-width:719px){.discovered{bottom:calc(60px + var(--safe-b));gap:5px}.found{font-size:9px;padding:5px 10px 5px 8px;letter-spacing:.1em}}.chrome{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;pointer-events:none}.chip{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);padding:10px 16px;border-radius:999px;border:1px solid var(--surface-line);background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;transition:border-color .25s var(--ease),transform .25s var(--ease),opacity .35s var(--ease)}.chip:hover{border-color:var(--accent)}.chip:active{transform:scale(.97)}.chip[hidden]{display:none}.chip__dot{width:6px;height:6px;border-radius:50%;background:var(--ink-dim);transition:background .25s var(--ease),box-shadow .25s var(--ease)}.chip[aria-pressed=true] .chip__dot{background:var(--accent);box-shadow:0 0 8px var(--accent)}.nudge{font-size:10.5px;text-align:center;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);pointer-events:none;animation:fadeCycle 4.5s var(--ease) forwards}.nudge[hidden]{display:none}@keyframes fadeCycle{0%{opacity:0}18%{opacity:1}75%{opacity:1}to{opacity:0}}.modal{position:absolute;inset:0;z-index:50}.modal[hidden]{display:none}.modal__backdrop{position:absolute;inset:0;background:#040406a8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;animation:fadeIn .32s var(--ease) forwards}@keyframes fadeIn{to{opacity:1}}.modal__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);width:min(460px,calc(100vw - 40px));max-height:min(76vh,620px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:34px 32px 30px;border-radius:var(--radius);background:#101012f0;border:1px solid var(--surface-line);box-shadow:0 30px 90px #000000b3;opacity:0;animation:panelIn .42s var(--ease) forwards}@keyframes panelIn{to{opacity:1;transform:translate(-50%,-50%)}}.modal__close{position:absolute;top:10px;right:12px;width:34px;height:34px;display:grid;place-items:center;background:none;border:0;color:var(--ink-dim);font-size:24px;line-height:1;cursor:pointer;transition:color .2s var(--ease)}.modal__close:hover{color:var(--ink)}.modal__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal__eyebrow{margin:0 0 10px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}.modal__eyebrow:empty{display:none}.modal__title{margin:0 0 14px;font-family:var(--font-display);font-weight:400;font-size:clamp(21px,5vw,27px);line-height:1.24;letter-spacing:.01em}.modal__body{font-size:14.5px;line-height:1.68;color:var(--ink-dim)}.modal__body p{margin:0 0 12px}.modal__body ul{margin:0 0 12px;padding-left:18px}.modal__body li{margin-bottom:5px}.modal__body strong{color:var(--ink);font-weight:500}.modal__cta{display:inline-block;margin-top:20px;padding:13px 26px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:transform .25s var(--ease),filter .25s var(--ease)}.modal__cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.modal__cta:active{transform:translateY(0)}.modal__cta[hidden]{display:none}@media(min-width:720px){.modal.is-composed .modal__panel{left:auto;right:4.5vw;top:50%;width:min(392px,40vw);transform-origin:100% 50%;animation:panelInSide 1.05s cubic-bezier(.16,.9,.24,1) forwards}@keyframes panelInSide{0%{opacity:0;transform:translate(54px,-50%) scale(.965);filter:blur(10px);clip-path:inset(0 0 0 88%)}38%{opacity:1;clip-path:inset(0 0 0 22%)}70%{filter:blur(2px)}to{opacity:1;transform:translateY(-50%) scale(1);filter:blur(0);clip-path:inset(0 0 0 0)}}.modal.is-composed .modal__panel:before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:linear-gradient(to bottom,transparent,var(--accent),transparent);transform:scaleY(0);transform-origin:50% 0;animation:edgeDraw .9s cubic-bezier(.2,.8,.3,1) .22s forwards}@keyframes edgeDraw{to{transform:scaleY(1)}}.modal.is-composed .modal__eyebrow{animation:contentUp .78s var(--ease) .3s both}.modal.is-composed .modal__title{animation:contentUp .78s var(--ease) .4s both}.modal.is-composed .modal__body{animation:contentUp .78s var(--ease) .52s both}.modal.is-composed .modal__cta{animation:ctaRise .85s cubic-bezier(.16,1.2,.4,1) .68s both}@keyframes contentUp{0%{opacity:0;transform:translateY(13px);filter:blur(5px)}60%{opacity:1}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes ctaRise{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.modal.is-composed .modal__backdrop{background:#04040647;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(max-width:719px){.modal.is-composed .modal__panel{inset:auto 0 0;width:100%;max-height:58vh;border-radius:var(--radius) var(--radius) 0 0;transform:none;padding-bottom:calc(26px + var(--safe-b));animation:sheetIn .8s cubic-bezier(.16,.96,.28,1) forwards}@keyframes sheetIn{0%{opacity:0;transform:translateY(100%);filter:blur(8px)}55%{opacity:1}to{opacity:1;transform:translateY(0);filter:blur(0)}}.modal.is-composed .modal__eyebrow{animation:contentUp .7s var(--ease) .26s both}.modal.is-composed .modal__title{animation:contentUp .7s var(--ease) .35s both}.modal.is-composed .modal__body{animation:contentUp .7s var(--ease) .45s both}.modal.is-composed .modal__cta{animation:contentUp .7s var(--ease) .58s both}@keyframes contentUp{0%{opacity:0;transform:translateY(12px);filter:blur(4px)}60%{opacity:1}to{opacity:1;transform:translateY(0);filter:blur(0)}}.stage.has-panel .dock{bottom:min(calc(58vh + 14px),calc(100% - 92px))}.modal.is-composed .modal__backdrop{background:#04040652;backdrop-filter:none;-webkit-backdrop-filter:none}}.stage:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:var(--edge-fade, 0);transition:opacity .25s linear;background:radial-gradient(120% 90% at 50% 50%,transparent calc(30% * (1 - var(--edge-fade, 0))),var(--bg) calc(92% - 46% * var(--edge-fade, 0)))}.veil{position:absolute;inset:0;z-index:55;display:grid;place-items:center;background:var(--bg);opacity:0;transition:opacity .62s var(--ease);pointer-events:none}.veil[hidden]{display:none}.veil.is-up{opacity:1;pointer-events:auto}.veil__inner{text-align:center;width:min(360px,76vw)}.veil__title{font-family:var(--font-display);font-size:clamp(22px,5.2vw,32px);letter-spacing:.05em;color:var(--ink);opacity:0;transform:translateY(10px);transition:opacity .55s var(--ease) .18s,transform .55s var(--ease) .18s}.veil.is-up .veil__title{opacity:1;transform:translateY(0)}.veil__sub{margin-top:9px;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);opacity:0;transition:opacity .55s var(--ease) .3s}.veil.is-up .veil__sub{opacity:1}.veil__sub:empty{display:none}.veil__track{margin-top:26px;height:1px;width:100%;background:var(--surface-line);opacity:0;transition:opacity .4s var(--ease) .4s}.veil.is-up .veil__track{opacity:1}.veil__bar{height:100%;width:0%;background:var(--accent);transition:width .25s linear}@media(prefers-reduced-motion:reduce){.hotspot__pin:after{animation:none}.nudge{animation:none;opacity:1}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-height:460px){.dock{bottom:calc(8px + var(--safe-b));gap:6px}.chip{padding:8px 13px;font-size:10px}.nudge{display:none}}
