.immersive-scene{position:relative;color:#fff;background:transparent;isolation:isolate}
.scene-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid #ffffff20}
.scene-topbar .eyebrow{font-size:10px;margin:0 0 5px;letter-spacing:.12em}
.scene-mode{font-size:8px;letter-spacing:.08em;color:#aaa;text-transform:uppercase}
.scene-expand{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:40px;background:transparent;color:#ddd;border:1px solid #ffffff40;padding:9px 13px;font-size:9px;transition:background .2s,border-color .2s}
.scene-expand:hover{background:var(--red);border-color:var(--red)}
.scene-expand span{font-size:17px}
.scene-stage{position:relative;min-height:390px;height:clamp(340px,30vw,455px);overflow:hidden;touch-action:pan-y}
.architecture-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;opacity:0;transition:opacity .7s;position:absolute;inset:0;outline-offset:-5px!important}
[data-scene-status=ready] .architecture-canvas{opacity:1}
.architecture-canvas.is-dragging{cursor:grabbing}
.scene-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.3;pointer-events:none;transition:opacity .5s}
[data-scene-status=ready] .scene-fallback{opacity:0}
.scene-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;pointer-events:none;transition:opacity .4s;z-index:4}
.scene-loading>span{width:32px;height:32px;border:2px solid #ffffff20;border-top-color:var(--red-light);border-radius:50%;animation:scene-spin 1s linear infinite}
.scene-loading>p{font-size:9px;color:#ccc;background:#111;padding:7px 12px;margin:0}
[data-scene-status=ready] .scene-loading,[data-scene-status=fallback] .scene-loading{opacity:0;visibility:hidden}
.world-hotspots{position:absolute;inset:0;pointer-events:none;visibility:hidden}
[data-scene-status=ready] .world-hotspots{visibility:visible}
.world-point{position:absolute;left:0;top:0;min-width:36px;min-height:36px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff80;background:#171717dd;color:white;border-radius:50%;pointer-events:auto;font-size:9px;font-weight:600;box-shadow:0 3px 15px #0006;transition:background .2s,border-color .2s}
.world-point[aria-pressed=true]{background:var(--red);border-color:#f4a7b4;box-shadow:0 0 0 5px #981b3130}
.world-point:hover{background:var(--red)}
.world-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);white-space:nowrap;padding:5px 9px;background:#191919;border:1px solid #ffffff50;font-size:8px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
.world-point:hover .world-tooltip,.world-point:focus-visible .world-tooltip{opacity:1;transform:translateX(-50%)}
.scene-view-presets{position:absolute;bottom:13px;left:0;display:flex;gap:0;border:1px solid #ffffff30;background:#111c;backdrop-filter:blur(8px)}
.scene-view-presets button{font-size:8px;min-height:34px;color:#aaa;border:0;border-right:1px solid #ffffff20;background:transparent;padding:8px 12px}
.scene-view-presets button:last-child{border:0}
.scene-view-presets button[aria-pressed=true],.scene-view-presets button:hover{color:#fff;background:#ffffff10}
.scene-light-switch{position:absolute;right:0;bottom:13px}
.scene-light-switch button{min-height:36px;border:1px solid #ffffff30;background:#111c;backdrop-filter:blur(8px);padding:7px 12px;color:white;display:flex;gap:9px;align-items:center;font-size:9px}
.scene-light-switch button>span:first-child{font-size:17px;color:#e9c38a}
.scene-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0 16px}
.scene-navigation>p{font-size:9px;color:#aaa;max-width:230px;margin:0;line-height:1.8}
.scene-navigation-buttons{display:flex;gap:5px;flex:none}
.scene-navigation-buttons button{width:34px;height:34px;border:1px solid #ffffff35;background:transparent;color:#ddd;font-size:17px;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.scene-navigation-buttons button:hover{background:var(--red);border-color:var(--red)}
.scene-layer-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #ffffff25;border-top:1px solid #ffffff25}
.scene-layer-tabs button{min-width:0;position:relative;min-height:57px;display:flex;gap:7px;align-items:center;justify-content:center;font-size:9px;font-weight:500;border:0;border-right:1px solid #ffffff20;color:#aaa;background:transparent;padding:12px 6px;transition:color .2s,background .2s}
.scene-layer-tabs button:last-child{border-right:0}
.scene-layer-tabs button>span{font-size:7px;color:#868686}
.scene-layer-tabs button[aria-pressed=true]{color:white;background:#981b3128}
.scene-layer-tabs button[aria-pressed=true]::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--red-light)}
.scene-layer-tabs button:hover{background:#ffffff08;color:#fff}
.scene-description{padding:24px 0 18px;min-height:248px}
.scene-description .eyebrow{font-size:8px;color:var(--red-light);margin:0 0 10px;letter-spacing:.12em}
.scene-description h3{font-size:23px;line-height:1.25;letter-spacing:-.04em;font-weight:500;margin:0 0 12px}
.scene-description>p{font-size:11px;line-height:1.9;color:#b9b9b9;max-width:650px;margin:0 0 12px;min-height:42px}
.scene-description>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;list-style:none;padding:0;margin:0 0 12px}
.scene-description>ul>li{font-size:9px;line-height:1.8;color:#949494;position:relative;padding-left:12px}
.scene-description>ul>li::before{content:'';position:absolute;left:0;top:7px;width:3px;height:3px;background:var(--red-light)}
.scene-description .text-link{font-size:10px;min-height:35px;color:#fff;gap:24px}
.scene-description .text-link:hover{color:var(--red-light)}
.scene-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;border-top:1px solid #ffffff20;padding-top:16px}
.scene-actions button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;font-size:9px;line-height:1.6;color:#ccc;background:transparent;border:1px solid #ffffff35;transition:background .2s,border-color .2s}
.scene-actions .scene-tour{background:var(--red);border-color:var(--red);color:white;flex:1}
.scene-actions .scene-tour[aria-pressed=true]{background:#fff;color:var(--red);border-color:#fff}
.scene-actions button:hover{border-color:var(--red-light);background:#981b3135}
.scene-actions button[aria-pressed=true]:not(.scene-tour){background:#981b3140;border-color:var(--red-light);color:white}
.scene-actions .scene-access{width:100%;border-color:var(--red-light)}
.scene-actions [hidden]{display:none}
.scene-tour-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.scene-tour-progress[hidden]{display:none}
.scene-tour-progress>span{padding-top:8px;border-top:2px solid #ffffff25;font-size:8px;color:#888}
.scene-tour-progress>span.is-active{border-color:var(--red-light);color:#fff}
.immersive-scene .visual-disclaimer{font-size:8px;line-height:1.9;color:#8e8e8e;margin-top:16px}
.immersive-scene button:disabled{opacity:.4;cursor:default}
















[data-scene-status=fallback] .world-hotspots{display:none}
@keyframes scene-spin{to{transform:rotate(360deg)}}
@media(max-width:1199px){.scene-stage{height:350px;min-height:320px}.scene-layer-tabs button{font-size:8px;gap:4px}.scene-layer-tabs button>span{display:none}.scene-description h3{font-size:21px}.scene-description>p{font-size:10px}.scene-description>ul{gap:10px}.scene-navigation-buttons button{width:30px;height:32px}.scene-navigation>p{font-size:8px}.scene-actions button{font-size:8px;padding:10px}.scene-description{min-height:260px}}
@media(max-width:959px){.immersive-scene{max-width:760px;margin-inline:auto}.scene-stage{height:500px}.scene-description{min-height:220px}.scene-description h3{font-size:25px}.scene-description>p{font-size:12px}.scene-description>ul>li{font-size:10px}.scene-layer-tabs button{font-size:10px}.scene-layer-tabs button>span{display:block}.scene-navigation-buttons button{width:38px;height:38px}.scene-navigation>p{font-size:10px;max-width:380px}.scene-actions button{font-size:10px;min-height:48px}}
@media(max-width:700px){.scene-topbar{gap:12px}.scene-topbar .eyebrow{font-size:9px}.scene-mode{font-size:7px}.scene-expand{font-size:8px;gap:14px;padding:8px 10px}.scene-stage{min-height:0;height:340px;margin-block:4px}.scene-navigation{gap:10px;align-items:flex-start}.scene-navigation>p{font-size:8px;max-width:140px}.scene-navigation-buttons{gap:4px}.scene-navigation-buttons button{width:29px;height:32px;font-size:15px}.scene-layer-tabs button{font-size:8px;min-height:52px;gap:3px}.scene-layer-tabs button>span{display:none}.scene-description{padding-top:22px;min-height:270px}.scene-description h3{font-size:22px;line-height:1.3}.scene-description>p{font-size:11px;min-height:62px}.scene-description>ul{grid-template-columns:1fr;gap:5px}.scene-description>ul>li{font-size:9px}.scene-actions{gap:8px}.scene-actions button{font-size:9px;min-height:44px}.immersive-scene .visual-disclaimer{font-size:8px}.world-point{min-width:31px;min-height:31px;font-size:8px}.world-tooltip{font-size:7px}.scene-view-presets button{font-size:7px;min-height:32px;padding:7px 10px}.scene-light-switch button{font-size:8px;padding:6px 9px;min-height:32px}}
@media(max-width:359px){.scene-stage{height:300px}.scene-navigation>p{max-width:100px;font-size:7px}.scene-navigation-buttons button{width:27px}.scene-layer-tabs button{font-size:7px}.scene-description h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.scene-loading>span{animation:none}.architecture-canvas,.scene-fallback,.immersive-scene *{transition:none!important;animation:none!important}}

.scene-alert-flow{padding:0 0 18px}.scene-alert-flow[hidden]{display:none}.scene-alert-flow>span{font-size:8px;display:block;color:#aaa;margin-bottom:10px;text-transform:uppercase;letter-spacing:.1em}.scene-alert-flow>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.scene-alert-flow button{min-height:36px;font-size:8px;color:#aaa;border:1px solid #ffffff25;background:transparent;padding:8px 5px}.scene-alert-flow button[aria-pressed=true]{color:white;border-color:var(--red-light);background:#981b3130}

.scene-loading{opacity:0;visibility:hidden}[data-scene-status=loading] .scene-loading{opacity:1;visibility:visible}[data-scene-status=idle] .scene-fallback{opacity:.65}.world-hotspots{opacity:0;transition:opacity .2s}[data-scene-projected=true] .world-hotspots{opacity:1}
.scene-camera-sectors{margin:20px 0;padding:16px;border:1px solid #981b3180;background:#981b311a}.scene-camera-sectors[hidden]{display:none}.scene-camera-sectors>span{display:block;font-size:10px;color:#fff;margin-bottom:10px}.scene-camera-sectors>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.scene-camera-sectors button{min-height:42px;padding:8px 6px;background:#171717;color:#ccc;border:1px solid #ffffff30;font-size:9px;font-family:inherit;cursor:pointer}.scene-camera-sectors button[aria-pressed=true]{background:var(--red);color:#fff;border-color:var(--red-light)}.scene-camera-sectors>small{display:block;margin-top:10px;font-size:9px;line-height:1.7;color:#aaa}

/* The viewport and the information panel own their space in every mode. */
.scene-modal{width:min(1600px,calc(100vw - 40px));height:calc(100dvh - 40px);max-width:none;max-height:none;padding:28px 32px;border:1px solid #454545;background:#111;color:#fff;overflow:auto}
.scene-modal::backdrop{background:#000c;backdrop-filter:blur(10px)}
.scene-modal .scene-description h3{font-size:27px}
.scene-modal .scene-description>p{font-size:13px}
.scene-modal .scene-description>ul{grid-template-columns:1fr;gap:10px}
.scene-modal .scene-description>ul>li{font-size:11px}

.hero .hero-grid{align-items:start;min-height:0;padding-top:48px;padding-bottom:48px}
.hero .hero-copy{padding-top:0;align-self:start}
.hero .immersive-scene{align-self:start}
.scene-viewport,.scene-panel{min-width:0;width:100%}
.scene-panel{display:flex;flex-direction:column;gap:0}
.scene-panel>*{flex:none;min-width:0;width:100%}
.immersive-scene .scene-description{min-height:0;height:auto;padding:22px 0;position:static}
.immersive-scene .scene-description>p{min-height:0;height:auto}
.immersive-scene .scene-description>ul{margin-bottom:18px}
.immersive-scene .scene-description .text-link{display:inline-flex;width:auto;max-width:100%;white-space:normal}
.immersive-scene .scene-actions{position:static;margin:0;padding-top:16px}
.immersive-scene .scene-actions button{height:auto;white-space:normal;overflow-wrap:anywhere}
.immersive-scene .scene-actions .scene-interior{flex:1}
.immersive-scene .scene-view-controls{display:flex;align-items:stretch;gap:10px;padding:10px 0 0}
.immersive-scene .scene-view-presets{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;min-width:0;backdrop-filter:none}
.immersive-scene .scene-view-presets button{min-width:0;min-height:36px;font-size:9px;padding:8px 5px;border:1px solid #ffffff18;line-height:1.4}
.immersive-scene .scene-light-switch{position:static;display:flex;align-items:stretch}
.immersive-scene .scene-light-switch button{min-width:60px;justify-content:center;backdrop-filter:none}
.immersive-scene .scene-navigation{flex-wrap:wrap;gap:10px;padding-bottom:16px}
.immersive-scene .scene-navigation>p{flex:1;min-width:100px}
.immersive-scene .world-point{width:40px;height:40px;min-width:40px;min-height:40px;font-size:9px;z-index:1}
.camera-point{border-color:var(--red-light);background:#371821ed}
.pin-guides{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pin-guides line{stroke:#ed6879;stroke-width:1.3;opacity:.8}
.scene-modal .immersive-scene{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);gap:32px;height:auto;align-items:start}
.scene-modal .scene-viewport{position:sticky;top:0;grid-column:auto;grid-row:auto}
.scene-modal .scene-panel{grid-column:auto;grid-row:auto}
.scene-modal .scene-stage{height:clamp(320px,60dvh,740px);min-height:0;grid-column:auto;grid-row:auto}
.scene-modal .scene-panel>*{grid-column:auto;grid-row:auto;align-self:auto}
.scene-modal .scene-description{padding-block:22px}
.scene-modal .visual-disclaimer{margin-top:16px}
@media(min-width:1700px){.hero .hero-grid{padding-top:60px;padding-bottom:60px}}
@media(max-width:1199px){.scene-modal .immersive-scene{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px}}
@media(max-width:959px){.hero .hero-grid{padding-top:40px;gap:32px}.scene-modal .immersive-scene{display:block}.scene-modal .scene-viewport{position:static}.scene-modal .scene-stage{height:50dvh;min-height:280px}.scene-modal .scene-panel{margin-top:16px}.scene-modal .scene-description>ul{grid-template-columns:1fr}.scene-modal .scene-description h3{font-size:25px}}
@media(max-width:700px){.hero .hero-grid{padding-top:32px;padding-bottom:32px;gap:28px}.immersive-scene .scene-description h3{font-size:22px}.immersive-scene .scene-description>ul{grid-template-columns:1fr}.immersive-scene .scene-view-presets button{font-size:9px}.immersive-scene .scene-actions button{font-size:10px;min-height:44px}.immersive-scene .scene-navigation-buttons button{width:32px;height:36px}.scene-modal{padding:16px}.scene-modal .scene-description>p{font-size:12px}}
