:root{font-family:Arial,Helvetica,sans-serif;color:#ecf1f4;background:#080f16;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #f19b86;outline-offset:5px}button{border:0}a{color:inherit;text-decoration:none}.shell{max-width:1920px;margin:auto;padding:0 3.1%}header{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #25313b}.brand{display:flex;align-items:center;gap:12px}.brand b{font-size:47px;letter-spacing:-4px}.brand>span{font-size:20px;letter-spacing:3px;font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:1.35px;margin-top:4px;font-weight:400}.project{border-left:1px solid #33404b;padding-left:22px;margin-right:auto;margin-left:50px}.project span,.eyebrow{display:block;letter-spacing:2px;font-size:12px;color:#94a5b3}.project strong{display:block;font-size:16px;margin-top:9px;font-weight:400}.quiet{background:transparent;border:1px solid #34404c;padding:12px 18px;border-radius:6px;font-size:14px}main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;padding:30px 0 25px}.stage{height:calc(100vh - 215px);min-height:650px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#263c4b,#0d1923 80%);border:1px solid #33424c;border-radius:14px}#canvas{position:absolute;inset:0}#canvas canvas{display:block;width:100%;height:100%;outline:none}.stage-title{position:absolute;z-index:2;top:31px;left:34px;pointer-events:none}.stage-title .eyebrow{color:#b5bfc8;font-size:11px}h1{font-size:35px;font-weight:400;letter-spacing:-1.3px;margin:15px 0 12px}.stage-title p{color:#9eafbc;font-size:14px;margin:0}.view-badge{position:absolute;top:34px;right:28px;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #3b4a54;background:#14222caa;border-radius:30px;backdrop-filter:blur(10px)}.view-badge button{display:flex;align-items:center;gap:7px;background:transparent;color:#8fa2b2;font-size:12px;padding:8px 14px;border-radius:30px;transition:background .2s,color .2s}.view-badge button:hover{color:#e2e9ee}.view-badge button.active{background:#edf1f3;color:#122331}.view-badge button.active:before{content:'';height:5px;width:5px;border-radius:50%;background:#f39781}.camera-rail{position:absolute;bottom:92px;left:28px;display:flex;gap:7px}.camera-rail button{display:flex;align-items:center;gap:9px;padding:13px 17px;background:#0c1725bd;border:1px solid #3c4a58;border-radius:7px;color:#91a3b4;font-size:11px;backdrop-filter:blur(16px)}.camera-rail span{font-size:14px;color:#dce4ea}.camera-rail button.active{background:#edf1f3;color:#72808c;border-color:#edf1f3}.camera-rail .active span{color:#122331}.tools{position:absolute;bottom:30px;left:28px;display:flex;gap:3px;align-items:center;background:#0b1622c9;padding:6px;border:1px solid #3d4b59;border-radius:9px;backdrop-filter:blur(10px)}.tools button{background:transparent;border-radius:5px;height:37px;min-width:37px;font-size:22px}.tools button b{font-size:12px;font-weight:400}.tools button:hover,.tools button[aria-pressed=true]{background:#3e5264}.tools :is(#rotate,#snapshot,#tour){padding:0 11px}.tools>span{height:21px;width:1px;background:#485461;margin:0 6px}.hint{position:absolute;bottom:33px;right:26px;font-size:12px;color:#94a6b6}.hint i,footer i{font-style:normal;margin:0 9px}.tour-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;display:none;background:#394859}.tour-progress span{display:block;height:100%;width:0;background:#f2a18e}.load{position:absolute;inset:0;background:#11202bee;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.load>span{width:38px;height:38px;border:1px solid #657e90;border-top-color:#f4aa95;border-radius:50%;animation:spin 1s linear infinite}.load p{font-size:17px}.load small{color:#95a6b4;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}aside{padding:5px 0;align-self:start}.aside-heading{display:flex;justify-content:space-between}.eyebrow{font-size:11px}.number{font-size:11px;color:#708292}h2{font-weight:400;font-size:36px;line-height:1.17;letter-spacing:-1px;margin:24px 0 17px}.description{font-size:14px;line-height:1.7;color:#9eafbd}.divider{height:1px;background:#283540;margin:24px 0}.switch-row{display:flex;justify-content:space-between;align-items:center;position:relative;margin:20px 0;cursor:pointer}.switch-row strong{display:block;font-size:14px;font-weight:400}.switch-row small{display:block;font-size:12px;margin-top:8px;color:#8498aa}.switch-row input{position:absolute;right:0;opacity:0;width:39px;height:24px}.switch-row i{width:36px;height:20px;border-radius:30px;background:#415061;position:relative;pointer-events:none}.switch-row i:after{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;background:#cdd5db;border-radius:50%;transition:transform .2s}.switch-row input:checked+i{background:#e7957f}.switch-row input:checked+i:after{transform:translateX(16px);background:#10212d}.switch-row input:focus-visible+i{outline:2px solid white}.segmented{display:flex;margin:17px 0 20px;background:#12202c;border:1px solid #2f4050;border-radius:6px;padding:4px}.segmented button{flex:1;font-size:13px;padding:9px;background:transparent;border-radius:4px;color:#93a6b6}.segmented .active{background:#344959;color:#eef2f5}.range-label{display:flex;justify-content:space-between;font-size:12px;color:#b5c0c9}input[type=range]{width:100%;accent-color:#ec9c87;margin:14px 0 8px}.tour-card{margin-top:25px;border:1px solid #364655;border-radius:10px;padding:20px;background:linear-gradient(135deg,#1e3040,#10202e)}.tour-card small{font-size:10px;letter-spacing:1.7px;color:#df9b89}.tour-card h3{font-weight:400;font-size:24px;letter-spacing:-.6px;margin:12px 0}.tour-card p{color:#93a8b9;font-size:13px;line-height:1.6}.primary{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#eca18e;color:#192936;border-radius:5px;font-size:14px;margin-top:21px}.primary span{font-size:21px}.walk{background:transparent;color:#b8c7d3;width:100%;font-size:12px;padding:17px 0 0}.model-note{font-size:11px;color:#6f879a;text-align:center;margin-top:22px}.status{font-size:12px;color:#efb5a6;line-height:1.5}footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:1.5px;color:#708496;border-top:1px solid #253340;padding:22px 0}footer span:nth-child(2){letter-spacing:0}footer a{letter-spacing:0;font-size:12px}body:fullscreen .shell{height:100vh}button:disabled{opacity:.4;cursor:wait}@media(min-width:1600px){main{grid-template-columns:minmax(0,1fr) 360px;gap:40px}.stage{min-height:730px}}@media(max-width:1100px){main{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.stage-title{left:24px}h1{font-size:27px}.view-badge{top:125px;left:24px;right:auto}.camera-rail{left:20px;gap:5px}.camera-rail button{padding:12px 10px}.hint{display:none}.tools{left:20px}h2{font-size:31px}}@media(max-width:780px){.shell{padding:0 18px}header{height:80px}.brand b{font-size:36px}.brand>span{font-size:15px}.brand small{font-size:8px}.project{margin-left:23px;padding-left:17px}.project span{display:none}.project strong{font-size:13px;margin:0}.quiet{font-size:0;padding:8px}.quiet:after{content:'⛶';font-size:22px}main{display:block;padding-top:18px}.stage{height:70vh;min-height:510px}.stage-title{top:23px;left:22px}h1{font-size:28px}.stage-title p{font-size:12px}.view-badge{top:118px;left:22px}.camera-rail{bottom:86px;left:15px;right:15px;justify-content:space-between}.camera-rail button{gap:6px;padding:11px 8px}.camera-rail span{font-size:12px}.tools{bottom:24px;left:15px}aside{padding-top:28px;max-width:600px;margin:auto}h2 br{display:none}h2{font-size:30px}.tour-card{margin-top:20px}.model-note{margin-bottom:25px}footer{font-size:9px;gap:15px}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}
.stage:after{content:'';position:absolute;inset:0 0 auto;height:230px;background:linear-gradient(#12212ce6,#12212c88 55%,transparent);pointer-events:none;z-index:1}.view-badge,.camera-rail,.tools,.hint,.tour-progress{z-index:2}@media(max-width:780px){.camera-rail button{flex:1;min-width:0;padding:11px 5px;gap:4px;font-size:10px;justify-content:center}.camera-rail span{font-size:11px;white-space:nowrap}.tools{right:15px;justify-content:space-between;padding:4px;gap:1px}.tools button{min-width:28px;height:34px}.tools :is(#rotate,#snapshot,#tour){padding:0 6px}.tools button b{font-size:11px}.tools>span{margin:0 3px}.view-badge button{font-size:11px;padding:7px 11px}.stage-title h1{font-size:26px}.stage-title p{font-size:11px}}

.brand img{display:block;width:68px;height:68px;object-fit:contain}@media(max-width:780px){.brand img{width:50px;height:50px}.project{margin-left:18px}.project strong{font-size:14px}}
/* Single-column layout: the viewer fills the page; tour and brightness live on the stage. */
main{display:block}
.stage-corner{position:absolute;z-index:2;bottom:28px;right:26px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.stage-corner .hint{position:static;margin:0}
.stage>.status{position:absolute;z-index:3;top:50%;left:0;right:0;text-align:center;margin:0}
@media(max-width:1100px){.stage-corner .hint{display:none}}

@media(max-width:480px){.tools button b{display:none}.tools :is(#rotate,#snapshot,#tour){padding:0 8px}}
.tools :is(#rotate,#snapshot,#tour){padding:0 11px}
@media(max-width:780px){.tools :is(#rotate,#snapshot,#tour){padding:0 6px}}

/* Toolbar: brightness popover and full screen */
.bright{position:relative;display:flex}
.tools .bright>button{font-size:19px}
.tools .bright>button.on{background:#3e5264}
.bright-pop{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#0b1622ee;border:1px solid #3d4b59;border-radius:9px;padding:10px 14px;backdrop-filter:blur(10px);white-space:nowrap}
.bright-pop[hidden]{display:none}
.bright-pop input[type=range]{width:150px;margin:0}
.bright-pop output{min-width:36px;text-align:right;font-size:12px;color:#94a6b6}
.tools #fullscreen{font-size:18px}
.stage:fullscreen{height:100vh;min-height:0;border:0;border-radius:0}
/* Idle: overlays fade out so the scene is shown on its own */
.stage .stage-title,.stage .view-badge,.stage .camera-rail,.stage .tools,.stage .stage-corner,.stage:after{transition:opacity .6s ease}
.stage.idle .stage-title,.stage.idle .view-badge,.stage.idle .camera-rail,.stage.idle .tools,.stage.idle .stage-corner,.stage.idle:after{opacity:0;pointer-events:none}
.stage.idle{cursor:none}
@media(max-width:780px){.bright-pop{left:auto;right:-6px;transform:none}.bright-pop input[type=range]{width:120px}}
@media(min-width:781px){.bright-pop{position:static;transform:none;background:none;border:0;border-radius:0;padding:0 6px 0 8px;backdrop-filter:none}.bright-pop input[type=range]{width:130px}}
