.constructor-page{background:#f8f8f6;padding-bottom:108px}.constructor-page .site-header{background:white}.constructor-page .main-nav [aria-current]{color:var(--red);font-weight:700}.studio-width{width:min(1320px,calc(100% - 64px));margin-inline:auto}.constructor-intro{display:flex;justify-content:space-between;align-items:center;padding-top:42px;padding-bottom:32px;gap:32px}.studio-eyebrow{font-size:10px;font-weight:750;letter-spacing:.14em;display:flex;align-items:center;gap:9px;margin-bottom:14px;color:#747772}.studio-eyebrow>span{height:6px;width:6px;border-radius:100%;background:var(--red)}.constructor-intro h1{font-size:clamp(36px,4.2vw,58px);max-width:none;letter-spacing:-.055em;margin-bottom:14px}.constructor-intro h1>span{color:var(--red)}.studio-lead{font-size:15px;line-height:1.65;color:#666b67;margin:0}.intro-side{text-align:right;align-self:flex-end;flex:none}.outline-icon{display:inline-block;color:#a9ada7;width:44px;height:44px;margin-bottom:5px}.outline-icon svg{width:100%;height:100%}.intro-side p{font-size:12px;color:#7b7f79;margin:0 0 3px}.text-button{font-size:12px;color:#525a53;padding:4px 0;min-height:32px;background:none;border:0;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.text-button:hover{color:var(--red);text-decoration-color:currentColor}.studio-tabs{display:flex;gap:4px;margin-bottom:20px;padding:5px;background:#eeefeb;border:1px solid #e4e5df;border-radius:12px;overflow-x:auto}.studio-tabs button{border:0;display:flex;align-items:center;justify-content:center;gap:13px;flex:1;white-space:nowrap;min-height:48px;padding:10px 18px;background:transparent;color:#6d736c;border-radius:8px;cursor:pointer;font-size:14px;font-weight:650}.studio-tabs button>span{font-size:10px;font-weight:550;color:#969c92}.studio-tabs [aria-selected=true]{background:white;color:#272d28;box-shadow:0 2px 6px #2c302414}.studio-tabs [aria-selected=true]>span{color:var(--red)}.studio-workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.scene-column{position:sticky;top:18px;min-width:0}.scene-card{border:1px solid #e0e3db;border-radius:16px;overflow:hidden;background:white;box-shadow:0 4px 15px #26321b04}.scene-top{display:flex;align-items:center;justify-content:space-between;padding:15px 19px;border-bottom:1px solid #f0f1ed;gap:10px}.scene-kicker{font-size:10px;letter-spacing:.1em;font-weight:700;color:#62695e;display:flex;align-items:center;gap:7px}.live-dot{width:5px;height:5px;background:#79876b;border-radius:50%}.autosave{font-weight:400;letter-spacing:0;color:#8a9186}.view-switch{padding:3px;background:#f3f4f0;border-radius:7px;display:flex;gap:3px}.view-switch button{font-size:11px;min-height:30px;padding:4px 12px;border:0;border-radius:5px;background:none;color:#757c70;cursor:pointer}.view-switch [aria-pressed=true]{background:white;box-shadow:0 1px 4px #1e311218;color:#2f372c;font-weight:650}.scene-shell{height:460px;position:relative;overflow:hidden;background:#fff;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.scene-shell.is-dragging{cursor:grabbing}.scene-shell svg#house-scene{display:block;width:100%;height:100%;overflow:visible}.scene-shell [data-module]{cursor:pointer;outline:0}.scene-shell [data-module]:focus-visible .module-outline{stroke:#d51f26;stroke-width:4}.scene-hint{position:absolute;bottom:19px;left:20px;color:#7f8779;font-size:10px;max-width:60%;pointer-events:none;background:#ffffffbf;padding:4px 7px;border-radius:4px}.scene-scale{position:absolute;bottom:18px;right:17px;display:flex;padding:3px;background:#fff;border:1px solid #e4e6de;border-radius:8px;box-shadow:0 2px 9px #18281006}.scene-scale button{border:0;background:white;color:#515c4b;font-size:21px;width:34px;height:34px;cursor:pointer;line-height:1}.scene-scale #zoom-fit{font-size:22px}.scene-scale button+button{border-left:1px solid #eef0e9}.scene-compass{position:absolute;top:22px;right:25px;color:#717a67;font-size:8px;line-height:2;text-align:center;pointer-events:none}.scene-compass svg{width:16px;height:24px}.scene-stats{display:flex;align-items:center;padding:16px 20px;border-top:1px solid #eceee7;gap:30px;background:#fcfdfa}.scene-stats>div{display:flex;flex-direction:column;gap:1px}.scene-stats strong{font-size:21px;font-weight:650;letter-spacing:-.04em;color:#303a2c;line-height:1.3}.scene-stats>div>span{font-size:10px;color:#828b7b}.scene-label{margin-left:auto;border:1px solid #e4e8de;background:white;padding:6px 10px;border-radius:6px;font-size:10px;color:#77816f}.module-inspector{margin-top:12px;padding:16px 18px 8px;border:1px solid #e1e4dc;background:#fff;border-radius:12px}.inspector-head{display:flex;align-items:center;gap:10px}.mini-module{height:23px;width:36px;border:1.5px solid var(--red);border-radius:3px;background:#fff6f5}.inspector-head>div{display:flex;flex-direction:column;gap:1px}.small-label{font-size:8px;letter-spacing:.12em;color:#87907f;font-weight:650}.inspector-head strong{font-size:12px;color:#3f483a;font-weight:650}.inspector-area{margin-left:auto;font-size:12px;color:#88917f}.inspector-controls{display:flex;align-items:flex-end;gap:14px;padding-top:12px}.purpose-label{font-size:10px;color:#7b8472;display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.purpose-label select{width:100%;min-height:42px;border:1px solid #e0e5d9;background:#fff;border-radius:6px;padding:7px;color:#414c37;font-size:12px}.move-buttons,.inspector-actions{display:flex;gap:4px}.move-buttons button,.inspector-actions button{height:42px;min-width:38px;border:1px solid #e0e5d9;background:#fff;border-radius:6px;font-size:17px;color:#566249;cursor:pointer}.inspector-actions button{font-size:20px}.inspector-actions span{font-size:10px}.move-buttons button:hover,.inspector-actions button:hover{border-color:var(--red);color:var(--red)}button:disabled{opacity:.35;cursor:default}.inspector-foot{border-top:1px solid #f1f3ee;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:6px;font-size:9px;color:#899280}.inspector-foot select{border:0;background:#f4f6f0;border-radius:3px;padding:3px;font-size:10px;color:#5a6551;min-height:28px}.inspector-foot .text-button{font-size:10px;margin-left:10px}.scene-disclaimer{font-size:10px;color:#868e7d;line-height:1.65;margin:11px 3px 0;max-width:730px}.scene-disclaimer.has-warning{color:#a56b23}.project-tools{display:flex;justify-content:space-between;gap:12px;padding:7px 2px}.project-tools .text-button{font-size:11px}.options-card{background:white;border:1px solid #e0e3db;border-radius:16px;padding:22px;min-width:0;min-height:620px}.options-card [hidden]{display:none!important}.panel-eyebrow{font-size:9px;letter-spacing:.12em;color:#89917f;margin:0 0 6px;font-weight:600}.options-card h2{font-size:21px;line-height:1.25;margin:0 0 9px;letter-spacing:-.035em}.panel-intro{font-size:12px;color:#818977;line-height:1.65;margin:0 0 18px}.module-palette{display:grid;grid-template-columns:1fr 1fr;gap:8px}.module-add{border:1px solid #e4e7df;background:white;border-radius:9px;min-height:86px;padding:10px 12px;text-align:left;cursor:pointer;display:grid;grid-template-columns:1fr 16px;gap:1px 5px;transition:border-color .15s,background .15s}.module-add:hover{background:#fff7f6;border-color:#d0a4a1}.module-add b{font-size:14px;font-weight:650;letter-spacing:-.02em;color:#38412f}.module-add>span{font-size:10px;color:#8c947f;grid-column:1}.module-add i{font-style:normal;grid-column:2;grid-row:1 / 3;align-self:center;color:#a8b09c;font-size:20px}.module-add small{grid-column:1 / 3;font-size:9px;color:#9b9f94;margin-top:4px}.section-mini{margin:22px 0 10px;padding-top:16px;border-top:1px solid #eef0e9;font-size:11px;font-weight:650;color:#4e5942;display:flex;justify-content:space-between;align-items:center}.preset-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.preset-row button{font-size:11px;border:1px solid #e5e8de;background:#f9faf7;color:#68745b;border-radius:7px;min-height:43px;cursor:pointer}.preset-row button:hover{border-color:#aab49c}.option-field{display:grid;gap:5px;margin-bottom:14px;font-size:11px;color:#57644b}.option-field>select,.option-field>input{font-size:12px;padding:10px;border:1px solid #dde3d4;border-radius:7px;min-height:44px;background:white;color:#38452d;max-width:100%;width:100%}.option-field>small{font-size:10px;color:#959d89}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.switch-row{display:flex;align-items:center;gap:10px;min-height:59px;padding:12px 0;border-bottom:1px solid #f0f2ec;cursor:pointer}.switch-row input{appearance:none;-webkit-appearance:none;width:31px;height:19px;border-radius:12px;background:#dfe4d9;flex:none;position:relative;margin:0;cursor:pointer;transition:background .15s}.switch-row input:checked{background:var(--red)}.switch-row input:before{content:'';height:13px;width:13px;position:absolute;top:3px;left:3px;background:white;box-shadow:0 1px 2px #0001;border-radius:50%;transition:transform .15s}.switch-row input:checked:before{transform:translateX(12px)}.switch-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.switch-copy b{font-size:12px;font-weight:600;color:#3d4933}.switch-copy small{font-size:10px;line-height:1.45;color:#8a947d}.switch-price{font-size:10px;white-space:nowrap;color:#7b876b}.landscape-master{background:#f3f6ed;border:1px solid #dce5d0;border-radius:10px;padding:15px 12px;margin-bottom:15px;gap:11px}.landscape-master .switch-copy b{font-size:13px}.landscape-master input:checked{background:#789452}.landscape-master .switch-copy small{font-size:10px}.option-quantity{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:11px;color:#69765a;padding:10px 0}.stepper{display:flex;align-items:center;border:1px solid #e1e6d9;border-radius:6px;overflow:hidden;flex:none;background:white}.stepper button{border:0;background:white;width:30px;min-height:34px;color:#72805f;font-size:17px;cursor:pointer}.stepper input{border:0;font-size:12px;color:#3c4a2e;text-align:center;width:51px;padding:4px 0;background:white;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.small-note{font-size:10px;color:#8b967c;line-height:1.7;background:#f7f9f3;border-radius:7px;padding:10px 12px;margin:15px 0 0}.muted-options{opacity:.5}.lot-size{display:flex;justify-content:space-between;font-size:11px;color:#6d7a5d;border:1px dashed #dce4d0;padding:10px;border-radius:6px;margin-bottom:14px}.swatches{display:flex;gap:8px;margin:8px 0 18px}.swatch{border:2px solid transparent;border-radius:50%;width:30px;height:30px;cursor:pointer;box-shadow:0 0 0 1px #dbe1d2;position:relative}.swatch[aria-pressed=true]{outline:2px solid var(--red);outline-offset:3px}.swatch[data-color=graphite]{background:#424946}.swatch[data-color=sand]{background:#bfac8a}.swatch[data-color=white]{background:#e6e6df}.cost-overview{padding:38px 0 30px}.cost-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.cost-heading .studio-eyebrow{font-size:8px;margin-bottom:7px}.cost-heading h2{font-size:27px;letter-spacing:-.04em;margin:0}.cost-groups{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.cost-group{border:1px solid #e1e5d9;border-radius:9px;background:#fff;padding:15px 12px;min-width:0}.cost-group>span{display:block;font-size:10px;color:#89947a;min-height:30px}.cost-group strong{font-size:16px;letter-spacing:-.035em;color:#35442a;font-weight:650;white-space:nowrap}.cost-group.empty strong{color:#b1b8a7}.price-note{font-size:10px;color:#8d957f;line-height:1.7;margin:13px 0 0;max-width:920px}.price-note .text-button{font-size:10px;color:#656f59;min-height:auto}.constructor-page .site-footer{background:#f4f5f0}.budget-dock{position:fixed;bottom:0;left:0;width:100%;z-index:30;background:#fffefb;border-top:1px solid #e3e6dc;box-shadow:0 -8px 30px #25311508;padding:15px 0 max(15px,env(safe-area-inset-bottom))}.dock-inner{width:min(1320px,calc(100% - 64px));margin:auto;display:flex;align-items:center;gap:28px}.dock-project{display:flex;align-items:center;gap:11px;margin-right:auto}.dock-project>div{display:flex;flex-direction:column;gap:1px}.dock-project strong{font-size:13px;font-weight:650;color:#39452e}.dock-project>div>span{font-size:10px;color:#929b84}.dock-dot{width:9px;height:9px;background:#bfccaa;border-radius:50%}.dock-total{display:flex;flex-direction:column;gap:1px;text-align:right}.dock-total>span{font-size:10px;color:#919b84}.dock-total strong{font-size:28px;letter-spacing:-.045em;font-weight:650;color:#252e20;line-height:1.2;font-variant-numeric:tabular-nums}.budget-dock .button{min-height:49px;font-size:13px;padding:12px 22px;gap:23px}.budget-dock .button>span{font-size:20px;font-weight:400}.dock-expand{border:0;background:#f5f7ef;border-radius:6px;height:44px;width:36px;color:#6e7d5b;font-size:21px;cursor:pointer}.studio-toast{position:fixed;bottom:112px;left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;z-index:100;background:#25351f;color:white;padding:13px 20px;box-shadow:0 5px 22px #18231022;border-radius:9px;font-size:12px;max-width:calc(100vw - 32px);text-align:center;transition:opacity .2s,transform .2s}.studio-toast.is-visible{opacity:1;transform:translate(-50%,0)}.project-dialog{border:1px solid #dce4d2;border-radius:16px;max-width:850px;width:calc(100% - 32px);max-height:85dvh;padding:28px;color:#34432b;background:#fffefb;box-shadow:0 20px 100px #15260922}.project-dialog::backdrop{background:#1d291b66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.dialog-heading h2{font-size:26px;letter-spacing:-.04em;margin:0}.dialog-heading .studio-eyebrow{font-size:9px;margin:0 0 5px}.dialog-close{height:42px;width:42px;flex:none;border:1px solid #e0e6d6;border-radius:50%;background:white;color:#5d6e4c;font-size:26px;cursor:pointer}.dialog-copy{font-size:13px;color:#7a8869;line-height:1.8}.estimate-table{width:100%;border-collapse:collapse;font-size:11px}.estimate-table th{font-size:9px;font-weight:500;color:#879677;text-align:left;padding:11px 8px;border-bottom:1px solid #dfe6d5}.estimate-table td{padding:11px 8px;border-bottom:1px solid #edf0e6;vertical-align:top}.estimate-table td:last-child,.estimate-table th:last-child{text-align:right;white-space:nowrap}.estimate-table .group-row td{background:#f3f6ee;font-size:10px;font-weight:650;color:#4e643c;padding:9px 8px}.estimate-table small{display:block;font-size:9px;color:#8b997a;margin-top:3px;line-height:1.6}.estimate-grand{display:flex;justify-content:space-between;gap:20px;font-size:21px;font-weight:650;border-top:1px solid #d4ddc8;padding:18px 0;margin-top:16px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.dialog-actions .button{font-size:12px}.source-card{font-size:12px;border-top:1px solid #e7eddf;padding:13px 0}.source-card a{color:#40592b;text-decoration:underline;text-underline-offset:3px;font-weight:600}.source-card p{font-size:11px;color:#879573;margin:5px 0 0;line-height:1.7}.save-preview{height:210px;background:#f8faf4;border-radius:10px;overflow:hidden;border:1px solid #e3ead9}.save-preview svg{width:100%;height:100%}.save-keyline{display:flex;justify-content:space-between;gap:14px;margin:16px 0;font-size:14px}.save-keyline strong{font-size:22px;letter-spacing:-.035em}.save-restore-note{font-size:11px;color:#8a9878;line-height:1.7}.module-label{pointer-events:none;font-family:Inter,Arial,sans-serif}.constructor-promo{border:1px solid #e5e8df;border-radius:18px;background:#f6f8f1;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;align-items:center}.constructor-promo-copy{padding:36px}.constructor-promo-copy h2{font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.04em;margin-bottom:13px}.constructor-promo-copy p{font-size:15px;color:#4d5948;max-width:420px}.constructor-promo-art{min-height:240px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#e7eedc,transparent 70%);padding:20px}.constructor-promo-art svg{max-width:100%;width:350px;max-height:260px}.promo-caption{display:flex;gap:13px;font-size:10px;color:#53634b;margin-top:16px}.constructor-promo-copy .studio-eyebrow{font-size:10px;color:#4e6143}.constructor-page .footer-row{flex-wrap:wrap}.constructor-page .footer-links{gap:16px}
@media(min-width:1450px){.scene-shell{height:510px}}
@media(max-width:1150px){.studio-width,.dock-inner{width:calc(100% - 40px)}.studio-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:16px}.options-card{padding:18px}.scene-shell{height:400px}.scene-stats{gap:22px}.scene-label{display:none}.inspector-controls{gap:7px}.move-buttons{gap:2px}.move-buttons button,.inspector-actions button{min-width:31px}.inspector-foot{flex-wrap:wrap}.cost-groups{grid-template-columns:repeat(3,1fr)}.cost-group>span{min-height:20px}.inspector-foot>div{margin-left:auto}.purpose-label select{font-size:11px}}
@media(max-width:850px){.intro-side{display:none}.studio-workspace{grid-template-columns:1fr}.scene-column{position:relative;top:0}.scene-shell{height:440px}.options-card{min-height:0}.constructor-intro{padding-top:28px}.studio-tabs{position:sticky;top:0;z-index:19;margin-bottom:14px;box-shadow:0 4px 10px #3d462208}.studio-tabs button{padding:9px 13px;min-height:44px;gap:7px;font-size:12px}.studio-tabs button>span{font-size:9px}.scene-stats{gap:36px}.scene-label{display:block}.inspector-controls{gap:14px}.move-buttons button,.inspector-actions button{min-width:42px;min-height:44px}.module-palette{grid-template-columns:repeat(4,1fr)}.dock-inner{gap:17px}.dock-project{display:none}.dock-total{margin-right:auto;text-align:left}.dock-total strong{font-size:27px}.budget-dock .button{padding:11px 18px}.constructor-promo-copy{padding:25px}.scene-top{padding:12px 16px}}
@media(max-width:520px){.studio-width,.dock-inner{width:calc(100% - 28px)}.constructor-intro{padding:25px 0 23px}.constructor-intro h1{font-size:36px;line-height:1.08;max-width:330px}.studio-lead{font-size:12px;line-height:1.8}.desktop-break{display:none}.studio-eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:11px}.studio-tabs{gap:1px;padding:4px;border-radius:9px;scrollbar-width:none}.studio-tabs button{padding:6px 10px;min-height:42px;gap:0;flex-direction:column;font-size:11px;line-height:1.5}.studio-tabs button>span{font-size:8px}.scene-card{border-radius:12px}.scene-kicker{font-size:8px;gap:5px}.autosave{font-size:8px}.scene-top{padding:9px 12px}.view-switch button{font-size:10px;padding:3px 10px;min-height:32px}.scene-shell{height:315px}.scene-hint{left:9px;bottom:12px;font-size:8px;max-width:56%}.scene-scale{right:10px;bottom:11px}.scene-scale button{width:32px;height:34px}.scene-compass{right:17px;top:14px}.scene-stats{padding:13px 15px;gap:25px}.scene-stats strong{font-size:19px}.scene-stats>div>span{font-size:8px}.scene-label{display:none}.module-inspector{padding:13px 12px 6px}.inspector-controls{flex-wrap:wrap;gap:9px}.purpose-label{flex:1;min-width:120px}.move-buttons{gap:3px;order:3;flex:1}.move-buttons button{flex:1;min-width:42px;font-size:20px}.inspector-actions{gap:4px}.inspector-actions button{min-width:38px;min-height:44px}.inspector-actions #rotate-module{min-width:53px}.inspector-foot{font-size:8px;gap:2px}.inspector-foot .text-button{min-height:36px;font-size:10px;margin-left:7px}.inspector-foot>span{flex-basis:100%}.inspector-foot>div{margin-left:0}.scene-disclaimer{font-size:9px;margin-top:8px}.project-tools .text-button{font-size:10px}.options-card{border-radius:12px;padding:19px}.module-palette{grid-template-columns:1fr 1fr}.module-add{min-height:78px}.panel-intro{font-size:11px}.options-card h2{font-size:22px}.switch-row{min-height:62px}.switch-copy b{font-size:12px}.switch-copy small{font-size:10px}.switch-price{font-size:10px}.switch-row input{width:34px;height:21px}.switch-row input:before{height:15px;width:15px}.switch-row input:checked:before{transform:translateX(13px)}.stepper button{min-width:38px;min-height:42px}.stepper input{width:54px;font-size:14px}.cost-overview{padding-top:28px}.cost-heading h2{font-size:24px}.cost-heading .studio-eyebrow{font-size:7px;max-width:190px;line-height:1.8}.cost-heading .text-button{font-size:10px}.cost-groups{grid-template-columns:repeat(2,1fr)}.cost-group{padding:12px}.cost-group strong{font-size:18px}.price-note{font-size:9px}.dock-inner{gap:9px}.dock-total strong{font-size:24px}.dock-total>span{font-size:8px}.budget-dock{padding-top:11px;padding-bottom:max(11px,env(safe-area-inset-bottom))}.budget-dock .button{font-size:11px;padding:10px 13px;gap:9px;min-height:47px}.dock-expand{width:29px;font-size:20px}.constructor-page{padding-bottom:100px}.constructor-page .footer-meta{font-size:11px}.constructor-page .footer-links{font-size:11px}.project-dialog{padding:20px 15px;width:calc(100% - 20px)}.dialog-heading h2{font-size:23px}.estimate-table{font-size:10px}.estimate-table td,.estimate-table th{padding:10px 4px}.estimate-grand{font-size:19px}.dialog-copy{font-size:12px}.studio-toast{bottom:102px;font-size:11px}.constructor-promo{grid-template-columns:1fr}.constructor-promo-art{min-height:190px;grid-row:1;padding-bottom:0}.constructor-promo-art svg{height:185px}.constructor-promo-copy{padding:24px}.constructor-promo-copy p{font-size:14px}.constructor-page .brand img{height:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.studio-toast,.swatch,.switch-row input,.switch-row input:before{transition:none}}
@media print{.budget-dock,.studio-tabs,.options-card,.module-inspector,.project-tools,.site-header,.site-footer,.scene-hint,.scene-scale,.scene-compass,.dialog-close,.dialog-actions{display:none!important}.studio-width{width:100%}.studio-workspace{display:block}.scene-column{position:static}.constructor-page{padding:0;background:white}.project-dialog[open]{position:static;max-height:none;width:100%;max-width:none;border:0;box-shadow:none}.project-dialog[open]~*{display:none}.cost-groups{grid-template-columns:repeat(3,1fr)}}
.assembly-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:13px 16px;border:1px solid #d9e0d3;border-radius:12px;background:#f4f7f0}.assembly-controls>div:first-child{display:flex;flex-direction:column;gap:2px;flex:1 1 170px}.assembly-controls strong{font-size:13px;color:#354233}.assembly-controls span{font-size:10px;color:#687566;line-height:1.4}.assembly-controls button{min-height:38px;padding:6px 10px;border:1px solid #bbc9b3;border-radius:7px;background:#fff;color:#354233;font:600 11px Inter,Arial,sans-serif;cursor:pointer}.assembly-controls button:hover,.assembly-controls button:focus-visible{border-color:#bd3837;outline:2px solid transparent;color:#a92a2a}.assembly-controls #move-house[aria-pressed=true]{background:#405d3e;border-color:#405d3e;color:#fff}.assembly-arrows{display:flex;gap:3px}.assembly-arrows button{min-width:35px;padding:4px;font-size:16px}.scene-shell [data-module]{touch-action:none}
.orbit-controls{display:flex;justify-content:flex-end;align-items:center;gap:9px;padding:7px 15px;background:#f8faf6;border-bottom:1px solid #edf0e8;color:#5c6857;font-size:11px}.orbit-controls[hidden]{display:none}.orbit-controls button{width:36px;height:32px;border:1px solid #d2dbc9;border-radius:6px;background:white;color:#3d5538;font-size:20px;cursor:pointer}.orbit-controls button:hover,.orbit-controls button:focus-visible{border-color:#b43b3b;outline:2px solid transparent;color:#a92a2a}.opening-controls{margin-top:12px;padding:14px 16px;border:1px solid #e1e4dc;border-radius:12px;background:white}.opening-controls>div:first-child{display:flex;flex-direction:column;gap:4px}.opening-controls strong{font-size:13px;color:#354233}.opening-controls span{font-size:10px;line-height:1.5;color:#687566}.opening-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:11px}.opening-fields label{display:grid;gap:4px;font-size:10px;color:#53624f}.opening-fields select{width:100%;min-height:36px;border:1px solid #d2dbc9;border-radius:6px;background:white;padding:5px;color:#334434;font-size:11px}.opening-fields select:disabled{opacity:.45}.opening-fields select:focus-visible{outline:2px solid #9d372f;outline-offset:2px}
@media(max-width:520px){.opening-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.orbit-controls{justify-content:center}}
@media(max-width:520px){.assembly-controls{padding:10px 12px;gap:7px}.assembly-controls>div:first-child{flex-basis:100%}.assembly-controls #move-house{flex:1}.assembly-controls #rotate-house{flex:1}.assembly-arrows{order:3;width:100%}.assembly-arrows button{flex:1;min-height:44px}}
@media(max-width:520px){.scene-column{display:contents}.scene-card{position:relative;top:auto;z-index:auto;box-shadow:0 6px 16px #26321b0a}.scene-shell{height:clamp(190px,28dvh,240px)}.studio-workspace{gap:12px}.module-inspector{margin-top:0}.options-card,.module-inspector{scroll-margin-top:72px}.scene-disclaimer{margin-top:0}.project-tools{padding-top:0}.scene-stats{background:#fcfdfa}.studio-tabs{z-index:19}}
/* Two-storey configurator and manager handoff */
.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 0}.preset-card{display:flex;align-items:center;gap:6px;text-align:left;min-height:70px;padding:9px 7px;border:1px solid #dfe5d7;border-radius:10px;background:#fff;cursor:pointer}.preset-card:hover,.preset-card:focus-visible{border-color:#bd7058;background:#fcf8ef}.preset-card svg{width:43px;flex-shrink:0}.preset-card b{display:block;font-size:11px;line-height:1.35}.preset-card small{display:block;font-size:9px;color:#7e8b72;margin-top:5px}.technical-add,.add-upper{width:100%;padding:13px 10px;border:1px solid #ccd7c0;border-radius:8px;background:#f2f6ed;color:#415b35;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.technical-add:hover,.add-upper:hover{background:#e7eddc}.add-upper{margin-top:12px;text-align:center}.add-upper:disabled{opacity:.45;cursor:not-allowed}.engineering-note{border-top:1px solid #e6e8e0;margin:13px 0;padding:12px 0;color:#69765e;font-size:11px;line-height:1.65}.engineering-note summary{cursor:pointer;color:#3e5133;font-weight:600}.engineering-note p{margin:10px 0 0}.floor-switch{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:0 20px 8px;font-size:10px;color:#738364}.floor-switch[hidden]{display:none}.floor-switch button{border:1px solid #d7dfcb;border-radius:6px;background:white;padding:7px 12px;cursor:pointer}.floor-switch button[aria-pressed=true]{background:#415b35;color:white;border-color:#415b35}.module-picker-label{display:flex;gap:10px;align-items:center;font-size:11px;color:#7a856d;margin:13px 0}.module-picker-label select{min-width:0;flex:1;background:white;border:1px solid #dce3d2;border-radius:6px;padding:9px;color:#3e4e32}.budget-summary{margin:20px 0}.budget-summary>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e5e9df;padding:11px 0;font-size:13px}.request-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.request-form>label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#415237}.request-form input:not([type=checkbox]),.request-form select,.request-form textarea{width:100%;min-width:0;border:1px solid #d6dfca;border-radius:8px;background:#fcfdf9;color:#283522;padding:12px;font:inherit;font-size:15px;box-sizing:border-box}.request-form small{font-size:10px;color:#7e8d70;font-weight:400}.request-form>label:has(textarea),.request-form>.consent-row,.request-form>.button,.request-form>p{grid-column:1/-1}.request-form>.consent-row{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:11px;line-height:1.6}.consent-row input{margin-top:3px;accent-color:#cf2829;width:18px;height:18px;flex-shrink:0}.consent-row a{color:#536c41;text-decoration:underline}.form-status{margin:0;color:#b3292f;font-size:12px;line-height:1.6}.form-trap{position:absolute;left:-10000px;opacity:0;width:1px;height:1px;overflow:hidden}.request-form .button:disabled{opacity:.6;cursor:wait}.request-success{text-align:center;padding:15px 10px 25px}.request-success>span{display:inline-grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#eaf0e2;color:#51713c;font-size:26px}.request-success h3{font-size:21px;margin:18px 0}.request-success p{font-size:14px;color:#77836c;line-height:1.7}.budget-dock .button{max-width:330px;text-align:left;line-height:1.3}.project-tools{align-items:center;gap:16px}.project-tools .small-note{margin:0}
@media(max-width:650px){.request-form{grid-template-columns:1fr}.request-form>label{grid-column:1/-1}.budget-dock .button{font-size:11px;max-width:190px;padding:10px 12px}.dock-total strong{font-size:21px}.dock-expand{display:none}.dock-inner{justify-content:space-between}.preset-card b{font-size:12px}.preset-card small{font-size:10px}.floor-switch{padding:0 12px 7px}.module-picker-label select{font-size:12px}}
.scene-quick-actions{position:absolute;z-index:5;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 70px)}
.scene-quick-actions button{border:1px solid #d2dcc9;border-radius:7px;background:#fffefbf2;color:#354b31;min-height:35px;padding:5px 9px;font:600 10px Inter,Arial,sans-serif;box-shadow:0 2px 8px #2a3b2414;cursor:pointer}
.scene-quick-actions button:hover,.scene-quick-actions button:focus-visible{border-color:#6c8e52;background:#eff5e9;outline:2px solid #d2e1c2;outline-offset:1px}
.constructor-guide{padding:14px 17px 16px;border-bottom:1px solid #dfe8d7;background:#f1f7ed;color:#344b32}
.constructor-guide[hidden]{display:none}.constructor-guide strong{display:block;font-size:13px}.constructor-guide p{margin:5px 0 10px;font-size:11px;line-height:1.5}.constructor-guide>div{display:flex;flex-wrap:wrap;gap:6px}.constructor-guide button{min-height:34px;padding:6px 10px;border:1px solid #c9ddbb;border-radius:6px;background:white;color:#3a5d32;font-size:10px;cursor:pointer}.constructor-guide button:hover,.constructor-guide button:focus-visible{border-color:#6c8e52;outline:2px solid #d2e1c2}.constructor-guide #guide-close{margin-top:8px;border:0;background:transparent;text-decoration:underline;padding-left:0}
.add-wing{width:100%;min-height:42px;margin-top:12px;border:1px solid #8fac7f;border-radius:7px;background:#edf5e8;color:#365a32;font-size:12px;font-weight:650;cursor:pointer}.add-wing:hover,.add-wing:focus-visible{background:#dfeeda;outline:2px solid #c8dec1}
@media(max-width:520px){.scene-quick-actions{top:6px;left:6px;max-width:calc(100% - 46px);gap:3px}.scene-quick-actions button{min-height:30px;padding:4px 6px;font-size:9px}.constructor-guide{padding:12px}.constructor-guide>div{display:grid;grid-template-columns:1fr}.constructor-guide button{text-align:left}}
@media(max-width:520px){.scene-quick-actions button{min-height:44px;min-width:44px}.scene-scale button{width:44px;height:44px}.orbit-controls button{width:44px;height:44px}.opening-fields select{min-height:44px}.constructor-guide button{min-height:44px}}
