/* PANORAMA / VISUAL SIM 3D v1 — isolated from the original corporate CSS.
   All scenes and apparent flows are conceptual, not measured or certified. */
#visor{overflow:hidden}
.sim3d-experience{position:relative;display:grid;grid-template-columns:minmax(0,1.88fr) minmax(300px,.7fr);align-items:stretch;border:1px solid rgba(130,204,223,.33);background:#060d13;box-shadow:0 44px 110px rgba(0,0,0,.52),0 0 90px rgba(108,192,221,.08)}
.sim3d-stage{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-right:1px solid rgba(148,208,228,.19)}
.sim3d-stage-top,.sim3d-stage-foot{min-height:48px;padding:12px 19px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#adc7d1;font:700 9px/1.45 Consolas,'Courier New',monospace;letter-spacing:.13em;background:linear-gradient(110deg,#0c1a23,#071017)}
.sim3d-stage-top{border-bottom:1px solid rgba(142,202,230,.17)}.sim3d-stage-foot{min-height:45px;border-top:1px solid rgba(142,202,230,.17);color:#739cae;font-size:8px}
.sim3d-stage-top span:first-child{display:flex;align-items:center;gap:10px;color:#dcf5ff}
.sim3d-stage-top span:last-child{color:#83bed1}
.sim3d-stage-top b{margin-left:10px;color:#f0c979}
.sim3d-dot{display:inline-block;flex:none;width:7px;height:7px;background:#87d9df;border-radius:50%;box-shadow:0 0 10px rgba(116,227,238,.7)}
.sim3d-stage-inner{position:relative;isolation:isolate;flex:1;min-height:620px;aspect-ratio:auto;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#315062 0%,#0c2232 55%,#041019 100%)}
.sim3d-poster{position:absolute;inset:0;z-index:1;transition:opacity .75s ease,visibility .75s ease}
.sim3d-poster img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04) brightness(.63)}
.sim3d-poster::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,23,.24),rgba(5,13,21,.6))}
.sim3d-poster span{position:absolute;z-index:1;left:50%;top:54%;transform:translate(-50%,-50%);padding:14px 18px;white-space:nowrap;border:1px solid rgba(142,202,230,.38);background:rgba(5,18,30,.82);color:#bcf3f8;font:700 10px Consolas,monospace;letter-spacing:.12em}
.sim3d-canvas-host{position:absolute;inset:0;z-index:0;overflow:hidden;touch-action:pan-y}
.sim3d-canvas-host canvas{display:block;width:100%!important;height:100%!important;touch-action:pan-y;cursor:grab}
.sim3d-canvas-host canvas:active{cursor:grabbing}
#visor.sim3d-loaded .sim3d-poster{opacity:0;visibility:hidden;pointer-events:none}
#visor.sim3d-loaded .sim3d-canvas-host{z-index:2}
.sim3d-viewport-ui{position:absolute;inset:0;z-index:3;pointer-events:none;border:1px solid rgba(173,227,247,.1)}
.sim3d-vp-top,.sim3d-vp-bottom{position:absolute;left:20px;right:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;color:#d3eff7;text-shadow:0 2px 8px rgba(0,0,0,.9);font:700 9px/1.55 Consolas,monospace;letter-spacing:.1em}
.sim3d-vp-top{top:21px}.sim3d-vp-bottom{bottom:24px;align-items:center}
.sim3d-vp-top>span:last-child{font-size:9px;white-space:nowrap}
.sim3d-vp-bottom>span:first-child{padding:7px 11px;background:rgba(9,22,31,.77);border-left:2px solid #c5e5db;color:#f6ffff}
.sim3d-vp-bottom>span:last-child{font-size:8px;color:#b4e2ec;text-align:right}
.sim3d-telemetry-dot{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:100%;background:#84c4d6;box-shadow:0 0 12px #84c4d6}
.sim3d-reticle{position:absolute;inset:18px;pointer-events:none;opacity:.52}
.sim3d-reticle i{position:absolute;width:26px;height:26px;border-color:rgba(182,229,245,.53);border-style:solid}
.sim3d-reticle i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}
.sim3d-reticle i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}
.sim3d-reticle i:nth-child(3){left:0;bottom:0;border-width:0 0 1px 1px}
.sim3d-reticle i:nth-child(4){right:0;bottom:0;border-width:0 1px 1px 0}
.sim3d-stage-hint{position:absolute;z-index:3;bottom:71px;left:21px;display:inline-block;padding:7px 10px;background:rgba(7,23,32,.59);color:#d0e8ed;border:1px solid rgba(190,232,243,.22);font:700 8px/1.2 Consolas,monospace;letter-spacing:.1em;pointer-events:none;opacity:0;transition:opacity .3s ease}
#visor.sim3d-loaded .sim3d-stage-hint{opacity:.82}
.sim3d-console{min-width:0;display:flex;flex-direction:column;padding:0 29px 27px;background:linear-gradient(165deg,#111f29 0%,#0a151d 46%,#050e14)}
.sim3d-console-head{height:48px;margin:0 -29px 39px;padding:0 29px;display:flex;align-items:center;justify-content:space-between;gap:13px;border-bottom:1px solid rgba(142,202,230,.17);background:rgba(142,202,230,.04);color:#c4dce6;font:700 9px Consolas,monospace;letter-spacing:.13em}
.sim3d-console-head>span:last-child{color:#80cddc}
.sim3d-console-kicker{margin:0;color:#78d1df;font:700 9px/1.5 Consolas,monospace;letter-spacing:.16em}
.sim3d-console h3{margin:15px 0 15px;line-height:.99;font-size:clamp(39px,3.2vw,51px);letter-spacing:-.065em;font-weight:600;color:#f7ffff}
.sim3d-console h3 em{font-style:normal;color:#a5dded}
.sim3d-console-intro{margin:0 0 26px;color:#abc0c7;font-size:13px;line-height:1.65}
.sim3d-modes{display:grid;border-top:1px solid rgba(144,208,231,.22)}
.sim3d-mode{display:flex;align-items:center;gap:13px;width:100%;min-height:55px;padding:12px 9px;border:0;border-bottom:1px solid rgba(144,208,231,.18);background:transparent;color:#a6bdc5;cursor:pointer;text-align:left;transition:padding .22s ease,background .22s ease,color .22s ease}
.sim3d-mode span{color:#6b99ae;font:700 9px Consolas,monospace;letter-spacing:.08em}
.sim3d-mode strong{font-size:14px;font-weight:600}
.sim3d-mode b{margin-left:auto;font-size:19px;font-weight:400;color:#77bdcb}
.sim3d-mode:hover,.sim3d-mode.is-active{padding-left:16px;background:rgba(120,198,223,.11);color:white}
.sim3d-mode.is-active{box-shadow:inset 2px 0 #95d6e5}
.sim3d-insight{margin:26px 0 16px;padding-bottom:20px;min-height:169px;border-bottom:1px solid rgba(142,202,230,.19)}
.sim3d-insight>span{font:700 9px Consolas,monospace;letter-spacing:.12em;color:#83bbca}
.sim3d-insight h4{margin:11px 0;font-size:23px;letter-spacing:-.037em;font-weight:600}
.sim3d-insight p{margin:0;color:#a1b6bc;font-size:13px;line-height:1.63}
.sim3d-camera-controls{margin-top:auto}
.sim3d-camera-controls>span{display:block;margin:0 0 10px;color:#7bbbd0;font:700 9px Consolas,monospace;letter-spacing:.14em}
.sim3d-camera-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.sim3d-camera-buttons button{min-height:40px;padding:8px 4px;border:1px solid rgba(142,202,230,.32);background:transparent;color:#a6b9c3;cursor:pointer;font-size:11px;font-weight:700;transition:background .25s ease,color .25s ease}
.sim3d-camera-buttons button:hover,.sim3d-camera-buttons button.is-active{background:rgba(150,214,234,.14);border-color:#9bd7e6;color:#f4ffff}
.sim3d-pause{display:flex;align-items:center;gap:14px;min-height:45px;width:100%;margin:16px 0 0;padding:11px 14px;border:1px solid rgba(160,216,233,.38);background:rgba(142,202,230,.08);color:#e1f6f9;text-align:left;cursor:pointer;font-size:11px;font-weight:700;transition:background .25s ease}
.sim3d-pause:hover{background:rgba(142,202,230,.18)}
.sim3d-pause span{font-size:15px;color:#94e0e7}
.sim3d-legal{margin:18px 0 0;padding:13px 0 0;border-top:1px solid rgba(142,202,230,.17);font-size:10px;color:#8099a7;line-height:1.65}
.sim3d-experience-note{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;align-items:start;padding-top:25px}
.sim3d-experience-note>span{display:flex;align-items:center;gap:11px;color:#8ecddd;font:700 9px/1.4 Consolas,monospace;letter-spacing:.1em}
.sim3d-experience-note p{margin:0;color:#829eac;font-size:12px;line-height:1.75}
#visor.sim3d-pending .sim3d-fallback,#visor.sim3d-loaded .sim3d-fallback{display:none!important}
#visor.sim3d-failed .sim3d-experience{display:none}
#visor.sim3d-failed .sim3d-experience-note{display:none}
.sim3d-experience button:focus-visible{outline:2px solid #9bd7e5;outline-offset:3px}
@media(max-width:1100px){.sim3d-experience{grid-template-columns:minmax(0,1fr) minmax(286px,.58fr)}.sim3d-stage-inner{min-height:490px}.sim3d-console{padding-left:19px;padding-right:19px}.sim3d-console-head{margin-left:-19px;margin-right:-19px;padding:0 19px}.sim3d-console h3{font-size:38px}.sim3d-insight{min-height:188px}}
@media(max-width:900px){.sim3d-experience{grid-template-columns:1fr}.sim3d-stage{border-right:none;border-bottom:1px solid rgba(142,202,230,.28)}.sim3d-stage-inner{flex:none;min-height:470px;aspect-ratio:1.42}.sim3d-console{padding:0 26px 26px}.sim3d-console-head{margin:0 -26px 26px;padding:0 26px}.sim3d-console h3{font-size:43px}.sim3d-modes{grid-template-columns:repeat(2,1fr)}.sim3d-mode{border-right:1px solid rgba(142,202,230,.14)}.sim3d-insight{min-height:0}.sim3d-camera-controls{max-width:560px}.sim3d-experience-note{grid-template-columns:1fr;gap:11px}}
@media(max-width:620px){.sim3d-stage-inner{min-height:0;aspect-ratio:.96}.sim3d-stage-top,.sim3d-stage-foot{padding:10px 12px;min-height:42px;font-size:7px}.sim3d-stage-foot{min-height:40px}.sim3d-stage-top span:last-child{max-width:105px;text-align:right}.sim3d-vp-top{top:15px;left:13px;right:13px;font-size:7px}.sim3d-vp-top>span:last-child{font-size:7px}.sim3d-vp-bottom{left:13px;right:13px;bottom:16px;font-size:8px}.sim3d-vp-bottom span:last-child{max-width:143px;font-size:7px}.sim3d-reticle{inset:8px}.sim3d-stage-hint{bottom:52px;left:12px;font-size:7px}.sim3d-console{padding:0 17px 22px}.sim3d-console-head{margin:0 -17px 20px;padding:0 17px}.sim3d-console h3{font-size:37px}.sim3d-console-intro{font-size:12px}.sim3d-mode{gap:8px;padding:10px 6px;min-height:49px}.sim3d-mode strong{font-size:11px}.sim3d-mode span{font-size:8px}.sim3d-mode b{font-size:14px}.sim3d-mode:hover,.sim3d-mode.is-active{padding-left:9px}.sim3d-insight{margin:22px 0}.sim3d-insight h4{font-size:22px}.sim3d-insight p{font-size:12px}.sim3d-legal{font-size:10px}.sim3d-experience-note{padding-top:16px}.sim3d-experience-note p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sim3d-poster,.sim3d-mode,.sim3d-stage-hint{transition-duration:.01ms!important}}

/* Avoid showing the previous 2.5D fallback note when WebGL is active. */
#visor.sim3d-loaded .aud-lab-footnote,#visor.sim3d-pending .aud-lab-footnote{display:none}

/* PANORAMA Urban Twin Studio: scoped link, existing simulation preserved. */
.sim3d-twin-launch{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px 12px;border:1px solid rgba(251,133,0,.65);background:linear-gradient(110deg,rgba(251,133,0,.16),rgba(17,34,43,.32));color:#f8f8f5;text-decoration:none;transition:background .2s,border-color .2s}
.sim3d-twin-launch>span:first-child{font-size:22px;line-height:1;color:#fb8500}
.sim3d-twin-launch>span:nth-child(2){display:flex;flex-direction:column;min-width:0;gap:4px}
.sim3d-twin-launch strong{font:800 10px/1.3 Consolas,'Courier New',monospace;letter-spacing:.07em}
.sim3d-twin-launch small{font-size:10px;line-height:1.4;color:#a7c1cc}
.sim3d-twin-launch b{margin-left:auto;font-size:19px;color:#ffac5a}
.sim3d-twin-launch:hover{background:rgba(251,133,0,.24);border-color:#ffac5a}
.sim3d-twin-launch:focus-visible{outline:2px solid #ffac5a;outline-offset:3px}
