:root{color-scheme:dark;--gold:#cda45e;--cream:#f2e5ce;--muted:#c5bbaa;--panel:rgba(22,19,14,.89)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#100e0b;color:var(--cream);font-family:Lato,"Open Sans",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,#tour-scene:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#tour{position:fixed;inset:0;height:100dvh;isolation:isolate}#tour-scene{position:absolute;inset:0;cursor:grab;touch-action:none;transition:opacity .25s;background:#100e0b}#tour-scene:active{cursor:grabbing}#tour-scene canvas{display:block;width:100%;height:100%}#tour-scene.is-changing{opacity:.28}#tour-scene>img{width:100%;height:100%;object-fit:contain}
.tour-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,7,5,.58),transparent 35%,transparent 66%,rgba(8,7,5,.72));z-index:2}.tour-topbar{position:absolute;z-index:4;left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.tour-topbar>*{pointer-events:auto}.tour-brand{display:flex;gap:14px;align-items:center;font-family:"Playfair Display",serif;font-size:24px;text-shadow:0 2px 16px #000}.tour-brand-mark{display:grid;place-items:center;width:53px;height:53px;border:1px solid rgba(205,164,94,.6);border-radius:50%;font:400 17px Lato,sans-serif;color:var(--gold);background:rgba(15,12,8,.4)}.tour-brand-sub{display:block;font:400 10px Lato,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:6px;color:#dbcfb8}.tour-button{border:1px solid rgba(205,164,94,.5);color:var(--cream);background:var(--panel);backdrop-filter:blur(12px);border-radius:32px;min-height:48px;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;transition:background .2s,border-color .2s}.tour-button:hover{background:#302619;border-color:var(--gold)}.tour-exit>span:first-child{font-size:20px;color:var(--gold)}
.tour-location{position:absolute;z-index:3;left:32px;top:119px;pointer-events:none;text-shadow:0 2px 16px #000;max-width:calc(100% - 64px)}.tour-eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.5;color:var(--gold);margin:0 0 12px;display:flex;align-items:center;gap:8px}.tour-live-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}#tour-number{color:#dbcfb8;margin-left:14px;letter-spacing:.09em}.tour-location h1{font:400 clamp(26px,3vw,40px)/1.2 "Playfair Display",serif;margin:0 0 10px}.tour-location>p:last-child{font-size:13px;margin:0;color:#e1d8c9}
#tour-hotspots{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.tour-hotspot{position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:auto;border:0;background:none;color:var(--cream);display:flex;flex-direction:column;align-items:center;gap:10px;min-width:44px;max-width:190px;padding:10px;filter:drop-shadow(0 3px 6px #000);font-size:12px;font-weight:700;line-height:1.3}.tour-hotspot-disc{position:relative;display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:rgba(24,19,11,.8);border:1px solid var(--gold);border-radius:50%;color:#ffe4b1;font-size:20px;backdrop-filter:blur(3px);transition:background .2s,transform .2s}.tour-hotspot-disc:before{content:"";position:absolute;inset:-6px;border:1px solid rgba(205,164,94,.4);border-radius:50%;animation:point-pulse 2.8s ease-out infinite}.tour-hotspot:hover .tour-hotspot-disc,.tour-hotspot:focus-visible .tour-hotspot-disc{transform:scale(1.12);background:var(--gold);color:#171109}.tour-hotspot-label{display:block;border:1px solid rgba(205,164,94,.38);border-radius:20px;padding:7px 12px;background:rgba(13,11,8,.77);backdrop-filter:blur(8px);text-align:center;white-space:nowrap}.tour-hotspot.is-compact .tour-hotspot-label{opacity:0}.tour-hotspot.is-compact:hover .tour-hotspot-label,.tour-hotspot.is-compact:focus-visible .tour-hotspot-label{opacity:1}.tour-hotspot svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
@keyframes point-pulse{0%{transform:scale(.88);opacity:.6}85%,100%{transform:scale(1.24);opacity:0}}
.tour-bottom{position:absolute;z-index:4;left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;pointer-events:none}.tour-bottom>*{pointer-events:auto}.tour-points-open{justify-self:start;text-align:left;padding:12px 22px 12px 17px;gap:12px}.tour-points-open small{display:block;font-size:10px;font-weight:400;color:#c3b59d;margin-top:4px}.tour-grid-icon{font-size:29px;line-height:1;color:var(--gold)}.tour-center-tools{display:flex;flex-direction:column;align-items:center;gap:16px}#tour-hint{font-size:12px;line-height:1.5;color:#f4ead8;text-shadow:0 2px 7px #000;margin:0;text-align:center}#tour-hint>span{color:var(--gold);margin:0 7px}.tour-controls{display:flex;align-items:center;background:var(--panel);border:1px solid rgba(205,164,94,.5);border-radius:34px;padding:5px;backdrop-filter:blur(12px);box-shadow:0 6px 25px #0003}.tour-controls button{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:transparent;color:var(--cream);font-size:25px}.tour-controls button:hover{background:#cda45e24}.tour-controls button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.tour-control-divider{width:1px;height:20px;background:#cda45e4d;margin:0 4px}.tour-help-open{justify-self:end;width:46px;min-height:46px;padding:0;font-family:"Playfair Display",serif;font-size:21px}
#tour-loader{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:rgba(10,8,6,.42);pointer-events:none;text-shadow:0 2px 10px #000;font-size:14px;padding:28px;text-align:center}#tour-loader.is-error{background:rgba(10,8,6,.85);pointer-events:auto}.tour-spinner{width:36px;height:36px;border:1px solid #cda45e45;border-top:1px solid var(--gold);border-radius:50%;animation:spin 1s linear infinite}#tour-loader.is-error .tour-spinner{display:none}#tour-retry{border:1px solid var(--gold);background:#241d12;padding:12px 24px;border-radius:30px;color:var(--cream)}@keyframes spin{to{transform:rotate(360deg)}}
.tour-dialog{position:fixed;inset:18px 18px 18px auto;margin:0;width:380px;max-width:calc(100% - 24px);max-height:calc(100dvh - 36px);padding:24px;border:1px solid #6c5635;border-radius:20px;background:#17140f;color:var(--cream);box-shadow:0 20px 90px #0008;overscroll-behavior:contain}.tour-dialog::backdrop{background:#0005;backdrop-filter:blur(4px)}.tour-dialog-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px}.tour-dialog-header h2{font:400 26px/1.2 "Playfair Display",serif;margin:0}.tour-dialog-header .tour-eyebrow{font-size:9px;margin-bottom:8px}.tour-dialog-header>button{flex-shrink:0;background:none;border:1px solid #75603e;color:#dfc89f;border-radius:50%;font-size:23px;width:36px;height:36px;line-height:1}.tour-map-wrap{margin:0 0 14px;border:1px solid #58472f;border-radius:12px;background:#100e0b;position:relative;padding:8px}.tour-map-wrap>span{display:block;text-align:center;color:#a3957e;font-size:9px;letter-spacing:.06em;margin:0 0 7px}.tour-map-wrap svg{display:block;width:100%;max-height:192px}.tour-map-room{fill:#201b13;stroke:#685334;stroke-width:1}.tour-map-stage{fill:#927241;stroke:#cda45e}.tour-map-seats{fill:#7b6330;opacity:.2}.tour-map-aisle{stroke:#aa8850;stroke-width:1;stroke-dasharray:3 4}.tour-map-wrap text{font:7px Lato,sans-serif;fill:#fff2d9}.tour-map-point circle{fill:#261f14;stroke:#cda45e;stroke-width:1}.tour-map-point.is-current circle{fill:#cda45e;stroke:#fff0cb;stroke-width:2}.tour-map-point.is-current text{fill:#16110a;font-weight:700}.tour-point-list{display:grid;gap:5px}.tour-point-list button{display:flex;align-items:center;gap:13px;width:100%;padding:11px 9px;background:transparent;color:var(--cream);text-align:left;border:1px solid transparent;border-radius:10px}.tour-point-list button:hover{background:#cda45e10}.tour-point-list button[aria-current=location]{background:#cda45e15;border-color:#76603b}.tour-point-index{width:30px;height:30px;display:grid;place-items:center;border:1px solid #735b34;border-radius:50%;color:var(--gold);font-size:11px;flex-shrink:0}.tour-point-copy{flex:1;min-width:0}.tour-point-copy strong{display:block;font-size:13px;font-weight:700;margin-bottom:4px}.tour-point-copy small{font-size:10px;color:#baad97;display:block;line-height:1.4}.tour-point-state{color:var(--gold);font-size:15px}.tour-help{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:470px;max-height:85dvh;padding:28px}.tour-help>p{color:#d0c5b3;font-size:14px;line-height:1.8;margin:20px 0}.tour-help .tour-authentic{font-size:12px;color:#b6a98e;border-top:1px solid #54442c;padding-top:20px}.tour-help>a{display:inline-block;font-size:13px;color:var(--gold);padding:10px 0}.tour-noscript{position:absolute;inset:40% 20px auto;text-align:center;z-index:10;line-height:1.8;background:#17140f;padding:24px}
@media(max-width:767px){.tour-topbar{left:16px;right:16px;top:max(16px,env(safe-area-inset-top));gap:12px}.tour-brand{font-size:19px;gap:9px}.tour-brand-mark{width:42px;height:42px;font-size:14px}.tour-brand-sub{font-size:8px;letter-spacing:.08em;margin-top:4px}.tour-exit{padding:9px 12px;font-size:10px;gap:6px;min-height:42px}.tour-exit>span:first-child{font-size:16px}.tour-location{left:20px;top:92px;max-width:calc(100% - 40px)}.tour-eyebrow{font-size:9px;margin-bottom:8px}.tour-location h1{font-size:28px;margin-bottom:6px}.tour-location>p:last-child{font-size:11px}.tour-bottom{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));grid-template-columns:1fr auto;gap:14px}.tour-center-tools{grid-column:1/-1;grid-row:1;gap:12px}.tour-points-open{grid-column:1;grid-row:2;min-height:46px;padding:8px 15px;font-size:12px;gap:8px}.tour-grid-icon{font-size:24px}.tour-help-open{grid-row:2;grid-column:2}.tour-points-open small{font-size:9px}#tour-hint{font-size:10px;max-width:290px;line-height:1.6}.tour-controls button{width:43px;height:43px}.tour-hotspot{max-width:160px;font-size:10px;gap:8px}.tour-hotspot-disc{width:40px;height:40px}.tour-hotspot-label{padding:6px 10px}.tour-dialog{inset:10px 10px 10px auto;max-height:calc(100dvh - 20px);width:360px;padding:20px}.tour-help{inset:50% auto auto 50%;max-width:calc(100% - 24px);max-height:85dvh}.tour-vignette{background:linear-gradient(180deg,#080705aa,transparent 31%,transparent 60%,#080705cc)}}
@media(max-height:550px){.tour-location{top:80px}.tour-location h1{font-size:24px}.tour-bottom{grid-template-columns:1fr auto 1fr;gap:12px;bottom:12px}.tour-center-tools{grid-column:2;grid-row:1;gap:8px}.tour-points-open{grid-column:1;grid-row:1}.tour-help-open{grid-column:3;grid-row:1}#tour-hint{display:none}.tour-dialog{inset:8px 8px 8px auto;max-height:calc(100dvh - 16px)}.tour-help{inset:50% auto auto 50%}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}

.tour-hotspot-label{transform:translateX(var(--label-shift,0px))}
#tour-toast{position:absolute;z-index:8;left:50%;bottom:160px;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:13px 19px;background:#211b12ef;border:1px solid #8d7043;border-radius:13px;color:var(--cream);font-size:13px;line-height:1.6;text-align:center;box-shadow:0 5px 30px #0008}
@media(max-width:767px){#tour-toast{bottom:190px;font-size:12px}}
@media(max-height:550px){#tour-toast{bottom:85px}}

/* Visitor orientation based on the supplied architectural floor plan. */
.tour-map-wrap svg{max-height:330px;height:auto}
.tour-map-room{fill:#201b13;stroke:#8c7145;stroke-width:1.5}
.tour-map-stage{fill:#9b783a33;stroke:#cda45e;stroke-width:1.2}
.tour-map-vip{fill:#cda45e12;stroke:#78603a;stroke-width:.7}
.tour-map-steps,.tour-map-partition{fill:none;stroke:#8c7145;stroke-width:1}
.tour-map-walkway{fill:#cda45e0a}
.tour-map-wrap .tour-map-zone{font-size:11px;fill:#d9bc89;letter-spacing:1px}
.tour-map-wrap .tour-map-small{font-size:8px;fill:#ad9b7e;letter-spacing:.6px}
.tour-map-wrap .tour-map-aisle-label{font-size:8px;fill:#ad9b7e;letter-spacing:1.2px}
.tour-map-point{cursor:pointer}
.tour-map-point .tour-map-camera{fill:none;stroke:#edd5a9;stroke-width:1.1}
.tour-map-point .tour-map-number{font-size:10px;fill:#ead0a1;font-weight:700;paint-order:stroke;stroke:#100e0b;stroke-width:3}
.tour-map-point.is-current .tour-map-camera{fill:none;stroke:#171109}
.tour-map-point:hover>circle:first-child,.tour-map-point:focus-visible>circle:first-child{stroke:#fff2d9;stroke-width:2.5;fill:#624c29}
.tour-map-point:focus-visible{outline:none}

.tour-map-point.is-current .tour-map-number{fill:#ffe2ad}

/* Hidden stories are discovered only at objects inside the panorama. */
.tour-info-point{padding:7px;width:46px;height:46px;min-width:46px;max-width:46px;gap:0;filter:drop-shadow(0 2px 5px #0008)}
.tour-info-point .tour-hotspot-disc{width:32px;height:32px;border-color:#e8d8b8;background:#1c1913c9;color:#f9eacd;font:italic 600 20px/1 Georgia,serif}
.tour-info-point .tour-hotspot-disc:before{display:none}
.tour-info-point:hover .tour-hotspot-disc,.tour-info-point:focus-visible .tour-hotspot-disc{background:#eddbb7;color:#241a0e;transform:scale(1.12)}
.tour-fact-dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:390px;max-width:calc(100% - 32px);max-height:calc(100dvh - 40px);padding:26px 28px;border-radius:18px;background:#19150ff5;box-shadow:0 12px 80px #0007}
.tour-fact-dialog::backdrop{background:#0002;backdrop-filter:none}
.tour-fact-dialog .tour-dialog-header{margin-bottom:18px;align-items:center}
.tour-fact-emblem{display:grid;place-items:center;width:35px;height:35px;border:1px solid #cda45e;border-radius:50%;color:#e9d1a6;font:italic 600 22px Georgia,serif}
.tour-fact-dialog>.tour-eyebrow{font-size:9px;letter-spacing:.12em;line-height:1.6;margin:0 0 10px}
.tour-fact-dialog>h2{font:400 25px/1.3 'Playfair Display',serif;margin:0;color:#f1dfbd}
.tour-fact-highlight{display:inline-block;margin:16px 0 0;padding:7px 11px;border:1px solid #8d704366;border-radius:7px;font-size:12px;color:#e7bf7b;background:#cda45e0c}
#tour-info-text{font-size:14px;line-height:1.8;color:#d6ccbb;margin:18px 0 0}
.tour-fact-context{font-size:11px;line-height:1.6;color:#b9a991;margin:17px 0 0;padding-top:12px;border-top:1px solid #5c4b30}
@media(max-width:575px){.tour-fact-dialog{padding:22px}.tour-fact-dialog>h2{font-size:23px}.tour-info-point .tour-hotspot-disc{width:32px;height:32px}}
