@font-face{font-family:Montserrat;src:url('./assets/montserrat-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('./assets/montserrat-medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('./assets/montserrat-semibold.woff2') format('woff2');font-weight:600 800;font-display:swap}
:root{--iron:#191923;--moss:#88a096;--green:#405f4c;--paper:#f5f4ef;--line:#dfe2d7;--muted:#71816a;--header-height:64px;--panel-width:390px;--space:16px;--app-height:100dvh;--app-width:100vw;--app-top:0px;--app-left:0px}
*{box-sizing:border-box}html{width:100%;height:100%;overflow:hidden;overflow:clip;overscroll-behavior:none}body{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);position:fixed;top:var(--app-top);left:var(--app-left);margin:0;width:var(--app-width);height:var(--app-height);max-width:100%;overflow:hidden;overflow:clip;overscroll-behavior:none;display:grid;grid-template-rows:var(--header-height) minmax(0,1fr);font-family:Montserrat,Arial,sans-serif;font-size:13px;color:var(--iron);background:var(--paper);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{border:0;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid #64896e;outline-offset:2px}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}
.site-header{padding:8px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:#fafaf6;min-width:0;min-height:0}.brand-pair{display:flex;align-items:center;gap:12px;padding:0;min-height:44px;min-width:0;flex-shrink:0;text-align:left}.brand-primary,.brand-partner{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0}.brand-primary{width:148px;align-items:flex-start}.brand-partner{width:76px;align-items:center}.modal-logo{display:block;width:100px;height:36px;object-fit:contain;object-position:left center}.flexi-logo{display:block;width:60px;height:25px;object-fit:contain}.brand-authorship{font-size:8px;line-height:10px;color:#405f4c;white-space:nowrap;font-weight:500}.brand-partner-caption{font-size:7px;line-height:9px;color:#71816a;white-space:nowrap;font-weight:400}.header-title{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.8px;font-weight:600;white-space:nowrap}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}.header-actions{display:flex;gap:14px;align-items:center;min-width:0}.quiet-button{min-height:44px;font-size:11px}.outline-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #c8d0bd;border-radius:6px;font-size:10px}.outline-button:hover,.icon-button:hover{background:#e9eee1}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:5px;font-size:25px;flex-shrink:0}
.studio{display:grid;grid-template-columns:minmax(0,1fr) var(--panel-width);min-width:0;min-height:0;width:100%;height:100%;margin:0 auto;max-width:2100px}.design-workspace{position:relative;min-width:0;min-height:0;padding:23px 28px 14px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:8px;background:radial-gradient(ellipse at 50% 50%,#fcfcf6,#f4f3ee 73%)}.workspace-heading{z-index:2;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:1.5px;color:#718167;font-weight:600;margin:0 0 6px}h1{font-size:clamp(24px,2.4vw,38px);font-weight:500;line-height:1.15;letter-spacing:-1px;margin:0}h2{font-size:23px;line-height:1.2;letter-spacing:-.6px;margin:0;font-weight:500}.workspace-subtitle{font-size:11px;color:#7e8a72;margin:8px 0 0;line-height:1.4}.workspace-ownership{margin:0;min-width:0;font-size:9px;line-height:1.45;font-weight:400;letter-spacing:0;text-align:left;color:#71816a;overflow-wrap:break-word}.viewer-shell{container:home-viewer / size;position:relative;min-height:0;min-width:0;width:100%;height:100%}.model-stage{position:absolute;inset:0;min-height:0;min-width:0;touch-action:none}.model-stage canvas{display:block;width:100%;height:100%;touch-action:none}.model-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;color:#7d8d70;font-size:12px}.loading-mark{width:19px;height:19px;border:1px solid #cdd7bf;border-top-color:#5c7950;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.view-cube{position:absolute;top:0;right:0;width:136px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;z-index:3;user-select:none;-webkit-user-select:none}.view-cube button{min-width:0;min-height:36px;padding:6px 3px;border:1px solid #cbd8c2;border-radius:5px;background:#fafcf6ed;font-size:11px;line-height:1.2;text-align:center;color:#405f4c;white-space:nowrap}.view-cube button:hover,.view-cube button:focus-visible{background:#dfe9d7;border-color:#88a096}.view-cube button[data-cube="perspective"]{background:#e5edde;font-weight:500}.scene-tools{position:absolute;right:0;bottom:0;display:flex;gap:2px;align-items:center;border:1px solid #dce3d2;border-radius:7px;background:#ffffffdc;padding:2px;z-index:2}.scene-tools button{width:38px;height:38px;font-size:23px;border-radius:4px;color:#60784f}.scene-tools button:hover{background:#e9efdf}.scene-tag{display:none}.scene-material{display:none}.viewer-bottom{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-width:0}.view-chip{position:absolute;bottom:0;left:0;z-index:3;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 9px;border:1px solid #cbd8c2;border-radius:6px;font-size:10px;color:#405f4c;background:#fafcf6ed;white-space:nowrap}.view-chip:hover{background:#dfe9d7;border-color:#88a096}.view-chip svg{width:15px;height:15px}.orbit-hint{font-size:10px;color:#7d8b72}.design-metrics{display:grid;grid-template-columns:1fr .8fr 1.2fr;border-top:1px solid var(--line);padding-top:10px;gap:12px;min-width:0}.design-metrics>div{border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px;min-width:0}.design-metrics>div:last-child{border:0}.design-metrics strong{font-size:27px;letter-spacing:-1px;line-height:1;font-weight:400}.design-metrics strong span{font-size:13px;letter-spacing:0;margin-left:3px}.design-metrics>div>span{font-size:9px;color:#79876f;line-height:1.3}.workspace-footnote,.site-footer{display:none}
.config-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;height:100%;border-left:1px solid var(--line);padding:18px 20px;background:#fdfdf8}.panel-intro{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:34px}.panel-intro .eyebrow{display:none}.panel-intro h2{font-size:23px}.text-button{font-size:10px;color:#667d57;text-decoration:underline;text-underline-offset:3px;min-height:36px;padding:3px 0;white-space:nowrap}.step-tabs{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line);gap:8px}.step-tabs button{min-height:38px;text-align:left;padding:0 0 8px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#829176;position:relative}.step-tabs button span{font-size:9px}.step-tabs button.active{color:#263c22;font-weight:600}.step-tabs button.active:after{content:'';height:2px;position:absolute;left:0;right:0;bottom:-1px;background:#668459}.control-navigation,.dialog-navigation{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;align-items:center;min-width:0}.control-navigation>button,.dialog-navigation>button{min-height:38px;min-width:0;padding:5px;border:1px solid #d7dfce;background:#f6f8f0;border-radius:5px;font-size:22px;color:#46643b}.control-navigation>#control-index{font-size:12px;line-height:1.25;padding:6px 7px;white-space:normal}.control-navigation #control-index:after{content:'⌄';margin-left:7px;color:#809575}.controls-scroll{min-width:0;min-height:0;position:relative;display:flex;align-items:center;padding:0;overflow:clip}.control-page{width:100%;min-width:0;min-height:0;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;gap:12px;transform-origin:center center}.control-group{margin:0;min-width:0}.control-label{font-size:12px;font-weight:600;margin:0 0 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.3;min-width:0}.control-label small{font-size:10px;color:#7a8d6b;font-weight:400;text-align:right}.layout-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.option-card{min-height:100px;border:1px solid #dbe2d0;border-radius:7px;padding:10px 5px;position:relative;text-align:center;min-width:0}.option-card:hover{background:#f0f4e8}.option-card.selected{border-color:#708e62;background:#edf3e6;box-shadow:inset 0 0 0 .5px #708e62}.option-card svg{width:58px;height:42px;stroke-width:1.25;max-width:100%}.option-card span{display:block;font-size:11px;margin-top:5px;line-height:1.4}.option-card.selected:after,.material-card.selected:after{content:'✓';position:absolute;top:5px;right:6px;font-size:10px;color:#5c7b49}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dimension-field{border:1px solid #e0e6d6;background:#f3f6ec;border-radius:6px;padding:10px 8px;min-width:0}.dimension-field>label{display:block;color:#758b62;font-size:11px;margin-bottom:7px}.stepper{display:flex;align-items:center;gap:4px;min-width:0}.stepper button{width:34px;height:44px;border:1px solid #d6dfc9;background:#fff;border-radius:4px;flex-shrink:0;font-size:20px;padding:0}.stepper button:hover{background:#e5efda}.dimension-value{position:relative;min-width:0;flex:1}.dimension-value input{width:100%;border:0;border-bottom:1px solid #c5d4b5;background:transparent;border-radius:0;text-align:center;padding:6px 10px 6px 0;font-size:18px;appearance:textfield;-moz-appearance:textfield;color:#2e4728;min-height:44px}.dimension-value input::-webkit-inner-spin-button,.dimension-value input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dimension-value span{font-size:10px;color:#7c956c;position:absolute;right:0;top:17px}.field-hint{font-size:11px;line-height:1.5;color:#7d8e6f;margin:7px 0 0}.slider-row{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;margin-top:8px}.slider-row output{font-size:12px;color:#627e51}.slider{width:100%;accent-color:#6e8e5c;min-height:42px;margin:0;touch-action:none;display:block}.control-label output{font-size:13px;font-weight:500;white-space:nowrap}.segmented{display:flex;gap:4px;padding:3px;border:1px solid #dce5ce;border-radius:5px;margin-top:7px}.segmented button{flex:1;min-height:44px;padding:7px;font-size:12px;color:#718860;border-radius:3px}.segmented .active{background:#e7efdc;color:#476239}.mono-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.mono-options button{border:1px solid #dbe2d0;border-radius:5px;padding:6px 4px;min-height:48px;font-size:11px;line-height:1.35;color:#718367}.mono-options button.active{border-color:#708e62;background:#edf3e6;color:#405f4c}.info-box{font-size:11px;line-height:1.5;background:#edf3e5;padding:12px;border-radius:6px;color:#728862}.info-box strong{display:block;color:#587642;font-size:12px;font-weight:500;margin-bottom:4px}.warning{font-size:11px;color:#8b713f;line-height:1.45;margin:0}.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.material-card{border:1px solid #dfe6d3;border-radius:6px;padding:0 0 8px;overflow:hidden;position:relative;text-align:left;min-width:0}.material-card.selected{border-color:#729362;box-shadow:inset 0 0 0 .5px #729362}.material-texture{display:block;height:38px;margin-bottom:6px}.material-texture.timber{background:repeating-linear-gradient(90deg,#ad8b63 0,#b99a75 6px,#bca380 8px,#9d7e57 9px,#b49a74 11px)}.material-texture.metal{background:repeating-linear-gradient(90deg,#464943 0,#464943 14px,#62655d 15px,#30362f 17px,#464943 19px)}.material-texture.batten{background:repeating-linear-gradient(90deg,#987b57 0,#aa8a62 25px,#7b603e 26px,#c1a17b 29px,#a98a61 33px)}.material-texture.weathertex{background:repeating-linear-gradient(0deg,#c3c9ba 0,#c3c9ba 11px,#9aa58e 12px,#d4d9cc 14px)}.material-card strong{display:block;padding:0 8px;font-size:11px;font-weight:500;line-height:1.3}.material-card small{display:block;font-size:10px;padding:0 8px;color:#7a8e69;margin-top:3px;line-height:1.3}.colour-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.colour-option{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;padding:9px 2px;font-size:11px;color:#718965;min-height:92px;border-radius:6px;border:1px solid transparent}.colour-option i{width:42px;height:42px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #dce4d0}.colour-option.selected i{box-shadow:0 0 0 2px #708e5e}.colour-option.selected{color:#436432;background:#f0f5e9}.select-field{width:100%;border:1px solid #dce6d0;background:#f3f7ed;border-radius:5px;padding:10px;font-size:16px;min-height:44px;color:#5e774d}.outdoor-check{display:flex;align-items:center;gap:11px;cursor:pointer;padding:11px;border:1px solid #dbe2d0;border-radius:7px;margin:0;min-height:64px}.outdoor-check input{width:24px;height:24px;flex-shrink:0;accent-color:#405f4c;margin:0}.outdoor-check strong{display:block;font-size:12px;font-weight:500}.outdoor-check small{display:block;font-size:10px;color:var(--muted);line-height:1.4;margin-top:4px}.control-jump small{display:block;font-size:9px;color:#8d9c80;margin-bottom:3px}.control-jump-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;min-width:0}.control-jump{border:1px solid #d7dfcd;border-radius:6px;background:#f4f7ed;padding:8px 5px;min-height:48px;font-size:11px;line-height:1.3;color:#607751}.control-jump.active,.control-jump.selected,.control-jump[aria-current="step"]{background:#e5efdb;border-color:#789362;color:#405f4c}
.price-card{min-width:0;background:#eef4e6;border:1px solid #dce7cf;border-radius:8px;padding:12px;margin:0}.price-top{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}.price-top>span{display:flex;align-items:center;gap:5px;font-size:8px;letter-spacing:.7px;font-weight:600;color:#4e703c;min-width:0}.price-top .text-button{font-size:10px;min-height:26px}.price-main{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:4px;margin:8px 0 12px;min-height:0;min-width:0}.price-main strong{display:block;width:100%;font-size:clamp(22px,2.2vw,29px);letter-spacing:-1px;line-height:1.15;font-weight:500;white-space:nowrap}.price-main>span{font-size:9px;line-height:1.4;color:#788e62;flex-shrink:0}.price-card.pending .price-main strong{opacity:.6}.price-caveat{font-size:9px;color:#7c8d6a;line-height:1.35;margin:5px 0 8px}.primary-button{width:100%;background:var(--iron);color:#fff;border-radius:5px;min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;line-height:1.3;text-decoration:none}.primary-button:hover{background:#354a2b}.primary-button>span{font-size:17px;flex-shrink:0}.meeting-button{font-size:10px;color:#577341;min-height:36px;width:100%;margin-top:2px;text-decoration:underline;text-underline-offset:3px;line-height:1.4;padding:5px 0}.toast{position:fixed;bottom:12px;left:50%;transform:translate(-50%,10px);background:#2c4323;color:#fff;padding:10px 15px;font-size:12px;line-height:1.4;border-radius:6px;z-index:99;max-width:calc(100vw - 24px);text-align:center;opacity:0;pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
dialog{--dialog-gap:14px;--dialog-box-width:min(660px,calc(var(--app-width) - 2 * var(--dialog-gap)));--dialog-box-height:min(620px,calc(var(--app-height) - 2 * var(--dialog-gap)));position:fixed;inset:auto;top:calc(var(--app-top) + (var(--app-height) - var(--dialog-box-height)) / 2);left:calc(var(--app-left) + (var(--app-width) - var(--dialog-box-width)) / 2);background:#fdfef8;color:var(--iron);width:var(--dialog-box-width);max-width:var(--dialog-box-width);height:var(--dialog-box-height);max-height:var(--dialog-box-height);margin:0;border:1px solid #d5e3c7;border-radius:12px;padding:20px;box-shadow:0 20px 80px #21381935;overflow:hidden;overflow:clip;overscroll-behavior:none;min-width:0;min-height:0}dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr);grid-auto-rows:auto;gap:16px}dialog::backdrop{background:#1b301166;backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;min-height:0;min-width:0}.dialog-header>div{min-width:0}.dialog-header .eyebrow{font-size:8px}.dialog-header h2{font-size:23px;overflow-wrap:anywhere}.dialog-header .icon-button{align-self:center}#dialog-body{display:flex;flex-direction:column;justify-content:center;min-height:0;min-width:0;overflow:clip}#dialog-page{width:100%;min-height:0;min-width:0;flex-shrink:0;display:flex;flex-direction:column;gap:13px;transform-origin:center center}.dialog-intro{font-size:12px;line-height:1.6;color:#728764;margin:0}.dialog-navigation{padding-top:10px;border-top:1px solid var(--line);grid-template-columns:74px minmax(0,1fr) 74px}.dialog-navigation>button{min-height:40px;font-size:12px}.dialog-navigation>span,.dialog-page-index{font-size:12px;text-align:center;color:#667f55;line-height:1.3}.summary-top{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;min-width:0}.summary-image{width:100%;border-radius:6px;background:#f3f6eb;max-height:160px;object-fit:contain}.summary-price{font-size:27px;letter-spacing:-.7px;margin:0 0 7px;font-weight:500}.summary-meta{font-size:11px;line-height:1.6;color:#718861;margin:0}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;min-width:0}.summary-grid dt{font-size:10px;color:#7d936e;margin-bottom:4px}.summary-grid dd{font-size:12px;margin:0;line-height:1.4;overflow-wrap:anywhere}.breakdown{width:100%;border-collapse:collapse;font-size:12px;margin:0}.breakdown th{font-size:10px;color:#6d865b;font-weight:500;padding:8px 0;text-align:left;border-bottom:1px solid var(--line)}.breakdown td{padding:9px 0;border-bottom:1px solid #e2ecd7;vertical-align:top;line-height:1.4}.breakdown td small{display:block;font-size:11px;color:#758c64;line-height:1.4;max-width:400px;margin-top:3px}.breakdown td:last-child,.breakdown th:last-child{text-align:right;white-space:nowrap;padding-left:14px}.breakdown tfoot th,.breakdown tfoot td{padding-top:12px;border-bottom:0;color:var(--iron);font-size:14px;font-weight:600}.breakdown tfoot th small{display:block;font-size:10px;font-weight:400;color:#77846d;margin-top:4px}.assumptions{font-size:12px;line-height:1.6;color:#748c63;margin:0;min-width:0}.assumptions h3{font-size:14px;color:#63824c;font-weight:500;margin:0 0 8px}.assumptions p{margin:0 0 9px}.assumptions p:last-child{margin-bottom:0}.summary-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0}.summary-actions button{flex:1;min-width:0;min-height:44px;font-size:12px;padding:9px 12px;border:1px solid #dae6cc;border-radius:5px}.summary-actions .primary-button{border:0}.lead-form{display:flex;flex-direction:column;gap:13px;min-height:0;min-width:0;width:100%;margin:0}.form-field{display:flex;flex-direction:column;gap:9px;min-width:0}.form-field label{font-size:13px;color:#587a42;font-weight:500}.form-field input,.form-field select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #d8e7c8;border-radius:5px;background:#fff;font-size:16px;color:#395c2b;appearance:auto}.form-field input::placeholder{font-size:14px;color:#82996e}.form-note{font-size:11px;color:#718b5d;line-height:1.5;margin:0}.form-status{font-size:11px;color:#806630;line-height:1.45;background:#f4efdf;padding:9px 10px;border-radius:5px;margin:0}.form-submit{margin:0}.form-submit button{font-size:12px}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.lead-design-brief{display:flex;gap:12px;align-items:center;background:#f0f5e8;padding:10px;border-radius:6px;margin:0;min-width:0}.lead-design-brief img{width:96px;height:64px;object-fit:cover;border-radius:4px}.lead-design-brief strong{display:block;font-size:12px;font-weight:500}.lead-design-brief p{font-size:11px;color:#718c5b;margin:5px 0 0;line-height:1.5}.lead-brief-compact{font-size:11px;color:#7a8e69;line-height:1.4;margin:0}.lead-step-navigation{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;margin-top:2px}.lead-step-navigation>button{min-height:44px;border:1px solid #d7e2ca;border-radius:5px;font-size:12px;padding:9px 12px}.lead-step-navigation>.primary-button,.lead-step-navigation>.form-submit{flex:1;min-width:0}.lead-step-navigation>.primary-button{border:0}.lead-step-navigation>span{font-size:11px;color:#70845d;text-align:center}.success-symbol{width:48px;height:48px;border-radius:50%;background:#e5efd9;color:#5e8344;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0}.success-copy{font-size:13px;line-height:1.6;color:#71885e;margin:0;overflow-wrap:anywhere}.success-copy strong{color:#4e7335}.empty-state{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:12px;line-height:1.5;color:#70895b}.kiosk #about-button{display:none}.kiosk #show-button{background:#e5efda}
@media(min-width:1500px){:root{--panel-width:430px;--space:22px}.config-panel{padding:24px;gap:14px}.design-workspace{padding:30px 40px 18px}.view-cube{width:142px}.material-texture{height:50px}.material-card{padding-bottom:10px}.price-card{padding:16px}.price-main strong{font-size:31px}.design-metrics strong{font-size:31px}}
@media(max-width:1050px){:root{--header-height:58px;--panel-width:360px}.site-header{padding:6px 18px}.header-title{font-size:9px;letter-spacing:1.3px}.header-actions{gap:8px}.quiet-button{font-size:10px}.modal-logo{height:34px}.flexi-logo{height:25px}.brand-pair{gap:12px}.design-workspace{padding:20px 20px 12px;gap:8px}.workspace-heading h1{font-size:29px}.workspace-subtitle{font-size:10px}.config-panel{padding:14px 16px;gap:9px}.panel-intro h2{font-size:22px}.price-main strong{font-size:25px}.view-cube{width:136px}.design-metrics strong{font-size:25px}.orbit-hint{font-size:9px}.scene-tag{font-size:9px}}
@media(max-width:760px){.header-title,.quiet-button{display:none}}
@media(max-aspect-ratio:9/10){:root{--header-height:56px}.site-header{padding:5px 18px}.modal-logo{height:32px}.header-title{display:none}.studio{grid-template-columns:1fr;grid-template-rows:minmax(0,35fr) minmax(0,65fr)}.design-workspace{padding:8px 20px;grid-template-rows:minmax(0,1fr) auto auto;gap:6px}.workspace-ownership{font-size:8px;line-height:1.4}.workspace-heading,.viewer-bottom{display:none}.design-metrics{padding-top:7px;gap:10px}.design-metrics strong{font-size:23px}.design-metrics>div>span{font-size:9px}.design-metrics>div{gap:3px}.config-panel{padding:12px 20px 14px;border-left:0;border-top:1px solid var(--line);gap:8px}.panel-intro{min-height:28px}.panel-intro h2{font-size:23px}.step-tabs button{min-height:34px;padding-bottom:7px}.control-navigation>button{min-height:38px}.controls-scroll{align-items:center}.control-page{gap:12px}.view-cube{width:136px;right:1px;top:0}.scene-tools button{width:36px;height:34px}.scene-tag{font-size:10px;bottom:8px}.price-main strong{font-size:28px}.price-card{padding:10px 12px}.price-caveat{margin:3px 0 7px}.price-top .text-button{min-height:24px}.primary-button{min-height:44px}.meeting-button{min-height:34px}.material-card strong{font-size:12px}.material-texture{height:32px}.material-card small{font-size:10px}.material-card{padding-bottom:7px}.colour-option{min-height:84px}.control-jump{min-height:44px}.quiet-button{display:none}}
@media(max-width:480px){:root{--header-height:56px}.site-header{padding:4px 12px;gap:10px}.brand-pair{gap:12px;min-height:44px}.modal-logo{height:32px}.flexi-logo{height:25px}.outline-button{min-height:36px;padding:6px 8px}.outline-button span{display:none}.outline-button svg{width:20px;height:20px}.header-title{display:none}.studio{grid-template-rows:minmax(0,32fr) minmax(0,68fr)}.design-workspace{padding:6px 14px}.workspace-ownership{font-size:7.5px;line-height:1.4}.config-panel{padding:10px 14px;gap:7px}.panel-intro h2{font-size:21px}.text-button{font-size:10px;min-height:28px}.panel-intro{min-height:26px}.control-label{font-size:12px;margin-bottom:7px}.dimension-field{padding:9px 7px}.stepper button{width:32px}.dimension-value input{font-size:18px}.option-card{min-height:96px;padding:8px 4px}.option-card span{font-size:10px}.option-card svg{width:53px;height:39px}.scene-tag{font-size:9px;max-width:calc(100% - 115px)}.scene-tools button{width:32px;height:32px}.design-metrics strong{font-size:21px}.design-metrics>div>span{font-size:8px}.price-main strong{font-size:25px}.price-top>span{font-size:7px;letter-spacing:.4px}.price-top .text-button{font-size:9px}.price-caveat{font-size:9px}.primary-button{font-size:11px}.meeting-button{font-size:10px}.material-card strong{font-size:11px}.material-card small{font-size:9px}.colour-option{font-size:11px}.colour-option i{width:36px;height:36px}.control-jump-grid{gap:6px}.control-jump{font-size:10px;min-height:42px;padding:6px 4px}dialog{--dialog-gap:10px;padding:15px}dialog[open]{gap:12px}.dialog-header{padding-bottom:9px;gap:8px}.dialog-header h2{font-size:21px}.dialog-header .eyebrow{font-size:7px}.dialog-header .icon-button{width:36px;height:36px}.dialog-intro{font-size:12px}.summary-top{grid-template-columns:1fr;gap:14px}.summary-price{font-size:25px}.summary-grid{gap:10px}.summary-grid dd{font-size:11px}.breakdown{font-size:11px}.breakdown th{font-size:9px}.breakdown td{padding:8px 0}.breakdown td small{font-size:10px}.breakdown td:last-child,.breakdown th:last-child{padding-left:8px}.summary-actions{flex-direction:column}.summary-actions button{flex:auto;width:100%;font-size:11px}.form-field label{font-size:12px}.form-field input,.form-field select{font-size:16px}.lead-design-brief img{width:78px;height:58px}.lead-design-brief strong{font-size:11px}.lead-design-brief p{font-size:10px}.lead-form{gap:11px}.lead-step-navigation>button{padding:8px 10px}.form-note{font-size:10px}.form-status{font-size:10px}.success-copy{font-size:12px}}
@media(max-height:700px) and (min-aspect-ratio:10/9){:root{--header-height:48px;--panel-width:44vw}.site-header{padding:3px 14px}.modal-logo{height:29px}.flexi-logo{height:24px}.brand-pair{min-height:40px;gap:12px}.quiet-button{display:none}.outline-button{min-height:36px}.design-workspace{padding:10px 16px;grid-template-rows:auto minmax(0,1fr) auto auto;gap:5px}.workspace-ownership{font-size:8px;line-height:1.4}.workspace-heading h1{font-size:23px;line-height:1.1}.workspace-heading h1 br{display:none}.workspace-heading .eyebrow,.workspace-subtitle,.viewer-bottom{display:none}.design-metrics{padding-top:7px}.design-metrics strong{font-size:23px}.design-metrics>div>span{font-size:8px}.design-metrics>div{gap:3px}.config-panel{padding:10px 12px;gap:6px}.panel-intro h2{font-size:20px}.panel-intro{min-height:26px}.step-tabs button{min-height:32px;padding-bottom:6px;font-size:11px}.control-navigation>button{min-height:34px}.control-navigation>#control-index{font-size:11px}.control-navigation{grid-template-columns:34px minmax(0,1fr) 34px}.control-page{gap:9px}.price-card{padding:8px 10px}.price-top>span{font-size:7px}.price-top .text-button{font-size:9px;min-height:22px}.price-main{min-height:0;margin:4px 0 6px;gap:3px}.price-main strong{font-size:24px}.price-caveat{font-size:8px;margin:3px 0 6px}.primary-button{min-height:38px;font-size:11px;padding:7px 10px}.meeting-button{min-height:30px;font-size:9px;margin:0}.material-texture{height:22px}.material-card{padding-bottom:6px}.material-card small{font-size:9px}.material-card strong{font-size:11px}.field-hint{font-size:10px}.info-box{font-size:10px;padding:10px}.info-box strong{font-size:11px}.outdoor-check{padding:9px;min-height:55px}.outdoor-check strong{font-size:11px}.outdoor-check small{font-size:9px}.view-cube{width:128px}.view-cube button{min-height:32px;font-size:10px}.scene-tools button{width:34px;height:34px}.scene-tag{font-size:9px}.option-card{min-height:82px;padding:7px 4px}.option-card svg{height:33px}.option-card span{font-size:10px}.colour-option{min-height:70px;gap:6px}.colour-option i{width:34px;height:34px}.control-jump{min-height:36px;font-size:10px;padding:5px 3px}.control-jump-grid{gap:5px}}
@media(max-height:600px){dialog{--dialog-gap:10px;--dialog-box-height:calc(var(--app-height) - 20px);padding:12px 16px}dialog[open]{gap:9px}.dialog-header{padding-bottom:6px}.dialog-header .eyebrow{display:none}.dialog-header h2{font-size:20px}.dialog-header .icon-button{width:36px;height:36px}.dialog-navigation{padding-top:6px}.dialog-navigation>button{min-height:34px}#dialog-page{gap:10px}.lead-design-brief{display:none}.lead-brief-compact{display:none}.dialog-intro{font-size:11px;line-height:1.45}.lead-form{gap:9px}.form-field{gap:7px}.form-field input,.form-field select{min-height:44px;padding:8px 10px}.form-note,.form-status{font-size:10px;line-height:1.4}.form-status{padding:7px 9px}.lead-step-navigation>button{min-height:38px}.summary-grid{gap:8px}.summary-grid dt{font-size:9px}.summary-grid dd{font-size:11px}.summary-meta{font-size:10px}.summary-price{font-size:24px}.breakdown{font-size:11px}.breakdown th{padding:6px 0;font-size:9px}.breakdown td{padding:6px 0}.breakdown td small{font-size:10px;line-height:1.3}.breakdown tfoot th,.breakdown tfoot td{padding-top:8px;font-size:13px}.assumptions{font-size:11px;line-height:1.45}.assumptions h3{font-size:13px;margin-bottom:6px}.success-symbol{width:36px;height:36px;font-size:20px}.success-copy{font-size:12px;line-height:1.45}}
@media(max-height:620px) and (max-aspect-ratio:9/10){.studio{grid-template-rows:minmax(0,28fr) minmax(0,72fr)}.config-panel{gap:5px;padding:7px 12px}.panel-intro h2{font-size:19px}.panel-intro{min-height:23px}.text-button{min-height:24px}.step-tabs button{min-height:29px;font-size:11px;padding-bottom:5px}.control-navigation{grid-template-columns:32px minmax(0,1fr) 32px;gap:5px}.control-navigation>button{min-height:32px}.control-navigation>#control-index{font-size:11px}.control-page{gap:6px}.control-page>.field-hint{margin-top:0}.control-label{font-size:11px;margin-bottom:6px}.field-hint{font-size:9px;line-height:1.4;margin-top:5px}.dimension-field{padding:7px 5px}.dimension-field>label{font-size:10px;margin-bottom:5px}.stepper{gap:3px}.stepper button{width:28px;height:38px}.dimension-value input{min-height:38px;font-size:16px}.dimension-value span{top:14px;font-size:9px}.field-row{gap:7px}.slider{min-height:32px}.segmented{margin-top:4px}.segmented button{min-height:36px;font-size:11px;padding:6px}.mono-options{gap:4px;margin-top:6px}.mono-options button{min-height:40px;font-size:10px;padding:5px 3px}.option-card{min-height:77px;padding:7px 3px}.option-card svg{height:30px;width:48px}.option-card span{font-size:9px;margin-top:2px}.material-texture{height:16px;margin-bottom:4px}.material-card{padding-bottom:5px}.material-card strong{font-size:10px;padding:0 6px}.material-card small{display:none}.material-grid{gap:6px}.material-grid+.field-hint{font-size:9px}.colour-option{min-height:65px;font-size:10px;gap:6px;padding:5px 2px}.colour-option i{width:32px;height:32px}.info-box{font-size:10px;line-height:1.4;padding:9px}.info-box strong{font-size:10px}.outdoor-check{min-height:50px;padding:8px;gap:8px}.outdoor-check strong{font-size:10px}.outdoor-check small{font-size:9px;line-height:1.3;margin-top:3px}.outdoor-check input{width:20px;height:20px}.select-field{min-height:40px;padding:8px;font-size:16px}.price-card{padding:6px 9px}.price-top>span{font-size:6px;letter-spacing:.3px}.price-top .text-button{font-size:8px;min-height:20px}.price-main{min-height:0;margin:4px 0 6px;gap:3px}.price-main strong{font-size:22px}.price-main>span{font-size:8px}.price-caveat{display:none}.price-card .primary-button{min-height:34px;font-size:10px;padding:6px 9px}.meeting-button{min-height:27px;font-size:9px;margin:0}.design-metrics{padding-top:5px;gap:6px}.design-metrics strong{font-size:18px}.design-metrics strong span{font-size:10px}.design-metrics>div>span{font-size:7px}.view-cube{width:198px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.view-cube button{min-height:30px;font-size:10px;padding:5px 3px}.view-chip{min-height:30px;padding:5px 8px;font-size:10px}.scene-tools button{width:29px;height:28px;font-size:20px}.scene-tag{font-size:8px;bottom:7px;max-width:calc(100% - 100px)}.control-jump-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.control-jump{min-height:29px;font-size:9px;padding:4px 2px}}
@media(max-height:450px) and (min-aspect-ratio:10/9){:root{--header-height:48px;--panel-width:47vw}.site-header{padding:2px 12px}.brand-pair{min-height:42px}.modal-logo{height:29px}.flexi-logo{height:24px}.outline-button{min-height:32px;padding:4px 7px;font-size:9px}.outline-button svg{width:17px;height:17px}.header-title{font-size:8px}.view-cube{width:128px}.view-cube button{min-height:30px;padding:5px 3px}.view-chip{min-height:30px;padding:5px 8px}.design-workspace{padding:7px 12px;grid-template-rows:minmax(0,1fr) auto auto;gap:4px}.workspace-ownership{font-size:8px;line-height:1.35}.workspace-heading{display:none}.design-metrics strong{font-size:20px}.config-panel{padding:6px 10px;gap:4px}.panel-intro{display:none}.config-panel{grid-template-rows:auto auto minmax(0,1fr) auto}.step-tabs button{min-height:27px;font-size:11px;padding-bottom:5px}.control-navigation>button{min-height:30px;font-size:20px}.control-navigation>#control-index{font-size:11px}.control-navigation{grid-template-columns:32px minmax(0,1fr) 32px}.control-page{gap:6px}.control-label{font-size:11px;margin-bottom:5px}.field-hint{font-size:10px;line-height:1.35;margin-top:5px}.dimension-field{padding:6px}.dimension-field>label{font-size:10px;margin-bottom:5px}.stepper button{height:36px;width:30px}.dimension-value input{min-height:36px;font-size:16px}.dimension-value span{top:13px;font-size:9px}.slider{min-height:30px}.segmented{margin-top:3px}.segmented button{min-height:36px;font-size:11px;padding:5px}.mono-options{margin-top:5px}.mono-options button{min-height:36px;font-size:10px;padding:4px}.material-grid{gap:5px}.material-texture{height:13px;margin-bottom:3px}.material-card{padding-bottom:5px}.material-card strong{font-size:10px;padding:0 7px}.material-card small{display:none}.colour-option{min-height:64px;gap:6px;padding:5px 2px;font-size:11px}.colour-option i{width:32px;height:32px}.option-card{min-height:72px;padding:5px 3px}.option-card svg{height:30px}.option-card span{font-size:10px;margin-top:2px}.outdoor-check{padding:7px 9px;min-height:45px;gap:8px}.outdoor-check input{width:21px;height:21px}.outdoor-check strong{font-size:11px}.outdoor-check small{font-size:9px;margin-top:2px;line-height:1.3}.info-box{font-size:10px;line-height:1.35;padding:8px}.info-box strong{font-size:11px}.select-field{min-height:38px;padding:6px 9px}.price-card{padding:5px 8px}.price-top>span{font-size:6px;letter-spacing:.4px}.price-top .text-button{font-size:8px;min-height:18px}.price-main{min-height:0;margin:4px 0 6px;gap:3px}.price-main strong{font-size:22px}.price-main>span{font-size:8px}.price-caveat{display:none}.price-card .primary-button{min-height:32px;font-size:10px;padding:6px 9px}.meeting-button{min-height:26px;font-size:9px;margin:0}.scene-tools button{width:31px;height:30px}.scene-tag{font-size:9px}.control-jump-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.control-jump{min-height:32px;font-size:10px;padding:4px 2px}.dialog-header h2{font-size:18px}.dialog-header .icon-button{width:32px;height:32px}.dialog-navigation>button{min-height:32px}.dialog-navigation{grid-template-columns:66px minmax(0,1fr) 66px}.dialog-navigation>span{font-size:11px}.assumptions{font-size:11px}.lead-form{gap:8px}.lead-step-navigation>button{min-height:36px}.form-field input,.form-field select{min-height:40px}.form-field{gap:6px}.form-field label{font-size:12px}.form-status,.form-note{font-size:10px}.form-status{padding:6px 8px}.summary-grid{gap:6px}.summary-price{font-size:23px}.summary-meta{font-size:10px}.breakdown td{padding:5px 0}.breakdown td small{font-size:9px}.success-copy{font-size:11px}}
body.keyboard-open{grid-template-rows:minmax(0,1fr)}.keyboard-open .site-header,.keyboard-open .step-tabs,.keyboard-open .price-card,.keyboard-open .design-workspace{display:none}.keyboard-open .studio{display:block;min-height:0}.keyboard-open .config-panel{border-left:0;border-top:0;grid-template-rows:auto minmax(0,1fr);gap:5px;padding:7px 12px}.keyboard-open .panel-intro{display:none}.keyboard-open .control-page{gap:7px}.keyboard-open .price-caveat{display:none}.keyboard-open .price-card{padding:5px 9px}.keyboard-open .price-card .primary-button{min-height:32px;padding:5px 9px;font-size:10px}.keyboard-open .meeting-button{min-height:27px;font-size:9px}.keyboard-open .price-main{min-height:26px}.keyboard-open .price-main strong{font-size:22px}.keyboard-open .price-top .text-button{min-height:20px;font-size:9px}.keyboard-open .price-top>span{font-size:7px}.keyboard-open .lead-design-brief,.keyboard-open .lead-brief-compact,.keyboard-open .dialog-intro{display:none}.keyboard-open dialog{--dialog-gap:6px;--dialog-box-height:calc(var(--app-height) - 12px);padding:8px 12px}.keyboard-open dialog[open]{gap:8px}.keyboard-open .dialog-header{padding-bottom:4px}.keyboard-open .dialog-header .eyebrow{display:none}.keyboard-open .dialog-header h2{font-size:17px}.keyboard-open .dialog-header .icon-button{height:32px;width:32px}.keyboard-open #dialog-page{gap:8px}.keyboard-open .lead-form{gap:8px}.keyboard-open .form-field{gap:6px}.keyboard-open .form-field input,.keyboard-open .form-field select{min-height:42px;padding:8px 10px;font-size:16px}.keyboard-open .lead-step-navigation>button{min-height:36px;padding:7px 10px}.keyboard-open .form-note,.keyboard-open .form-status{font-size:10px;line-height:1.35}.keyboard-open .form-status{padding:6px 8px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
#control-next{background:#88a096;border-color:#88a096;color:#191923;font-weight:600}
.budget-layout{display:grid;gap:12px;min-width:0}.budget-overview{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px;min-width:0}.budget-overview .summary-grid{gap:8px 12px}.budget-overview .summary-price{margin-bottom:4px}.summary-actions.budget-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.budget-actions button{width:100%;min-width:0}.budget-actions .primary-button{justify-content:space-between}
@media(max-width:480px){.budget-layout{gap:10px}.budget-overview{grid-template-columns:1fr;gap:10px}.budget-overview .summary-grid{gap:6px 10px}.budget-overview .summary-meta{font-size:10px}.budget-layout .breakdown td{padding:6px 0}.budget-actions button{padding:8px;font-size:11px;min-height:42px}}
@media(max-height:450px) and (min-width:600px){.budget-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);grid-template-rows:auto auto;gap:12px 20px;align-items:center}.budget-overview{grid-column:1;grid-row:1;grid-template-columns:1fr;gap:10px}.budget-layout .breakdown{grid-column:2;grid-row:1 / span 2}.summary-actions.budget-actions{grid-column:1;grid-row:2;grid-template-columns:1fr;gap:6px}.budget-actions button{min-height:34px;padding:7px 10px;font-size:11px}}
@media(min-width:600px) and (max-aspect-ratio:9/10){.view-cube{width:136px}}
@container home-viewer (max-height:105px){.view-cube{width:100%;right:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.view-cube button{min-height:28px;padding:4px 2px;font-size:9px}.view-chip{min-height:28px;padding:4px 7px;font-size:9px}.scene-tools button{height:26px;width:28px;font-size:20px}}
@media(max-height:620px) and (max-aspect-ratio:9/10){.control-jump small{display:none}}
@media(max-height:450px) and (min-aspect-ratio:10/9){.control-jump small{display:none}}

.price-card-content{width:100%;min-width:0;min-height:0;flex-shrink:0;transform-origin:center center}.completion-intro{margin-bottom:22px}.completion-intro .eyebrow{font-size:9px;letter-spacing:1.1px;color:#4e6c60;margin-bottom:10px}.completion-intro h2{font-size:31px;letter-spacing:-.8px;line-height:1.13}.completion-intro>p:last-child{font-size:12px;line-height:1.6;margin:10px 0 0;color:#576d62;max-width:28em}.edit-design-button{display:block;width:100%;min-height:44px;margin-top:5px;color:#405f4c;font-size:12px;text-decoration:underline;text-underline-offset:4px;border-radius:5px}.edit-design-button:hover{background:#e1eae3}.design-complete .config-panel{grid-template-rows:minmax(0,1fr);gap:0}.design-complete .panel-intro,.design-complete .step-tabs,.design-complete .control-navigation,.design-complete #controls{display:none}.design-complete .price-card{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 20px;border-color:#a9beb2;background:#eff4ee;overflow:clip}.design-complete .price-top>span{font-size:9px;letter-spacing:.6px;color:#405f4c}.design-complete .price-top .text-button{font-size:10px;min-height:36px}.design-complete .price-main{gap:5px;min-height:0;margin:12px 0 22px}.design-complete .price-main strong{font-size:clamp(27px,2.6vw,37px);letter-spacing:-1.1px;font-weight:600;white-space:normal;overflow-wrap:anywhere;min-width:0}.design-complete .price-main>span{font-size:10px;color:#566e60}.design-complete #pdf-button{min-height:54px;font-size:13px;font-weight:600;padding:13px 15px;background:#88a096;color:#191923;border:1px solid #88a096;box-shadow:0 5px 14px #405f4c13}.design-complete #pdf-button:hover{background:#78968a;border-color:#78968a}.design-complete .meeting-button{min-height:44px;margin-top:8px;font-size:11px;color:#405f4c}.design-complete .price-caveat{color:#576d62;font-size:10px}.design-complete .price-caveat:not([hidden]){display:block}.design-complete .price-card.pending #pdf-button{box-shadow:none}
@media(max-aspect-ratio:9/10){.design-complete .studio{grid-template-rows:minmax(0,40fr) minmax(0,60fr)}.design-complete .config-panel{padding:12px 20px 16px}.design-complete .price-card{padding:18px 20px}.design-complete .price-card-content{max-width:520px}.design-complete .completion-intro{margin-bottom:16px}.design-complete .price-main strong{font-size:36px}.design-complete .price-top>span{font-size:9px}.design-complete .price-top .text-button{font-size:10px}}
@media(max-width:480px){.design-complete .config-panel{padding:10px 14px 12px}.design-complete .price-card{padding:17px 15px}.design-complete .completion-intro h2{font-size:27px}.design-complete .completion-intro>p:last-child{font-size:12px;line-height:1.5}.design-complete .price-main strong{font-size:30px}.design-complete #pdf-button{font-size:12px;min-height:50px}.design-complete .meeting-button{font-size:10px;min-height:40px}.design-complete .edit-design-button{font-size:11px;min-height:40px}}
@media(max-height:620px){.design-complete .completion-intro{margin-bottom:12px}.design-complete .completion-intro .eyebrow{display:none}.design-complete .completion-intro h2{font-size:24px}.design-complete .completion-intro>p:last-child{font-size:11px;line-height:1.4;margin-top:7px}.design-complete .price-card{padding:13px}.design-complete .price-top>span{font-size:8px}.design-complete .price-top .text-button{min-height:28px;font-size:9px}.design-complete .price-main{min-height:0;margin:6px 0 12px;gap:3px}.design-complete .price-main strong{font-size:29px}.design-complete .price-main>span{font-size:9px}.design-complete #pdf-button{min-height:44px;padding:10px 12px;font-size:12px}.design-complete .meeting-button{min-height:36px;margin-top:5px;font-size:10px}.design-complete .edit-design-button{min-height:36px;margin-top:3px;font-size:11px}}
@media(max-height:620px) and (max-aspect-ratio:9/10){.design-complete .studio{grid-template-rows:minmax(0,34fr) minmax(0,66fr)}.design-complete .config-panel{padding:7px 12px 9px}.design-complete .price-card{padding:12px}.design-complete .completion-intro h2{font-size:23px}.design-complete .price-main strong{font-size:28px}}
@media(max-height:450px) and (min-aspect-ratio:10/9){.design-complete .config-panel{padding:6px 10px}.design-complete .price-card{padding:14px}.design-complete .completion-intro{margin-bottom:12px}.design-complete .completion-intro h2{font-size:25px}.design-complete .price-main strong{font-size:30px}}
body.design-complete.keyboard-open .price-card{display:none}
dialog.booking-dialog{--dialog-box-width:min(1080px,calc(var(--app-width) - 2 * var(--dialog-gap)));--dialog-box-height:calc(var(--app-height) - 2 * var(--dialog-gap))}
.booking-dialog #dialog-body{justify-content:flex-start;flex:1;overflow:hidden;overflow:clip}
.booking-dialog #dialog-page{height:100%;flex:1;flex-shrink:1;gap:9px;overflow:hidden;overflow:clip;transform:none}
.booking-dialog .success-copy,.booking-note{flex:none;font-size:11px;line-height:1.4;margin:0}
.booking-note{color:#71885e}
.booking-calendar{display:block;width:100%;height:100%;flex:1;min-height:0;min-width:0;border:0;border-radius:6px;background:#fff}
.keyboard-open .booking-dialog .success-copy,.keyboard-open .booking-note{font-size:10px;line-height:1.3}

/* Portrait phones use document flow; tablet and desktop keep the fixed studio. */
@media (max-width:599px) and (hover:none) and (pointer:coarse){
 html{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;scroll-padding-top:16px}
 body,body.keyboard-open{position:static;inset:auto;display:block;width:100%;height:auto;min-height:100svh;overflow:visible;overscroll-behavior-y:auto;font-size:14px}
 .site-header,.keyboard-open .site-header{display:flex;min-height:60px;padding:8px 16px;gap:12px}
 .brand-primary{width:116px}.brand-partner{width:64px}.brand-pair{gap:12px}
 .outline-button{min-width:44px;min-height:44px;padding:8px}.outline-button span{display:none}
 .studio,.design-complete .studio,.keyboard-open .studio{display:block;height:auto;min-height:0;width:100%}
 .design-workspace,.keyboard-open .design-workspace{display:grid;grid-template-rows:auto auto auto auto;gap:10px;padding:12px 16px 16px}
 .workspace-heading{display:none}
 .viewer-shell{height:clamp(360px,60svh,460px);min-height:360px}
 .model-stage{top:54px;bottom:50px}
 .view-cube{top:0;right:0;width:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
 .view-cube button{min-height:44px;padding:6px 2px;font-size:11px}
 .view-chip{min-height:44px;font-size:12px;padding:9px 10px}
 .scene-tools{gap:3px;padding:0}.scene-tools button{height:44px;width:44px;font-size:24px}
 .viewer-bottom{display:flex;justify-content:center}.orbit-hint{font-size:11px;line-height:1.5;text-align:center}
 .design-metrics{padding-top:12px;gap:10px}.design-metrics strong{font-size:25px}.design-metrics strong span{font-size:12px}
 .design-metrics>div{gap:5px}.design-metrics>div>span{font-size:10px;line-height:1.4}
 .workspace-ownership{font-size:9px;line-height:1.5}
 .config-panel,.keyboard-open .config-panel,.design-complete .config-panel{display:grid;grid-template-rows:auto auto auto auto auto;height:auto;min-height:0;padding:20px 16px 24px;gap:16px;border-left:0;border-top:1px solid var(--line)}
 .panel-intro,.keyboard-open .panel-intro{display:flex;min-height:44px}.panel-intro h2{font-size:25px}
 .text-button{font-size:12px;min-height:44px}
 .step-tabs,.keyboard-open .step-tabs{display:grid}.step-tabs button{min-height:48px;font-size:15px;padding:0 0 10px}.step-tabs button span{font-size:11px}
 .control-navigation{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.control-navigation>button{min-height:48px;font-size:26px}.control-navigation>#control-index{font-size:14px;padding:10px}
 .controls-scroll{display:block;overflow:visible;padding:10px 0 6px}
 .control-page,.keyboard-open .control-page{gap:22px;transform:none!important;justify-content:flex-start}
 .control-label{font-size:15px;margin-bottom:12px}.control-label small{font-size:12px}.control-label output{font-size:16px}
 .layout-options{gap:8px}.option-card{min-height:116px;padding:12px 5px}.option-card svg{width:58px;height:44px}.option-card span{font-size:12px;line-height:1.4;margin-top:8px}
 .field-row{gap:10px}.dimension-field{padding:12px 8px}.dimension-field>label{font-size:13px;margin-bottom:9px}
 .stepper{gap:4px}.stepper button{width:44px;height:48px;font-size:23px}.dimension-value input{min-height:48px;font-size:20px;padding:7px 12px 7px 0}.dimension-value span{font-size:12px;top:17px}
 .field-hint{font-size:13px;line-height:1.6;margin-top:12px}.slider{min-height:48px}
 .segmented{padding:4px;gap:5px}.segmented button{min-height:48px;font-size:15px}
 .mono-options{gap:7px}.mono-options button{min-height:64px;font-size:12px;padding:10px 5px}
 .outdoor-check{min-height:88px;padding:15px;gap:12px}.outdoor-check input{width:28px;height:28px}.outdoor-check strong{font-size:15px}.outdoor-check small{font-size:12px;line-height:1.5;margin-top:6px}
 .select-field{min-height:50px;padding:12px;font-size:16px}
 .material-grid{gap:10px}.material-card{padding-bottom:12px}.material-texture{height:54px;margin-bottom:10px}.material-card strong{font-size:14px;padding:0 10px}.material-card small{display:block;font-size:11px;padding:0 10px;line-height:1.45}
 .colour-options{gap:6px}.colour-option{min-height:104px;gap:12px;font-size:12px;padding:12px 2px}.colour-option i{width:44px;height:44px}
 .control-jump-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.control-jump{min-height:64px;font-size:13px;padding:10px}.control-jump small{display:block;font-size:10px}
 .info-box{font-size:13px;line-height:1.6;padding:16px}.info-box strong{font-size:14px}.warning{font-size:13px;line-height:1.6}
 .price-card,.keyboard-open .price-card{display:block;height:auto;min-height:0;padding:18px;margin-top:6px;overflow:visible}
 .price-card-content{transform:none!important}.price-top>span{font-size:9px;letter-spacing:.5px}.price-top .text-button{font-size:12px;min-height:44px}
 .price-main{margin:12px 0 20px;gap:7px}.price-main strong{font-size:clamp(28px,8vw,36px);white-space:normal;overflow-wrap:anywhere}.price-main>span{font-size:12px}
 .price-caveat,.keyboard-open .price-caveat{font-size:12px;line-height:1.5}.price-caveat:not([hidden]){display:block}
 .primary-button,.price-card .primary-button{min-height:50px;padding:13px 14px;font-size:14px}
 .meeting-button,.keyboard-open .meeting-button{min-height:48px;margin-top:8px;font-size:12px;padding:10px 0;line-height:1.5}
 .design-complete .config-panel{grid-template-rows:auto}.design-complete .panel-intro,.design-complete .step-tabs{display:none}
 .design-complete .price-card,body.design-complete.keyboard-open .price-card{display:block;height:auto;min-height:0;padding:22px 18px}
 .design-complete .completion-intro{margin-bottom:24px}.design-complete .completion-intro .eyebrow{display:block;font-size:10px}.design-complete .completion-intro h2{font-size:29px}.design-complete .completion-intro>p:last-child{font-size:14px;line-height:1.6}
 .design-complete .price-main{margin:18px 0 26px}.design-complete .price-main strong{font-size:clamp(30px,9vw,40px)}.design-complete .price-main>span{font-size:12px}
 .design-complete #pdf-button{min-height:54px;font-size:14px}.design-complete .meeting-button,.design-complete .edit-design-button{min-height:48px;font-size:12px}
 dialog,.keyboard-open dialog{--dialog-gap:10px;--dialog-box-width:calc(var(--app-width) - 20px);--dialog-box-height:calc(var(--app-height) - 20px);padding:16px;overscroll-behavior:contain}
 dialog[open],.keyboard-open dialog[open]{display:flex;flex-direction:column;gap:14px}
 .dialog-header,.keyboard-open .dialog-header{flex:none;align-items:flex-start;padding-bottom:12px;gap:8px}.dialog-header h2,.keyboard-open .dialog-header h2{font-size:22px;line-height:1.3}.dialog-header .icon-button,.keyboard-open .dialog-header .icon-button{width:44px;height:44px}
 #dialog-body,.booking-dialog #dialog-body{flex:1;display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:14px;padding:2px}
 #dialog-page,.keyboard-open #dialog-page,.booking-dialog #dialog-page{height:auto;min-height:0;flex:none;gap:16px;overflow:visible;transform:none!important;padding-bottom:12px}
 .dialog-navigation{flex:none;grid-template-columns:74px minmax(0,1fr) 74px;padding-top:12px}.dialog-navigation>button{min-height:44px}
 .dialog-intro,.success-copy,.booking-dialog .success-copy{font-size:14px;line-height:1.6}.summary-price{font-size:29px}.summary-meta{font-size:12px}.summary-grid{gap:12px}.summary-grid dt{font-size:11px}.summary-grid dd{font-size:13px}
 .budget-layout{gap:18px}.budget-overview{grid-template-columns:1fr;gap:14px}.summary-actions.budget-actions{grid-template-columns:1fr;gap:10px}.summary-actions button,.budget-actions button{font-size:13px;min-height:48px}
 .breakdown{font-size:12px}.breakdown th{font-size:10px;padding:10px 0}.budget-layout .breakdown td{padding:12px 0}.breakdown td:last-child,.breakdown th:last-child{padding-left:10px}.breakdown tfoot th,.breakdown tfoot td{font-size:15px;padding-top:16px}
 .lead-design-brief{display:flex}.lead-design-brief img{width:90px;height:70px}.lead-design-brief strong{font-size:13px}.lead-design-brief p{font-size:12px}.lead-brief-compact{display:block}
 .lead-form,.keyboard-open .lead-form{gap:16px}.form-field label,.keyboard-open .form-field label{font-size:15px}.form-field input,.form-field select,.keyboard-open .form-field input,.keyboard-open .form-field select{font-size:16px;min-height:50px;padding:12px}
 .lead-step-navigation>button,.keyboard-open .lead-step-navigation>button{min-height:48px;padding:12px;font-size:13px}.form-note,.form-status,.keyboard-open .form-note,.keyboard-open .form-status{font-size:12px;line-height:1.6}
 .booking-calendar{height:600px;min-height:480px;flex:none}.booking-note,.keyboard-open .booking-note{font-size:12px;line-height:1.5}
}
@media (max-width:389px) and (hover:none) and (pointer:coarse){
 .field-row{grid-template-columns:1fr}.option-card span{font-size:11px}.price-top{flex-wrap:wrap}
}
