.room-open{display:block;background:transparent;border:1px solid #94795c;color:var(--ink);padding:9px 13px;margin:12px 0 18px;cursor:pointer;font-size:14px;text-align:left}.room-open:hover{background:#e4d1b5}.room-intro{font-size:17px!important}.art-viewer{width:min(1160px,96vw);max-width:96vw;max-height:95dvh;padding:22px;background:var(--paper);color:var(--ink);text-align:center;border:1px solid #ac977c}.viewer-head{display:flex;justify-content:space-between;text-align:left;align-items:flex-start;gap:24px}.viewer-head h2{font:26px/1.2 var(--serif);margin:5px 0 14px}.viewer-head p{margin:0}.art-viewer .close-dialog{position:static;flex-shrink:0;color:var(--ink);padding:4px 8px}.view-switch{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:10px 0 15px}.view-switch button{background:transparent;border:1px solid #ac977c;padding:9px 15px;cursor:pointer;color:var(--ink)}.view-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.art-viewer .photo-view img{width:auto;max-width:100%;height:auto;max-height:60dvh;margin:auto}.art-viewer .room-stage{position:relative;isolation:isolate;container-type:inline-size;aspect-ratio:3/2;width:min(100%,calc((100dvh - 250px)*1.5));margin:0 auto;overflow:hidden;background:#e3d5c2}.art-viewer .room-stage[hidden],.art-viewer .photo-view[hidden],.art-viewer .room-note[hidden]{display:none}.art-viewer .room-background{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;margin:0}.room-stage[data-room=living]{--paper-long:28.4%;--paper-short:19.88%;--frame-bottom:47%;--frame-cm:.568cqw}.room-stage[data-room=kitchen]{--paper-long:27.75%;--paper-short:19.425%;--frame-bottom:48%;--frame-cm:.555cqw}.room-stage[data-room=bedroom]{--paper-long:26.73%;--paper-short:18.711%;--frame-bottom:51%;--frame-cm:.535cqw}.room-frame{position:absolute;box-sizing:content-box;left:50%;bottom:var(--frame-bottom);transform:translateX(-50%);width:var(--paper-long);aspect-ratio:10/7;border:var(--frame-cm) solid #151515;background:#faf8f2;box-shadow:.25cqw .35cqw .8cqw #0005,inset 0 0 .12cqw #0008}.is-portrait .room-frame{width:var(--paper-short);aspect-ratio:7/10}.room-paper{position:absolute;inset:0;background:#faf8f2}.art-viewer #room-artwork{width:100%;height:100%;max-width:none;max-height:none;margin:0;object-fit:cover}.art-viewer .room-note{font-size:12px;line-height:1.5;max-width:850px;margin:12px auto;color:#6c5a48}.art-viewer #large-enquiry{margin-top:12px;font-size:14px;min-height:42px;padding:8px 18px}@media(max-width:600px){.art-viewer{padding:13px;width:98vw;max-width:98vw}.viewer-head{gap:12px}.viewer-head h2{font-size:21px}.viewer-head .eyebrow{font-size:10px;letter-spacing:1px}.view-switch{gap:6px}.view-switch button{padding:8px 9px;font-size:13px}.art-viewer .room-stage{width:100%}.art-viewer .room-note{font-size:11px}.room-open{width:100%;text-align:center}}

/* All coordinates share the original 1536 × 1024 room plane, including zoom. */
.room-scene{position:absolute;inset:0;transform:scale(1);transform-origin:50% 38%;transition:transform .25s ease}
.is-zoomed .room-scene{transform:scale(1.3)}
.room-stage[data-room=living]{--mat:1.42cqw}
.room-stage[data-room=kitchen]{--mat:1.3875cqw}
.room-stage[data-room=bedroom]{--mat:1.3365cqw}
.room-stage[data-finish=mat] .room-paper{inset:var(--mat);box-shadow:0 0 0 1px #c7c0b5,0 0 3px #0003}
.room-stage[data-finish=full] .room-paper{inset:0}
.room-frame{background:#f9f7f1;box-shadow:.14cqw .25cqw .4cqw #0005;border-color:#171716}
.finish-switch{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.finish-switch button,.room-zoom{border:1px solid #94795c;background:transparent;color:var(--ink);padding:8px 14px;cursor:pointer;font:inherit;font-size:14px}
.finish-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.finish-size{margin:5px 0 12px;font-size:13px;letter-spacing:.025em}
.room-reference{font-size:12px;margin:8px 0;color:#6c5a48}
.room-zoom{padding:5px 12px;font-size:12px}
.art-viewer .room-stage{width:min(100%,calc((100dvh - 370px)*1.5));min-width:260px}
.art-viewer [hidden]{display:none!important}
.art-viewer button:focus-visible{outline:2px solid #926a39;outline-offset:3px}
@media(max-width:600px){.art-viewer .room-stage{width:100%;min-width:0}.finish-switch button{font-size:12px}.finish-size{font-size:11px}}
@media(prefers-reduced-motion:reduce){.room-scene{transition:none}}
@media(min-width:900px){
 .art-viewer[open]{display:grid;grid-template-columns:260px minmax(0,1fr);gap:10px 28px;width:min(1280px,96vw);padding:32px;align-items:start}
 .art-viewer .viewer-head{grid-column:1;grid-row:1;display:block;padding-top:12px}
 .art-viewer .close-dialog{position:absolute;right:12px;top:8px;z-index:2}
 .art-viewer .viewer-head h2{font-size:27px;margin-top:12px}
 .art-viewer .view-switch{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;margin:0}
 .art-viewer .finish-switch{grid-column:1;grid-row:3;display:grid;margin:0}
 .art-viewer .finish-size{grid-column:1;grid-row:4;text-align:left;line-height:1.7}
 .art-viewer .room-stage,.art-viewer .photo-view{grid-column:2;grid-row:1 / 7;width:100%;align-self:center;margin:12px 0 0}
 .art-viewer .room-reference{grid-column:1;grid-row:5;text-align:left}
 .art-viewer .room-zoom{grid-column:1;grid-row:6;justify-self:start}
 .art-viewer .room-note{grid-column:2;grid-row:7;text-align:left;margin:0}
 .art-viewer #large-enquiry{grid-column:1;grid-row:7;margin:0}
}

.is-portrait .room-scene{transform-origin:50% 15%}
.room-frame-second{display:none}.is-panorama .room-frame-second{display:block;left:calc(50% + var(--paper-long)/2 + 1cqw)}.is-panorama .room-frame:not(.room-frame-second){left:calc(50% - var(--paper-long)/2 - 1cqw)}.is-panorama .room-paper{overflow:hidden}.art-viewer .is-panorama .room-paper img{position:absolute;top:0;left:0;width:200%;height:100%;max-width:none;object-fit:cover}.art-viewer .is-panorama .room-frame-second .room-paper img{left:-100%}.is-panorama.is-zoomed .room-scene{transform:scale(1.12)}.art-viewer #large-buy{margin:12px 8px 0 0;min-height:42px}.art-viewer #large-enquiry{margin-top:12px}@media(min-width:900px){.art-viewer #large-buy{grid-column:1;grid-row:7;margin:0;font-size:14px}.art-viewer #large-enquiry{grid-column:1;grid-row:8;margin:0;font-size:13px}.art-viewer .room-note{grid-row:7 / 9}}
.art-viewer .is-panorama #room-artwork{width:200%;position:absolute;left:0;top:0;object-fit:cover}

/* Projected wall scale, shared by paper, mat and frame. Furniture is in front of the wall. */
.room-stage[data-room=living]{--cm:.255cqw;--frame-bottom:45%;--frame-center:50.5%}
.room-stage[data-room=kitchen]{--cm:.25cqw;--frame-bottom:49%;--frame-center:49.8%}
.room-stage[data-room=bedroom]{--cm:.2673cqw;--frame-bottom:51%;--frame-center:50.6%}
.art-viewer .room-stage{--paper-long:calc(100 * var(--cm));--paper-short:calc(70 * var(--cm));--frame-cm:calc(2 * var(--cm));--mat:calc(5 * var(--cm))}
.room-frame{left:var(--frame-center);height:auto;min-height:0}
.is-panorama .room-frame:not(.room-frame-second){left:calc(var(--frame-center) - 54 * var(--cm))}
.is-panorama .room-frame-second{left:calc(var(--frame-center) + 54 * var(--cm))}
.art-viewer .room-note{font-size:12px;line-height:1.6}
.delivery-note,.art-viewer .viewer-delivery{font-size:12px;line-height:1.5;color:#6c5a48;margin:6px 0 12px}
@media(min-width:900px){.art-viewer .viewer-delivery{grid-column:1;grid-row:9;text-align:left;margin:0}.art-viewer .room-note{grid-row:7 / 10}}
@media(min-width:900px){.art-viewer .room-stage{width:min(100%,calc((95dvh - 150px)*1.5));justify-self:center}.art-viewer .room-note{grid-column:2;grid-row:7}.art-viewer .viewer-delivery{grid-column:2;grid-row:8;margin:0}}
