.vistia-tour{--vh:620px;--vht:480px;--vhm:380px;--vr:18px;--vp:#6d5dfc;--vs:#12b8a6;--vhs:#fff;--vt:#172033;--vbg:#f6f7fb;--vcta:#6d5dfc;position:relative;margin:1.4rem auto;font-family:inherit;box-sizing:border-box;color:var(--vt)}.vistia-tour *{box-sizing:border-box}.vistia-shell{display:flex;flex-direction:column;gap:10px;position:relative;min-width:0}.vistia-shell.is-hidden{display:none}.vistia-stage{position:relative;height:var(--vh);min-height:260px;background:#111;border-radius:var(--vr);overflow:hidden;box-shadow:0 14px 38px rgba(0,0,0,.14);min-width:0;flex:1 1 0;width:100%}.vistia-panorama{width:100%;height:100%}.vistia-panorama .pnlm-title-box,.vistia-panorama .pnlm-author-box,.vistia-panorama .pnlm-controls-container,.vistia-panorama .pnlm-compass{display:none!important}.vistia-public-heading{margin:0 0 14px}.vistia-public-heading h2{margin:0;font-size:clamp(22px,2.5vw,34px);line-height:1.15;font-weight:760;letter-spacing:-.025em}.vistia-public-heading p{margin:6px 0 0;color:#6f7480;font-size:14px}.vistia-client-logo{position:absolute;left:16px;bottom:16px;z-index:12;max-width:110px;max-height:38px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35));pointer-events:none}.vistia-viewer-identity{position:absolute;right:12px;top:12px;z-index:13;display:flex;flex-direction:column;align-items:flex-end;gap:5px;pointer-events:none}.vistia-viewer-badge,.vistia-scene-title{border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(18,20,27,.48);color:#fff;backdrop-filter:blur(10px);box-shadow:0 4px 14px rgba(0,0,0,.10)}.vistia-viewer-badge{padding:6px 9px;font-size:10px;font-weight:800}.vistia-scene-title{max-width:190px;padding:5px 9px;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vistia-top-actions{position:absolute;right:12px;bottom:12px;z-index:14;display:flex;gap:4px;padding:5px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(20,22,29,.55);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0,0,0,.14)}.vistia-top-actions button{width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:16px;display:grid;place-items:center;cursor:pointer}.vistia-top-actions button:hover{background:rgba(255,255,255,.13)}.vistia-top-actions button.is-active{background:var(--vp);color:#fff}.vistia-top-actions button[hidden]{display:none!important}.vistia-loading{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(145deg,#11151d,#1b2130);color:#fff;transition:opacity .3s,visibility .3s}.vistia-loading.is-done{opacity:0;visibility:hidden;pointer-events:none}.vistia-loader-ring{width:34px;height:34px;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;border-radius:50%;animation:vistiaSpin .75s linear infinite}@keyframes vistiaSpin{to{transform:rotate(360deg)}}.vistia-thumbs{display:flex;gap:8px;overflow:auto;scroll-behavior:smooth;padding:4px}.vistia-thumbs button{font:inherit;cursor:pointer;background:#fff;color:#222;transition:.2s}.style-cards .vistia-thumbs button{flex:0 0 128px;border:1px solid #e3e6ed;border-radius:14px;padding:5px;text-align:left}.vistia-thumb-img{display:block;background-position:center;background-size:cover;border-radius:9px}.style-cards .vistia-thumb-img{height:64px}.vistia-thumb-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.style-cards .vistia-thumb-name{font-size:11px;font-weight:750;padding:6px 4px 3px}.vistia-thumbs button.is-active{border-color:var(--vp)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--vp) 28%,transparent)}.style-filmstrip .vistia-thumbs button{flex:0 0 76px;border:2px solid transparent;border-radius:11px;padding:2px}.style-filmstrip .vistia-thumb-img{height:56px}.style-filmstrip .vistia-thumb-name{font-size:9px;padding-top:3px}.style-pills .vistia-thumbs button{border:1px solid #ddd;border-radius:999px;padding:8px 13px;flex:0 0 auto}.style-pills .vistia-thumb-img{display:none}.style-pills .vistia-thumb-name{font-size:11px;font-weight:750}.style-minimal .vistia-thumbs{justify-content:center}.style-minimal .vistia-thumbs button{width:10px;height:10px;border-radius:50%;padding:0;border:0;background:#ccc;flex:0 0 10px}.style-minimal .vistia-thumb-img,.style-minimal .vistia-thumb-name{display:none}.style-minimal .vistia-thumbs button.is-active{background:var(--vp);box-shadow:none}.nav-top .vistia-shell{flex-direction:column-reverse}.nav-left .vistia-shell,.nav-right .vistia-shell{flex-direction:row;align-items:stretch}.nav-left .vistia-shell{flex-direction:row-reverse}.nav-left .vistia-stage,.nav-right .vistia-stage{flex:1 1 0;width:100%;min-width:0}.nav-left .vistia-thumbs,.nav-right .vistia-thumbs{flex:0 0 190px;max-height:var(--vh);flex-direction:column;overflow-y:auto;background:var(--vbg);border-radius:var(--vr);padding:9px}.nav-left .vistia-thumbs button,.nav-right .vistia-thumbs button{width:100%;flex:0 0 auto}.nav-overlay .vistia-shell{display:block}.nav-overlay .vistia-thumbs{position:absolute;z-index:15;left:14px;right:70px;bottom:14px;padding:7px;background:rgba(10,13,19,.45);border-radius:14px;backdrop-filter:blur(9px)}.nav-hidden .vistia-thumbs{display:none}.layout-fullwidth{width:100vw!important;max-width:none!important;position:relative;left:50%;margin-left:-50vw;margin-right:-50vw}.layout-fullscreen{width:100vw!important;max-width:none!important;position:relative;left:50%;margin-left:-50vw;margin-right:-50vw}.layout-fullscreen .vistia-stage{height:100dvh;border-radius:0}.vistia-stage:fullscreen,.vistia-stage:-webkit-full-screen,.vistia-stage.vistia-pseudo-fullscreen{width:100vw!important;height:100dvh!important;max-width:none!important;border-radius:0!important;background:#000}.vistia-stage.vistia-pseudo-fullscreen{position:fixed!important;inset:0!important;z-index:999999!important}.vistia-fullscreen-lock{overflow:hidden!important}.vistia-cover{width:100%;min-height:360px;border:0;border-radius:var(--vr);background-size:cover;background-position:center;position:relative;overflow:hidden;color:#fff;display:grid;place-content:center;gap:10px;text-align:center;cursor:pointer}.vistia-cover:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.58))}.vistia-cover>*{position:relative}.vistia-hotspot{width:38px!important;height:38px!important;border-radius:50%;background:var(--vhs)!important;box-shadow:0 4px 18px rgba(0,0,0,.38);animation:vistiaPulse 2s infinite}.vistia-hotspot:before{content:'›';position:absolute;inset:0;display:grid;place-items:center;color:#111;font-size:28px;font-weight:800}.vistia-hotspot .pnlm-tooltip span{background:#111!important;color:#fff!important;border-radius:8px!important}@keyframes vistiaPulse{0%,100%{box-shadow:0 4px 18px rgba(0,0,0,.35),0 0 0 0 rgba(255,255,255,.45)}50%{box-shadow:0 4px 18px rgba(0,0,0,.35),0 0 0 9px rgba(255,255,255,0)}}.vistia-cta{display:inline-flex;margin-top:10px;background:var(--vcta);color:#fff!important;text-decoration:none!important;border-radius:999px;padding:11px 17px;font-weight:750}.vistia-powered{text-align:right;font-size:10px;color:#888;margin-top:6px;opacity:.78}.vistia-floorplan{position:absolute;right:12px;top:58px;z-index:20;width:min(340px,70%);background:#fff;border-radius:14px;padding:8px;box-shadow:0 10px 30px rgba(0,0,0,.3);transform:translateX(125%);transition:.25s}.vistia-floorplan.is-open{transform:none}.vistia-floorplan img{width:100%}.vistia-error{background:#fff3cd;color:#664d03;border:1px solid #ffecb5;padding:12px;border-radius:10px;margin-top:8px}@media(max-width:1023px){.vistia-stage{height:var(--vht)}.nav-left .vistia-shell,.nav-right .vistia-shell{flex-direction:column}.nav-left .vistia-thumbs,.nav-right .vistia-thumbs{max-height:none;flex-direction:row;overflow-x:auto;flex:0 0 auto;background:transparent;padding:3px}.nav-left .vistia-thumbs button,.nav-right .vistia-thumbs button{width:auto}}@media(max-width:767px){.vistia-tour{margin:1rem auto}.vistia-stage{height:var(--vhm);min-height:240px;border-radius:min(var(--vr),14px)}.vistia-public-heading{margin-bottom:10px}.vistia-public-heading h2{font-size:22px}.vistia-public-heading p{font-size:12px}.vistia-client-logo{left:10px;bottom:8px;max-width:82px;max-height:32px}.vistia-viewer-identity{right:8px;top:8px}.vistia-viewer-badge{padding:5px 7px;font-size:9px}.vistia-scene-title{max-width:145px;padding:4px 7px;font-size:9px}.vistia-top-actions{right:8px;bottom:8px;padding:4px}.vistia-top-actions button{width:34px;height:34px;font-size:15px}.style-cards .vistia-thumbs button{flex-basis:96px}.style-cards .vistia-thumb-img{height:50px}.style-cards .vistia-thumb-name{font-size:10px}.vistia-powered{font-size:9px}.vistia-cta{width:100%;justify-content:center;border-radius:13px}}
/* Vistia 360° 1.0.0-alpha.2 — interactive floorplan + Guide */
.vistia-floorplan{position:absolute;right:12px;top:58px;z-index:24;width:min(430px,78%);padding:0;background:#fff;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.3);transform:translateX(120%);opacity:0;visibility:hidden;transition:.25s;overflow:hidden}.vistia-floorplan.is-open{transform:none;opacity:1;visibility:visible}.vistia-floorplan-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #e7e9ef}.vistia-floorplan-head button{border:0;background:#f0f1f5;border-radius:50%;width:30px;height:30px;cursor:pointer}.vistia-floorplan-image-wrap{position:relative}.vistia-floorplan-image-wrap>img{display:block;width:100%;height:auto}.vistia-floor-marker{position:absolute;transform:translate(-50%,-50%);border:0;background:none;padding:0;cursor:pointer;z-index:2}.vistia-floor-marker i{display:block;width:24px;height:24px;border:4px solid #fff;border-radius:50%;background:var(--vp);box-shadow:0 3px 10px rgba(0,0,0,.3)}.vistia-floor-marker i:after{content:'↑';display:block;color:#fff;font-size:9px;line-height:16px;transform:rotate(var(--rot))}.vistia-floor-marker span{position:absolute;left:50%;top:28px;transform:translateX(-50%);padding:4px 6px;border-radius:999px;background:rgba(18,20,27,.78);color:#fff;font-size:8px;white-space:nowrap;opacity:0;transition:.15s}.vistia-floor-marker:hover span{opacity:1}
.vistia-guide{position:absolute;left:14px;top:14px;z-index:23}.vistia-guide-orb{width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(18,20,27,.55);backdrop-filter:blur(10px);color:#fff;font-size:15px;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.16)}.vistia-guide-panel{position:absolute;left:0;top:46px;width:min(330px,78vw);border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(20,23,31,.88);backdrop-filter:blur(16px);color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.24);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s}.vistia-guide.is-open .vistia-guide-panel{opacity:1;visibility:visible;transform:none}.vistia-guide-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.12)}.vistia-guide-head strong,.vistia-guide-head small{display:block}.vistia-guide-head small{opacity:.65;font-size:9px}.vistia-guide-close{width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}.vistia-guide-body{padding:12px}.vistia-guide-scene{display:block;font-size:14px}.vistia-guide-copy{margin:6px 0 9px;line-height:1.45;font-size:12px;color:rgba(255,255,255,.82)}.vistia-guide-meta{display:flex;gap:5px;flex-wrap:wrap}.vistia-guide-meta span{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.1);font-size:9px}.vistia-guide-actions{margin-top:10px}.vistia-guide-next{width:100%;padding:8px 10px;border:0;border-radius:10px;background:var(--vp);color:#fff;font-weight:700;cursor:pointer}
@media(max-width:767px){.vistia-floorplan{position:fixed;inset:auto 8px 8px 8px;width:auto;max-height:70dvh;right:8px;top:auto;transform:translateY(110%)}.vistia-floorplan.is-open{transform:none}.vistia-guide{left:8px;top:8px}.vistia-guide-panel{width:min(310px,84vw)}}

/* Vistia 360° 1.0.0-alpha.5 — contextual chat assistant */
.vistia-assistant{position:absolute;right:14px;bottom:14px;z-index:32}.vistia-assistant-orb{position:relative;width:48px;height:48px;border:1px solid rgba(255,255,255,.36);border-radius:50%;background:linear-gradient(135deg,var(--vp),#3bc6b2);color:#fff;box-shadow:0 8px 26px rgba(38,34,94,.34);cursor:pointer}.vistia-assistant-orb span{font-size:17px}.vistia-assistant-orb i{position:absolute;right:1px;top:1px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#28c78e}
.vistia-assistant-panel{position:absolute;right:0;bottom:58px;width:min(380px,88vw);height:min(570px,72vh);display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.25);border-radius:20px;background:rgba(248,249,252,.97);backdrop-filter:blur(18px);box-shadow:0 22px 70px rgba(0,0,0,.32);overflow:hidden;color:#1a2030;opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:bottom right;transition:.2s}.vistia-assistant.is-open .vistia-assistant-panel{opacity:1;visibility:visible;transform:none}
.vistia-assistant-head{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;padding:12px 13px;border-bottom:1px solid #e4e7ee;background:#fff}.vistia-assistant-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--vp),#38c7b0);color:#fff}.vistia-assistant-head strong,.vistia-assistant-head small{display:block}.vistia-assistant-head strong{font-size:13px}.vistia-assistant-head small{margin-top:2px;color:#7d8596;font-size:9px}.vistia-assistant-head-actions{display:flex;gap:4px}.vistia-assistant-head-actions button{width:30px;height:30px;border:0;border-radius:9px;background:#f0f2f6;color:#596173;cursor:pointer}
.vistia-assistant-context{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 12px;border-bottom:1px solid #eaecf1;background:#fbfcfe}.vistia-assistant-location{font-size:10px;font-weight:800;color:#4d5568}.vistia-assistant-favorite{border:0;border-radius:999px;background:#f1f2f6;color:#6a7282;padding:5px 8px;font-size:9px;cursor:pointer}.vistia-assistant-favorite.is-active{background:#fff0f2;color:#d64f69}
.vistia-assistant-messages{flex:1;overflow:auto;padding:12px;background:linear-gradient(#f8f9fc,#f5f7fa)}.vistia-chat-message{display:flex;margin:7px 0}.vistia-chat-message>div{max-width:82%;padding:9px 11px;border-radius:14px;line-height:1.45;font-size:11px}.vistia-chat-message.assistant{justify-content:flex-start}.vistia-chat-message.assistant>div{background:#fff;border:1px solid #e5e8ef;border-bottom-left-radius:5px;color:#343b4c}.vistia-chat-message.user{justify-content:flex-end}.vistia-chat-message.user>div{background:var(--vp);color:#fff;border-bottom-right-radius:5px}.vistia-chat-actions{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0 2px}.vistia-chat-actions button{border:1px solid #dcdff0;border-radius:999px;background:#f4f2ff;color:#5547e2;padding:5px 8px;font-size:9px;cursor:pointer}
.vistia-assistant-suggestions{display:flex;gap:5px;overflow-x:auto;padding:7px 10px;border-top:1px solid #e7e9ef;background:#fff}.vistia-assistant-suggestions button{flex:0 0 auto;border:1px solid #e1e4ec;border-radius:999px;background:#fff;color:#555e70;padding:6px 8px;font-size:9px;cursor:pointer}.vistia-assistant-suggestions button:hover{border-color:#aaa2ff;color:#5043dc}
.vistia-assistant-form{display:grid;grid-template-columns:1fr auto;gap:6px;padding:9px 10px;background:#fff;border-top:1px solid #e6e9ef}.vistia-assistant-input{min-width:0!important;padding:9px 10px!important;border:1px solid #dfe3ea!important;border-radius:11px!important;background:#f8f9fc!important;color:#202637!important;font-size:11px!important;box-shadow:none!important}.vistia-assistant-form>button{border:0;border-radius:10px;background:var(--vp);color:#fff;padding:0 13px;font-weight:700;font-size:10px;cursor:pointer}
.vistia-assistant-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:6px 10px;background:#fff;color:#8a92a2}.vistia-assistant-footer button{border:0;background:transparent;color:#6457df;font-size:9px;cursor:pointer}.vistia-assistant-footer small{font-size:8px;text-align:right}
@media(max-width:767px){.vistia-assistant{right:8px;bottom:8px}.vistia-assistant-panel{position:fixed;left:8px;right:8px;bottom:8px;width:auto;height:min(560px,74dvh);border-radius:18px;transform:translateY(105%)}.vistia-assistant.is-open .vistia-assistant-panel{transform:none}.vistia-assistant-orb{width:44px;height:44px}}
/* 1.0.0-alpha.6 — discreet product signature */
.vistia-powered{font-size:10px!important;opacity:.62!important;letter-spacing:.01em!important;line-height:1.2!important;pointer-events:none}
.vistia-powered strong{font-weight:700}
.vistia-stage:fullscreen .vistia-powered,.vistia-stage:-webkit-full-screen .vistia-powered,.vistia-pseudo-fullscreen .vistia-powered{display:block!important;position:absolute!important;right:14px!important;bottom:10px!important;z-index:10020!important;color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.65)}

/* =========================================================
   Vistia 360° 1.0.0-alpha.8 — Viewer Pro
   ========================================================= */
.vistia-viewer-dock{position:absolute;left:50%;bottom:12px;z-index:20;width:min(860px,calc(100% - 28px));transform:translateX(-50%);padding:8px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(20,22,28,.72);backdrop-filter:blur(18px);box-shadow:0 12px 38px rgba(0,0,0,.24);color:#fff;transition:.2s}.vistia-viewer-dock-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 5px 7px}.vistia-viewer-dock-head strong,.vistia-viewer-dock-head small{display:block}.vistia-viewer-dock-head strong{font-size:11px}.vistia-viewer-dock-head small{margin-top:2px;color:rgba(255,255,255,.62);font-size:8px}.vistia-dock-actions{display:flex;gap:5px}.vistia-dock-actions button{height:29px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;padding:0 9px;cursor:pointer;font-size:9px}.vistia-dock-collapse{width:31px;padding:0!important;font-size:13px!important}.vistia-dock-progress{height:3px;margin:0 5px 7px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden}.vistia-dock-progress i{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--vp),var(--vs));transition:.3s}.vistia-viewer-dock .vistia-thumbs{display:flex!important;gap:6px!important;overflow-x:auto!important;padding:0 1px 1px!important;background:transparent!important;border:0!important;scrollbar-width:thin}.vistia-viewer-dock .vistia-thumbs button{flex:0 0 105px!important;min-width:0!important;padding:3px!important;border:1px solid transparent!important;border-radius:9px!important;background:rgba(255,255,255,.07)!important;color:#fff!important}.vistia-viewer-dock .vistia-thumbs button.is-active{border-color:var(--vs)!important;box-shadow:0 0 0 1px var(--vs)!important}.vistia-viewer-dock .vistia-thumb-img{height:52px!important;border-radius:6px!important}.vistia-viewer-dock .vistia-thumb-name{padding:4px 3px 2px!important;font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vistia-viewer-dock.is-collapsed{width:auto;min-width:250px}.vistia-viewer-dock.is-collapsed .vistia-thumbs,.vistia-viewer-dock.is-collapsed .vistia-dock-progress{display:none!important}.vistia-viewer-dock.is-collapsed .vistia-viewer-dock-head{padding-bottom:2px}

.vistia-floorplan-pro{width:min(500px,84%);max-height:78%;display:flex;flex-direction:column}.vistia-floorplan-pro .vistia-floorplan-head>div strong,.vistia-floorplan-pro .vistia-floorplan-head>div small{display:block}.vistia-floorplan-pro .vistia-floorplan-head>div small{margin-top:2px;color:#7e8698;font-size:9px}.vistia-floorplan-tabs{display:flex;gap:5px;padding:7px 9px;border-bottom:1px solid #e7e9ef;background:#fafbfc;overflow-x:auto}.vistia-floorplan-tabs button{flex:0 0 auto;padding:6px 9px;border:1px solid #e0e3ea;border-radius:9px;background:#fff;color:#596174;font-size:9px;cursor:pointer}.vistia-floorplan-tabs button.is-active{border-color:var(--vp);background:var(--vp);color:#fff}.vistia-floorplan-pages{overflow:auto}.vistia-floorplan-page{display:none}.vistia-floorplan-page.is-active{display:block}.vistia-floor-marker.is-active i{background:var(--vs);transform:scale(1.17);box-shadow:0 0 0 5px rgba(18,184,166,.2),0 3px 10px rgba(0,0,0,.3)}.vistia-floor-marker.is-active span{opacity:1;background:var(--vs)}
@media(max-width:767px){.vistia-viewer-dock{bottom:7px;width:calc(100% - 14px);border-radius:14px}.vistia-viewer-dock .vistia-thumbs button{flex-basis:82px!important}.vistia-viewer-dock .vistia-thumb-img{height:43px!important}.vistia-dock-floorplan span{display:none}.vistia-floorplan-pro{max-height:74dvh}}

/* =========================================================
   Vistia 360° 1.0.0-alpha.9 — Immersive Experience
   Desktop + Mobile
   ========================================================= */

/* Core canvas must always fill the stage. */
.vistia-stage .pnlm-container,
.vistia-stage .pnlm-render-container,
.vistia-stage .pnlm-render-container canvas,
.vistia-stage .pnlm-ui {
  width:100%!important;
  height:100%!important;
}
.vistia-stage .pnlm-container{position:absolute!important;inset:0!important}

/* Embed becomes a strong visual experience, not a small widget. */
@media (min-width:1024px){
  .vistia-tour:not(.layout-fullscreen) .vistia-stage{
    height:max(var(--vh),var(--vid));
    max-height:860px;
    min-height:560px;
  }
}
@media (min-width:768px) and (max-width:1023px){
  .vistia-tour .vistia-stage{
    height:max(var(--vht),66dvh);
    min-height:480px;
  }
}
@media (max-width:767px){
  .vistia-tour{
    margin:.7rem auto;
    --mobile-safe-bottom:max(8px,env(safe-area-inset-bottom));
  }
  .vistia-tour .vistia-stage{
    height:max(var(--vhm),var(--vim));
    min-height:540px;
    max-height:820px;
    border-radius:16px;
  }
}

/* Explicit immersive entry */
.vistia-enter-immersive{
  position:absolute;
  z-index:19;
  left:50%;
  bottom:156px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(18,20,27,.62);
  backdrop-filter:blur(12px);
  color:#fff;
  box-shadow:0 7px 22px rgba(0,0,0,.18);
  cursor:pointer;
  transition:.2s;
}
.vistia-enter-immersive span{font-size:13px}
.vistia-enter-immersive strong{font-size:10px}
.vistia-enter-immersive:hover{background:rgba(18,20,27,.82);transform:translateX(-50%) translateY(-1px)}
.vistia-enter-immersive.is-used{opacity:0;visibility:hidden;pointer-events:none}

/* Clean hierarchy: client logo, Vistia badge and controls never fight each other. */
.vistia-client-logo{
  left:14px;
  bottom:150px;
  max-width:118px;
  max-height:42px;
  z-index:17;
}
.vistia-viewer-identity{z-index:18}
.vistia-viewer-badge{
  padding:5px 8px;
  font-size:9px;
  background:rgba(16,18,24,.52);
}
.vistia-top-actions{
  right:14px;
  bottom:150px;
  z-index:18;
}
.vistia-top-actions button{width:36px;height:36px}

/* Assistant becomes an unobtrusive experience control instead of covering the dock. */
.vistia-assistant{
  right:auto;
  left:14px;
  top:14px;
  bottom:auto;
  z-index:31;
}
.vistia-assistant-orb{
  width:42px;
  height:42px;
  background:rgba(18,20,27,.58);
  backdrop-filter:blur(12px);
  box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.vistia-assistant-panel{
  left:0;
  right:auto;
  top:50px;
  bottom:auto;
  transform-origin:top left;
}

/* Viewer dock optimized for immersion. */
.vistia-viewer-dock{
  bottom:12px;
  width:min(900px,calc(100% - 28px));
  padding:7px;
  background:linear-gradient(180deg,rgba(21,23,29,.62),rgba(15,17,22,.78));
  border-color:rgba(255,255,255,.18);
}
.vistia-viewer-dock-head{padding:2px 5px 6px}
.vistia-viewer-dock .vistia-thumbs button{
  flex-basis:112px!important;
  background:rgba(255,255,255,.08)!important;
}
.vistia-viewer-dock .vistia-thumb-img{height:56px!important}
.vistia-viewer-dock .vistia-thumb-name{font-size:8px!important}

/* Fullscreen / pseudo fullscreen must use the entire visual viewport. */
.vistia-stage:fullscreen,
.vistia-stage:-webkit-full-screen,
.vistia-stage.vistia-pseudo-fullscreen,
.vistia-stage.vistia-is-immersive{
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:none!important;
  border-radius:0!important;
  margin:0!important;
  background:#050608!important;
}
.vistia-stage.vistia-pseudo-fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
}
.vistia-stage:fullscreen .vistia-enter-immersive,
.vistia-stage:-webkit-full-screen .vistia-enter-immersive,
.vistia-pseudo-fullscreen .vistia-enter-immersive{display:none!important}

/* Branding remains readable but subordinate. */
.vistia-stage:fullscreen .vistia-client-logo,
.vistia-stage:-webkit-full-screen .vistia-client-logo,
.vistia-pseudo-fullscreen .vistia-client-logo{
  left:18px!important;
  bottom:150px!important;
  max-width:126px!important;
  max-height:44px!important;
}
.vistia-stage:fullscreen .vistia-viewer-identity,
.vistia-stage:-webkit-full-screen .vistia-viewer-identity,
.vistia-pseudo-fullscreen .vistia-viewer-identity{
  right:16px!important;top:16px!important;
}

/* Mobile: deliberately sparse UI. */
@media (max-width:767px){
  .vistia-public-heading{margin:0 0 9px}
  .vistia-public-heading h2{font-size:clamp(21px,7vw,28px)}
  .vistia-public-heading p{font-size:11px}

  .vistia-enter-immersive{
    bottom:125px;
    padding:8px 11px;
  }
  .vistia-enter-immersive strong{font-size:9px}

  .vistia-viewer-dock{
    left:7px;
    right:7px;
    bottom:var(--mobile-safe-bottom);
    width:auto;
    transform:none;
    border-radius:14px;
    padding:6px;
  }
  .vistia-viewer-dock-head{padding:1px 3px 5px}
  .vistia-viewer-dock-head strong{font-size:10px}
  .vistia-viewer-dock .vistia-thumbs{
    gap:5px!important;
    scroll-snap-type:x proximity;
  }
  .vistia-viewer-dock .vistia-thumbs button{
    flex:0 0 88px!important;
    scroll-snap-align:center;
    border-radius:8px!important;
  }
  .vistia-viewer-dock .vistia-thumb-img{height:46px!important}
  .vistia-viewer-dock .vistia-thumb-name{font-size:7.5px!important}
  .vistia-dock-progress{margin-bottom:5px}

  .vistia-client-logo{
    left:10px;
    bottom:118px;
    max-width:88px;
    max-height:34px;
  }
  .vistia-top-actions{
    right:9px;
    bottom:118px;
    padding:3px;
    gap:2px;
  }
  .vistia-top-actions button{
    width:31px;
    height:31px;
    font-size:13px;
  }
  .vistia-viewer-identity{right:8px;top:8px}
  .vistia-viewer-badge{font-size:8px;padding:4px 6px}
  .vistia-scene-title{font-size:8px;max-width:128px}

  .vistia-assistant{
    left:8px;
    top:8px;
    bottom:auto;
  }
  .vistia-assistant-orb{width:38px;height:38px}
  .vistia-assistant-panel{
    position:fixed;
    left:8px;
    right:8px;
    top:auto;
    bottom:calc(var(--mobile-safe-bottom) + 4px);
    width:auto;
    height:min(620px,76dvh);
    border-radius:18px;
    transform:translateY(110%);
    transform-origin:bottom center;
  }
  .vistia-assistant.is-open .vistia-assistant-panel{transform:none}

  .vistia-floorplan-pro{
    position:fixed;
    left:8px;
    right:8px;
    bottom:calc(var(--mobile-safe-bottom) + 4px);
    top:auto;
    width:auto;
    max-height:78dvh;
    border-radius:18px;
  }

  .vistia-stage:fullscreen .vistia-viewer-dock,
  .vistia-stage:-webkit-full-screen .vistia-viewer-dock,
  .vistia-pseudo-fullscreen .vistia-viewer-dock{
    bottom:calc(max(8px,env(safe-area-inset-bottom)));
  }
  .vistia-stage:fullscreen .vistia-client-logo,
  .vistia-stage:-webkit-full-screen .vistia-client-logo,
  .vistia-pseudo-fullscreen .vistia-client-logo{
    left:10px!important;
    bottom:118px!important;
    max-width:92px!important;
    max-height:34px!important;
  }
  .vistia-stage:fullscreen .vistia-top-actions,
  .vistia-stage:-webkit-full-screen .vistia-top-actions,
  .vistia-pseudo-fullscreen .vistia-top-actions{
    right:9px!important;
    bottom:118px!important;
  }
}

/* Landscape mobile: use the canvas, not a tall overlay. */
@media (max-width:900px) and (orientation:landscape){
  .vistia-tour .vistia-stage{height:min(100dvh,720px);min-height:360px}
  .vistia-viewer-dock{width:min(760px,calc(100% - 24px));left:50%;right:auto;transform:translateX(-50%)}
  .vistia-client-logo{bottom:112px}
  .vistia-top-actions{bottom:112px}
  .vistia-enter-immersive{bottom:118px}
}

/* Immersive route should never inherit external page constraints. */
body.vistia-fullscreen-lock{overflow:hidden!important;overscroll-behavior:none!important}
body.vistia-fullscreen-lock .vistia-pseudo-fullscreen{touch-action:pan-y pinch-zoom}

/* =========================================================
   Vistia 360° 1.0.0-alpha.10 — Viewer Experience System
   Fase UX exclusiva
   ========================================================= */

/* Ancho del recorrido */
.vistia-tour.vistia-width-content{max-width:1180px}
.vistia-tour.vistia-width-wide{
  width:min(1480px,calc(100vw - 36px))!important;
  max-width:none!important;
  margin-left:50%!important;
  transform:translateX(-50%);
}
.vistia-tour.vistia-width-fullbleed{
  width:100vw!important;
  max-width:none!important;
  margin-left:50%!important;
  transform:translateX(-50%);
}
.vistia-width-fullbleed .vistia-stage{border-radius:0!important}

/* Profundidad visual sin tapar la fotografía */
.vistia-stage{isolation:isolate;box-shadow:0 18px 58px rgba(18,22,35,.13)}
.vistia-stage-vignette{
  pointer-events:none;position:absolute;inset:0;z-index:6;
  background:linear-gradient(180deg,rgba(7,9,13,.14),transparent 17%,transparent 73%,rgba(7,9,13,.23));
  transition:opacity .25s ease;
}

/* Modo contemplación */
.vistia-stage .vistia-viewer-dock,
.vistia-stage .vistia-top-actions,
.vistia-stage .vistia-viewer-identity,
.vistia-stage .vistia-client-logo,
.vistia-stage .vistia-assistant,
.vistia-stage .vistia-enter-immersive{
  transition:opacity .24s ease,transform .24s ease,visibility .24s ease;
}
.vistia-ui-hidden .vistia-stage-vignette{opacity:0}
.vistia-ui-hidden .vistia-viewer-dock,
.vistia-ui-hidden .vistia-top-actions,
.vistia-ui-hidden .vistia-viewer-identity,
.vistia-ui-hidden .vistia-client-logo,
.vistia-ui-hidden .vistia-assistant,
.vistia-ui-hidden .vistia-enter-immersive{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important
}

/* Desktop: el inmueble domina la página */
@media(min-width:1024px){
  .vistia-tour .vistia-stage{min-height:620px}
  .vistia-viewer-dock{width:min(980px,calc(100% - 50px));padding:8px 9px 9px}
  .vistia-viewer-dock .vistia-thumbs button{flex-basis:118px!important}
  .vistia-viewer-dock .vistia-thumb-img{height:62px!important}
  .vistia-viewer-dock .vistia-thumb-name{font-size:8.5px!important}
  .vistia-client-logo{left:18px;bottom:168px}
  .vistia-top-actions{right:18px;bottom:168px}
  .vistia-enter-immersive{bottom:170px}
}

/* Botón móvil específico para abrir ambientes */
.vistia-mobile-scenes-toggle{display:none}

/* Mobile: dock compacto, no una barra enorme permanente */
@media(max-width:767px){
  .vistia-tour.vistia-width-content,
  .vistia-tour.vistia-width-wide,
  .vistia-tour.vistia-width-fullbleed{
    width:100%!important;max-width:none!important;margin-left:0!important;transform:none!important
  }
  .vistia-tour .vistia-stage{
    height:min(78dvh,790px)!important;
    min-height:610px!important;
    max-height:none!important;
    border-radius:16px!important
  }

  .vistia-mobile-scenes-toggle{
    display:flex;align-items:center;gap:6px;position:absolute;right:6px;top:6px;z-index:3;
    height:34px;border:0;border-radius:999px;background:rgba(255,255,255,.10);color:#fff;
    padding:0 10px;cursor:pointer
  }
  .vistia-mobile-scenes-toggle span{font-size:12px}
  .vistia-mobile-scenes-toggle strong{font-size:8px}

  .vistia-viewer-dock{
    left:8px!important;right:8px!important;width:auto!important;bottom:max(8px,env(safe-area-inset-bottom))!important;
    transform:none!important;padding:5px 6px;border-radius:14px!important;background:rgba(15,17,22,.74)!important
  }

  .vistia-mobile-dock .vistia-viewer-dock:not(.is-mobile-open) .vistia-thumbs,
  .vistia-mobile-dock .vistia-viewer-dock:not(.is-mobile-open) .vistia-dock-progress{display:none!important}
  .vistia-mobile-dock .vistia-viewer-dock:not(.is-mobile-open){min-height:46px}
  .vistia-mobile-dock .vistia-viewer-dock:not(.is-mobile-open) .vistia-viewer-dock-head{
    min-height:34px;padding:4px 94px 4px 5px
  }

  .vistia-viewer-dock.is-mobile-open{padding-top:44px}
  .vistia-viewer-dock.is-mobile-open .vistia-thumbs{display:flex!important;gap:6px!important}
  .vistia-viewer-dock.is-mobile-open .vistia-thumbs button{flex:0 0 92px!important;scroll-snap-align:center}
  .vistia-viewer-dock.is-mobile-open .vistia-thumb-img{height:50px!important}
  .vistia-viewer-dock.is-mobile-open .vistia-thumbs{scroll-snap-type:x proximity}

  .vistia-top-actions{right:9px!important;bottom:74px!important}
  .vistia-client-logo{left:10px!important;bottom:72px!important;max-width:92px!important;max-height:34px!important}
  .vistia-enter-immersive{bottom:76px!important;padding:7px 10px}
  .vistia-enter-immersive strong{font-size:8.5px}
  .vistia-assistant{left:8px!important;top:8px!important}
  .vistia-viewer-identity{right:8px!important;top:8px!important}
  .vistia-viewer-badge{font-size:7.5px!important}
  .vistia-scene-title{display:none!important}
}

/* Fullscreen mantiene la misma experiencia, no una pantalla vacía */
.vistia-stage:fullscreen,
.vistia-stage:-webkit-full-screen,
.vistia-stage.vistia-pseudo-fullscreen{
  background:#000!important
}
@media(max-width:767px){
  .vistia-stage:fullscreen .vistia-viewer-dock,
  .vistia-stage:-webkit-full-screen .vistia-viewer-dock,
  .vistia-stage.vistia-pseudo-fullscreen .vistia-viewer-dock{
    left:8px!important;right:8px!important;width:auto!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important
  }
  .vistia-stage:fullscreen .vistia-client-logo,
  .vistia-stage:-webkit-full-screen .vistia-client-logo,
  .vistia-stage.vistia-pseudo-fullscreen .vistia-client-logo{bottom:72px!important}
  .vistia-stage:fullscreen .vistia-top-actions,
  .vistia-stage:-webkit-full-screen .vistia-top-actions,
  .vistia-stage.vistia-pseudo-fullscreen .vistia-top-actions{bottom:74px!important}
}

/* Horizontal: aprovechar todo el viewport */
@media(max-width:900px) and (orientation:landscape){
  .vistia-tour .vistia-stage{height:100dvh!important;min-height:100dvh!important}
  .vistia-viewer-dock{max-width:760px;left:50%!important;right:auto!important;transform:translateX(-50%)!important}
}

/* Accesibilidad */
@media(prefers-reduced-motion:reduce){
  .vistia-stage .vistia-viewer-dock,
  .vistia-stage .vistia-top-actions,
  .vistia-stage .vistia-viewer-identity,
  .vistia-stage .vistia-client-logo,
  .vistia-stage .vistia-assistant,
  .vistia-stage .vistia-enter-immersive{transition:none!important}
}

/* =========================================================
   Vistia 360° 1.0.0-alpha.11 — Cinematic Navigation
   ========================================================= */
.vistia-scene-intro{position:absolute;left:50%;top:21%;z-index:24;transform:translate(-50%,-8px);min-width:220px;max-width:min(520px,78%);padding:12px 18px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(12,14,18,.45);backdrop-filter:blur(14px);color:#fff;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:.35s ease;box-shadow:0 12px 34px rgba(0,0,0,.16)}
.vistia-scene-intro.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.vistia-scene-intro small,.vistia-scene-intro strong,.vistia-scene-intro span{display:block}.vistia-scene-intro small{font-size:9px;text-transform:uppercase;letter-spacing:.13em;opacity:.72}.vistia-scene-intro strong{margin-top:3px;font-size:22px;line-height:1.05}.vistia-scene-intro span{margin-top:5px;font-size:9px;opacity:.78}

/* Pannellum hotspots: make navigation feel alive without changing data model */
.vistia-hotspot{border-radius:50%!important;animation:vistiaNavPulse 2.25s ease-out infinite!important}
.vistia-hotspot.hs-pulse{width:25px!important;height:25px!important;margin:-12.5px 0 0 -12.5px!important;border:2px solid #fff!important;background:rgba(255,255,255,.20)!important;box-shadow:0 0 0 0 rgba(255,255,255,.46),0 4px 18px rgba(0,0,0,.22)!important}
@keyframes vistiaNavPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.48),0 4px 18px rgba(0,0,0,.22)}70%{box-shadow:0 0 0 15px rgba(255,255,255,0),0 4px 18px rgba(0,0,0,.22)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0),0 4px 18px rgba(0,0,0,.22)}}

/* Previous / next */
.vistia-scene-nav-arrows{position:absolute;inset:50% 12px auto 12px;z-index:18;pointer-events:none;transition:opacity .24s ease}
.vistia-scene-nav-arrows button{position:absolute;top:0;transform:translateY(-50%);display:flex;align-items:center;gap:6px;min-width:42px;height:42px;padding:0 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(10,12,16,.38);backdrop-filter:blur(10px);color:#fff;cursor:pointer;pointer-events:auto;box-shadow:0 6px 22px rgba(0,0,0,.14);transition:.2s ease}
.vistia-scene-prev{left:0}.vistia-scene-next{right:0}.vistia-scene-nav-arrows button>span{font-size:8px;opacity:0;max-width:0;overflow:hidden;transition:.2s}.vistia-scene-nav-arrows button:hover>span{opacity:1;max-width:70px}.vistia-scene-nav-arrows button:hover{background:rgba(10,12,16,.70)}.vistia-scene-nav-arrows button.is-disabled{opacity:.18;pointer-events:none}.vistia-ui-hidden .vistia-scene-nav-arrows{opacity:0;pointer-events:none}

/* Navigator */
.vistia-navigator{position:absolute;left:14px;top:14px;bottom:14px;z-index:45;width:min(330px,calc(100% - 28px));display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:linear-gradient(180deg,rgba(17,19,24,.90),rgba(12,14,18,.82));backdrop-filter:blur(24px);box-shadow:0 24px 80px rgba(0,0,0,.32);color:#fff;opacity:0;visibility:hidden;transform:translateX(-18px);transition:.24s ease;overflow:hidden}
.vistia-navigator.is-open{opacity:1;visibility:visible;transform:none}.vistia-navigator-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid rgba(255,255,255,.10)}.vistia-navigator-head>div{min-width:0}.vistia-navigator-head img{display:block;max-width:120px;max-height:40px;margin-bottom:10px}.vistia-navigator-head strong,.vistia-navigator-head small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vistia-navigator-head strong{font-size:14px}.vistia-navigator-head small{margin-top:3px;font-size:9px;opacity:.6}.vistia-navigator-close{width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:19px;cursor:pointer}
.vistia-navigator-tabs{display:flex;gap:4px;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.09)}.vistia-navigator-tabs button{flex:1;padding:8px 5px;border:0;border-radius:8px;background:transparent;color:rgba(255,255,255,.58);font-size:9px;cursor:pointer}.vistia-navigator-tabs button.is-active{background:rgba(255,255,255,.10);color:#fff}.vistia-navigator-panel{display:none;flex:1;overflow:auto;padding:10px}.vistia-navigator-panel.is-active{display:block}
.vistia-navigator-scenes{display:flex;flex-direction:column;gap:4px}.vistia-navigator-scenes button{display:grid;grid-template-columns:32px 1fr 24px;gap:8px;align-items:center;width:100%;padding:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#fff;text-align:left;cursor:pointer}.vistia-navigator-scenes button:hover{background:rgba(255,255,255,.07)}.vistia-navigator-scenes button.is-active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12)}.vistia-navigator-scenes button>span{font-size:8px;opacity:.48}.vistia-navigator-scenes button strong{font-size:11px;font-weight:600}.vistia-navigator-scenes button i{font-style:normal;opacity:.45}.vistia-navigator-scenes button.is-active i{opacity:1}
.vistia-navigator-callout{display:grid;place-items:center;text-align:center;gap:8px;padding:34px 14px}.vistia-navigator-callout>span{font-size:30px}.vistia-navigator-callout strong,.vistia-navigator-callout small{display:block}.vistia-navigator-callout small{margin-top:4px;font-size:9px;opacity:.58}.vistia-navigator-callout button{margin-top:6px;border:0;border-radius:10px;background:#fff;color:#20242d;padding:9px 13px;font-size:9px;font-weight:800;cursor:pointer}
.vistia-location-card{display:flex;flex-direction:column;gap:9px}.vistia-location-card>strong{font-size:11px}.vistia-location-card iframe{width:100%;height:330px;border:0;border-radius:11px;background:#eee}.vistia-location-card>a{align-self:flex-start;color:#fff;text-decoration:none;font-size:9px;border-bottom:1px solid rgba(255,255,255,.38)}.vistia-navigator-toggle{font-size:15px!important}

@media(max-width:767px){
  .vistia-scene-intro{top:17%;min-width:190px;padding:10px 14px}.vistia-scene-intro strong{font-size:18px}
  .vistia-scene-nav-arrows{inset:50% 7px auto 7px}.vistia-scene-nav-arrows button{width:38px;min-width:38px;height:38px;padding:0;justify-content:center}.vistia-scene-nav-arrows button>span{display:none}
  .vistia-navigator{position:fixed;left:8px;right:8px;top:auto;bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-height:78dvh;border-radius:20px;transform:translateY(105%)}.vistia-navigator.is-open{transform:none}.vistia-navigator-head{padding:13px}.vistia-navigator-head img{max-height:30px;max-width:100px}.vistia-navigator-panel{max-height:56dvh}.vistia-location-card iframe{height:310px}.vistia-hotspot.hs-pulse{width:29px!important;height:29px!important;margin:-14.5px 0 0 -14.5px!important}
}
.vistia-stage:fullscreen .vistia-navigator,.vistia-stage:-webkit-full-screen .vistia-navigator,.vistia-stage.vistia-pseudo-fullscreen .vistia-navigator{z-index:2147483600}

/* =========================================================
   Vistia 360° 1.0.0-alpha.12 — Viewer Visual System
   Fase UX/UI pura
   ========================================================= */

/* ---------- SVG icon system ---------- */
.vistia-svg-icon{display:inline-block;width:20px;height:20px;background:currentColor;mask-size:contain;mask-position:center;mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}
.vistia-icon-menu{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E")}
.vistia-icon-target{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E")}
.vistia-icon-play{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E")}
.vistia-icon-pause{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h3v14H7zM14 5h3v14h-3z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h3v14H7zM14 5h3v14h-3z'/%3E%3C/svg%3E")}
.vistia-icon-expand{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M8 4H4v4M16 4h4v4M20 16v4h-4M4 16v4h4'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M8 4H4v4M16 4h4v4M20 16v4h-4M4 16v4h4'/%3E%3C/svg%3E")}
.vistia-icon-close{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
.vistia-icon-map{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5l5-2 7 2 5-2v15l-5 2-7-2-5 2zM8.5 3.5v15M15.5 5.5v15'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5l5-2 7 2 5-2v15l-5 2-7-2-5 2zM8.5 3.5v15M15.5 5.5v15'/%3E%3C/svg%3E");}

/* ---------- Hamburger = one primary control ---------- */
.vistia-top-actions{
  display:flex!important;align-items:center!important;gap:6px!important;
  padding:4px!important;background:rgba(15,17,22,.52)!important;
  border:1px solid rgba(255,255,255,.16)!important;border-radius:999px!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 8px 28px rgba(0,0,0,.18)!important
}
.vistia-top-actions>button,.vistia-secondary-actions>button{
  width:38px!important;height:38px!important;display:grid!important;place-items:center!important;
  border:0!important;border-radius:50%!important;background:transparent!important;color:#fff!important;
  cursor:pointer!important
}
.vistia-top-actions>button:hover,.vistia-secondary-actions>button:hover{background:rgba(255,255,255,.12)!important}
.vistia-secondary-actions{
  display:flex;align-items:center;gap:2px;max-width:0;opacity:0;overflow:hidden;
  pointer-events:none;transition:max-width .26s ease,opacity .2s ease
}
.vistia-top-actions.is-expanded .vistia-secondary-actions{max-width:190px;opacity:1;pointer-events:auto}
.vistia-top-actions .vistia-navigator-toggle{background:rgba(255,255,255,.10)!important}

/* ---------- Hotspots: much more visible waves, smaller core ---------- */
.vistia-hotspot.hs-pulse{
  width:18px!important;height:18px!important;margin:-9px 0 0 -9px!important;
  border:2px solid rgba(255,255,255,.98)!important;background:rgba(255,255,255,.18)!important;
  box-shadow:0 0 0 0 rgba(255,255,255,.70),0 0 0 0 rgba(255,255,255,.34),0 5px 18px rgba(0,0,0,.28)!important;
  animation:vistiaNavPulseStrong 2s ease-out infinite!important
}
.vistia-hotspot.hs-pulse:after{
  content:'';position:absolute;inset:-9px;border:1.5px solid rgba(255,255,255,.48);
  border-radius:50%;animation:vistiaWaveRing 2s ease-out infinite
}
@keyframes vistiaNavPulseStrong{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.72),0 0 0 0 rgba(255,255,255,.38),0 5px 18px rgba(0,0,0,.28)}
  65%{box-shadow:0 0 0 13px rgba(255,255,255,0),0 0 0 25px rgba(255,255,255,0),0 5px 18px rgba(0,0,0,.28)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0),0 0 0 0 rgba(255,255,255,0),0 5px 18px rgba(0,0,0,.28)}
}
@keyframes vistiaWaveRing{0%{transform:scale(.72);opacity:.85}75%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}

/* ---------- Client brand lower, out of focal area ---------- */
.vistia-client-logo{
  left:18px!important;bottom:18px!important;
  max-width:118px!important;max-height:38px!important;
  opacity:.94!important;z-index:17!important
}

/* ---------- Fullscreen CTA = primary visual action ---------- */
.vistia-enter-immersive{
  left:50%!important;bottom:78px!important;transform:translateX(-50%)!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  min-width:248px!important;padding:12px 16px!important;
  border:1px solid rgba(255,255,255,.32)!important;border-radius:999px!important;
  background:rgba(14,16,20,.68)!important;backdrop-filter:blur(16px)!important;
  color:#fff!important;box-shadow:0 12px 34px rgba(0,0,0,.24)!important;
  animation:vistiaEnterBreath 2.6s ease-in-out infinite!important
}
.vistia-enter-icon{width:24px!important;height:24px!important;flex:0 0 24px}
.vistia-enter-copy{display:block;text-align:left}
.vistia-enter-copy strong,.vistia-enter-copy small{display:block}
.vistia-enter-copy strong{font-size:12px;line-height:1.1}
.vistia-enter-copy small{margin-top:3px;font-size:8.5px;opacity:.72}
@keyframes vistiaEnterBreath{0%,100%{box-shadow:0 12px 34px rgba(0,0,0,.24),0 0 0 0 rgba(255,255,255,0)}50%{box-shadow:0 12px 34px rgba(0,0,0,.26),0 0 0 7px rgba(255,255,255,.08)}}

/* Hide the oversized edge previous/next controls in default UX.
   Spatial navigation = hotspots. Sequential navigation stays in dock/menu. */
.vistia-scene-nav-arrows{display:none!important}

/* ---------- Scene HUD editorial, lower and quieter ---------- */
.vistia-scene-intro{
  top:auto!important;left:22px!important;bottom:84px!important;transform:translateY(6px)!important;
  min-width:0!important;max-width:min(360px,70%)!important;
  text-align:left!important;padding:9px 12px!important;border-radius:11px!important;
  background:rgba(13,15,19,.52)!important
}
.vistia-scene-intro.is-visible{transform:none!important}
.vistia-scene-intro small{font-size:7.5px!important}
.vistia-scene-intro strong{font-size:16px!important}
.vistia-scene-intro span{font-size:8px!important}

/* ---------- Mobile ---------- */
@media(max-width:767px){
  .vistia-top-actions{
    right:10px!important;bottom:18px!important
  }
  .vistia-top-actions>button,.vistia-secondary-actions>button{
    width:36px!important;height:36px!important
  }
  .vistia-top-actions.is-expanded .vistia-secondary-actions{max-width:172px}

  .vistia-client-logo{
    left:12px!important;bottom:20px!important;
    max-width:96px!important;max-height:32px!important
  }

  .vistia-enter-immersive{
    bottom:72px!important;min-width:228px!important;padding:11px 14px!important
  }
  .vistia-enter-copy strong{font-size:11px}
  .vistia-enter-copy small{font-size:8px}

  .vistia-scene-intro{
    left:12px!important;bottom:74px!important;max-width:62%!important;
    padding:8px 10px!important
  }
  .vistia-scene-intro strong{font-size:14px!important}

  .vistia-hotspot.hs-pulse{
    width:20px!important;height:20px!important;margin:-10px 0 0 -10px!important
  }
}

/* Fullscreen: CTA disappears after entering; brand remains low */
.vistia-stage:fullscreen .vistia-client-logo,
.vistia-stage:-webkit-full-screen .vistia-client-logo,
.vistia-stage.vistia-pseudo-fullscreen .vistia-client-logo{
  bottom:max(16px,env(safe-area-inset-bottom))!important
}
.vistia-stage:fullscreen .vistia-top-actions,
.vistia-stage:-webkit-full-screen .vistia-top-actions,
.vistia-stage.vistia-pseudo-fullscreen .vistia-top-actions{
  bottom:max(16px,env(safe-area-inset-bottom))!important
}

/* =========================================================
   Vistia 360° 1.0.0-alpha.13 — UX Recovery
   ========================================================= */
.vistia-icon-scenes{
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='2'/%3E%3Cpath d='M9 5v14M4 10h5M9 14h11'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='2'/%3E%3Cpath d='M9 5v14M4 10h5M9 14h11'/%3E%3C/svg%3E");
}
.vistia-top-actions{
  right:18px!important;bottom:18px!important;padding:4px!important;gap:3px!important;
  background:rgba(13,15,19,.58)!important;border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important
}
.vistia-control-menu{
  width:42px!important;height:42px!important;display:grid!important;place-items:center!important;
  border:0!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;color:#fff!important
}
.vistia-control-menu .vistia-svg-icon{width:21px;height:21px}
.vistia-secondary-actions{max-width:0!important;opacity:0!important;pointer-events:none!important;gap:2px!important}
.vistia-top-actions.is-expanded .vistia-secondary-actions{max-width:245px!important;opacity:1!important;pointer-events:auto!important}
.vistia-secondary-actions>button{width:38px!important;height:38px!important;background:transparent!important}

.vistia-navigator{width:min(310px,calc(100% - 28px))!important;background:rgba(15,17,22,.90)!important;backdrop-filter:blur(18px)!important}
.vistia-navigator-head{padding:14px!important}
.vistia-navigator-tabs{padding:7px 9px!important}
.vistia-navigator-scenes button{padding:9px!important}

.vistia-enter-immersive{
  left:50%!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;
  min-width:260px!important;padding:13px 18px!important;background:rgba(12,14,18,.72)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.26),0 0 0 0 rgba(255,255,255,.08)!important;z-index:28!important
}
.vistia-enter-immersive:hover{transform:translate(-50%,-50%) scale(1.02)!important}
.vistia-enter-copy strong{font-size:12.5px!important}
.vistia-enter-copy small{font-size:8.5px!important}
.vistia-enter-immersive.is-used{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

.vistia-client-logo{left:16px!important;bottom:16px!important;max-width:110px!important;max-height:34px!important;z-index:16!important}
.vistia-scene-intro{left:16px!important;bottom:60px!important;top:auto!important;max-width:260px!important;padding:8px 10px!important;background:rgba(12,14,18,.48)!important}
.vistia-scene-intro strong{font-size:14px!important}
.vistia-scene-intro small{font-size:7px!important}

.vistia-hotspot.hs-pulse{
  width:15px!important;height:15px!important;margin:-7.5px 0 0 -7.5px!important;border:2px solid #fff!important;
  background:rgba(255,255,255,.28)!important;
  box-shadow:0 0 0 0 rgba(255,255,255,.88),0 0 0 0 rgba(255,255,255,.52),0 4px 16px rgba(0,0,0,.28)!important;
  animation:vistiaPulseAlpha13 1.8s ease-out infinite!important
}
.vistia-hotspot.hs-pulse:after{inset:-11px!important;border:2px solid rgba(255,255,255,.58)!important;animation:vistiaRingAlpha13 1.8s ease-out infinite!important}
@keyframes vistiaPulseAlpha13{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.9),0 0 0 0 rgba(255,255,255,.55),0 4px 16px rgba(0,0,0,.28)}
  65%{box-shadow:0 0 0 18px rgba(255,255,255,0),0 0 0 31px rgba(255,255,255,0),0 4px 16px rgba(0,0,0,.28)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0),0 0 0 0 rgba(255,255,255,0),0 4px 16px rgba(0,0,0,.28)}
}
@keyframes vistiaRingAlpha13{0%{transform:scale(.65);opacity:.95}72%{transform:scale(1.75);opacity:0}100%{transform:scale(1.75);opacity:0}}

.vistia-assistant-orb{width:38px!important;height:38px!important;opacity:.90!important}
.vistia-assistant-panel{width:min(330px,calc(100vw - 28px))!important}
.vistia-viewer-dock{display:none!important}
.vistia-viewer-badge{background:rgba(12,14,18,.40)!important;font-size:7.5px!important;padding:4px 6px!important}

@media(max-width:767px){
  .vistia-top-actions{right:10px!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
  .vistia-control-menu{width:40px!important;height:40px!important}
  .vistia-top-actions.is-expanded .vistia-secondary-actions{max-width:225px!important}
  .vistia-enter-immersive{min-width:230px!important;max-width:calc(100vw - 64px)!important;padding:12px 15px!important}
  .vistia-enter-copy strong{font-size:11px!important}.vistia-enter-copy small{font-size:8px!important}
  .vistia-client-logo{left:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;max-width:94px!important;max-height:30px!important}
  .vistia-scene-intro{left:12px!important;bottom:58px!important;max-width:58%!important}
  .vistia-navigator{left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;max-height:72dvh!important}
}
.vistia-stage:fullscreen .vistia-enter-immersive,.vistia-stage:-webkit-full-screen .vistia-enter-immersive,.vistia-stage.vistia-pseudo-fullscreen .vistia-enter-immersive{display:none!important}
