/* Presentation-only layout. Model geometry and quotation stay unchanged. */
[hidden]{display:none!important}
.viewer-top,.viewer-bottom{display:contents}
.model-viewport{position:absolute;inset:0;overflow:hidden}
#touch-mode,.touch-help{display:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #916a3c;outline-offset:3px}
.viewer-expanded{overflow:hidden}
.close,.presentation-close{min-width:44px;min-height:44px;background:#f6f3ee;color:#252923;border-radius:50%}
.furniture-card [data-back-to-model]{margin-top:8px}
#source-full{min-height:44px;line-height:1.6;text-decoration:none;font-size:14px}
@media(max-width:900px){
 body{font-size:16px}
 .topbar{padding:12px 16px;min-height:76px;height:auto;gap:12px}
 .topbar nav{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
 .topbar nav button{font-size:14px;min-height:44px;padding:6px}
 .brand{flex-shrink:0}.brand-project{display:none}
 .hero{padding:26px 20px 48px;min-height:350px;height:auto}
 .hero h1{font-size:36px}.hero-copy>p:not(.eyebrow){font-size:15px}
 .hero-note{font-size:12px;left:20px;right:20px;bottom:12px}
 .eyebrow{font-size:12px;letter-spacing:.1em}
 .review-banner{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
 .section-heading{padding:0 16px;margin-bottom:24px}
 .section-heading h2{font-size:28px;line-height:1.5}
 .section-heading p{font-size:15px;line-height:1.7}
 .section-heading .secondary{margin:4px;min-height:44px;font-size:14px}
 .tour{padding:36px 0 56px}
 .tour-shell,.tour-shell.comparing{display:flex;flex-direction:column;min-height:0;width:100%;max-width:100%}
 .floor-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;padding:6px;gap:2px}
 .floor-nav .floor-button{min-width:0;min-height:48px;padding:8px 2px;margin:0;text-align:center;border-top:0}
 .floor-button span{font-size:14px;white-space:nowrap}.floor-button small{display:none}
 .canvas-wrap{height:auto;min-height:0;display:flex;flex-direction:column;overflow:visible}
 .viewer-top{display:flex;flex-direction:column;gap:8px;padding:10px 10px 8px;order:0;background:#ede8e0}
 .viewer-top .view-tabs,.viewer-top .customer-tools{position:static;display:flex;flex-wrap:wrap;width:100%;max-width:none;margin:0;gap:4px}
 .view-tabs .view-button{flex:1 1 28%;font-size:14px;min-height:44px;padding:8px 5px;white-space:normal}
 .customer-tools button{flex:1;font-size:14px;min-height:44px;padding:8px}
 .model-viewport{position:relative;inset:auto;width:100%;height:clamp(300px,52svh,500px);flex:none;order:1;isolation:isolate}
 #house-canvas{position:absolute;inset:0;width:100%;height:100%}
 .model-viewport .model-brand{right:10px;bottom:12px;pointer-events:none}
 .model-brand img{width:40px;height:40px}.model-brand span{font-size:9px}
 .viewer-bottom{display:flex;flex-direction:column;gap:8px;order:2;padding:10px;background:#ede8e0}
 .viewer-bottom .room-views,.viewer-bottom .piece-views,.viewer-bottom .model-options{position:static;inset:auto;display:flex;flex-wrap:wrap;gap:6px;margin:0;width:100%}
 .room-views{order:0}.piece-views{order:0}.model-options{order:1}
 .room-views button,.piece-views button,.model-options button{flex:1 1 40%;font-size:14px;min-height:44px;padding:10px 8px;white-space:normal}
 #touch-mode{display:block;background:#263d3b;color:white}
 .viewer-bottom .reset-view{position:static;order:2;min-height:44px;font-size:14px;align-self:stretch;margin:0}
 .touch-help{display:block;order:3;font-size:12px;line-height:1.6;margin:0;color:#525750}
 .canvas-wrap .model-status{position:static;order:3;font-size:12px;line-height:1.6;margin:0;padding:8px 12px;background:#f6f3ee;text-align:left}
 .room-list{display:block;max-height:none;padding:18px 16px;overflow:visible;min-width:0}
 .room-list-title{font-size:14px}.room-list .room-button{font-size:14px;min-height:48px;padding:12px 4px;overflow-wrap:anywhere}
 #room-buttons{gap:0 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .room-pin,.furniture-pin{min-height:44px;min-width:44px;font-size:12px}
 .furniture-card{min-width:0}.furniture-card h3{font-size:18px;line-height:1.6}
 .furniture-card .piece-price{font-size:25px;overflow-wrap:anywhere}
 .furniture-card p,.selection p{font-size:14px;line-height:1.7}
 .furniture-card small,.furniture-card .quote-note,.quote-summary .quote-note{font-size:12px;line-height:1.7}
 .furniture-card .secondary,.selection .secondary{min-height:44px;font-size:14px;max-width:100%;white-space:normal;margin-bottom:6px}
 summary{min-height:44px;padding:12px 0;font-size:14px;line-height:1.5;cursor:pointer}
 .quote-summary .quote-item{min-height:48px;padding:12px 0;font-size:14px}
 .quote-totals{font-size:14px;overflow-wrap:anywhere}
 .plan-reference{height:auto!important;min-height:300px;margin:0;padding:16px}
 .plan-reference img{width:100%;height:auto;max-height:none}
 .room-dialog{padding:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .dialog-card{display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
 .dialog-card .close{position:sticky;top:8px;right:auto;align-self:flex-end;flex:none;margin:8px 8px -52px;z-index:5}
 .dialog-image{height:auto;min-height:0;flex:none;background:#fff;padding-top:56px}
 .dialog-image img{width:100%;height:auto;max-height:none;object-fit:contain}
 .dialog-content{padding:22px 18px;min-width:0}.dialog-content h2{font-size:26px;line-height:1.5;overflow-wrap:anywhere}
 .dialog-content dt,.dialog-content dd{font-size:14px}.dialog-content dl{grid-template-columns:70px minmax(0,1fr)}
 .dialog-controls{flex-wrap:wrap}.dialog-controls button{min-height:44px;font-size:14px;flex:1}
 .source-thumbs{display:flex;flex-wrap:wrap;gap:6px}.source-thumbs button{min-width:48px;min-height:48px}
 .source-note{font-size:12px;line-height:1.7}
 .presentation.open{display:flex;flex-direction:column;height:100dvh;overflow:auto;padding:60px 16px 12px;overscroll-behavior:contain}
 .presentation-image{height:auto;min-height:160px;flex:1}.presentation-image img{height:100%;max-height:50svh;object-fit:contain}
 .presentation-image:after{display:none}
 .presentation-copy{position:static;max-width:none;flex:none;padding:12px 0}
 .presentation-copy h2{font-size:28px;line-height:1.5}.presentation-copy p{font-size:14px;margin:6px 0}
 .presentation-controls{position:static;flex:none;justify-content:center;padding-bottom:env(safe-area-inset-bottom)}
 .presentation-controls button{min-width:48px;min-height:44px}.presentation-controls span{font-size:14px}
 .presentation-close{position:fixed;top:max(8px,env(safe-area-inset-top));right:12px}
 .presentation-brand{top:8px;left:16px;right:auto;display:flex;align-items:center;gap:8px}
 .presentation-brand img{width:38px;height:38px}.presentation-brand span{font-size:10px}
 .tour-shell.wide,.tour-shell:fullscreen{position:fixed;inset:0;z-index:9;height:100dvh;width:100%;max-width:none;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom);background:var(--paper)}
 .tour-shell.wide .room-list,.tour-shell:fullscreen .room-list{display:none}
 .tour-shell.wide .canvas-wrap,.tour-shell:fullscreen .canvas-wrap{height:auto;min-height:0;flex:1}
 .tour-shell.wide .model-viewport,.tour-shell:fullscreen .model-viewport{min-height:250px;height:46svh}
 .tour-shell.wide #wide,.tour-shell:fullscreen #wide{position:fixed;top:max(8px,env(safe-area-inset-top));right:8px;z-index:10;min-width:110px;box-shadow:0 2px 12px #0003;background:#263d3b;color:#fff}
 .tour-shell.wide .floor-nav,.tour-shell:fullscreen .floor-nav{padding-top:60px}
 .brand-contact-links a{min-height:44px;padding:12px;font-size:14px}
 .designterior-footer{padding:28px 20px;min-width:0}.designterior-footer h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
