@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#fff;background:#152638;--navy:#152638;--orange:#ef5c24;--muted:#aebbc8;--border:rgba(255,255,255,.17)}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden;display:flex;flex-direction:column}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #ffa264;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}header{height:78px;flex:none;background:#fff;color:var(--navy);display:flex;align-items:center;gap:24px;padding:0 32px;z-index:20}.brand{display:block;width:134px}.brand img{width:100%;height:auto;display:block}.address{padding-left:24px;border-left:1px solid #d9dfe3;display:flex;flex-direction:column;gap:3px}.address strong{font-family:Manrope,Arial;font-weight:800;font-size:18px}.address span{color:#687580;font-size:12px}.top-note{margin-left:auto;font-size:10px;letter-spacing:.14em;color:#85929c;font-weight:700}.actions{display:flex;align-items:center;gap:10px}.round{width:34px;height:34px;border-radius:50%;color:#566776;background:#f1f4f5;font-size:19px}.contact{display:flex;align-items:center;gap:18px;padding:12px 18px;border-radius:6px;color:white;background:var(--orange);font-size:13px;font-weight:700}main{flex:1;min-height:240px;position:relative;overflow:hidden;background:#263b47}#stage,#overview{position:absolute;inset:0;touch-action:none;outline:0}#stage{cursor:grab}#stage.dragging{cursor:grabbing}canvas{width:100%;height:100%;display:block}#panorama{transition:opacity .2s ease;object-fit:cover}.shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,34,.51),transparent 27%,transparent 54%,rgba(10,23,34,.6))}.title-block{position:absolute;left:32px;top:27px;max-width:42%;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:#b7c7d3}.title-block h1{font:800 clamp(24px,2.9vw,40px)/1.12 Manrope,Arial;margin:7px 0 9px;letter-spacing:-.03em}.title-block p{margin:0;color:#e2e7eb;font-size:12px;line-height:1.5;max-width:390px}.mode-switch{position:absolute;top:27px;left:50%;transform:translateX(-50%);padding:4px;display:flex;background:rgba(19,36,51,.84);border:1px solid var(--border);border-radius:9px;white-space:nowrap;backdrop-filter:blur(12px)}.mode-switch button{padding:9px 15px;border-radius:6px;background:transparent;color:#c7d2dc;font-size:12px;font-weight:600}.mode-switch button.selected{background:white;color:var(--navy);box-shadow:0 2px 8px #0002}.provenance{position:absolute;right:27px;top:28px;display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:20px;padding:7px 10px;background:#152638b8;font-size:10px;backdrop-filter:blur(12px)}.status-dot{width:6px;height:6px;border-radius:100%;background:#ff9c69}.provenance button{background:transparent;color:#dce5eb;padding:0;font-size:14px}.look-hint{position:absolute;left:50%;top:112px;transform:translateX(-50%);background:#1526389c;padding:8px 12px;border-radius:25px;white-space:nowrap;font-size:11px;color:#eff2f5;backdrop-filter:blur(8px);transition:opacity .5s}.look-hint button{background:transparent;margin-left:12px;font-size:18px;vertical-align:middle}.map-card{position:absolute;right:26px;bottom:25px;width:232px;border:1px solid #ffffff30;border-radius:10px;overflow:hidden;background:#152638ed;box-shadow:0 8px 30px #0002;backdrop-filter:blur(15px)}#toggle-map{display:flex;justify-content:space-between;width:100%;padding:12px 14px;background:transparent;font-size:11px;text-align:left}#map-content{padding:0 10px 9px}#map{width:100%;height:155px;display:block}#map-content p{font-size:8px;color:#fb9a6e;margin:7px 2px 0}#map-content p span{color:#9cabb8}#map .room{fill:#263f52;stroke:#718593;stroke-width:.08}#map .hall{fill:#354955}#map .wall{stroke:#9baab5;stroke-width:.065;stroke-linecap:square}#map .path{stroke:#ef793f;stroke-width:.065;opacity:.55;fill:none}#map .map-point{cursor:pointer;outline:none}#map .map-point circle{fill:#263e50;stroke:#b9c8d0;stroke-width:.07}#map .map-point.active circle{fill:#ef5c24;stroke:#ffd3bc}#map .map-point text{font:600 .3px Arial;text-anchor:middle;fill:white;pointer-events:none}#map .map-point:hover circle,#map .map-point:focus circle{fill:#dd622b}.zoom-controls{position:absolute;left:28px;bottom:88px;display:flex;border:1px solid var(--border);background:#152638cc;border-radius:7px;overflow:hidden}.zoom-controls button{background:transparent;min-width:34px;height:34px;font-size:20px}.zoom-controls #zoom-reset{font-size:10px;min-width:38px;color:#ccd6de}.tour-actions{position:absolute;bottom:26px;left:28px;display:flex;gap:10px}.primary,.glass{padding:13px 17px;border-radius:7px;font-weight:600;font-size:12px;display:flex;align-items:center;gap:9px}.primary{background:var(--orange);box-shadow:0 4px 15px #0002}.primary.playing{background:#fff;color:var(--navy)}.glass{background:#152638c7;border:1px solid var(--border);backdrop-filter:blur(10px)}#photo-count{font-size:10px;opacity:.6}#hotspots,#overview-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hotspot{position:absolute;transform:translate(-50%,-50%);background:none;display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:auto;white-space:nowrap}.hotspot i{display:grid;place-items:center;font-style:normal;width:39px;height:39px;border:2px solid #fff;border-radius:50%;background:#ef5c24cf;box-shadow:0 0 0 7px #fff2,0 4px 16px #0005;font-size:20px;transition:transform .2s}.hotspot span{background:#152638d9;border:1px solid #ffffff30;border-radius:5px;padding:5px 9px;font-size:10px;box-shadow:0 2px 6px #0003}.hotspot:hover i{transform:scale(1.14);background:var(--orange)}.overview-label{position:absolute;transform:translate(-50%,-50%);background:#152638e8;padding:6px 9px;border:1px solid #fff9;border-radius:6px;font-size:10px;white-space:nowrap;pointer-events:auto}.overview-label.active{background:var(--orange)}#loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:9;border:1px solid var(--border);background:#152638eb;border-radius:9px;padding:17px 23px;display:flex;align-items:center;gap:13px;font-size:12px}#loading i{border:2px solid #ffffff40;border-top-color:var(--orange);border-radius:50%;width:19px;height:19px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#error{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);background:#152638;padding:24px;border:1px solid #fff5;border-radius:12px;text-align:center;font-size:14px}#error button{display:block;margin:18px auto 0;background:var(--orange);padding:10px 16px;border-radius:6px}footer{height:174px;flex:none;padding:0 28px 9px;border-top:1px solid var(--border);background:#152638;z-index:5}.connections-row{height:40px;display:flex;align-items:center;gap:16px}.connections-row>span{font-size:8px;font-weight:600;letter-spacing:.14em;color:#8f9eac;flex:none}#connections{display:flex;gap:8px;overflow:auto;scrollbar-width:none}#connections button{font-size:10px;white-space:nowrap;border:1px solid #ffffff24;padding:5px 9px;border-radius:4px;color:#e3eaf0;background:#ffffff07}#connections button:hover{border-color:#f88a58}#filmstrip{display:flex;gap:9px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin;scrollbar-color:#6d7c8c transparent;scroll-behavior:smooth}.point-card{width:125px;height:88px;flex:none;position:relative;border:1px solid #ffffff25;border-radius:6px;padding:0;overflow:hidden;background:#263e50;text-align:left}.point-card img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:opacity .2s}.point-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 15%,#0b1e35d9)}.point-card span{position:absolute;left:9px;bottom:8px;font-size:10px;font-weight:600;z-index:1}.point-card small{position:absolute;top:6px;left:7px;font-size:8px;z-index:1;background:#152638a8;padding:2px 4px;border-radius:3px}.point-card.active{border:2px solid #fa8550}.point-card.active img,.point-card:hover img{opacity:1}.footer-note{display:flex;justify-content:space-between;color:#8b9cab;font-size:9px;padding-top:5px;gap:16px}.footer-note a{color:#d7e2ea}dialog{border:1px solid #dce3e8;border-radius:13px;padding:26px;color:#203447;background:#fff;max-width:min(900px,calc(100vw - 30px));max-height:90dvh;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#081c2ba8;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.dialog-head .eyebrow{color:#de652f}.dialog-head h2{font:800 26px/1.2 Manrope,Arial;letter-spacing:-.025em;margin:7px 0 12px}.close-dialog{background:#eef2f4;color:#526473;border-radius:50%;width:32px;height:32px;flex:none;font-size:24px}.intro{color:#6c7b87;font-size:12px;line-height:1.65;margin:5px 0 18px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:24px 0}.info-grid h3{font-size:14px;margin:0 0 8px}.info-grid p,.note{font-size:12px;line-height:1.7;color:#657887;margin:0}.note{background:#f0f4f6;padding:17px;border-left:3px solid var(--orange);border-radius:4px}.keyboard-note{font-size:10px;color:#7d8d98;margin-bottom:0}#gallery{width:900px}.gallery-stage{background:#edf1f3;border-radius:6px;height:49dvh;position:relative;display:flex;align-items:center;justify-content:center}.gallery-stage img{width:100%;height:100%;object-fit:contain}.gallery-stage button{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:40px;border:1px solid #fff5;border-radius:5px;background:#152638bb;font-size:28px;z-index:1}.gallery-stage #photo-prev{left:10px}.gallery-stage #photo-next{right:10px}.gallery-caption{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin:13px 0 5px}.gallery-caption span{color:#80909b}#photo-note{font-size:11px;color:#6b7b87;line-height:1.5;margin:0 0 12px}#gallery-thumbs{display:flex;gap:7px;overflow-x:auto}#gallery-thumbs button{padding:0;background:transparent;border:2px solid transparent;border-radius:4px;flex:none}#gallery-thumbs button.selected{border-color:var(--orange)}#gallery-thumbs img{width:75px;height:49px;display:block;object-fit:cover;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1150px){.top-note{display:none}.actions{margin-left:auto}.provenance{top:auto;bottom:112px;left:28px;right:auto}.title-block{max-width:40%}.mode-switch{left:auto;right:26px;transform:none}.map-card{width:210px}#map{height:137px}.look-hint{top:120px}}
@media(max-width:700px){header{height:64px;padding:0 15px;gap:13px}.brand{width:91px}.address{padding-left:13px;gap:3px}.address strong{font-size:13px}.address span{font-size:9px}.actions{gap:7px}.actions #fullscreen{display:none}.round{width:28px;height:28px;font-size:17px}.contact{padding:9px 10px;font-size:10px;gap:6px}.contact span{display:none}main{min-height:250px}.title-block{top:66px;left:18px;max-width:70%}.title-block h1{font-size:25px;margin:5px 0}.title-block p{font-size:10px;max-width:260px;line-height:1.4}.eyebrow{font-size:8px}.mode-switch{top:15px;right:16px;left:16px;transform:none;justify-content:center;border-radius:7px}.mode-switch button{flex:1;padding:8px;font-size:11px}.look-hint{top:auto;bottom:115px;font-size:9px;padding:5px 9px;max-width:94%;white-space:normal;width:max-content;text-align:center}.look-hint button{font-size:15px;margin-left:5px}.provenance{left:17px;bottom:67px;padding:5px 8px;font-size:8px;max-width:calc(100% - 32px)}.provenance button{font-size:12px}.map-card{right:16px;bottom:158px;width:145px;border-radius:7px}#toggle-map{font-size:9px;padding:8px}#map-content{padding:0 6px 5px}#map{height:98px}#map-content p{font-size:6px;margin:2px 0}.zoom-controls{left:17px;bottom:158px}.zoom-controls button{height:29px;min-width:27px}.zoom-controls #zoom-reset{min-width:31px}.tour-actions{left:16px;right:16px;bottom:17px;gap:8px}.primary,.glass{font-size:10px;padding:11px 12px;border-radius:6px;gap:6px}.glass{flex:1;justify-content:center}.primary{min-width:127px;justify-content:center}footer{height:157px;padding:0 15px 8px}.connections-row{height:34px;gap:8px}.connections-row>span{font-size:6px}.connections-row button{font-size:9px!important;padding:4px 7px!important}.point-card{width:105px;height:74px}.point-card span{font-size:9px}.point-card small{font-size:7px}#filmstrip{gap:7px;padding-bottom:8px}.footer-note{font-size:8px;gap:5px;flex-direction:column;padding-top:3px}.hotspot i{width:32px;height:32px;font-size:17px;box-shadow:0 0 0 5px #fff2,0 4px 12px #0004}.hotspot span{font-size:9px;padding:4px 6px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.hotspot{gap:5px}.overview-label{font-size:8px;padding:4px 5px}dialog{padding:18px;max-width:calc(100vw - 20px)}.dialog-head h2{font-size:22px}.info-grid{grid-template-columns:1fr;gap:19px;margin:20px 0}.gallery-stage{height:43dvh}.intro{font-size:11px;line-height:1.5}.note{font-size:11px}.gallery-caption{font-size:11px}.gallery-stage button{width:28px;height:34px}.title-block.overview-title p{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}

.mode-general .title-block{color:#21394a}.mode-general .title-block .eyebrow{color:#697f8e}.mode-general .title-block p{color:#607888}.mode-general .shade{background:linear-gradient(180deg,rgba(230,237,239,.98),transparent 36%,transparent 70%,rgba(21,38,56,.3))}

#map .map-space{pointer-events:none}#map .map-space rect{fill:#314655;stroke:#8299a5;stroke-width:.05}#map .map-space text{font:600 .27px Arial;text-anchor:middle;fill:#bdcbd3}

/* Deter native image drag/save gestures; viewing and tour controls stay available. */
img,canvas{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}
