.visualizer-teaser{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;align-items:center}.visualizer-teaser>div:first-child{position:relative}.visualizer-teaser img{width:100%;aspect-ratio:3/2;object-fit:cover}.visualizer-teaser .image-status{position:absolute;bottom:16px;left:16px;background:var(--paper,#faf8f5);padding:7px 12px}.visualizer-teaser h2{margin:18px 0 24px}.visualizer-teaser .button{margin:18px 0}.visualizer-intro{padding-top:74px;padding-bottom:42px}.visualizer-intro h1{font-size:clamp(45px,5.3vw,78px);margin:18px 0 24px;line-height:1.05}.visualizer-intro .lead{margin-bottom:22px}.visualizer-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:5%;padding-bottom:110px}.visualizer-canvas{position:sticky;top:110px;min-width:0}.canvas-top{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:42px;margin-bottom:10px}.room-stage{position:relative;background:#e8e3dc;overflow:hidden;min-height:280px}.room-stage img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block}.room-stage [hidden]{display:none!important}.room-empty-caption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(25,27,24,.82));color:#fff;padding:55px 24px 23px;display:flex;flex-direction:column;gap:7px}.room-empty-caption>span{font-family:Manrope,sans-serif;font-size:clamp(22px,2.1vw,30px)}.room-empty-caption small{font-size:13px}.canvas-caption{font-size:14px;color:#6c675e;line-height:1.6;margin:15px 0 23px}.inspiration-strip{display:flex;gap:18px;align-items:center;padding-top:22px;border-top:1px solid #d6d1c9}.inspiration-strip img{width:112px;height:76px;object-fit:cover}.inspiration-strip>div{display:flex;flex-direction:column;gap:5px}.inspiration-strip .eyebrow{font-size:10px}.visualizer-panel{min-width:0;scroll-margin-top:100px}.visualizer-panel h2{font-size:32px;line-height:1.15;margin:23px 0 14px}.visualizer-panel p{margin-bottom:20px}.visualizer-panel fieldset{border:0;padding:0;margin:0;min-width:0}.visualizer-panel fieldset[data-visual-step]>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.visualizer-steps{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#716d65}.visualizer-steps li{padding:0 0 15px;border-bottom:2px solid #d8d2c9}.visualizer-steps [aria-current]{color:#222620;border-color:#222620}.visualizer-panel [data-visual-service]{min-height:42px;font-size:13px}.room-upload{display:flex;flex-direction:column;gap:10px;text-align:center;align-items:center;padding:32px 20px;margin:25px 0 14px;border:1px dashed #9d978c;background:#f0ece5;cursor:pointer}.room-upload strong{font-size:18px;font-weight:500}.room-upload>span:last-of-type{color:#6f695f;font-size:13px}.room-upload input{width:100%;max-width:310px;font-size:13px;background:transparent;border:0;padding:12px 0 0}.upload-plus{font-size:34px;font-weight:300}.visualizer-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:30px;margin-bottom:18px}.visualizer-actions button{min-height:48px}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;margin-top:26px}.preset-choice,.finish-choice{cursor:pointer;position:relative}.preset-choice input,.finish-choice input{position:absolute;opacity:0;width:1px;height:1px}.preset-choice>span{display:block;border:1px solid #d3cec5;padding:5px;transition:border-color .2s}.preset-choice img{width:100%;aspect-ratio:3/2;object-fit:cover}.preset-choice>span>span{display:flex;flex-direction:column;gap:5px;padding:10px 6px 8px}.preset-choice strong{font-size:14px;font-weight:500}.preset-choice small{font-size:11px;color:#6f6a62}.preset-choice input:checked+span,.finish-choice input:checked+span{border-color:#2b342c;box-shadow:0 0 0 1px #2b342c;background:#ecece3}.preset-choice input:focus-visible+span,.finish-choice input:focus-visible+span{outline:3px solid #6c7962;outline-offset:3px}.preset-choice input:checked+span::after{content:'✓';position:absolute;top:10px;right:10px;background:#283329;color:white;width:25px;height:25px;display:grid;place-items:center;font-size:14px}.design-group{border-top:1px solid #d3cec5;margin-top:24px}.design-group>summary{font-size:19px;padding:20px 25px 20px 0;cursor:pointer;list-style:none;position:relative}.design-group>summary::after{content:'+';position:absolute;right:0}.design-group[open]>summary::after{content:'−'}.design-group>summary:focus-visible{outline:2px solid #6c7962;outline-offset:4px}.design-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;margin:2px 0 20px}.design-field{min-width:0}.design-fields .full-span{grid-column:1/-1}.design-field label{display:flex;align-items:baseline;gap:8px;font-size:13px;margin-bottom:9px}.design-field label>span{color:#777167;font-size:11px}.design-field select,.design-field input{display:block;width:100%;height:46px;border:1px solid #c9c3b9;border-radius:0;background:#fffdf9;padding:10px 12px;font:inherit;font-size:14px;color:#252922;margin:0}.design-field select{padding-right:22px}.unit-input{display:flex;align-items:center;background:#fffdf9;border:1px solid #c9c3b9}.unit-input input{border:0;min-width:0}.unit-input>span{padding-right:12px;color:#777167;font-size:12px}.unit-input:focus-within{outline:2px solid #6c7962;outline-offset:2px}.inactive-field{opacity:.6}.design-field input:disabled,.design-field select:disabled{cursor:not-allowed}.design-fields [hidden]{display:none}.finish-picker{margin:0!important;padding:0;border:0}.finish-picker legend{font-size:13px;margin:0 0 12px}.finish-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:13px}.finish-choice>span{display:flex;height:100%;flex-direction:column;border:1px solid #d3cec5;padding:4px}.finish-choice img{width:100%;aspect-ratio:1;object-fit:cover}.finish-choice>span>span{padding:7px 3px 5px;font-size:11px;line-height:1.3;text-align:center}.color-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:23px}.color-chips button{width:25px;height:25px;border:1px solid #b8b1a6;box-shadow:0 0 0 3px #faf8f5;outline:1px solid transparent;cursor:pointer;background:var(--chip);padding:0;border-radius:50%}.color-chips button[aria-pressed=true]{outline-color:#333d30}.color-chips button:focus-visible{outline:3px solid #6c7962;outline-offset:3px}.visual-price-note{padding:20px;background:#ecece3;color:#3b4639;font-size:14px;line-height:1.6;margin:24px 0}.visualizer-panel .consent-field{margin-top:20px;line-height:1.5;font-size:12px}.visualizer-panel .consent-field input{flex-shrink:0}.visualizer-panel .field-note{font-size:12px;line-height:1.55}.visualizer-panel .design-group .field-note{margin-top:12px}.visualizer-panel .design-zone-options{gap:9px;margin:12px 0 18px}.visualizer-panel .choice:has(input:disabled){opacity:.45}.visualizer-panel .choice-fieldset legend{font-size:13px}.visualizer-panel .choice-fieldset .choice{font-size:13px}.generation-wait{position:absolute;inset:0;background:rgba(246,243,237,.93);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;backdrop-filter:blur(8px)}.generation-wait h2{font-size:27px;line-height:1.1;margin:20px 0 12px}.generation-wait p{max-width:360px;font-size:14px;line-height:1.55}.generation-wait .small{font-size:12px;color:#736d63;margin-top:14px}.generation-orbit{display:block;width:34px;height:34px;border:1px solid #bcb5a8;border-top-color:#303c2f;border-radius:50%;animation:concept-orbit 1.5s linear infinite}@keyframes concept-orbit{to{transform:rotate(360deg)}}.result-tabs{display:flex;gap:3px;border-bottom:1px solid #c9c3b9}.result-tabs button{padding:9px 10px;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;font:inherit;font-size:12px}.result-tabs button[aria-pressed=true]{border-color:#303c2f}.visual-result-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:25px 0 16px}.visual-result-actions .text-button{font-size:13px}.result-brief{margin:26px 0;border-top:1px solid #d3cec5}.result-brief>div{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;padding:10px 0;border-bottom:1px solid #e1dcd3;font-size:13px}.result-brief dt{color:#716c62}.result-brief dd{margin:0}.visual-result-panel .text-button{display:block;margin:18px 0;min-height:32px}.visual-result-panel [data-delete-concept]{color:#716c62;font-size:12px;margin-top:35px}.estimate-design-options{margin:30px 0}.estimate-design-options>h2{font-size:27px;margin-bottom:10px}.estimate-design-options .design-field label{margin-top:0}.estimate-design-options .design-field input,.estimate-design-options .design-field select{margin-bottom:0}.estimate-design-options .unit-input input{margin-bottom:0;border:0}.estimate-design-options .choice-fieldset{margin-top:20px}.attached-concept{background:#efede5;padding:20px;margin:20px 0}.attached-concept img{width:100%;height:auto;margin:12px 0}.attached-concept p{font-size:13px}.attached-concept button{font-size:12px;margin-top:12px}.visualizer-panel [hidden],.visualizer-canvas [hidden],.estimate-design-options [hidden]{display:none!important}
@media(max-width:1100px){.visualizer-layout{gap:4%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.design-fields{gap:16px 12px}.color-chips{gap:6px}.color-chips button{width:23px;height:23px}.visualizer-panel .button{font-size:13px;padding-left:16px;padding-right:16px}.room-stage{min-height:250px}.finish-choices{gap:7px}}
@media(max-width:900px){.visualizer-layout{grid-template-columns:1fr;gap:36px;max-width:760px}.visualizer-canvas{position:static}.visualizer-intro{max-width:760px;padding-top:42px}.visualizer-panel{border-top:1px solid #d3cec5;padding-top:28px}.room-stage{min-height:0}.room-empty-caption{padding:50px 20px 20px}.visualizer-teaser{gap:30px}.design-fields{gap:20px}.color-chips{gap:10px}.color-chips button{width:28px;height:28px}.finish-choices{gap:12px}.preset-choice strong{font-size:16px}.generation-wait h2{font-size:25px}.visualizer-layout{padding-bottom:70px}}
@media(max-width:600px){.visualizer-teaser{grid-template-columns:1fr}.visualizer-intro h1{font-size:46px}.visualizer-intro p{font-size:15px}.visualizer-intro .lead{font-size:19px}.visualizer-layout{gap:25px}.canvas-top .eyebrow{font-size:10px}.canvas-caption{font-size:12px}.room-empty-caption>span{font-size:22px}.room-empty-caption small{font-size:11px}.visualizer-panel h2{font-size:29px}.visualizer-panel p{font-size:14px}.design-field label{font-size:12px;display:block;line-height:1.4}.design-field label>span{margin-left:4px}.design-fields{gap:16px 12px}.design-field select{font-size:12px;padding-left:8px}.finish-choices{gap:8px}.finish-choice>span>span{font-size:10px}.color-chips{gap:8px;padding-top:29px}.color-chips button{width:23px;height:23px}.design-group>summary{font-size:18px}.preset-choice strong{font-size:13px}.preset-choice small{font-size:10px}.visualizer-steps{font-size:11px;gap:10px}.generation-wait{padding:12px}.generation-wait h2{font-size:22px;margin:8px 0}.generation-wait p{font-size:12px}.generation-wait .small{font-size:10px;margin-top:7px}.generation-orbit{width:24px;height:24px}.visual-result-actions{display:grid;gap:15px}.visual-result-actions .button{text-align:center}.visualizer-panel .visualizer-actions .button{font-size:12px}.visualizer-panel .visualizer-actions .text-button{font-size:13px}.estimate-design-options .design-zone-options{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.generation-orbit{animation:none}.preset-choice>span{transition:none}}
/* Touch-sized swatches stay on their own row at every width. */
.design-field[data-design-field=color],.color-chips{grid-column:1/-1}.color-chips{gap:10px;padding-top:0!important;margin-top:-7px}.color-chips button{width:32px;height:32px;min-width:32px;min-height:32px}
/* Both experiences remain directly addressable for customer testing. */
.visualizer-variants{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:34px;font-size:13px}.visualizer-variants a{padding:11px 18px;border:1px solid #cbc6bd;text-decoration:none}.visualizer-variants a[aria-current]{background:#2e352d;border-color:#2e352d;color:#fff}.visualizer-variants a:focus-visible{outline:3px solid #6c7962;outline-offset:3px}
.simple-intro{padding-bottom:24px}.simple-intro h1{font-size:clamp(44px,5.1vw,74px)}.simple-visualizer{display:block;max-width:1200px}.simple-visualizer .visualizer-canvas{display:none;position:static}.simple-visualizer .visualizer-panel{border:0;padding:0}.simple-visualizer [data-visual-step]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 6%}.simple-gallery{grid-column:1/-1;padding-bottom:44px;margin-bottom:38px;border-bottom:1px solid #d3cec5}.simple-gallery h2{margin-top:12px}.simple-gallery .preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px}.simple-gallery .preset-choice>span{padding:4px}.simple-gallery .preset-choice img{aspect-ratio:3/2}.simple-room{grid-column:1;grid-row:2/8}.simple-room .eyebrow{margin-top:0}.simple-room h2{margin:12px 0 18px}.simple-room-photo{width:100%;max-height:330px;object-fit:contain;background:#e8e3dc;margin:0 0 20px}.simple-room:has(.simple-room-photo:not([hidden])) .room-upload{padding:15px}.simple-room:has(.simple-room-photo:not([hidden])) .upload-plus{display:none}.simple-notes,.simple-visualizer .consent-field,.simple-visualizer .visualizer-actions,.simple-visualizer [data-visual-service],.simple-visualizer [data-brief-estimate],.simple-budget-note{grid-column:2}.simple-notes label{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:21px;font-family:Manrope,sans-serif}.simple-notes label span{font:12px Inter,sans-serif;color:#716c62;align-self:center}.simple-notes textarea{width:100%;min-height:140px;padding:16px;border:1px solid #bcb6ac;background:#fffdf9;border-radius:0;font:16px/1.6 Inter,sans-serif;resize:vertical;color:#252922}.simple-notes textarea:focus-visible{outline:2px solid #6c7962;outline-offset:3px}.simple-notes .field-note{margin-top:10px}.simple-visualizer .visualizer-actions{margin-top:22px;margin-bottom:12px}.simple-visualizer [data-visual-service]{min-height:0;margin-bottom:18px}.simple-budget-note{margin-top:25px}.simple-visualizer[data-phase=generating],.simple-visualizer[data-phase=result]{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5%}.simple-visualizer[data-phase=generating] .visualizer-canvas,.simple-visualizer[data-phase=result] .visualizer-canvas{display:block}.simple-visualizer[data-phase=generating] .visualizer-panel{display:none}.simple-visualizer[data-phase=generating] .visualizer-canvas{grid-column:1/-1;max-width:840px;width:100%;margin:auto}.simple-visualizer .result-brief dd,.simple-request-notes{white-space:pre-wrap;overflow-wrap:anywhere}.simple-estimate-details{margin-top:20px}.simple-estimate-details>summary{font-size:15px}.simple-request-notes{font-size:14px;margin-top:20px}
@media(max-width:900px){.simple-visualizer .preset-choice strong{font-size:13px}.simple-gallery .preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.simple-visualizer[data-phase=result],.simple-visualizer[data-phase=generating]{grid-template-columns:1fr}.simple-visualizer[data-phase=result] .visualizer-panel{border-top:1px solid #d3cec5;padding-top:24px}}
@media(max-width:600px){.simple-gallery .preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.simple-visualizer [data-visual-step]{display:block}.simple-gallery{margin-bottom:26px;padding-bottom:28px}.simple-room{margin-bottom:28px}.simple-visualizer .room-upload{padding:22px 16px}.simple-visualizer .visualizer-actions .button{font-size:15px}.simple-intro{padding-top:30px}.visualizer-variants{font-size:12px;margin-bottom:28px}.visualizer-variants a{padding:10px 13px}.simple-notes label{font-size:20px}}
.simple-visualizer .room-upload{position:relative}.simple-visualizer .room-upload input{position:absolute;inset:0;width:100%;height:100%;max-width:none;padding:0;opacity:0;cursor:pointer}.simple-visualizer .room-upload:focus-within{outline:3px solid #6c7962;outline-offset:3px}

.simple-fallback-note{grid-column:2;margin-top:9px}

.visual-quota{padding:24px;margin-bottom:28px;background:#eeeae1;border-top:2px solid #303c2f}.visual-quota h2{font-size:25px;margin:0 0 12px}.visual-quota p{font-size:15px;line-height:1.6}.visual-quota .button{margin:12px 0}.visual-quota .text-button{display:block;margin-top:14px}.visual-result-panel button:disabled{opacity:.5;cursor:default}
