:root{--ink:#182d35;--muted:#556a72;--accent:#38547b;--accent-dark:#253e60;--accent-pale:#edf1f7;--canvas:#eef1eb;--surface:#fff;--line:#dce3e3;--soft:#f6f7f5;--green:#326250;--radius:6px;--ease:cubic-bezier(.16,1,.3,1);--font:"Manrope",Helvetica,sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--soft);font-size:16px;font-weight:500;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none}a{color:inherit;text-underline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}button:not(:disabled),a,input,select,textarea{transition:background .18s,border-color .18s,color .18s,box-shadow .18s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{font-weight:800;letter-spacing:-.04em;line-height:1.15}h3{font-weight:800;letter-spacing:-.015em}input,textarea{caret-color:var(--accent)}::selection{background:#38547b;color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#bac6cb;border-radius:3px}::-webkit-scrollbar-track{background:transparent}svg{flex-shrink:0}button svg{vertical-align:middle}.skip-link{position:fixed;left:20px;top:-60px;z-index:50;background:var(--ink);color:#fff;padding:12px 20px;border-radius:4px}.skip-link:focus{top:12px}.site-header{height:92px;display:flex;align-items:center;gap:40px;background:#fff;padding:0 40px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#171c1e;flex-shrink:0}.brand img{object-fit:contain}.brand>span{font-weight:800;font-size:20px;letter-spacing:.12em;line-height:1.15}.brand small{display:block;font-size:11px;letter-spacing:.32em;margin-top:4px}.header-title{padding-left:28px;border-left:1px solid var(--line)}.header-title>span{display:block;font-size:15px;font-weight:700}.header-title small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.phone-link{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:13px;font-weight:700;margin-right:14px}.phone-link:hover{color:var(--accent)}.header-button{display:flex;gap:8px;align-items:center;padding:11px 15px;border:1px solid #cbd6d8;border-radius:var(--radius);font-size:13px;font-weight:800;min-height:44px}.header-button:hover{background:var(--accent-pale);border-color:var(--accent)}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius)}.icon-button:hover{background:var(--accent-pale)}.step-nav{height:66px;padding:0 40px;display:flex;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);gap:24px}.step-nav>button{position:relative;display:flex;align-items:center;gap:10px;padding:0 4px;font-size:13px;color:var(--muted);font-weight:700;white-space:nowrap}.step-nav>button:after{content:"";position:absolute;left:0;right:20px;height:3px;background:transparent;bottom:-1px}.step-nav>button.current{color:var(--accent)}.step-nav>button.current:after{background:var(--accent)}.step-number{width:24px;height:24px;border:1px solid #bbc6cc;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center}.current .step-number{background:var(--accent);border-color:var(--accent);color:#fff}.step-chevron{margin-left:18px;color:#9eaeb4}.step-nav>button:hover{color:var(--accent)}.nav-save{display:flex;align-items:center;gap:6px;margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 440px;max-width:1920px;margin:auto;align-items:start;min-height:calc(100vh - 207px)}.preview{min-width:0;position:sticky;top:0;background:radial-gradient(ellipse at 30% 15%,#f8f9f5 0,#edf1eb 60%,#e8ede6);padding:32px 36px 18px;min-height:calc(100vh - 207px);isolation:isolate}.preview-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;position:relative;z-index:2}.preview-heading h1{font-size:28px}.preview-heading p{font-size:13px;color:var(--muted);margin-top:9px}.preview-heading p span{margin:0 5px}.compare-trigger{display:flex;align-items:center;gap:7px;border:1px solid #b9c9c7;padding:9px 12px;border-radius:var(--radius);font-size:12px;font-weight:700;min-height:44px}.compare-trigger:hover{background:#fff}.restore-note{position:absolute;top:106px;left:36px;z-index:3;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--green)}.scene-wrap{height:clamp(365px,48vh,660px);position:relative;min-width:0;margin:14px -36px 0;overflow:hidden}.scene-container{position:absolute;top:0;right:0;bottom:0;left:0}.scene-container canvas{display:block;width:100%;height:100%;touch-action:none}.view-switch{position:absolute;top:20px;right:36px;display:flex;align-items:center;padding:4px;background:#fffffff0;border:1px solid rgba(201,213,213,.9);border-radius:7px;z-index:3;box-shadow:0 5px 18px #1b31380a}.view-switch>button{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 11px;font-size:11px;font-weight:700;border-radius:4px;white-space:nowrap}.view-switch>button.selected{background:var(--accent);color:#fff}.view-switch>button:not(.selected):hover{background:var(--accent-pale)}.scene-caption{position:absolute;bottom:67px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#506964;pointer-events:none}.scene-tools{position:absolute;bottom:10px;left:36px;right:36px;display:flex;align-items:center;gap:10px;z-index:3}.scene-tools>div{display:flex;gap:2px;background:#fffffff0;border:1px solid #d7e0db;border-radius:6px;padding:2px}.scene-tools button{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:4px;font-size:11px;font-weight:700;height:40px;min-width:40px}.scene-tools>button{padding:0 12px;background:#fffffff0;border:1px solid #d7e0db}.scene-tools button:hover{background:var(--accent-pale)}.scene-tools>button:nth-child(2){margin-left:auto}.scene-fallback{padding:100px 40px;text-align:center}.scene-fallback h3{font-size:22px}.scene-fallback p{max-width:450px;margin:16px auto;color:var(--muted)}.estimate-bar{background:#fff;border:1px solid #d6dfdc;border-radius:7px;display:flex;align-items:center;justify-content:space-between;padding:22px 24px;gap:20px;position:relative;z-index:3;box-shadow:0 10px 30px #304c3e0b;margin-top:18px}.estimate-copy>span{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}.estimate-copy>div{display:flex;align-items:baseline;gap:11px;margin-top:2px}.estimate-copy strong{font-size:37px;line-height:1.25;font-weight:800;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.estimate-copy small{font-size:11px;color:var(--muted);white-space:nowrap}.estimate-copy p{font-size:10px;color:var(--muted);margin-top:6px}.estimate-copy p>span{margin:0 5px}.estimate-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px}.text-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;color:var(--accent);font-size:12px;font-weight:800;min-height:36px;padding:0}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.estimate-actions>.text-button{justify-content:center;font-size:11px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:48px;color:#fff;background:var(--accent);padding:12px 20px;border-radius:var(--radius);font-weight:800;font-size:13px;line-height:1.4;border:1px solid var(--accent);text-decoration:none}.primary-button:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.primary-button.compact{min-height:44px;padding:10px 18px;font-size:12px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border:1px solid #adbec8;border-radius:var(--radius);font-weight:800;font-size:12px;background:#fff;color:var(--accent)}.secondary-button:hover{background:var(--accent-pale);border-color:var(--accent)}.estimate-breakdown{background:#fff;padding:20px 24px;border-radius:0 0 6px 6px;margin-top:-4px;position:relative;z-index:2;border:1px solid #d6dfdc;border-top:none;max-height:330px;overflow:auto}.price-lines{display:grid;gap:13px}.price-lines>div{display:flex;gap:20px;align-items:baseline;justify-content:space-between;font-size:11px;color:var(--muted)}.price-lines>div strong{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.price-lines .total-line{border-top:1px solid var(--line);padding-top:14px;font-weight:800;color:var(--ink)}.estimate-breakdown>p{font-size:10px;color:var(--muted);margin-top:15px}.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;font-size:10px;color:#496456}.preview-bottom>span,.preview-bottom>button{display:flex;align-items:center;gap:6px;min-height:40px}.preview-bottom>button{font-size:10px;font-weight:800;color:var(--accent);text-decoration:underline;text-underline-offset:4px;padding:0}.visual-note{color:#576c63;font-size:9px;max-width:720px;margin-top:8px;line-height:1.7}.options-panel{background:#fff;border-left:1px solid var(--line);min-width:0;position:sticky;top:0;height:calc(100vh - 158px);min-height:600px;display:flex;flex-direction:column}.options-scroll{padding:32px 30px;overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-gutter:stable}.options-scroll>h2{font-size:30px;outline:none}.panel-intro{font-size:12px;line-height:1.85;color:var(--muted);margin-top:14px;margin-bottom:30px}.options-scroll fieldset{padding:0;border:0;margin:0 0 28px;min-width:0}.options-scroll legend{padding:0;margin-bottom:12px;font-size:12px;font-weight:800;width:100%}.options-scroll h3{font-size:14px}.field-hint{color:var(--muted);font-size:11px;line-height:1.8;margin:0 0 12px}.purpose-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.purpose-picker button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:83px;border:1px solid #d1dcde;border-radius:var(--radius);font-size:11px;font-weight:800;color:var(--muted);background:#fff}.purpose-picker button.selected{color:var(--accent);background:var(--accent-pale);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.purpose-picker button:hover{border-color:var(--accent);color:var(--accent)}.room-size{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:26px}.field-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.field-title>span{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--muted)}.room-size fieldset{margin-bottom:16px}.room-size legend{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:10px;font-size:11px}.room-size legend>span{display:flex;gap:8px;align-items:baseline}.room-size legend small{font-size:10px;font-weight:500;color:var(--muted)}.room-size legend>strong{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}.dimension-toggle-options{display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:#edf1f5;border:1px solid #d8e0e7;border-radius:8px}.dimension-toggle-option{position:relative;flex:1 1 0;min-width:44px;cursor:pointer}.dimension-toggle-option input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.dimension-toggle-label{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;transition:background .18s,color .18s,box-shadow .18s}.dimension-toggle-label small{font-size:10px;font-weight:500;margin-left:2px}.dimension-toggle-option input:checked+.dimension-toggle-label{background:var(--accent);color:#fff;box-shadow:0 2px 5px #263d5b24}.dimension-toggle-option input:hover:not(:checked)+.dimension-toggle-label{background:#fff;border-color:#cbd7e2}.dimension-toggle-option input:focus-visible+.dimension-toggle-label{outline:3px solid var(--accent);outline-offset:2px}.size-help{font-size:10px;gap:6px;line-height:1.5;margin-top:0}.choice-grid{display:grid;gap:10px}.cols-1{grid-template-columns:1fr}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{display:flex;flex-direction:column;text-align:left;border:1px solid #ced9dd;border-radius:var(--radius);background:#fff;padding:14px;min-width:0;min-height:74px;position:relative}.choice.selected{border-color:var(--accent);background:var(--accent-pale);box-shadow:inset 0 0 0 1px var(--accent)}.choice:not(:disabled):hover{border-color:var(--accent)}.choice-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;font-weight:800;line-height:1.5}.choice-top>svg{color:var(--accent)}.choice-description{display:block;font-size:10px;line-height:1.7;color:var(--muted);margin-top:4px}.included{font-size:10px;color:#38624d;font-weight:700;display:block;margin-top:8px}.option-price{font-size:11px;color:var(--ink);display:block;font-weight:800;margin-top:8px;font-variant-numeric:tabular-nums}.saving{font-size:11px;color:var(--green);display:block;font-weight:800;margin-top:8px}.choice-art{display:block;height:61px;position:relative;background:#e4e8e4;overflow:hidden;margin:-5px -5px 12px;border-radius:3px}.choice-art.doors-left,.choice-art.doors-right{background:linear-gradient(#d7e0df 0,#d7e0df 68%,#d0d8d0 69%)}.choice-art.doors-left:before,.choice-art.doors-right:before{content:"";position:absolute;left:22%;right:22%;bottom:12px;top:13px;background:repeating-linear-gradient(0deg,#b49b76 0,#b49b76 5px,#9d8768 5px,#9d8768 6px);border-top:4px solid #43525a}.choice-art.doors-left:after,.choice-art.doors-right:after{content:"";position:absolute;left:26%;width:31%;height:31px;bottom:12px;background:repeating-linear-gradient(90deg,#82989b 0,#82989b 9px,#35484d 9px,#35484d 11px);border:2px solid #35484d}.choice-art.doors-right:after{left:auto;right:26%}.cols-1 .choice{padding:18px 18px 18px 104px;min-height:95px}.cols-1 .choice-art{position:absolute;left:14px;top:18px;bottom:18px;width:72px;height:auto;margin:0}.choice-art.cedar-horizontal{background:repeating-linear-gradient(0deg,#ab8258 0,#ab8258 7px,#c29b6e 7px,#c29b6e 15px,#8d704f 15px,#8d704f 16px)}.choice-art.cedar-vertical{background:repeating-linear-gradient(90deg,#ab8258 0,#ab8258 7px,#c29b6e 7px,#c29b6e 15px,#8d704f 15px,#8d704f 16px)}.choice-art.shiplap{background:repeating-linear-gradient(0deg,#8c8269 0,#8c8269 10px,#6e6f57 10px,#6e6f57 12px)}.choice-art.composite{background:repeating-linear-gradient(90deg,#646960 0,#646960 10px,#3d4843 10px,#3d4843 11px)}.choice-art.timber{background:repeating-linear-gradient(90deg,#ad956e 0,#ad956e 10px,#817456 10px,#817456 11px)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:24px;cursor:pointer}.toggle-row>span:first-child{flex:1;min-width:0}.toggle-row strong{display:block;font-size:12px;font-weight:800}.toggle-row small{display:block;font-size:10px;color:var(--muted);line-height:1.8;margin-top:6px}.toggle-row input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.toggle-track{width:39px;height:23px;border-radius:20px;background:#b2c0c5;border:1px solid #98acb5;display:block;flex-shrink:0;position:relative}.toggle-track>span{position:absolute;width:17px;height:17px;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #182e3830;transition:transform .2s var(--ease)}.toggle-row input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle-row input:checked+.toggle-track>span{transform:translate(15px)}.toggle-row input:focus-visible+.toggle-track{outline:3px solid var(--accent);outline-offset:4px}.toggle-row.is-disabled{opacity:.5;cursor:not-allowed}.info-note{display:flex;align-items:start;gap:10px;background:#f1f4f5;padding:14px;border-radius:4px;color:#465f6d;margin:0 0 24px}.info-note>svg{margin-top:2px;color:var(--accent)}.info-note>p{font-size:10px;line-height:1.85}.select-field{display:block;margin-bottom:24px}.select-field>span{display:block;font-size:12px;font-weight:800;margin-bottom:10px}.select-field select{display:block;width:100%;min-height:46px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2338547b' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 13px center/16px;border:1px solid #bfced4;padding:11px 36px 11px 13px;border-radius:var(--radius);font-size:11px;cursor:pointer}.select-field>small{display:block;margin-top:8px;font-size:10px;color:var(--muted)}.detail-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 26px}.detail-section summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0;font-size:11px;font-weight:800;cursor:pointer;list-style:none;min-height:48px}.detail-section summary::-webkit-details-marker{display:none}.detail-section[open]>summary{margin-bottom:6px}.detail-section[open]>summary>svg{transform:rotate(45deg)}.detail-section .toggle-row:last-child,.detail-section .select-field:last-child{margin-bottom:18px}.standard-banner{display:flex;gap:12px;padding-top:2px;color:#416554}.standard-banner strong{font-size:11px;font-weight:800}.standard-banner p{font-size:10px;line-height:1.8;margin-top:5px}.standard-banner svg{margin-top:2px}.swatches legend{display:flex;align-items:center;justify-content:space-between}.swatches legend>span{font-size:10px;font-weight:600;color:var(--green)}.swatches>div{display:flex;gap:24px}.swatch{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px;min-width:54px;min-height:80px}.swatch>span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid #b9c5ca;box-shadow:0 0 0 4px #fff}.swatch.selected>span{outline:1.5px solid var(--accent);outline-offset:4px}.swatch:hover>span{outline:1px solid var(--accent);outline-offset:4px}.swatch small{font-size:10px;font-weight:700;margin-top:1px}.floor-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 10px}.floor-picker button{text-align:left;border:1px solid #d4dddf;border-radius:4px;overflow:hidden;padding:0 0 10px;min-width:0}.floor-picker button.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-pale)}.floor-picker button:hover{border-color:var(--accent)}.floor-sample{display:block;height:56px;background-color:var(--wood);background-image:repeating-linear-gradient(95deg,transparent 0 17px,#0002 17px 18px,transparent 18px 26px),repeating-linear-gradient(0deg,transparent 0 3px,#fff1 3px 4px);position:relative}.floor-sample svg{position:absolute;right:5px;top:5px;background:#fff;border-radius:50%;padding:1px;color:var(--accent)}.floor-picker strong{display:block;font-size:9px;line-height:1.6;padding:8px 7px 0;min-height:38px}.floor-picker .included,.floor-picker .saving{padding:0 7px;margin-top:1px;font-size:9px}.window-editor{margin-top:30px;margin-bottom:28px}.window-editor .field-title{margin-bottom:12px}.wall-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #c5d2d7}.wall-tabs>button{font-size:11px;font-weight:800;min-height:40px;border-bottom:2px solid transparent}.wall-tabs>button.selected{color:var(--accent);border-color:var(--accent);background:var(--accent-pale)}.wall-tabs>button:hover{background:var(--accent-pale)}.floorplan{display:block;width:100%;height:210px;margin:14px 0}.plan-panel{cursor:pointer}.plan-panel:hover rect{fill:#38547b}.panel-positions{display:flex;gap:7px;margin-bottom:14px}.panel-positions button{flex:1;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #c7d5da;border-radius:4px;font-size:10px;font-weight:700}.panel-positions small{font-size:9px;color:var(--muted)}.panel-positions button.selected{border-color:var(--accent);background:var(--accent-pale);color:var(--accent)}.window-options{display:grid;grid-template-columns:1fr;gap:6px}.window-options>button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #d6dfe2;padding:10px 12px;border-radius:4px;min-height:60px}.window-options>button.selected{border-color:var(--accent);background:var(--accent-pale);box-shadow:inset 0 0 0 1px var(--accent)}.window-options>button:hover{border-color:var(--accent)}.window-options>button>span:nth-child(2){flex:1}.window-options strong{display:block;font-size:11px;font-weight:800}.window-options small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.window-options>button>span:last-child{display:flex;align-items:center;gap:6px}.window-options .included,.window-options .option-price{margin:0;font-size:10px}.window-glyph{width:30px;height:30px;border:2px solid #344b56;background:#bad2d6;position:relative}.window-glyph.none{background:repeating-linear-gradient(0deg,#b9a582 0,#b9a582 6px,#8b795d 6px,#8b795d 7px);border-color:#8b795d}.window-glyph.screen,.window-glyph.wide-screen,.window-glyph.double-screen{height:38px;width:22px}.window-glyph.double-screen{width:35px;background:linear-gradient(90deg,#bad2d6 0,#bad2d6 48%,#344b56 48%,#344b56 53%,#bad2d6 53%)}.window-glyph.vent{height:16px;width:32px}.window-glyph.double-casement{background:linear-gradient(90deg,#bad2d6 0,#bad2d6 48%,#344b56 48%,#344b56 53%,#bad2d6 53%)}.window-glyph.outside-solid-door-2,.window-glyph.outside-glazed-door{height:38px;width:22px;background:#6b7473}.window-glyph.outside-glazed-door{background:linear-gradient(#bad2d6 0,#bad2d6 50%,#6b7473 50%)}.window-glyph.bi-fold-door{height:33px;width:42px;background:repeating-linear-gradient(90deg,#bad2d6 0,#bad2d6 10px,#344b56 10px,#344b56 12px)}.panel-footer{display:flex;align-items:center;padding:16px 22px;border-top:1px solid var(--line);background:#fff;gap:12px;margin-top:auto;min-height:90px}.back-button{display:flex;align-items:center;justify-content:center;width:42px;height:44px;flex-shrink:0;border:1px solid #c5d2d8;border-radius:var(--radius)}.back-button:hover{background:var(--accent-pale)}.panel-footer>div{flex:1}.panel-footer>div span{display:block;font-size:10px;font-weight:800}.panel-footer>div small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.panel-footer>.primary-button{padding:12px 17px;gap:10px;font-size:12px;min-height:44px}.quote-summary{border:1px solid var(--line);background:var(--soft);padding:18px;margin-bottom:28px;border-radius:var(--radius)}.quote-summary>div:first-child{display:flex;align-items:center;gap:10px}.quote-summary>div:first-child>span{flex:1}.quote-summary strong{font-size:12px;font-weight:800}.quote-summary small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.quote-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.quote-total>span{font-size:11px;font-weight:700}.quote-total>strong{font-size:29px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.quote-summary>p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:12px}.quote-summary details>summary{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:10px;font-weight:800;color:var(--accent);margin-top:12px;cursor:pointer;min-height:32px}.quote-summary details .price-lines{margin-top:12px}.quote-form{margin-top:28px}.quote-form>h3{font-size:22px;letter-spacing:-.025em}.quote-form>p{font-size:11px;color:var(--muted);margin-top:8px;margin-bottom:22px;line-height:1.8}.quote-form label:not(.checkbox-label){display:block;font-size:11px;font-weight:800;margin-bottom:16px}.quote-form label>small{font-weight:500;color:var(--muted)}.quote-form input:not([type=checkbox]):not([type=hidden]),.quote-form textarea{display:block;width:100%;border:1px solid #bfcdd3;border-radius:var(--radius);font-size:16px;line-height:1.5;background:#fff;padding:11px 13px;margin-top:7px;min-height:47px;font-weight:500}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#64767d;font-size:12px}.quote-form input:focus,.quote-form textarea:focus{border-color:var(--accent)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.enrich-button{font-size:10px;font-weight:700;min-height:44px}.enrich-button>span{color:var(--muted);font-weight:500;margin-left:2px}.enrichment{background:var(--soft);padding:16px;margin:10px 0 20px;border-radius:var(--radius)}.quote-form .checkbox-label{display:flex;align-items:start;gap:9px;font-size:10px;line-height:1.8;font-weight:500;color:var(--muted);cursor:pointer;margin-bottom:16px}.checkbox-label input{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0;margin:2px 0 0}.quote-form .consent{margin:17px 0 22px}.quote-form>.primary-button{width:100%;justify-content:space-between;gap:10px;min-height:51px}.quote-form>p.form-reassurance{display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px;margin:12px 0 18px}.form-error{display:flex;gap:8px;align-items:start;background:#fff1eb;color:#81442e;padding:12px;border-radius:4px;font-size:11px;line-height:1.8;margin:12px 0 16px}.form-error>svg{margin-top:2px}.download-secondary{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:20px 0;margin-top:10px;border-top:1px solid var(--line);color:var(--accent)}.download-secondary>span{flex:1}.download-secondary strong{font-size:11px;display:block}.download-secondary small{display:block;font-size:9px;margin-top:4px;color:var(--muted)}.success-message{padding:26px 0}.success-message>svg{color:var(--green)}.success-message h3{font-size:21px;margin-top:16px}.success-message p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:14px}.success-message .primary-button{width:100%;margin-top:22px}.success-message .text-button{margin-top:12px}.config-warnings .info-note{margin-top:18px}.comparison{padding:24px;background:#fff;border:1px solid #d6dfdc;border-radius:var(--radius);margin-top:18px;position:relative;z-index:4}.comparison .field-title{margin-bottom:8px}.comparison h3{font-size:20px}.comparison>p{font-size:11px;color:var(--muted);margin-bottom:20px}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.comparison-grid>div{border-top:1px solid var(--line);padding-top:16px}.comparison-grid>div>strong{display:block;font-size:14px}.comparison-grid>div>span{display:block;font-size:21px;font-weight:800;margin-top:8px;color:var(--accent)}.comparison-grid dl{display:grid;grid-template-columns:auto 1fr;font-size:10px;gap:8px 12px;line-height:1.7;margin:15px 0}.comparison-grid dt{color:var(--muted)}.comparison-grid dd{margin:0;text-align:right;text-transform:capitalize}.comparison-grid .secondary-button{width:100%;font-size:10px}.comparison-grid .text-button{font-size:9px;margin-top:5px}.empty-comparison{display:flex;gap:14px;align-items:start;padding:22px 0}.empty-comparison p{font-size:11px;color:var(--muted);line-height:1.8}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border-top:1px solid var(--line);padding:16px 40px;font-size:10px;color:var(--muted);min-height:56px}.site-footer p>span{margin:0 8px}.site-footer>div{display:flex;align-items:center;gap:22px}.site-footer a{display:flex;align-items:center;gap:5px;text-decoration:none;min-height:32px}.site-footer button{font-size:10px;color:var(--muted);padding:0;min-height:32px}.site-footer a:hover,.site-footer button:hover{color:var(--accent);text-decoration:underline}.utility-panel{position:fixed;z-index:20;right:28px;top:100px;width:380px;max-width:calc(100vw - 32px);padding:22px;background:#fff;border:1px solid #bdcbd1;box-shadow:0 18px 50px #1d33492b;border-radius:7px}.utility-panel>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.utility-panel h3{font-size:17px}.utility-panel p{font-size:12px;color:var(--muted);line-height:1.8;margin:12px 0 18px}.utility-panel input{width:100%;border:1px solid #bccdd4;border-radius:4px;font-size:16px;padding:12px}.utility-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.toast{position:fixed;z-index:40;left:50%;bottom:22px;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#193640;color:#fff;border-radius:6px;box-shadow:0 8px 24px #18333c26;max-width:calc(100vw - 32px);width:max-content;display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:12px;transition:opacity .2s,transform .2s;line-height:1.6}.toast.visible{opacity:1;transform:translate(-50%);pointer-events:auto}.toast>span{max-width:550px}.toast button{display:flex;align-items:center;justify-content:center;color:#fff;width:28px;height:28px;margin-left:4px}.toast button:hover{background:#ffffff20;border-radius:4px}@media(min-width:1600px){.studio-layout{grid-template-columns:minmax(0,1fr) 490px}.options-scroll{padding:38px}.preview{padding-left:48px;padding-right:48px}.scene-wrap{margin-left:-48px;margin-right:-48px;height:clamp(400px,52vh,720px)}.scene-tools{left:48px;right:48px}.view-switch{right:48px}.estimate-copy strong{font-size:42px}.preview-heading h1{font-size:32px}.options-scroll>h2{font-size:34px}.panel-intro{font-size:13px}.restore-note{left:48px}}@media(max-width:1200px){.site-header{padding:0 24px;gap:24px}.header-title{padding-left:20px}.phone-link{margin-right:0}.step-nav{padding:0 24px;gap:15px}.step-chevron{margin-left:4px}.studio-layout{grid-template-columns:minmax(0,1fr) 390px}.preview{padding:28px 24px 16px}.scene-wrap{margin-left:-24px;margin-right:-24px;height:44vh;min-height:340px}.view-switch{right:24px}.scene-tools{left:24px;right:24px}.options-scroll{padding:28px 24px}.preview-heading h1{font-size:24px}.estimate-bar{padding:18px 20px;gap:12px}.estimate-copy strong{font-size:32px}.estimate-copy p{font-size:9px;max-width:230px}.estimate-copy small{font-size:10px}.estimate-copy>div{gap:7px}.primary-button.compact{padding:9px 12px}.preview-bottom{gap:8px;flex-wrap:wrap;font-size:9px}.preview-bottom>button{font-size:9px}.restore-note{left:24px;font-size:10px}.nav-save{display:none}.panel-footer{padding:14px 18px}.panel-footer>div small{font-size:8px}}@media(max-width:960px)and (min-width:901px){.header-title small{display:none}.studio-layout{grid-template-columns:minmax(0,1fr) 370px}.preview{padding:24px 18px}.preview-heading h1{font-size:22px}.compare-trigger span{display:none}.view-switch{right:18px}.view-switch>button{padding:0 8px}.view-switch svg{display:none}.scene-tools{left:18px;right:18px;gap:6px}.scene-tools>button{padding:0 8px}.scene-tools>button span{display:none}.estimate-copy strong{font-size:28px}.estimate-bar{padding:16px}.estimate-copy>div{flex-direction:column;gap:0}.estimate-actions .primary-button{font-size:11px;gap:8px}.preview-bottom>span:nth-child(2){display:none}.options-scroll{padding:24px 22px}.step-nav{gap:11px}.step-nav>button{font-size:11px}.step-number{width:21px;height:21px}.step-chevron{display:none}}@media(max-width:900px){.site-header{height:74px;padding:0 20px;gap:16px}.brand img{width:35px;height:35px}.brand>span{font-size:16px}.brand small{font-size:9px}.header-title{display:none}.phone-link{font-size:11px;margin-right:0}.header-actions{gap:6px}.header-button{font-size:11px;padding:8px 11px}.share-header{width:36px}.step-nav{height:58px;gap:0;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:10;box-shadow:0 2px 12px #182d3505}.step-nav>button{font-size:11px;gap:6px;flex:1;justify-content:center;padding:0 3px}.step-nav>button:after{right:0}.step-chevron{display:none}.step-number{width:22px;height:22px;font-size:10px}.studio-layout{display:flex;flex-direction:column;min-height:0}.preview{position:relative;top:auto;width:100%;padding:24px 24px 18px;min-height:0}.preview-heading h1{font-size:26px}.preview-heading p{font-size:11px;margin-top:7px}.scene-wrap{height:420px;margin:10px -24px 0;min-height:0}.view-switch{right:24px;top:16px}.scene-tools{left:24px;right:24px;bottom:8px}.scene-caption{bottom:62px}.estimate-bar{margin-top:14px;padding:18px 22px}.estimate-copy strong{font-size:34px}.estimate-copy p{font-size:10px;max-width:none}.estimate-copy small{font-size:11px}.preview-bottom{margin-top:14px}.visual-note{font-size:9px}.options-panel{position:relative;top:auto;width:100%;height:auto;min-height:0;border-left:0;border-top:1px solid var(--line);scroll-margin-top:58px}.options-scroll{overflow:visible;scroll-margin-top:58px;padding:30px 28px;max-width:760px;width:100%;margin:auto}.options-scroll>h2{font-size:32px}.panel-intro{font-size:13px;margin-bottom:28px}.options-scroll legend{font-size:13px}.purpose-picker button{min-height:91px;font-size:12px}.choice-top{font-size:13px}.choice-description,.choice .included{font-size:11px}.option-price,.saving{font-size:12px}.room-size .field-title h3{font-size:16px}.room-size fieldset legend{font-size:12px}.dimension-toggle-label{font-size:14px}.size-help{font-size:12px}.toggle-row strong{font-size:13px}.toggle-row small,.info-note>p{font-size:12px}.detail-section summary{font-size:12px}.select-field>span{font-size:13px}.select-field select,.standard-banner strong{font-size:13px}.standard-banner p{font-size:12px}.panel-footer{padding:16px 28px;position:sticky;bottom:0;z-index:8;box-shadow:0 -6px 24px #182d3506;padding-bottom:calc(16px + env(safe-area-inset-bottom));min-height:84px}.panel-footer>div span{font-size:12px}.panel-footer>div small{font-size:10px}.panel-footer>.primary-button{font-size:13px;min-height:46px}.site-footer{padding:16px 24px}.restore-note{top:95px;left:24px;font-size:10px}.quote-form{max-width:600px;margin-left:auto;margin-right:auto}.quote-form label:not(.checkbox-label){font-size:12px}.quote-form>p{font-size:12px}.quote-form .checkbox-label{font-size:12px}.quote-form input::placeholder,.quote-form textarea::placeholder{font-size:14px}.quote-form>.primary-button{font-size:14px}.floor-picker strong{font-size:12px}.floor-picker .included,.floor-picker .saving{font-size:11px}.floor-sample{height:75px}.window-options strong{font-size:13px}.window-options small{font-size:11px}.window-options .included,.window-options .option-price{font-size:12px}.wall-tabs>button{font-size:13px}.panel-positions button{font-size:12px}.floorplan{height:260px}.window-editor .field-hint{font-size:12px}.quote-summary>p{font-size:12px}.quote-summary strong{font-size:15px}.quote-summary small{font-size:12px}.quote-total>strong{font-size:32px}.quote-summary details>summary{font-size:12px}.price-lines>div{font-size:12px}.price-lines>div strong{font-size:13px}.download-secondary strong{font-size:13px}.download-secondary small{font-size:11px}.form-reassurance{font-size:10px!important}.swatch small{font-size:12px}}@media(max-width:600px){.site-header{height:68px;padding:0 16px}.brand{gap:8px}.brand img{width:31px;height:31px}.brand>span{font-size:13px;letter-spacing:.11em}.brand small{font-size:8px;letter-spacing:.27em}.header-button{width:40px;height:40px;padding:0;justify-content:center;border:0;min-height:40px}.header-button>span{display:none}.header-actions{gap:0}.phone-link>span{display:none}.phone-link{width:40px;height:40px;justify-content:center}.share-header{width:40px;min-height:40px}.step-nav{height:62px;padding:0 10px;overflow:auto;scrollbar-width:none;gap:5px}.step-nav>button{flex-direction:column;gap:4px;font-size:8px;padding:5px 2px;line-height:1.3;min-width:56px}.step-number{width:21px;height:21px;font-size:9px}.step-nav>button:after{left:4px;right:4px;height:2px}.preview{padding:20px 18px 14px}.preview-heading h1{font-size:23px}.preview-heading p{font-size:10px;margin-top:7px}.compare-trigger{padding:5px 8px;min-height:36px;gap:5px;font-size:10px}.scene-wrap{height:310px;margin:20px -18px 0}.view-switch{top:5px;right:18px;padding:3px}.view-switch>button{font-size:9px;padding:0 8px;min-height:32px;gap:4px}.view-switch>button svg{width:13px;height:13px}.scene-tools{left:18px;right:18px;bottom:5px;gap:8px}.scene-tools>div{gap:0;padding:1px}.scene-tools button{width:33px;min-width:33px;height:36px}.scene-tools>button{width:auto;padding:0 9px;font-size:9px;min-height:38px;gap:5px}.scene-tools>button:nth-child(3){padding:0 8px}.scene-tools>button:nth-child(3)>span{display:none}.scene-caption{bottom:56px;font-size:9px;gap:5px}.scene-caption svg{width:12px;height:12px}.estimate-bar{padding:16px;margin-top:12px;gap:10px;align-items:flex-start}.estimate-copy>span{font-size:10px}.estimate-copy>div{gap:7px;margin-top:4px;flex-wrap:wrap}.estimate-copy strong{font-size:29px;line-height:1.2}.estimate-copy small{font-size:9px}.estimate-copy p{font-size:8px;line-height:1.8;max-width:195px;margin-top:7px}.estimate-actions{gap:7px;padding-top:1px}.estimate-actions>.text-button{font-size:9px;min-height:24px}.estimate-actions .compact{font-size:10px;gap:6px;padding:8px 10px;min-height:40px;white-space:nowrap}.estimate-actions .compact svg{width:14px;height:14px}.estimate-copy p>span{margin:0 3px}.preview-bottom{margin-top:12px;gap:8px;font-size:8px}.preview-bottom>span,.preview-bottom>button{gap:4px;min-height:28px}.preview-bottom>span svg{width:13px;height:13px}.preview-bottom>button{font-size:8px}.preview-bottom>span:nth-child(2){display:none}.preview-bottom>button svg{width:12px;height:12px}.visual-note{font-size:8px;line-height:1.7;margin-top:8px}.restore-note{top:89px;left:18px;font-size:9px}.options-scroll{padding:28px 20px 30px}.options-scroll>h2{font-size:30px}.panel-intro{font-size:12px;line-height:1.8;margin-bottom:26px}.options-scroll legend{font-size:12px}.purpose-picker>div{gap:7px}.purpose-picker button{min-height:80px;gap:9px;font-size:11px}.purpose-picker svg{width:21px;height:21px}.room-size .field-title h3{font-size:14px}.field-title>span{font-size:9px}.dimension-toggle-option{flex-basis:calc(25% - 4px)}.dimension-toggle-options.depth .dimension-toggle-option{flex-basis:0}.dimension-toggle-label{font-size:14px}.size-help{font-size:10px}.choice-top{font-size:11px}.choice-description{font-size:10px}.choice{padding:13px}.choice .included{font-size:10px}.option-price,.saving{font-size:11px}.choices .choice-art{height:59px}.choices .cols-1 .choice-art{height:auto}.choice-grid{gap:9px}.swatches>div{gap:22px}.swatch small{font-size:10px}.select-field select{font-size:11px}.toggle-row strong{font-size:12px}.toggle-row small,.info-note>p{font-size:11px}.standard-banner strong{font-size:12px}.standard-banner p{font-size:11px}.detail-section summary{font-size:11px}.panel-footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));min-height:80px;gap:10px}.panel-footer>div span{font-size:10px}.panel-footer>div small{font-size:9px}.panel-footer>.primary-button{font-size:11px;padding:10px 14px;min-height:44px;gap:10px}.back-button{width:38px;height:44px}.site-footer{padding:18px 20px;flex-direction:column;align-items:flex-start;gap:8px;font-size:9px}.site-footer>div{gap:18px}.site-footer button{font-size:9px}.site-footer a{min-height:36px}.toast{bottom:90px;font-size:11px;max-width:calc(100vw - 24px);padding:12px;width:calc(100vw - 24px);align-items:start}.toast>svg{margin-top:3px}.toast button{margin-left:auto;flex-shrink:0}.utility-panel{right:16px;top:78px;padding:18px}.floor-picker strong,.floor-picker .included,.floor-picker .saving{font-size:10px}.floor-sample{height:62px}.floor-picker strong{min-height:38px}.floorplan{height:225px}.window-options strong{font-size:11px}.window-options small,.window-options .included,.window-options .option-price{font-size:10px}.wall-tabs>button{font-size:11px}.panel-positions button,.window-editor .field-hint{font-size:10px}.quote-summary strong{font-size:13px}.quote-total>strong{font-size:29px}.quote-summary small,.quote-summary>p{font-size:10px}.quote-summary details>summary{font-size:10px}.quote-form .checkbox-label{font-size:11px}.quote-form>.primary-button{font-size:12px}.price-lines>div{font-size:10px}.price-lines>div strong{font-size:11px}.download-secondary strong{font-size:12px}.download-secondary small{font-size:10px}.comparison{padding:18px}.comparison-grid{gap:16px;grid-template-columns:1fr}.comparison-grid>div>strong{font-size:13px}.comparison-grid dl{font-size:11px}.estimate-breakdown{padding:18px 16px}.estimate-breakdown>p{font-size:9px}.enrichment{padding:14px}.form-pair{gap:10px}}@media(pointer:coarse){.text-button{min-height:44px}.icon-button{min-width:44px;min-height:44px}.scene-tools button{min-height:44px;min-width:44px}.preview-bottom>button{min-height:44px}.swatch{min-width:60px}.site-footer button{min-height:44px}.window-options>button{min-height:68px}.detail-section summary{min-height:48px}.compare-trigger{min-height:44px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.toast{transform:translate(-50%)}}@media print{.site-header,.step-nav,.site-footer,.options-panel,.scene-tools,.view-switch,.preview-bottom,.estimate-actions,.toast{display:none}.studio-layout{display:block}.preview{position:static;background:#fff}.scene-wrap{height:500px}.estimate-bar{box-shadow:none}}.scene-stage canvas{display:block;width:100%;height:100%;touch-action:none}.estimate-locked .estimate-copy strong{font-size:23px;line-height:1.25;letter-spacing:-.025em}.estimate-locked .estimate-copy>span{display:flex;align-items:center;gap:7px}.estimate-locked .estimate-copy p{max-width:440px;font-size:12px;line-height:1.65}.estimate-locked .estimate-actions>small{font-size:10px;color:var(--muted);text-align:center}.quote-total-locked{justify-content:flex-start;gap:9px;padding:17px 0;color:var(--accent)}.quote-total-locked>span{font-size:13px;font-weight:800}.unlocked-estimate{display:flex;flex-direction:column;gap:4px;padding:18px 0 12px}.unlocked-estimate>span{font-size:12px;color:var(--muted)}.unlocked-estimate>strong{font-size:36px;letter-spacing:-.03em;font-weight:800}.unlocked-estimate>small{font-size:11px;color:var(--muted)}.quote-form{scroll-margin-top:82px}@media(max-width:600px){.estimate-locked{flex-direction:column;gap:14px}.estimate-locked .estimate-copy strong{font-size:22px}.estimate-locked .estimate-copy p{font-size:11px;max-width:none}.estimate-locked .estimate-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.estimate-locked .estimate-actions .compact{font-size:12px;min-height:44px;padding:10px 14px}.estimate-locked .estimate-actions>small{font-size:9px;text-align:left;max-width:100px}.quote-total-locked>span{font-size:12px}.mobile-dock .dock-gated-copy strong{font-size:15px;letter-spacing:-.015em}.mobile-dock .dock-gated-copy small{font-size:8px}.unlocked-estimate>strong{font-size:32px}}.mobile-dock{display:none}.toast .toast-undo{width:auto;min-width:44px;padding:0 8px;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.toast button{min-height:44px}.partition-position{display:block;margin:0 0 22px;font-size:12px;font-weight:800}.partition-position>span{display:flex;justify-content:space-between;gap:10px}.partition-position strong{font-size:10px;color:var(--muted);font-weight:600}.partition-position input{display:block;width:100%;min-height:44px;accent-color:var(--accent)}.partition-position small{font-size:10px;line-height:1.7;color:var(--muted);font-weight:500}.panel-intro{font-size:16px;line-height:1.75}.options-scroll legend{font-size:14px}.choice-top{font-size:13px}.choice-description{font-size:12px}.options-scroll .info-note>p{font-size:13px}.toggle-row strong{font-size:14px}.toggle-row small{font-size:12px}.standard-banner strong{font-size:14px}.standard-banner p{font-size:13px}.select-field>span{font-size:14px}.select-field select{font-size:13px}.quote-form>p{font-size:14px}.quote-form label:not(.checkbox-label){font-size:13px}.quote-form .checkbox-label{font-size:12px}.quote-summary>p{font-size:12px}.success-message p{font-size:15px}.form-error{font-size:13px}.utility-panel p{font-size:14px}@media(max-width:600px){.panel-intro{font-size:15px}.choice-top{font-size:12px}.choice-description{font-size:11px}.options-scroll legend,.toggle-row strong{font-size:13px}.toggle-row small{font-size:12px}.options-scroll .info-note>p{font-size:12px}.standard-banner p{font-size:12px}.select-field>span{font-size:13px}.select-field select{font-size:12px}.quote-form>.primary-button{font-size:13px}.scene-tools button{min-width:40px;min-height:40px}.scene-tools>button>span{font-size:9px}.scene-tools{gap:6px}}@media(max-width:900px){body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.panel-footer{display:none}.preview{scroll-margin-top:58px}.mobile-dock{position:fixed;z-index:15;left:0;right:0;bottom:0;display:flex;align-items:center;gap:18px;padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #c8d4d9;box-shadow:0 -8px 24px #2943570b}.mobile-dock>div{flex:1;min-width:0}.mobile-dock strong{font-size:25px;letter-spacing:-.03em;font-weight:800;font-variant-numeric:tabular-nums}.mobile-dock small{display:block;font-size:9px;color:var(--muted);white-space:nowrap}.dock-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:44px;min-height:44px;font-size:9px;font-weight:800;color:var(--accent)}.mobile-dock .primary-button{font-size:12px;min-height:44px;padding:10px 16px;gap:10px}.quote-form{scroll-margin-top:90px}}@media(max-width:600px){.mobile-dock{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:10px}.mobile-dock strong{font-size:23px}.mobile-dock small{font-size:8px}.mobile-dock .primary-button{font-size:11px;padding:10px 12px;gap:7px}}@media(max-width:900px){.brand{min-height:44px}.header-button,.phone-link,.share-header{min-width:44px;min-height:44px}.compare-trigger,.view-switch>button,.preview-bottom>button,.options-scroll .text-button,.site-footer a,.site-footer button{min-height:44px}.scene-tools button{min-width:44px;min-height:44px;height:44px}.scene-caption{bottom:64px}}@media(max-width:600px){.header-button,.phone-link,.share-header{width:44px;height:44px}}@media(max-width:360px){.scene-tools>button>span{display:none}}.site-header{gap:24px}.header-title small{white-space:nowrap}.header-ctas{display:flex;align-items:center;gap:8px;margin-left:auto}.header-ctas button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid #c6d2d6;border-radius:var(--radius);background:#fff;font-size:12.5px;font-weight:800;white-space:nowrap}.header-ctas button:first-child{background:var(--accent);border-color:var(--accent);color:#fff}.header-ctas button:first-child:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.header-ctas button:not(:first-child):hover{background:var(--accent-pale);border-color:var(--accent)}.header-actions{margin-left:0;gap:2px}.header-actions .phone-link{margin:0 8px 0 6px}.header-icon{color:var(--ink)}.menu-button{display:none;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid #c6d2d6;border-radius:var(--radius);font-size:12px;font-weight:800}.mobile-menu{position:absolute;z-index:45;top:calc(100% + 6px);right:12px;width:min(360px,calc(100vw - 24px));background:#fff;border:1px solid #c9d5d9;border-radius:10px;box-shadow:0 24px 60px #12283a33;padding:8px;display:grid;gap:2px}.mobile-menu>button,.mobile-menu>a{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border-radius:7px;text-decoration:none;min-height:56px;font-size:14px;font-weight:800}.mobile-menu>button:hover,.mobile-menu>a:hover{background:var(--accent-pale)}.mobile-menu>button>svg,.mobile-menu>a>svg{color:var(--accent)}.mobile-menu small{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:2px}.mobile-menu-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid var(--line);margin-top:6px;padding-top:8px}.mobile-menu-row button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:7px;font-size:11px;font-weight:800;min-height:56px}.mobile-menu-row button:hover{background:var(--accent-pale)}.site-header{position:relative}.studio-layout{grid-template-columns:minmax(0,1fr) 440px;grid-template-rows:auto 1fr;background:#edf1eb}.preview{grid-column:1;grid-row:1;position:relative;top:auto;min-height:0;padding-bottom:0}.preview-extras{grid-column:1;grid-row:2;min-width:0;padding:0 36px 24px;background:#edf1eb}.options-panel{grid-column:2;grid-row:1/span 2;align-self:start}.scene-wrap{height:clamp(420px,56vh,760px)}.scene-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.scene-stage canvas{cursor:grab}.scene-stage canvas:active{cursor:grabbing}.scene-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;text-align:center;background:#e8ede3;padding:32px}.scene-fallback svg{width:min(420px,100%)}.view-switch>button span{display:inline}.scene-tools .expand-button{margin-left:0}.collapse-preview,.show-preview{display:none}.scene-callout{position:absolute;left:0;top:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .25s ease}.scene-callout.visible{opacity:1}.scene-callout span{position:relative;display:block;transform:translate(-50%,calc(-100% - 12px));background:#14304a;color:#fff;font-size:12px;font-weight:800;line-height:1.3;padding:9px 13px;border-radius:999px;box-shadow:0 10px 26px #0b1d2c40;white-space:nowrap;max-width:min(360px,80vw);overflow:hidden;text-overflow:ellipsis}.scene-callout span:after{content:"";position:absolute;left:calc(50% - 5px);bottom:-5px;width:10px;height:10px;background:#14304a;transform:rotate(45deg)}.scene-callout span:empty{display:none}body.viewer-expanded{overflow:hidden}.scene-wrap.expanded{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;height:auto!important;margin:0!important;background:#e9eee9}.scene-wrap.expanded .view-switch{top:16px;right:16px}.scene-wrap.expanded .scene-tools{left:16px;right:16px;bottom:16px}.usp-list{list-style:none;margin:6px 0 26px;padding:16px;display:grid;gap:14px;background:#f4f7f4;border:1px solid #dde6df;border-radius:8px}.usp-list li{display:flex;gap:11px;align-items:flex-start}.usp-list li>svg{color:var(--green);margin-top:1px}.usp-list strong{display:block;font-size:13px;font-weight:800;line-height:1.35}.usp-list small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:2px}.usp-list.compact{background:none;border:0;padding:0;grid-template-columns:1fr 1fr;gap:14px 16px}.trust-bar{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.trust-bar li{display:flex;gap:9px;align-items:flex-start;background:#fff;border:1px solid #d9e2de;border-radius:7px;padding:12px}.trust-bar li>svg{color:var(--accent);margin-top:1px}.trust-bar strong{display:block;font-size:11.5px;line-height:1.35;font-weight:800}.trust-bar small{display:block;font-size:10.5px;line-height:1.5;color:var(--muted);margin-top:3px}.preview-bottom{justify-content:flex-start;gap:22px;margin-top:14px}.preview-bottom>button{font-size:11px;font-weight:800;color:var(--accent);text-decoration:underline;text-underline-offset:4px;padding:0;display:flex;align-items:center;gap:6px;min-height:40px}.estimate-actions>.text-button{justify-content:center}.next-steps{margin:30px 0 8px;padding-top:24px;border-top:1px solid var(--line)}.next-steps>h3{font-size:18px;letter-spacing:-.02em;margin-bottom:14px}.cta-grid{display:grid;gap:8px}.cta-grid>button{display:flex;align-items:center;gap:14px;text-align:left;padding:14px;border:1px solid #cfdade;border-radius:8px;background:#fff;min-height:68px}.cta-grid>button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-pale)}.cta-grid>button>svg:first-child{color:var(--accent);flex-shrink:0}.cta-grid>button>span{flex:1}.cta-grid strong{display:block;font-size:14px;font-weight:800}.cta-grid small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.cta-grid>button:first-child{background:var(--accent);border-color:var(--accent);color:#fff}.cta-grid>button:first-child small,.cta-grid>button:first-child svg{color:#dbe5f1!important}.cta-grid>button:first-child:hover{background:var(--accent-dark)}.call-line{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;border-radius:8px;background:var(--soft);text-decoration:none;font-size:13px}.call-line small{display:block;font-size:11px;color:var(--muted)}.call-line>svg{color:var(--accent)}.why-warwick{margin-top:26px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb}.why-warwick>h3{font-size:16px;margin-bottom:14px}.why-warwick .usp-list{margin:0 0 12px}.field{margin-bottom:16px;min-width:0}.field>label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.field>label>small{font-weight:500;color:var(--muted)}.field-input{position:relative;display:block}.field input,.field select,.lead-form textarea,.quote-form textarea{display:block;width:100%;border:1px solid #bfcdd3;border-radius:var(--radius);font-size:16px;line-height:1.5;background:#fff;padding:11px 13px;min-height:48px;font-weight:500}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2338547b' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 13px center/16px;padding-right:36px}.field input::placeholder,.lead-form textarea::placeholder,.quote-form textarea::placeholder{color:#6b7c83;font-size:14px}.field input:focus,.field select:focus{border-color:var(--accent)}.field.has-error input,.field.has-error select{border-color:#b4462b;box-shadow:0 0 0 1px #b4462b;background:#fffaf8}.field.is-valid input{border-color:#3d7a5f;padding-right:40px}.field-check{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#3d7a5f}.field-error{display:block;color:#a13d24;font-size:12px;font-weight:700;line-height:1.5;margin-top:6px}.field-ok{display:block;color:#3d7a5f;font-size:12px;font-weight:700;margin-top:6px}.field-note{display:block;color:var(--muted);font-size:11.5px;line-height:1.5;margin-top:6px}.consent-error{margin:-14px 0 16px}.textarea-field{display:block;font-size:13px;font-weight:800;margin-bottom:16px}.textarea-field small{font-weight:500;color:var(--muted)}.textarea-field textarea{margin-top:7px;min-height:72px;font-weight:500}.form-pair{align-items:start}.quote-form .checkbox-label,.lead-form .checkbox-label{display:flex;align-items:start;gap:9px;font-size:12px;line-height:1.7;font-weight:500;color:var(--muted);cursor:pointer;margin-bottom:16px}.lead-form .consent{margin:4px 0 18px}body.modal-open{overflow:hidden}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0f1f2bb3;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto;animation:fade-in .18s ease}.modal{position:relative;width:min(520px,100%);background:#fff;border-radius:12px;box-shadow:0 40px 90px #08182566;padding:30px 30px 24px;animation:rise .24s var(--ease)}.modal.wide{width:min(620px,100%)}.modal-close{position:absolute;right:12px;top:12px}.modal-kicker{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-pale);padding:5px 9px;border-radius:999px}.modal h2{font-size:26px;margin:12px 40px 8px 0}.modal-intro{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:20px}.lead-form>.primary-button{width:100%;justify-content:space-between;min-height:52px;font-size:14px}.lead-form .form-reassurance{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--muted);margin-top:12px;text-align:center}.lead-form .select-field select{font-size:15px;min-height:48px}.showroom-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:20px}.showroom-card>div{display:flex;gap:10px;align-items:flex-start}.showroom-card>div>svg{color:var(--accent);margin-top:2px;flex-shrink:0}.showroom-card strong{display:block;font-size:13px;margin-bottom:3px}.showroom-card small{display:block;font-size:12px;color:var(--muted);line-height:1.6}.showroom-links{grid-column:1/-1;display:flex!important;gap:18px;flex-wrap:wrap}.showroom-links a{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:var(--accent);min-height:36px}.modal-success{text-align:center;padding:12px 4px}.modal-success>svg{color:var(--green)}.modal-success h2{margin:14px 0 10px}.modal-success p{font-size:14px;line-height:1.7;color:var(--muted)}.modal-reference{margin-top:10px;font-size:12px!important}.modal-actions{display:grid;gap:10px;margin-top:22px}.modal-actions .primary-button{justify-content:space-between}.modal-actions .text-button{justify-content:center}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.tour-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f1f2bb8}.tour-spotlight{position:fixed;border-radius:10px;box-shadow:0 0 0 9999px #0f1f2bb8,0 0 0 3px #8db7ff;transition:all .32s var(--ease);pointer-events:none}.tour-card{position:fixed;background:#fff;border-radius:12px;padding:22px 22px 18px;box-shadow:0 30px 80px #04121e70;outline:none;animation:rise .25s var(--ease)}.tour-card.centred{left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));animation:fade-in .25s ease}.tour-progress{display:flex;gap:5px;margin-bottom:12px}.tour-progress i{height:4px;flex:1;border-radius:2px;background:#d8e1e6}.tour-progress i.done{background:#9fb6cd}.tour-progress i.current{background:var(--accent)}.tour-count{font-size:11px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}.tour-card h2{font-size:21px;margin:6px 0 8px;letter-spacing:-.02em}.tour-card p#tour-text{font-size:14px;line-height:1.65;color:var(--muted)}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.tour-actions>span{display:flex;gap:8px}.tour-actions .secondary-button{min-height:44px}@media(max-width:1440px){.header-title small{display:none}}@media(max-width:1280px){.header-title{display:none}.header-ctas button{padding:0 11px;font-size:12px}}@media(max-width:1200px){.preview-extras{padding:0 24px 20px}.trust-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-wrap{height:clamp(380px,50vh,620px)}}@media(max-width:1100px){.header-actions .phone-link span{display:none}.header-ctas button span{font-size:11.5px}}@media(max-width:1024px){.header-ctas button:not(:first-child) span{display:none}.header-ctas button:not(:first-child){width:44px;padding:0;justify-content:center}}@media(max-width:960px)and (min-width:901px){.view-switch>button span{display:inline}.view-switch svg{display:none}}@media(max-width:900px){.header-ctas,.header-icon{display:none}.menu-button{display:inline-flex}.header-actions{margin-left:auto;gap:6px}.header-actions .phone-link{margin:0;width:44px;height:44px;justify-content:center;border:1px solid #c6d2d6;border-radius:var(--radius)}.header-actions .phone-link span{display:none}.studio-layout{display:flex;flex-direction:column}.step-nav{z-index:20}.preview{position:sticky;top:58px;z-index:12;padding:0;background:#e9eee9;box-shadow:0 8px 20px #182d3514}.preview-heading,.restore-note{display:none}.scene-wrap{height:clamp(240px,40vh,420px);margin:0}.preview.collapsed .scene-wrap{display:none}.preview.collapsed .show-preview{display:flex}.show-preview{align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;background:#fff;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;color:var(--accent)}.collapse-preview{display:flex;position:absolute;left:12px;top:12px;z-index:3;width:40px;height:40px;align-items:center;justify-content:center;background:#fffffff0;border:1px solid #d7e0db;border-radius:6px}.view-switch{right:12px;top:12px}.scene-tools{left:12px;right:12px;bottom:10px}.scene-caption{display:none}.options-panel{border-top:0}.options-scroll,.options-panel{scroll-margin-top:calc(58px + 40vh)}.preview.collapsed~.options-panel,.preview.collapsed~.options-panel .options-scroll{scroll-margin-top:110px}.preview-extras{padding:20px 24px 24px;background:#f3f5f2}.estimate-bar{margin-top:0}.usp-list.compact{grid-template-columns:1fr}.modal{padding:26px 22px 20px}.showroom-card{grid-template-columns:1fr}}@media(max-width:600px){.site-header{height:64px}.menu-button span{display:none}.menu-button{width:44px;justify-content:center;padding:0}.step-nav{top:0}.preview{top:62px}.scene-wrap{height:clamp(220px,36vh,330px)}.view-switch{top:8px;right:8px;padding:3px}.view-switch>button{padding:0 8px;min-height:34px;font-size:10px;gap:4px}.view-switch>button svg{display:none}.collapse-preview{top:8px;left:8px;width:36px;height:36px}.scene-tools{left:8px;right:8px;bottom:8px;gap:6px}.scene-tools>button>span{display:none}.scene-tools>button{width:44px;justify-content:center;padding:0}.options-scroll,.options-panel{scroll-margin-top:calc(62px + 36vh)}.trust-bar{grid-template-columns:1fr 1fr;gap:8px}.trust-bar li{padding:10px}.trust-bar small{display:none}.preview-extras{padding:18px 16px 22px}.modal-backdrop{padding:0;align-items:flex-end}.modal{border-radius:14px 14px 0 0;padding:24px 18px calc(18px + env(safe-area-inset-bottom));max-height:94vh;overflow-y:auto}.modal h2{font-size:22px}.form-pair{grid-template-columns:1fr;gap:0}.tour-card.anchored{left:12px!important;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));top:auto!important;width:auto!important}.tour-actions{flex-wrap:wrap}.cta-grid>button{min-height:64px}}@media(max-width:380px){.view-switch>button{padding:0 6px;font-size:9.5px}}@media(prefers-reduced-motion:reduce){.tour-spotlight{transition:none}.modal,.modal-backdrop,.tour-card{animation:none}}@media print{.header-ctas,.menu-button,.preview-extras .trust-bar{display:none}}.quote-form .field>label,.lead-form .field>label{display:block;margin-bottom:7px;font-size:13px;font-weight:800}.quote-form .field .field-input input{margin-top:0}.quote-form label.textarea-field,.lead-form label.textarea-field{font-size:13px;margin-bottom:16px}.quote-form .form-pair .field,.lead-form .form-pair .field{margin-bottom:16px}.restore-note{position:static;margin-top:8px}.field input[name=postcode]{text-transform:uppercase}.field input[name=postcode]::placeholder{text-transform:none}.preview-bottom{flex-wrap:wrap}.compare-link{display:none!important}@media(max-width:900px){.compare-link{display:flex!important}}.scene-stage{top:0;right:0;bottom:0;left:0}.scene-stage>svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.scene-recovering{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;display:flex;align-items:center;gap:10px;background:#fffffff2;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:12px;font-weight:800;color:var(--ink);box-shadow:0 10px 30px #12283a1f}.scene-spinner{width:16px;height:16px;border-radius:50%;border:2px solid #c9d6dc;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scene-mode-note{position:absolute;left:12px;bottom:62px;z-index:3;margin:0;font-size:10px;font-weight:700;color:#4f6470;background:#ffffffd9;padding:4px 8px;border-radius:999px;pointer-events:none}@media(max-width:900px){.scene-mode-note{left:auto;right:12px;top:58px;bottom:auto}}.scene-fallback{top:0;right:0;bottom:0;left:0}.scene-mode-note{top:16px;left:16px;bottom:auto}@media(max-width:900px){.scene-mode-note{left:auto;right:12px;top:56px}}@media(max-width:600px){.scene-mode-note{top:50px;right:8px}}button.scene-mode-note{pointer-events:auto;border:1px solid #d3dde2;cursor:pointer;font-family:inherit;line-height:1.4}button.scene-mode-note:hover{background:#fff;color:var(--accent)}.scene-diagnostics{position:absolute;z-index:6;left:12px;top:12px;width:min(360px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 40px #12283a2e;padding:14px;font-size:12px;color:var(--ink)}.scene-diagnostics>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.scene-diagnostics>div:first-child button{width:32px;height:32px;font-size:20px;line-height:1;border-radius:6px}.scene-diagnostics>div:first-child button:hover{background:var(--accent-pale)}.scene-diagnostics dl{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin:0 0 12px}.scene-diagnostics dt{color:var(--muted);font-weight:700}.scene-diagnostics dd{margin:0;word-break:break-word}.scene-diagnostics-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px}.scene-diagnostics-actions button{min-height:40px;padding:0 14px;border:1px solid #c6d2d6;border-radius:6px;background:#fff;font-size:12px;font-weight:800;color:var(--accent)}.scene-diagnostics-actions button:first-child{background:var(--accent);border-color:var(--accent);color:#fff}.success-message .secondary-button{width:100%;margin-top:10px}
