*{box-sizing:border-box}body{margin:0;background:#f5f3ee;color:#272c28;font:15px/1.5 Arial,Helvetica,sans-serif}button,a,input{font:inherit}button,a,summary{cursor:pointer}button{border:0;background:none;color:inherit}button:hover{color:#956b42}button:focus-visible,a:focus-visible{outline:2px solid #92704e;outline-offset:4px}header{height:86px;border-bottom:1px solid #dddcd5;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#fbfaf6}.brand{font:600 27px Georgia,serif;letter-spacing:-1px;text-decoration:none;color:#29372e}.brand span{display:block;font:9px Arial;letter-spacing:2.1px;margin-top:3px}.project{font-size:14px}.project span{display:block;color:#85877e;font-size:12px}#budget{border:1px solid #d9d9cf;padding:11px 15px;border-radius:5px;font-size:13px}#budget b{margin:0 16px}main{height:calc(100dvh - 86px);display:grid;grid-template-columns:224px minmax(300px,1fr) 314px}.rooms{padding:32px 22px;border-right:1px solid #deded5;display:flex;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#85877f;font-weight:bold;margin:0 0 12px}h1{font:29px/1.2 Georgia,serif;letter-spacing:-.7px;margin:0 0 12px}.intro{font-size:13px;color:#8a8b82;line-height:1.7;margin:0 0 24px}nav{display:grid;gap:5px}nav button{width:100%;padding:11px 10px;text-align:left;display:flex;align-items:center;justify-content:space-between;border-radius:5px;font-size:14px}nav button span{font-size:11px;color:#92978d}nav button.active{background:#e4e8dd;color:#314835;font-weight:bold}.palette{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:25px}.palette i{height:24px;width:24px;border-radius:50%;background:#c3a47d}.palette i:nth-child(2){background:#e8e4d9}.palette i:nth-child(3){background:#93978a}.palette i:nth-child(4){background:#fefdf8;border:1px solid #ddd}.palette span{width:100%;font-size:10px;color:#878b7f}.download{font-size:11px;text-decoration:none;color:#666e60;margin-top:20px}.workspace{position:relative;min-width:0;background:radial-gradient(ellipse at 45% 35%,#fdfcf8,#ebe9e1);overflow:hidden}.toolbar{position:absolute;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;z-index:3;gap:10px}.segmented{display:flex;background:#fffdf8df;padding:4px;border:1px solid #e4e1d8;border-radius:7px;box-shadow:0 4px 18px #302e2310}.segmented button{font-size:12px;padding:8px 12px;border-radius:4px;white-space:nowrap}.segmented button.active{background:#35493c;color:white}#reset{font-size:12px;white-space:nowrap}#scene{position:absolute;inset:20px 0 75px}canvas{display:block;width:100%;height:100%;touch-action:none}.scene-bottom{position:absolute;bottom:43px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center}.scene-bottom div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.scene-bottom b{font-size:14px}.scene-bottom span:last-child{width:100%;font-size:12px;color:#7b8176;margin-left:16px}.live-dot{height:6px;width:6px;border-radius:100%;background:#6b8064}.scene-bottom button{font-size:12px;border:1px solid #d0d4c7;border-radius:5px;padding:7px 12px}.hint{position:absolute;bottom:8px;width:100%;text-align:center;font-size:10px;color:#91948c}.inspector{background:#fcfbf7;border-left:1px solid #deded5;overflow:auto}.inspector-head{padding:25px 22px 0;display:flex;justify-content:space-between;align-items:center}.inspector-head .eyebrow{font-size:9px;margin:0}.badge{border:1px solid #d4d9ce;border-radius:20px;font-size:10px;padding:2px 8px;color:#5c7158}#objectview{height:235px;cursor:grab}.object-controls{display:flex;justify-content:center;gap:15px;font-size:11px}.object-controls button{border:1px solid #deded4;padding:5px 10px;border-radius:5px}.rotate-hint{text-align:center;font-size:10px;color:#909387;margin:10px 8px 20px}.product-copy{border-top:1px solid #e5e5db;padding:22px}.product-copy h2{font:25px/1.2 Georgia,serif;margin:0 0 12px}.product-copy .eyebrow{font-size:9px}#product-price{font-size:21px;margin-bottom:14px}#product-note{font-size:12px;line-height:1.7;color:#74796c}#product-link{display:block;background:#35493c;color:white;text-align:center;border-radius:4px;padding:11px;font-size:12px;text-decoration:none;margin:18px 0}details{font-size:12px}details img{max-width:100%;max-height:200px;object-fit:contain;margin-top:15px}.model-note{font-size:10px;line-height:1.6;color:#95988b;padding:0 22px 20px}#hover{position:fixed;z-index:9;pointer-events:none;background:#fffffbf5;border:1px solid #d3d8c8;border-radius:7px;padding:12px 16px;box-shadow:0 8px 24px #30352418;max-width:260px;font-size:12px}#hover b{display:block;font-size:13px;margin-bottom:4px}#hover span{color:#78816e}#imageview{position:absolute;inset:80px 18px 105px;text-align:center}#imageview img{height:calc(100% - 30px);width:100%;object-fit:contain;border-radius:5px}#imagecaption{font-size:10px;color:#7d8275;margin:5px}#loading{position:absolute;inset:45% 0;text-align:center;color:#63705a;pointer-events:none}dialog{width:min(980px,94vw);height:86vh;border:1px solid #d6d9cd;border-radius:12px;padding:30px;background:#fbfaf6;color:#30372e}dialog::backdrop{background:#29342d70;backdrop-filter:blur(6px)}.dialog-header{display:flex;justify-content:space-between}.dialog-header h2{font:30px Georgia;margin:0 0 20px}.dialog-header button{align-self:flex-start;font-size:22px}dialog>p{color:#7d8175;font-size:13px}.totals{display:flex;justify-content:space-between;padding:20px;background:#ebeee5;border-radius:6px;font-size:12px}.totals strong{display:block;font-size:25px;margin-top:5px}#search{width:100%;padding:13px;margin:15px 0;border:1px solid #d8ddce;background:#fffef9;border-radius:4px}.catalog-row{display:grid;grid-template-columns:1fr 110px;gap:20px;border-bottom:1px solid #ddd;padding:16px 0}.catalog-row a{color:#344e39;text-decoration:none;font-weight:bold;font-size:14px}.catalog-row p{font-size:12px;color:#818778;margin:5px 0}.catalog-row strong{font-size:15px;text-align:right}#photo-fallback{color:#888;font-size:12px}@media(min-width:1600px){main{grid-template-columns:255px 1fr 360px}.rooms{padding:40px 28px}#objectview{height:310px}.product-copy{padding:28px}}@media(max-width:1100px){main{grid-template-columns:180px 1fr 270px}.rooms{padding:26px 15px}h1{font-size:25px}.toolbar{left:14px;right:14px}#reset{display:none}.segmented button{padding:8px}header{padding:0 20px}.product-copy{padding:18px}#objectview{height:200px}}@media(max-width:780px){header{height:70px}.project{display:none}.brand{font-size:24px}#budget{font-size:11px;padding:7px}#budget b{margin:0 5px}main{height:auto;display:flex;flex-direction:column}.rooms{padding:16px;border:0}.rooms .eyebrow,.rooms h1,.intro,.palette,.download{display:none}nav{display:flex;overflow:auto;gap:7px}nav button{width:auto;white-space:nowrap;background:#ebece4;padding:9px 13px;font-size:12px}nav button span{display:none}.workspace{height:60vh;min-height:400px}.inspector{display:grid;grid-template-columns:45% 55%;position:relative;padding:15px 0}.inspector-head{grid-column:1/-1;padding:8px 18px}#objectview{grid-column:1;grid-row:2;height:240px}.object-controls{grid-column:1;grid-row:3}.rotate-hint{grid-column:1;grid-row:4}.product-copy{grid-column:2;grid-row:2/5;border:0;padding:15px}.model-note{grid-column:1/-1}.toolbar{top:8px}.hint{font-size:9px}.scene-bottom{left:18px;right:18px}.scene-bottom span:last-child{font-size:10px}.totals strong{font-size:18px}dialog{padding:20px}}
/* Photorealistic presentation and accessible furniture hotspots */
#realview{position:absolute;inset:72px 16px 110px;display:flex;align-items:center;justify-content:center;overflow:hidden}#realview[hidden]{display:none}#realframe{position:relative;aspect-ratio:1;width:min(100%,calc(100vh - 275px));max-height:100%;border-radius:6px;overflow:hidden}#realframe>img{display:block;width:100%;height:100%;object-fit:contain}#hotspots{position:absolute;inset:0}.hotspot{position:absolute;border:1px solid transparent;border-radius:6px;transition:background .2s,border .2s;z-index:2;padding:0}.hotspot:after{content:'+';position:absolute;right:4px;top:4px;background:#fffef3e8;color:#46573e;border-radius:50%;width:21px;height:21px;line-height:20px;font-size:15px;box-shadow:0 2px 8px #3332;opacity:.7}.hotspot:hover,.hotspot:focus-visible{background:#e7edc827;border:1px solid #d2dca3;box-shadow:0 0 20px #fcffd54a}.hotspot:hover:after{opacity:1}.render-label{position:absolute;bottom:0;left:8px;font-size:9px;letter-spacing:1.5px;background:#fffff5cc;padding:5px 9px;color:#79806b}#room-photo{width:100%;height:100%;background-size:200% 200%;background-repeat:no-repeat;border-radius:7px}#room-products{position:absolute;bottom:30px;left:16px;right:16px;display:flex;flex-wrap:wrap;gap:6px}#room-products[hidden]{display:none}#room-products button{background:#fffef5ee;backdrop-filter:blur(8px);border:1px solid #dddfce;padding:7px 10px;border-radius:5px;font-size:11px;box-shadow:0 2px 8px #3331}.inspector.expanded{position:fixed;inset:7vh 8vw;z-index:30;display:grid;grid-template-columns:2fr 1fr;border:1px solid #cbcfc0;border-radius:12px;box-shadow:0 0 0 100vmax #252f28b8;overflow:auto;padding:20px}.inspector.expanded .inspector-head{grid-column:1/-1}.inspector.expanded #objectview{height:60vh;grid-column:1;grid-row:2}.inspector.expanded .product-copy{grid-column:2;grid-row:2/5}.inspector.expanded .object-controls{grid-column:1;grid-row:3}.inspector.expanded .rotate-hint{grid-column:1;grid-row:4}.inspector.expanded .model-note{grid-column:1/-1;font-size:12px}.product-copy details img{background:#fff;border-radius:6px;width:100%}@media(max-width:780px){#realview{inset:55px 4px 100px}#realframe{width:min(100%,calc(60vh - 150px));min-width:320px}.segmented button{font-size:11px}.render-label{font-size:8px}.inspector.expanded{inset:2vh 3vw;display:flex;flex-direction:column}.inspector.expanded #objectview{height:40vh;min-height:260px}.inspector.expanded .product-copy{padding:20px}.scene-bottom span:last-child{max-width:240px}}
.zoom-bar{position:absolute;bottom:112px;right:26px;z-index:5;display:flex;align-items:center;gap:0;background:#fffff7ed;border:1px solid #d4d8c9;border-radius:6px;box-shadow:0 3px 16px #33442212}.zoom-bar button{padding:8px 12px;font-size:20px;line-height:1}.zoom-bar #zoom-reset{font-size:11px;min-width:55px;border-left:1px solid #ddd;border-right:1px solid #ddd}#realframe,#room-photo,#imageview img{transform-origin:center;will-change:transform}#realview,#imageview{touch-action:none}#realframe[hidden]{display:none}#room-photo[hidden]{display:none}@media(max-width:780px){.zoom-bar{bottom:101px;right:12px}.zoom-bar button{padding:7px 10px}}
#realframe{min-width:0!important;flex:none;max-height:none}#realframe>img{object-fit:fill}#realview{container-type:size}#realframe{width:min(100cqw,100cqh)!important;height:min(100cqw,100cqh)!important}@media(max-width:780px){.workspace{height:75vh;min-height:520px}}#room-photo{background-size:cover;background-position:center}
.product-tabs{display:flex;gap:5px;margin:20px 16px 0;background:#eceee7;padding:4px;border-radius:5px}.product-tabs button{font-size:12px;padding:7px 10px;border-radius:4px;flex:1}.product-tabs .active{background:#fffef9;box-shadow:0 1px 4px #26382a19}#photo-stage{display:flex;flex-direction:column;width:100%;padding:16px 24px 8px;align-items:center;background:#fff}#photo-stage img{width:100%;height:240px;object-fit:contain;transition:transform .25s}#photo-stage:hover img{transform:scale(1.045)}#photo-stage span{font-size:11px;color:#717a68;margin:12px 0}#photo-stage[hidden],#missing-photo[hidden],#objectview[hidden],.object-controls[hidden],.rotate-hint[hidden],#open-mechanism[hidden]{display:none}#missing-photo{margin:30px 24px;padding:22px;background:#eef0e7;border-radius:6px;font-size:13px;color:#6b7663}#open-mechanism{background:#35493c;color:#fff;border-color:#35493c;font-size:12px;padding:8px 12px}#photo-gallery{width:min(1120px,96vw);height:92vh;background:#fff;padding:24px}.gallery-stage{height:calc(100% - 180px);overflow:auto;display:flex;align-items:center;justify-content:center;background:#fafafa;border-radius:6px}.gallery-stage img{max-width:100%;max-height:100%;object-fit:contain}.gallery-stage img.zoomed{max-width:none;max-height:none;width:150%;flex:none}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:20px;padding:18px}.gallery-controls button{border:1px solid #d8decf;border-radius:5px;padding:8px 18px}.gallery-controls button:disabled{opacity:.3}#gallery-source{display:block;text-align:center;font-size:12px;color:#6d7b62}#gallery-title{font:22px/1.3 Georgia;max-width:850px}.inspector.expanded .product-tabs{grid-column:1/-1}.inspector.expanded #objectview{grid-row:3}.inspector.expanded .product-copy{grid-row:3/6}.inspector.expanded .object-controls{grid-row:4}.inspector.expanded .rotate-hint{grid-row:5}@media(max-width:780px){.inspector{display:flex;flex-direction:column}.inspector-head{width:100%}#photo-stage img{height:300px}.product-tabs{margin:14px 18px}.product-copy{padding:20px}.inspector #objectview{height:320px}.gallery-stage{height:calc(100% - 220px)}}
#imageview img{will-change:auto;max-width:none}#imageview{overflow:hidden}
#walls-mode{font-size:11px;background:#fffff3dd;border:1px solid #d6dacb;border-radius:5px;padding:7px 10px;white-space:nowrap}#walls-mode[hidden]{display:none}.toolbar{flex-wrap:wrap}#imagecaption{position:absolute;bottom:0;left:0;right:0;background:#fffef4e6;padding:5px;z-index:1}.product-copy #product-note{font-size:13px}.model-note{font-size:11px}
#real-open-photo{display:block;margin:12px 20px;padding:10px 15px;background:#35493c;color:white;border-radius:5px;font-size:13px}#real-open-photo[hidden]{display:none}.product-tabs{background:transparent;margin-top:10px}.product-tabs button{box-shadow:none!important;background:transparent!important;color:#839075;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;cursor:default}

/* Keep photo pixels intact, with scrollable detail rather than artificial enlargement. */
#photo-gallery[open]{display:flex;flex-direction:column;gap:12px;max-height:94dvh;height:92dvh}
#photo-gallery .gallery-stage{flex:1;min-height:0;height:auto;display:flex;align-items:flex-start;justify-content:flex-start;background:white;overscroll-behavior:contain;padding:12px}
#photo-gallery .gallery-stage img{flex:none;max-width:none;max-height:none;object-fit:contain;margin:auto}
#gallery-status{font-size:11px;text-align:center;color:#738071;margin:0;min-height:14px}
#photo-gallery .gallery-controls{padding:0;gap:12px;flex-wrap:wrap}
#photo-gallery .gallery-controls button{padding:9px 15px}
#photo-gallery #gallery-source{padding:4px}
