#gallery.blueprint-map{width:min(1500px,96vw);max-width:96vw;height:min(900px,94svh);max-height:94svh;padding:28px 30px;overflow:hidden;background:var(--surface);color:var(--text);border:1px solid var(--edge);border-radius:10px}#gallery.blueprint-map::backdrop{background:#06101de8;backdrop-filter:blur(16px)}#gallery.blueprint-map>h2{font-size:clamp(26px,3vw,42px);margin:8px 0 12px}#gallery.blueprint-map>#gallery-description{font-size:14px;max-width:1000px;margin:0 40px 12px 0;color:var(--secondary)}#gallery.blueprint-map>.gallery-note{display:none}#gallery.blueprint-map #gallery-images{height:calc(100% - 150px);display:flex;flex-direction:column}.map-instruction{font-size:14px;color:var(--secondary);margin:8px 0 20px}.map-space{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size}.blueprint-plan{position:relative;width:min(100%,calc(100cqh * var(--plan-width)));aspect-ratio:var(--plan-ratio);flex-shrink:0}.blueprint-plan>img{display:block;width:100%;height:100%;margin:0!important;object-fit:contain}.map-point{position:absolute;transform:translate(-50%,-50%);border:0;background:none;padding:8px;cursor:pointer;color:#fff;z-index:2}.map-dot{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eaf6ff;color:#123352;font-size:13px;font-weight:700;box-shadow:0 0 0 6px #82c5ff35,0 3px 12px #0008;transition:transform .2s}.map-point:hover .map-dot,.map-point:focus-visible .map-dot{transform:scale(1.15);background:#bce1ff}.map-label{position:absolute;left:50%;top:100%;transform:translateX(-50%);white-space:nowrap;background:#071b33ed;border:1px solid #acd6ff55;padding:5px 9px;border-radius:3px;font-size:14px;opacity:0;pointer-events:none}.map-point:hover .map-label,.map-point:focus-visible .map-label{opacity:1}.viewer-map{white-space:nowrap}@media(max-width:800px){#gallery.blueprint-map{padding:24px 16px}#gallery.blueprint-map>#gallery-description{display:none}#gallery.blueprint-map #gallery-images{height:calc(100% - 90px)}.map-dot{width:26px;height:26px;font-size:12px}.map-point{padding:6px}.map-instruction{font-size:14px}.viewer-controls{flex-wrap:wrap;justify-content:flex-end}.viewer-map{font-size:12px!important;padding:8px!important}}

#gallery.has-viewer.picture-frame{width:min(1500px,96vw);height:min(900px,94svh);position:relative;isolation:isolate;background:var(--surface);overflow:hidden;padding:28px 30px}#gallery.picture-frame::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#06182d99,#06182dcc),var(--blueprint-image);background-position:center;background-size:cover,contain;background-repeat:no-repeat;opacity:.8}#gallery.picture-frame>h2,#gallery.picture-frame>.eyebrow{color:#edf6ff}#gallery.picture-frame>#gallery-description{display:none}#gallery.picture-frame #gallery-images{height:calc(100% - 92px);display:flex;align-items:center;justify-content:center}#gallery.picture-frame .render-viewer{width:min(1080px,94%);height:94%;display:block;background:#07101e;border:1px solid #a7d8ff55;border-radius:8px;padding:18px;box-shadow:0 24px 80px #0009;animation:frame-open .3s ease-out}#gallery.picture-frame .viewer-main{height:100%;gap:12px}#gallery.picture-frame .viewer-stage{background:#02060d}#gallery.picture-frame .viewer-title{color:#edf6ff}#gallery.picture-frame .viewer-count{color:#a7d8ff}#gallery.picture-frame .viewer-controls button{color:#edf6ff;border-color:#a7d8ff55}#gallery.picture-frame .close{color:#edf6ff}#gallery.picture-frame .viewer-controls button:hover{background:#a7d8ff;color:#07101e}@keyframes frame-open{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:800px){#gallery.has-viewer.picture-frame{padding:24px 12px}#gallery.picture-frame .render-viewer{width:100%;height:94%;padding:10px}#gallery.picture-frame .viewer-caption{flex-direction:column;gap:10px}#gallery.picture-frame .viewer-controls{width:100%;justify-content:space-between}#gallery.picture-frame #gallery-images{height:calc(100% - 82px)}}@media(prefers-reduced-motion:reduce){#gallery.picture-frame .render-viewer{animation:none}}

#gallery.has-viewer.picture-frame,#gallery.blueprint-map{position:fixed;inset:0;margin:auto}#gallery .viewer-controls button[hidden]{display:none}
