@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--cream:#f2eee6;--ink:#15252a;--gold:#a86f36;--line:#253c3926;--muted:#626c6a}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.55 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a86f36;outline-offset:4px}[hidden]{display:none!important}
header{height:84px;padding:0 3.5%;display:flex;align-items:center;justify-content:space-between;background:#f7f4ed;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;letter-spacing:.12em;font-size:14px;font-weight:700}.brand img{width:44px;height:61px;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:.19em;font-weight:500}nav{display:flex;gap:28px}nav button{border:0;background:none;color:#7b817d;font-size:13px;padding:10px 0;position:relative}nav button.active{color:var(--ink)}nav button.active:after{content:'';height:2px;background:var(--gold);position:absolute;bottom:0;left:0;right:0}.text-button{border:0;background:none;color:inherit;padding:8px 0;font-size:13px}.text-button:hover{color:var(--gold)}
#studio{height:calc(100svh - 84px);min-height:690px;position:relative;overflow:hidden}.room{position:absolute;inset:0;overflow:hidden}.room-plane{position:absolute;left:0;top:50%;width:100%;aspect-ratio:16/9;transform:translateY(-50%) scale(1.1);transform-origin:77% 50%}.room-plane>img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .45s ease}.room-fade{position:absolute;inset:0;background:linear-gradient(90deg,#f2eee6 0%,#f2eee6fa 18%,#f2eee6eb 29%,#f2eee6b8 38%,#f2eee640 46%,transparent 54%),linear-gradient(0deg,#f2eee6 0,transparent 13%);pointer-events:none}.menu{position:relative;z-index:2;width:43%;max-width:680px;height:calc(100% - 68px);padding:clamp(30px,5vh,70px) 5% 15px 4.5%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c6bcae transparent}.eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 18px}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(44px,4.5vw,72px);line-height:1.04;margin:0 0 22px}h1 em{font-style:normal;color:var(--gold)}h2{font-size:40px;line-height:1.1;margin:8px 0 20px}.lead{color:#50615f;font-size:16px;line-height:1.7;margin:0 0 25px}
.choices{display:grid;grid-template-columns:1fr;gap:9px;margin:22px 0}.choices.compact{grid-template-columns:1fr 1fr;gap:8px}.choice{position:relative;display:block;text-align:left;border:1px solid var(--line);border-radius:3px;padding:17px 36px 17px 17px;background:#fffcf6b8;color:var(--ink);transition:border .2s,background .2s,transform .2s;min-height:76px}.choice strong{display:block;font-size:16px;font-weight:500}.choice span{display:block;color:var(--muted);font-size:13px;margin-top:3px;line-height:1.45}.choice:after{content:'↗';position:absolute;right:14px;top:18px;color:#9c9f93}.choice:hover,.choice:focus-visible{background:#fffdf8;border-color:#b49b76;transform:translateX(3px)}.choice.selected{border-color:var(--gold);background:#fffaf0;box-shadow:inset 3px 0 var(--gold)}.choice.selected:after{content:'✓';color:var(--gold)}.compact .choice{min-height:57px;padding:10px 28px 10px 12px}.compact .choice strong{font-size:14px}.compact .choice:after{right:9px;top:12px}.compact .choice span{font-size:12px}
.hint{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:14px;color:#596662}.hint b{color:var(--gold);font-weight:500}.actions{display:flex;align-items:center;gap:15px;margin-top:25px}.primary{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:30px;padding:13px 23px;font-size:14px;letter-spacing:.02em;transition:background .2s,transform .2s}.primary:hover:not(:disabled){background:#314949;transform:translateY(-2px)}.secondary{padding:11px 18px;border:1px solid var(--line);border-radius:25px;background:#fff8;color:var(--ink);font-size:14px}.fine{font-size:12px;color:#6e746e;line-height:1.6}.demo-label{display:inline-block;padding:4px 8px;background:#ede5d7;color:#755938;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin:14px 0}
footer{height:68px;position:absolute;bottom:0;left:0;right:0;display:flex;gap:23px;align-items:center;padding:0 4.5%;background:#f2eee6e6;border-top:1px solid #fff8;z-index:3}.progress{width:150px;height:2px;background:#c8c7ba}.progress span{height:100%;display:block;background:var(--gold);transition:width .5s}#stepCount{font-size:12px;color:#666d65;letter-spacing:.08em}#restart{margin-left:auto}.scene-caption{position:absolute;right:4%;bottom:94px;color:#fff;font-size:11px;letter-spacing:.13em;padding:8px 12px;background:#172629ba;max-width:49%;text-align:right}
footer #back{min-width:82px;padding:10px 14px;border:1px solid var(--line);border-radius:24px;background:#fff8;font-size:14px;font-weight:500}
.screen-canvas{position:absolute;left:51.05%;top:21.18%;width:38.2%;height:36.85%;overflow:hidden;background:#f6f5ef;color:#18343a;container-type:size;box-shadow:inset 0 0 20px #0002}#screenContent{width:100%;height:100%;position:relative}.screen-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5%;animation:project-in .48s ease both;background:radial-gradient(ellipse at 45% 30%,#fff,#e4e6e1)}.screen-slide:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,#ffffff55 50%,transparent 70%);animation:sweep .75s ease both}.screen-slide .eyebrow{font-size:3cqw;margin:0 0 2%}.screen-slide h2{font-size:10cqw;line-height:1;margin:0 0 3%;letter-spacing:-.025em}.screen-slide p{font-size:3.3cqw;line-height:1.5;max-width:85%;margin:0}.screen-slide .brand-name{font-size:13cqw;font-weight:700;letter-spacing:-.03em;line-height:1.05}.screen-slide .model-name{font-family:Georgia,serif;font-size:6cqw;margin:3% 0}.screen-slide .asset-note{position:absolute;bottom:4%;font-size:2.3cqw;letter-spacing:.05em;color:#737d77}.screen-slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.screen-slide .image-caption{position:absolute;bottom:0;left:0;right:0;padding:4%;color:#fff;background:linear-gradient(transparent,#142426dd);text-align:left}.image-caption strong{font:400 7cqw Georgia;display:block}.image-caption span{font-size:3cqw}.scale-screen{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--size);aspect-ratio:16/9;border:1px solid #a8804f;background:#faf9f390;display:grid;place-content:center;transition:width .4s}.scale-screen strong{font:400 14cqw Georgia}.scale-screen span{font-size:3cqw}.scale-outline{position:absolute;inset:8%;border:1px dashed #203d3430}.scale-caption{position:absolute;bottom:2%;font-size:2.5cqw;left:0;right:0}.finish-chip{height:35%;aspect-ratio:1;border-radius:50%;margin-bottom:5%;border:5px solid #fff;box-shadow:0 15px 35px #26352324}
.fields{display:grid;gap:12px;margin:20px 0}label{font-size:13px;display:block;color:#53615b}input,select,textarea{width:100%;border:1px solid #bdc2b7;border-radius:3px;padding:10px;background:#fffaf2;color:var(--ink);margin-top:5px}textarea{resize:vertical;min-height:70px}.review{margin:20px 0}.review-row{display:grid;grid-template-columns:90px 1fr auto;gap:10px;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.review-row>span{color:#69756c}.review-row b{font-weight:500}.review-row button{border:0;background:none;color:var(--gold);font-size:12px}.review-actions{display:grid;gap:10px}.dealer{padding:16px;background:#ece3d3;border-left:2px solid var(--gold);font-size:14px;margin:18px 0}.dealer strong{display:block}.menu.enter #copy{animation:question-in .5s ease both}.reveal .room-plane{animation:reveal-room 1s ease both}.reveal .menu h1{font-size:clamp(62px,5.8vw,92px)}.reveal .screen-canvas{display:none}.swatches{display:grid;grid-template-columns:1fr 1fr;gap:9px}.swatch-dot{display:inline-block!important;width:22px;height:22px;border-radius:50%;border:1px solid #0002;vertical-align:middle;margin:0 8px 0 0!important}.swatches .choice strong{font-size:14px}
dialog{border:1px solid #c9c6b9;border-radius:8px;background:#f8f4eb;color:var(--ink);width:min(540px,92vw);padding:35px;box-shadow:0 30px 100px #0004}dialog.wide-dialog{width:min(980px,94vw);max-height:88vh;overflow:auto}dialog::backdrop{background:#15252a66;backdrop-filter:blur(6px)}.close{position:absolute;right:15px;top:8px;border:0;background:none;font-size:28px;color:#657169}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@keyframes project-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes sweep{from{transform:translateX(-110%)}to{transform:translateX(110%)}}@keyframes question-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@keyframes reveal-room{from{opacity:.3;filter:blur(5px)}to{opacity:1;filter:none}}
@media(max-width:1100px){.menu{width:46%;padding-left:3.5%;padding-right:3%}nav{gap:18px}.room-fade{background:linear-gradient(90deg,#f2eee6 0%,#f2eee6fa 23%,#f2eee6d9 36%,transparent 56%)}h1{font-size:48px}}
@media(max-width:760px){header{height:70px;padding:0 20px}.brand img{height:48px;width:35px}.brand span{font-size:12px}nav{display:none}#previewSettings{font-size:12px}#studio{height:auto;min-height:calc(100svh - 70px);overflow:visible;display:flex;flex-direction:column}.room{position:relative;height:310px;flex:none}.room-plane{width:185%;left:-77%;transform:translateY(-50%);transform-origin:center}.room-fade{background:linear-gradient(0deg,#f2eee6,transparent 18%)}.scene-caption{right:15px;bottom:15px;font-size:9px;max-width:85%}.menu{width:100%;max-width:none;height:auto;padding:20px 24px 40px;overflow:visible;order:1}h1{font-size:46px;max-width:500px}.lead{max-width:550px}.reveal .menu h1{font-size:60px}.choices{max-width:550px}footer{position:sticky;bottom:0;height:60px;padding:0 20px;gap:15px;order:2}.progress{width:70px}#stepCount{font-size:10px}.eyebrow{margin-bottom:12px}.actions{margin-top:22px}.screen-slide .asset-note{font-size:2.6cqw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{body>*{display:none!important}body>#actionDialog[open]{display:block!important;position:static;width:100%;max-width:none;border:0;box-shadow:none}dialog .close,dialog button{display:none!important}dialog::backdrop{display:none}}
.option-thumb{display:block;width:100%;height:65px;object-fit:contain;margin:0 0 8px;mix-blend-mode:multiply}.finish-thumb{height:44px;object-fit:cover;border-radius:2px}.legacy{border-top:1px solid var(--line);padding-top:18px}.screen-slide img.contain{object-fit:contain;padding:5% 5% 12%;background:#fafaf7}.screen-slide:has(img.contain) .image-caption{background:#f6f4eced;color:var(--ink);padding:2% 4%}.screen-slide:has(img.contain) .image-caption strong{font:500 4cqw 'DM Sans',Arial}.cabinet-stage{position:absolute;inset:0 0 68px 43%;padding:4% 4% 3% 2%;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 50% 60%,#fffdf8,transparent 75%);z-index:1}.cabinet-heading{text-align:center}.cabinet-heading h2{font-size:clamp(30px,3vw,48px);margin:0 0 6px}.cabinet-heading p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.cabinet-heading .eyebrow{font-size:10px;margin-bottom:10px}.cabinet-layers{position:relative;width:100%;margin:25px 0 0;filter:drop-shadow(0 25px 16px #3332)}.cabinet-layers img{display:block;width:100%;height:auto}.cabinet-layers img:not(:first-child){position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.cabinet-layers img.charcoal-proxy{filter:brightness(1.55) contrast(.92)}.render-note{font-size:11px;color:#726a5c;text-align:center;max-width:650px;min-height:34px;line-height:1.5}.configuring .room-plane{opacity:0}.configuring .room{background:linear-gradient(130deg,#f2eee6,#eee9df 65%,#e7dfd2)}.configuring .room-fade{background:linear-gradient(90deg,#f2eee6 25%,transparent 65%)}.configuring .scene-caption{display:none}.feature-detail{align-self:center;display:flex;align-items:center;gap:14px;max-width:400px;padding:10px;background:#fffcf4bd;border:1px solid #d6cdbc;border-radius:5px}.feature-detail img{width:90px;height:70px;object-fit:cover;border-radius:2px}.feature-detail span{font-size:13px}.feature-detail small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.reveal .room-plane{width:100%;height:100%;aspect-ratio:auto;left:0;top:0;transform:none}.reveal .room-plane>img{object-fit:cover;object-position:center}.reveal .room-fade{background:linear-gradient(90deg,#f2eee6f5 0%,#f2eee6e8 23%,#f2eee699 37%,transparent 60%)}
@media(max-width:1100px) and (min-width:761px){.cabinet-stage{left:46%;padding-right:2%}.option-thumb{height:48px}}
@media(max-width:760px){.configuring .room{display:none}.cabinet-stage{position:relative;inset:auto;width:100%;min-height:280px;padding:25px 20px 15px;order:0}.cabinet-heading h2{font-size:28px}.cabinet-layers{margin:15px 0 0}.render-note{margin:12px 0 0;font-size:10px;min-height:0}.feature-detail{margin-top:12px}.reveal .room-plane{width:100%;left:0;top:0;transform:none}.reveal .room-fade{background:linear-gradient(0deg,#f2eee6,transparent 20%)}.option-thumb{height:72px}}
@media(min-width:761px){.cabinet-stage{inset:0 0 68px 25%;padding:0;display:block;overflow:hidden}.cabinet-layers{position:absolute;inset:0;width:100%;height:100%;margin:0;filter:none}.cabinet-layers img,.cabinet-layers img:not(:first-child){width:100%;height:100%;object-fit:cover;object-position:55% center}.cabinet-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f2eee6 0%,#f2eee6ed 10%,#f2eee650 24%,transparent 40%),linear-gradient(0deg,#f2eee6ed,transparent 16%)}.cabinet-heading{position:absolute;top:5%;right:5%;left:32%;z-index:1;padding:12px 20px;background:#f7f3e9d9;backdrop-filter:blur(10px);border:1px solid #fff6}.cabinet-heading h2{font-size:34px}.render-note{position:absolute;bottom:12px;left:28%;right:5%;z-index:1;margin:0}.feature-detail{position:absolute;right:5%;bottom:65px;z-index:1;background:#fffcf4ed}.configuring .menu{background:linear-gradient(90deg,#f2eee6,#f2eee6ed 80%,transparent)}}
#introImage{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s ease}.intro #introImage{opacity:1}.screen-canvas{transition:opacity .65s ease}.scale-screen{height:var(--height);aspect-ratio:auto;width:var(--size);background:#faf9f3b8}.scale-screen.full-size{border:0;background:none}.scale-caption{bottom:3%;font-size:2.4cqw}.reveal #introImage{display:none}
.screen-canvas{animation:screen-on .8s ease both}@keyframes screen-on{from{opacity:0}to{opacity:1}}
.tv-fit-guidance{border-left:3px solid var(--gold);background:#fff9;padding:16px 18px;margin:20px 0}.tv-fit-guidance>strong{font-size:16px;font-weight:600}.tv-fit-guidance p{font-size:14px;line-height:1.6;color:#50615f;margin:12px 0 0}.tv-fit-guidance p.fine{font-size:12px}.screen-layer-stack{position:absolute;inset:0;background:#f2eee6}.screen-layer-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.room-consultation{border-top:1px solid var(--line);padding-top:22px}.room-consultation h2{font-size:34px;margin:0 0 14px}.room-consultation p:not(.fine){font-size:15px;line-height:1.65;color:#50615f}.room-consultation label{font-size:15px;font-weight:500}.room-consultation textarea{min-height:120px}.photo-label{margin-top:22px}.photo-label span{font-weight:400;color:var(--muted)}#roomPhotos{font-size:13px;padding:14px;border:1px dashed #a8977c;background:#fff9}#roomPhotos::file-selector-button{border:0;border-radius:20px;padding:9px 13px;margin-right:10px;background:var(--ink);color:white;cursor:pointer}.room-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-photo-grid figure{margin:0;padding:8px;background:#fff9;border:1px solid var(--line);border-radius:4px}.room-photo-grid img{width:100%;height:110px;object-fit:cover;border-radius:2px}.room-photo-grid figcaption{font-size:12px;overflow-wrap:anywhere;line-height:1.4;margin-top:5px}.room-photo-grid button{font-size:12px;color:#865329}#photoPrototype{padding:10px 12px;background:#eee6d9;border-radius:3px}
.inline-cloth,.cooling-explainer{margin:22px 0;padding:18px;border:1px solid var(--line);background:#fffaf2cc}.inline-cloth>p:not(.eyebrow),.cooling-explainer>p,.av-cooling-note p{font-size:13px;line-height:1.55;color:#53615b}.cloth-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.fabric-choice{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);background:#fffaf4;color:var(--ink);border-radius:3px;text-align:left}.fabric-choice>span:last-child{display:grid;gap:2px}.fabric-choice small{font-size:9px;color:var(--muted);line-height:1.2}.fabric-choice.selected{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.fabric-swatch{width:28px;height:28px;flex:0 0 28px;border-radius:50%;border:1px solid #7778;background-color:#111;background-image:repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#fff1 0 1px,transparent 1px 4px)}.fabric-swatch.black{background-color:#0d0d0d}.fabric-swatch.charcoal{background-color:#747474}.fabric-swatch.white{background-color:#eeeae1;background-image:repeating-linear-gradient(0deg,#7772 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#7772 0 1px,transparent 1px 4px)}.cooling-path{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center;margin:14px 0}.cooling-path span{min-height:50px;display:grid;place-items:center;text-align:center;padding:8px;border:1px solid #cfc6b7;background:#f7f1e7;font-size:12px;line-height:1.35}.cooling-path b{color:var(--gold)}.av-cooling-note{margin-top:16px;padding:14px;border-left:3px solid var(--gold);background:#f7f1e7}.av-cooling-note strong{font-family:var(--sans);font-size:13px;color:var(--ink)}.av-cooling-note p{margin:5px 0 0}.zone-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.zone-key.zones-1{grid-template-columns:1fr}.zone-key.zones-2{grid-template-columns:repeat(2,minmax(0,1fr))}.zone-key span{font-size:11px;line-height:1.35;color:#53615b;white-space:nowrap}.zone-key b{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:5px;border-radius:50%;background:var(--ink);color:#fff;border:1px solid var(--gold)}.zone-reference{width:100%;display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:14px;padding:9px 11px;border:1px solid #cfc6b7;border-radius:4px;background:#f7f1e7;color:var(--ink);text-align:left;cursor:pointer}.zone-reference:hover,.zone-reference:focus-visible{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.zone-reference-thumb{display:block;width:92px;height:46px;overflow:hidden}.zone-reference svg{display:block;width:100%;height:100%}.zone-reference strong{display:block;font-size:12px}.zone-reference small{display:block;margin-top:2px;font-size:10px;color:var(--muted)}.zone-reference-open{font-size:10px;color:var(--gold);white-space:nowrap}.zone-reference.large{display:block;width:auto;margin:0;padding:0;border:0;background:transparent;cursor:default}.zone-reference.large:hover{box-shadow:none}.zone-reference.large svg{width:100%;height:auto;max-height:430px}.zone-reference.large h2{text-align:center;margin:6px 0 14px}.zone-reference-note{font-size:13px;line-height:1.6;color:#53615b;text-align:center;max-width:680px;margin:16px auto 0}.lighting-explainer em{font-family:var(--serif);font-size:1.08em}.finish-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.finish-gallery figure{margin:0;border:1px solid var(--line);background:#fffaf4;padding:10px;border-radius:4px}.finish-gallery figure.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.finish-gallery img{display:block;width:100%;height:150px;object-fit:cover;border-radius:2px}.finish-gallery figcaption{display:flex;justify-content:space-between;gap:8px;padding-top:9px;font-size:13px}.finish-gallery figcaption span{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
@media(max-width:760px){.cloth-options,.zone-key,.finish-gallery{grid-template-columns:1fr}.zone-key span{white-space:normal}.zone-reference{grid-template-columns:76px minmax(0,1fr)}.zone-reference-thumb{width:76px;height:40px}.zone-reference-open{grid-column:2}.cooling-path{grid-template-columns:1fr}.cooling-path b{transform:rotate(90deg);justify-self:center}.finish-gallery img{height:180px}}
@media(min-width:761px){.reveal .room-plane{left:30%;width:70%;top:0;height:calc(100% - 68px);transform:none}.reveal .room-plane>img{object-fit:cover;object-position:right center}.reveal .room-fade{background:linear-gradient(90deg,#f2eee6 0%,#f2eee6 29%,#f2eee6e6 35%,#f2eee66b 43%,transparent 51%),linear-gradient(0deg,#f2eee6 0%,transparent 16%)}.reveal .menu{width:40%;padding-right:3%}.reveal .menu h1{font-size:clamp(58px,5.1vw,82px)}}

/* Keep the complete cabinet beyond the menu fade. Source pixels and layered
   registration are preserved; framing.js positions each scene by its subject. */
.screen-layer-stack{overflow:hidden}
.screen-layer-stack img{object-fit:cover;object-position:center;transform:scale(1.035);transform-origin:center}
.reveal .room-plane>img#roomImage,.cabinet-layers img,.cabinet-layers img:not(:first-child){position:absolute;inset:auto;max-width:none;object-fit:fill;filter:none}
.menu .feature-detail{position:relative;inset:auto;margin:24px 0 0;max-width:100%;background:#fffcf4}
@media(min-width:761px){
 .reveal .room-plane{left:0;width:100%;height:calc(100% - 68px);overflow:hidden;background:#f2eee6}
 .reveal .room-fade{background:linear-gradient(90deg,#f2eee6 0%,#f2eee6 32%,#f2eee6d9 37%,#f2eee650 42%,transparent 46%)}
 .reveal .scene-caption{bottom:80px}
 .cabinet-stage{inset:0 0 68px 0;padding:0;background:#f2eee6}
 .cabinet-stage:after{background:linear-gradient(90deg,#f2eee6 0%,#f2eee6 32%,#f2eee6d9 37%,#f2eee650 42%,transparent 46%)}
 .cabinet-layers{inset:0;overflow:hidden;filter:none}
 .cabinet-heading{top:2%;left:47%;right:2%;padding:10px 16px;background:#f7f3e9e8;backdrop-filter:none}
 .cabinet-heading h2{font-size:28px}
 .cabinet-heading .eyebrow{margin-bottom:5px}
 .render-note{left:47%;right:2%;bottom:12px;max-width:none;min-height:0;padding:8px 12px;background:#f7f3e9eb;border-radius:3px}
 .render-note:empty{display:none}
 .configuring .menu{background:none}
}
@media(max-width:760px){
 .reveal .room-plane{overflow:hidden;background:#f2eee6}
 .reveal .room-fade{background:none}
 .reveal .scene-caption{bottom:0;padding:4px 8px;font-size:8px}
 .cabinet-stage{display:flex;padding:16px 0 0;background:#f2eee6;overflow:hidden}
 .cabinet-heading{padding:0 20px}
 .cabinet-layers{height:340px;flex:none;overflow:hidden;filter:none;margin:12px 0 0}
 .render-note{padding:12px 20px;margin:0;max-width:none}
}

/* Keep the desktop journey moving without unnecessary vertical scrolling.
   The 68px footer below is the Studio's Back/Next navigation, not the site's
   legal footer, and therefore remains available throughout the build. */
@media(min-width:761px){
 .menu{padding-top:clamp(18px,3vh,34px)}
 .eyebrow{margin-bottom:11px}
 h1{margin-bottom:14px}
 .lead{line-height:1.58;margin-bottom:16px}
 .choices{gap:7px;margin:14px 0}
 .choice{min-height:64px;padding:12px 34px 12px 14px}
 .choice:after{top:13px}
 .hint{margin-top:13px;padding-top:12px}
 .actions{margin-top:16px}
 .fields{gap:9px;margin:14px 0}
}
.screen-slide:has(.screen-layer-stack) .image-caption{top:0;bottom:auto;padding:2% 3%;background:linear-gradient(#142426e8,transparent)}
.screen-slide:has(.screen-layer-stack) .image-caption strong{font-size:5cqw}
.screen-slide:has(.screen-layer-stack) .image-caption span{font-size:2.5cqw}
.intro .feature-detail,.reveal .feature-detail{display:none!important}
.choice:has(.choice-price){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding-right:38px}.choice-copy{min-width:0;margin:0!important}.choice-price{display:flex!important;align-items:flex-end;gap:3px;margin:0!important;text-align:right;color:var(--ink)!important;line-height:1.15!important}.choice-price s{font-size:11px;color:#817d74}.choice-price b{font-size:15px;font-weight:600;color:var(--ink)}.choice-price em{font-size:9px;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.choice-price.retail-only em{color:#8a5b42}.dialog-link{display:inline-block;text-decoration:none;text-align:center}.review-actions a{justify-self:start}
.quote-summary{margin:20px 0;padding:18px;border:1px solid #cdbb9f;background:#fffaf2}.quote-summary .eyebrow{margin-bottom:10px}.quote-summary>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}.quote-summary>div strong{font-weight:600}.quote-summary .quote-total{font-size:18px;border-top:2px solid var(--ink);border-bottom:0;margin-top:5px;padding-top:12px}.quote-summary>p:last-child{font-size:11px;color:var(--muted);margin:10px 0 0}.quote-result{display:grid;gap:8px;margin:18px 0;padding:15px;background:#fffaf2;border:1px solid var(--line)}.quote-result span{display:flex;justify-content:space-between;gap:20px}

/* Ares 100 Standard uses original white-glass / white-leg base renders, with
   registered black overlays added only when selected. Its center-grille source
   still uses tone-specific presentation filters until replacement art exists. */
.cabinet-layers img.charcoal-proxy{filter:brightness(1.75) contrast(.88) saturate(.1)}
.cabinet-layers img.white-proxy{filter:invert(1) grayscale(1) brightness(1.28) contrast(.72)}
.cabinet-layers img.ares-lr-door-clip{clip-path:url(#aresLRDoors)}
.studio-clips{position:absolute;overflow:hidden;pointer-events:none}
.cabinet-layers img.sfc-grille.tone-black.sfc-grille-center{filter:brightness(.9) contrast(1.05) saturate(.45)}
.cabinet-layers img.sfc-grille.tone-black.sfc-grille-side{filter:brightness(.58) contrast(1.08) saturate(.35)}
.cabinet-layers img.sfc-grille.tone-charcoal.sfc-grille-center{filter:brightness(1.85) contrast(.78) saturate(.08)}
.cabinet-layers img.sfc-grille.tone-charcoal.sfc-grille-side{filter:brightness(1.03) contrast(.82) saturate(.08)}
.cabinet-layers img.sfc-grille.tone-white.sfc-grille-center{filter:brightness(1.28) contrast(.86) saturate(.15)}
.cabinet-layers img.sfc-grille.tone-white.sfc-grille-side{filter:brightness(.96) contrast(.88) saturate(.15)}
.projector-purpose{display:grid;gap:4px;margin:18px 0;padding:13px 14px;border-left:3px solid var(--gold);background:#f7f1e7;color:#53615b;font-size:12px;line-height:1.45}.projector-purpose strong{color:var(--ink);font-size:13px}
.choice-price.starting-price{flex-direction:column;align-items:flex-end}

/* One universal, head-on photographic zone reference. The live cabinet preview
   stays untouched; only this expandable reference carries A/B/C markers. */
.zone-map-photo{position:relative;display:block;width:100%;aspect-ratio:1678/943;overflow:hidden;background:#ded9ce}
.zone-map-photo img{display:block;width:100%;height:100%;object-fit:cover}
.zone-map-marker{position:absolute;left:var(--zone-x);top:var(--zone-y);transform:translate(-50%,-50%);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--gold);background:#17272aeb;color:#fff;font:700 12px/1 var(--sans);box-shadow:0 2px 8px #0005}
.zone-reference-thumb .zone-map-marker{width:15px;height:15px;border-width:1px;font-size:8px;box-shadow:none}
.zone-reference.large .zone-map-photo{border:1px solid #cfc6b7;border-radius:4px}
.zone-reference.large .zone-map-marker{width:40px;height:40px;border-width:3px;font-size:18px}

/* Installed-feature cards open a large, descriptive placement reference. */
.feature-detail{width:min(100%,400px);max-width:none;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.feature-detail:hover,.feature-detail:focus-visible{border-color:var(--gold);background:#fffaf0;transform:translateY(-1px)}
.feature-detail strong{display:block;font-weight:500}.feature-detail .feature-open{margin-left:auto;color:var(--gold);font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.feature-flyout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr);gap:30px;align-items:center}
.feature-flyout>img{display:block;width:100%;max-height:68vh;object-fit:contain;background:#171717;border-radius:4px}
.feature-flyout h2{font-size:clamp(32px,4vw,58px);margin:.1em 0 .35em}.feature-flyout p{line-height:1.65}
@media(max-width:700px){.feature-flyout{grid-template-columns:1fr;gap:18px}.feature-flyout>img{max-height:52vh}.feature-detail .feature-open{font-size:8px}}

/* Review pricing and targeted editing */
.review-row{grid-template-columns:85px minmax(0,1fr) 100px auto;align-items:center;gap:9px}.review-row .review-price{color:var(--ink);text-align:right;font-size:12px;font-weight:600}.review-row .detail-note{font-size:10px;font-weight:400;color:#69756c}.review-row .exclusion{color:#8a4b27}.review-row .projector-exclusion-inline{display:block;font-size:11px;color:#8a4b27;margin-top:5px}.cabinet-base{border-top:2px solid var(--ink);font-weight:600}.projector-exclusion,.review-edit-note{padding:14px 16px;background:#ece3d3;border-left:3px solid var(--gold);font-size:13px;margin:18px 0}.projector-exclusion p{margin:5px 0 0;line-height:1.5}.shipping-result{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.shipping-result p{font-size:12px;line-height:1.5}.shipping-result>div{display:flex;justify-content:space-between;gap:14px;margin:10px 0}.shipping-result .quote-total{border-top:2px solid var(--ink);padding-top:12px}.shipping-result strong{white-space:nowrap}@media(max-width:520px){.review-row{grid-template-columns:72px minmax(0,1fr) auto}.review-row .review-price{grid-column:2;grid-row:auto;text-align:left}.review-row button{grid-column:3;grid-row:1 / span 2}.review-row .detail-note{display:none}.review-row.cabinet-base>span:last-child{display:none}}

/* Compact commercial summary; technical selections remain available on demand. */
.commercial-row{grid-template-columns:minmax(0,1fr) 92px auto;gap:12px;padding:14px 0}.commercial-row>div>b{display:block;font-weight:600}.commercial-row>div>small{display:block;color:#69756c;font-size:12px;margin-top:4px;line-height:1.5}.commercial-row .review-price{grid-column:2;text-align:right}.review-planning,.review-included{margin:14px 0;font-size:13px;border-bottom:1px solid var(--line);padding:10px 0}.review-planning>summary,.review-included>summary{cursor:pointer;color:#53615b}.planning-row{grid-template-columns:100px minmax(0,1fr) auto}.review-edit-menu{position:relative;font-size:12px;color:var(--gold)}.review-edit-menu>summary{cursor:pointer;list-style:none}.review-edit-menu>div{position:absolute;right:0;top:24px;min-width:150px;background:#fffaf2;border:1px solid var(--line);padding:8px;box-shadow:0 5px 20px #0002;z-index:5}.review-edit-menu button{display:block;padding:9px;text-align:left;width:100%}@media(max-width:520px){.commercial-row{grid-template-columns:minmax(0,1fr) 85px auto}.commercial-row .review-price{grid-column:2;grid-row:1;text-align:right}.commercial-row>button,.commercial-row>.review-edit-menu{grid-column:3;grid-row:1}.planning-row{grid-template-columns:85px minmax(0,1fr) auto}.planning-row>button{grid-row:1}}

.review-project-details{border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.review-project-details>summary{cursor:pointer;font-weight:600}.review-project-details .room-consultation{margin-top:16px}
.shipping-review>.shipping-result{display:block;min-width:0;padding:12px 0 0;border-bottom:0}.shipping-review>.shipping-result[hidden]{display:none}.shipping-result>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.shipping-result>div>span{min-width:0;overflow-wrap:anywhere}.shipping-result>p{margin:12px 0 0;overflow-wrap:anywhere}

/* Order review is a readable document with a supporting cabinet thumbnail. */
#studio.reviewing{height:auto;min-height:calc(100svh - 84px);overflow:visible;display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:36px;max-width:1220px;margin:0 auto;padding:32px 28px 0;align-items:start}
.reviewing>.room{display:none}.reviewing>.menu{grid-column:1;grid-row:1;width:100%;max-width:none;height:auto;padding:0 0 32px;overflow:visible;background:none}.reviewing .menu h1{font-size:46px}.reviewing>.cabinet-stage{grid-column:2;grid-row:1;position:sticky;inset:auto;top:105px;width:100%;height:290px;min-height:0;display:flex;flex-direction:column;padding:14px;background:#eee9df;border:1px solid var(--line);border-radius:4px;overflow:hidden}.reviewing .cabinet-stage:after{display:none}.reviewing .cabinet-heading{position:static;padding:0;background:none;border:0;backdrop-filter:none}.reviewing .cabinet-heading h2{font-size:26px}.reviewing .cabinet-heading .eyebrow{display:none}.reviewing .cabinet-layers{position:relative;inset:auto;flex:1;width:100%;min-height:160px;height:180px;margin:10px 0 0}.reviewing .render-note{display:none}.reviewing>footer{grid-column:1/-1;position:sticky;bottom:0;width:100%;height:60px;padding:0 0;order:2}.reviewing .shipping-review>.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;padding:0}.reviewing .review-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.reviewing .review-actions button{min-height:48px}
@media(max-width:900px){#studio.reviewing{grid-template-columns:minmax(0,1fr);padding:24px 20px 0;gap:20px}.reviewing>.cabinet-stage{grid-column:1;grid-row:1;position:relative;top:auto;height:210px;max-width:380px;margin:0 auto}.reviewing>.menu{grid-column:1;grid-row:2}.reviewing .cabinet-layers{min-height:110px;height:130px}.reviewing .menu h1{font-size:38px}.reviewing>footer{grid-row:3}}
@media(max-width:420px){.reviewing .shipping-review>.fields,.reviewing .review-actions{grid-template-columns:1fr}}

.feature-flyout+.feature-flyout{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}

/* Embedded product order review uses the exact Studio commerce controls. */
body.embedded-review{min-height:0;overflow:visible}
.embedded-review>header{display:none}
.embedded-review #studio{height:auto;min-height:0;max-width:none;padding:24px;display:block;overflow:visible}
.embedded-review #studio>.room,.embedded-review #studio>.cabinet-stage,.embedded-review #studio>footer{display:none!important}
.embedded-review #studio>.menu{position:relative;inset:auto;width:100%;max-width:none;height:auto;padding:0;overflow:visible;background:none}
.embedded-review .menu h1{font-size:clamp(32px,4vw,46px)}
.embedded-review .menu .choices{max-width:none}
.embedded-review dialog{position:fixed;top:24px;bottom:auto;margin:0 auto;max-height:80vh;overflow:auto}
@media(max-width:600px){.embedded-review #studio{padding:20px 12px}.embedded-review .shipping-review>.fields,.embedded-review .review-actions{grid-template-columns:1fr}}
