@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#060910;--surface:#0d141f;--text:#f7faff;--muted:#9aa7b8;--lime:#67e8f9;--border:#1c2a3c;--blue:#4f8cff;--violet:#9b6cff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--lime);outline-offset:4px}button{color:inherit;border:1px solid var(--border);background:transparent;border-radius:8px;padding:11px 13px}button:hover{border-color:var(--lime)}[hidden]{display:none!important}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:23px 4vw}.brand{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:1.8px}.brand img{width:38px}.brand b{display:block;margin-top:4px;font-size:10px;color:var(--muted);font-weight:400}.inquiry{font-size:13px}main{max-width:1600px;margin:auto;padding:0 4vw}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:44px 0 30px}.eyebrow{color:var(--lime);font-size:10px;letter-spacing:2px;font-weight:600}h1{font:500 clamp(44px,5.6vw,86px)/1.08 'Manrope',sans-serif;letter-spacing:-3.5px;margin:10px 0 15px}h1 em{font-style:normal;color:var(--lime)}.intro p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.6}.evidence{font-size:10px;letter-spacing:1.5px;text-align:left;flex-shrink:0}.evidence span{display:block;margin-top:8px;font-size:12px;letter-spacing:0;color:var(--muted)}.facts{padding:20px 24px;background:var(--surface);border:1px solid var(--border);margin-bottom:20px;border-radius:10px;line-height:1.7;color:var(--muted)}.facts h2{color:var(--text);font-size:21px}.experience{display:grid;grid-template-columns:minmax(0,1fr) 330px;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--surface)}.viewport{position:relative;min-height:620px;background:#0a0f18;overflow:hidden}canvas{display:block;width:100%;height:100%;position:absolute;touch-action:none}.scene-top,.scene-bottom{position:absolute;left:23px;right:23px;display:flex;align-items:center;gap:9px;z-index:2}.scene-top{top:21px;font-size:9px;font-weight:700;letter-spacing:1.4px;color:#f7faff;text-shadow:0 1px 5px #213b2b}.scene-top #modeLabel{margin-left:auto;background:#0d141fd9;padding:8px;border-radius:4px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime)}.scene-bottom{bottom:20px;justify-content:space-between;font-size:11px}.scene-bottom>span{padding:9px 12px;background:#060910dd;color:var(--text);border-radius:5px;max-width:65%}.scene-bottom button{background:#060910dd;font-size:11px}.labels{position:absolute;inset:0;pointer-events:none}.area-label{position:absolute;background:#060910dd;color:#f7faff;border:1px solid #4f8cff55;padding:7px 10px;border-radius:4px;font-size:9px;letter-spacing:1px;white-space:nowrap;transform:translate(-50%,-100%)}.area-label small{display:block;color:var(--lime);font-size:8px;margin-top:4px;letter-spacing:0}aside{padding:27px 24px;background:var(--surface);z-index:3}aside>.eyebrow{margin:0 0 22px}label{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}select{width:100%;padding:12px 9px;background:#060910;color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:12px}.scenario-copy{margin-top:25px}.scenario-copy>span{font-size:10px;letter-spacing:2px;color:var(--lime)}h2{font:500 26px/1.25 'Manrope',sans-serif;letter-spacing:-.6px;margin:12px 0}.scenario-copy p,.tour-panel>p{font-size:13px;color:var(--muted);line-height:1.7}.feature{display:block;color:#c6d0dc;font-size:11px;border-top:1px solid var(--border);padding:10px 0}.feature:before{content:'↗';color:var(--lime);margin-right:9px}.modes{display:flex;gap:5px;margin-top:19px}.modes button{flex:1;padding:10px 4px;font-size:10px}.modes button[aria-pressed=true]{background:var(--lime);color:#03101b;border-color:var(--lime)}.instructions{font-size:11px;line-height:1.7;color:var(--muted);min-height:38px;margin:17px 0}.reset{font-size:11px;padding:8px 10px}.cta{display:block;background:var(--lime);color:#03101b;padding:14px;margin-top:20px;border-radius:7px;font-size:12px;font-weight:700;text-align:center}.planning-note{font-size:10px;line-height:1.6;color:var(--muted);margin-bottom:0}.tour-panel{border-top:1px solid var(--border);margin-top:18px;padding-top:9px}.tour-panel h3{font-size:17px;margin:7px 0}.tour-panel>div{display:flex;justify-content:space-between;gap:10px}.tour-panel button{font-size:10px;padding:9px}.crosshair{position:absolute;left:50%;top:50%;color:white;text-shadow:0 1px 3px black;pointer-events:none}.touch-controls{position:absolute;bottom:70px;left:15px;text-align:center}.touch-controls button{width:44px;height:44px;background:#0d141fcc;margin:2px;user-select:none;touch-action:none}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#060910;color:var(--lime);z-index:4}#fallback{position:absolute;inset:0;padding:50px 30px;background:#060910;display:flex;flex-direction:column;justify-content:center}#fallback img{width:100%;max-height:70%;object-fit:contain}#fallback p{font-size:13px;color:var(--muted);line-height:1.6}.footnote{display:flex;justify-content:space-between;gap:20px;padding:25px 0;color:var(--muted);font-size:11px}.footnote strong{font-weight:500;color:var(--text);font-size:16px;margin-right:6px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--border);margin-top:15px;padding:25px 4vw;color:var(--muted);font-size:10px;letter-spacing:1px}
@media(max-width:1000px){.experience{grid-template-columns:minmax(0,1fr) 290px}.viewport{min-height:640px}aside{padding:23px 18px}h2{font-size:24px}}@media(max-width:760px){header{padding:17px 5vw}.brand{font-size:9px;letter-spacing:1px}.brand b{font-size:8px}.brand img{width:31px}.inquiry{font-size:11px}main{padding:0 5vw}.intro{padding:30px 0 24px;display:block}h1{letter-spacing:-2px}.evidence{margin-top:20px;padding:9px 12px}.evidence span{display:inline;margin-left:10px}.experience{display:flex;flex-direction:column}.viewport{min-height:360px;height:55svh;max-height:540px}aside{padding:22px}.scene-top,.scene-bottom{left:14px;right:14px}.scene-top{font-size:8px;letter-spacing:.7px}.scenario-copy{margin-top:20px}.scenario-copy h2{font-size:28px}.scenario-copy p{margin-bottom:12px}.modes button{font-size:12px}.footnote{flex-wrap:wrap;gap:0 20px;font-size:10px}.footnote p{margin:8px 0}.footnote strong{font-size:13px}.area-label{font-size:8px;padding:5px 7px}footer{font-size:8px;padding:20px 5vw}.instructions{min-height:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

h1 em{background:linear-gradient(90deg,#67e8f9,#4f8cff,#9b6cff);background-clip:text;color:transparent}.cta{background:linear-gradient(120deg,#67e8f9,#4f8cff 52%,#9b6cff)}.modes button[aria-pressed=true]{background:linear-gradient(120deg,#67e8f9,#4f8cff);border-color:#4f8cff}.experience{grid-template-columns:minmax(0,1fr) 300px}.viewport{min-height:640px}.gallery{padding:38px 0 20px}.gallery>p{max-width:780px;color:var(--muted);line-height:1.7}.gallery img{width:100%;display:block;border-radius:12px;border:1px solid var(--border)}.gallery figure{margin:24px 0}.gallery figcaption{padding:12px 0;color:var(--muted);font-size:12px}.scene-top{text-shadow:0 1px 5px #060910}.area-label{max-width:180px;white-space:normal}.viewport:fullscreen{height:100vh;width:100vw}.viewport:fullscreen canvas{height:100%;width:100%}@media(max-width:760px){.experience{display:flex}.viewport{min-height:380px;height:60svh}}
@media(max-width:760px){.scene-bottom{flex-wrap:wrap;gap:6px}.scene-bottom>span{flex-basis:100%;max-width:100%;font-size:10px}.scene-bottom button{padding:8px 10px}.touch-controls{bottom:105px}.gallery h2{font-size:27px}}

body.immersive-open{overflow:hidden}.viewport.immersive{position:fixed;inset:0;z-index:9999;width:100vw;height:100dvh;max-height:none;min-height:0;border-radius:0}.viewport.immersive .scene-bottom{max-width:none}
