/* Selected direction: Architectural Atelier, simplified for an illustrative preview. */
body[data-page="estimate"]{background:#f8f6f1}
body[data-page="estimate"] .site-header .header-inner{min-height:90px}
body[data-page="estimate"] .site-header .wordmark{height:90px;overflow:hidden}
body[data-page="estimate"] .site-header .wordmark img{width:120px;height:120px;max-width:none;flex:none}
body[data-page="estimate"] .topline{display:none}
body[data-page="estimate"] .preview-banner{font-size:10px;padding:5px 18px}
body[data-page="estimate"] .site-header .button{background:transparent;color:#e6c577;border-color:#b99a53;min-height:42px}
body[data-page="estimate"] .footer{padding-top:40px}
.config-progress{min-height:84px;border-bottom:1px solid #e0dfd8;display:flex;align-items:center;justify-content:center;position:relative;padding:18px 4%;background:#f8f6f1}
.config-progress ol{list-style:none;display:flex;gap:58px;align-items:center;margin:0;padding:0}
.config-progress li{display:flex;align-items:center;gap:12px;font-size:13px;color:#65727a;position:relative;white-space:nowrap}
.config-progress li+li:before{content:'';position:absolute;width:32px;height:1px;background:#c4c9c8;left:-45px}
.config-progress li>span{display:grid;place-items:center;width:32px;height:32px;background:#eae9e4;border-radius:50%;font-size:13px;font-weight:700;color:#6c777c}
.config-progress li.is-current{font-weight:700;color:#183447}
.config-progress li.is-current>span,.config-progress li.is-complete>span{background:#dabb70;color:#183447}
.config-progress>a{position:absolute;right:4%;font-size:10px;color:#64747c;border-bottom:1px solid #b7c0c0}
.config-workspace{display:grid;grid-template-columns:minmax(400px,.9fr) minmax(0,1.1fr);max-width:1600px;margin:auto;align-items:start}
.config-form{padding:42px clamp(28px,4.2vw,70px) 38px;border-right:1px solid #e4e2da;min-height:765px}
.config-title .eyebrow{font-size:9px;letter-spacing:.2em;margin:0 0 16px;color:#9a7b37}
.config-title h1{font-size:clamp(40px,4.1vw,63px);letter-spacing:-.045em;line-height:1.01;margin:0 0 17px;color:#102f43}
.config-title h1:focus{outline:0}
.config-title p{color:#61737e;font-size:16px;line-height:1.6;max-width:400px;margin-bottom:28px}
.config-field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;color:#17364a;margin:0 0 21px}
.config-field select,.config-field>input,.config-field textarea{border:1px solid #d4d7d4;background:#fbfaf7;color:#17364a;border-radius:4px;padding:12px 14px;min-height:45px;width:100%;font-size:14px;font-weight:400;outline:none}
.config-field select:focus,.config-field input:focus,.config-field textarea:focus{outline:2px solid #c4a258;outline-offset:2px}
.config-field select{padding-right:25px}
.config-field small,.config-choice legend small{font-size:10px;font-weight:400;color:#667976;margin-left:4px}
.config-choice{border:0;padding:0;margin:0 0 22px;min-width:0}
.config-choice legend{font-size:12px;font-weight:700;padding:0;margin-bottom:9px;color:#17364a}
.property-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.property-options label,.extras-options label{position:relative;cursor:pointer}
.property-options input,.extras-options input,.condition-options input{position:absolute;opacity:0;width:1px;height:1px}
.property-options span{display:flex;align-items:center;justify-content:center;min-height:63px;border:1px solid #d3d7d4;border-radius:4px;font-size:13px;color:#536977;background:#fbfaf7;transition:background .2s,border-color .2s}
.property-options input:checked+span{border-color:#b69245;background:#f4ecd7;color:#1a3647;box-shadow:inset 0 0 0 1px #b6924522;font-weight:700}
.property-options input:focus-visible+span,.extras-options input:focus-visible+span,.condition-options input:focus-visible+span{outline:2px solid #ac8b43;outline-offset:3px}
.config-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.room-stepper{display:grid;grid-template-columns:44px 1fr 44px;border:1px solid #d4d7d4;border-radius:4px;overflow:hidden;background:#fbfaf7;height:45px}
.room-stepper button{border:0;background:none;color:#17364a;font-size:21px;line-height:1;padding:0}
.room-stepper button:disabled{opacity:.25;cursor:default}
.room-stepper button:hover:not(:disabled){background:#f1e7cb}
.room-stepper input{border:0;border-inline:1px solid #d4d7d4;width:100%;text-align:center;background:none;min-width:0;color:#17364a;font-size:16px;font-weight:700;appearance:textfield;-moz-appearance:textfield}
.room-stepper input::-webkit-inner-spin-button,.room-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.size-control>div{display:flex;align-items:center;gap:20px}
.size-control input[type="range"]{flex:1;min-width:0;accent-color:#b99a53;cursor:pointer;appearance:none;height:4px;border-radius:3px;background:#d4d8d3}
.size-control input[type="range"]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border:3px solid #fbfaf7;border-radius:50%;background:#b99a53;box-shadow:0 0 0 1px #c5ac72}
.size-control input[type="range"]::-moz-range-thumb{width:14px;height:14px;border:3px solid #fbfaf7;border-radius:50%;background:#b99a53;box-shadow:0 0 0 1px #c5ac72}
.size-number{display:flex;align-items:center;gap:8px;font-weight:400;color:#5b707b;font-size:11px}
.size-number input{width:83px;border:1px solid #d4d7d4;background:#fbfaf7;border-radius:4px;padding:10px;color:#18384a;font-size:13px}
.config-navigation{display:flex;align-items:center;gap:25px;margin-top:26px}
.config-next{flex:1;border-radius:4px;min-height:48px;font-size:13px}
.config-next:disabled{cursor:wait;opacity:.6}
.config-back{border:0;border-bottom:1px solid #6b7d86;background:none;padding:2px 0;color:#657b87;font-size:12px}
.config-back[hidden],.config-step[hidden],.config-success[hidden],.room-caption[hidden]{display:none}
.config-error{font-size:12px;color:#9b3830;margin:14px 0 0;min-height:19px;line-height:1.5}
.config-visual{padding:25px 32px 30px;position:sticky;top:0;min-width:0;background:#f3f0e8}
.preview-topline{display:flex;justify-content:space-between;gap:15px;text-transform:uppercase;font-size:9px;font-weight:700;color:#66736e;letter-spacing:.15em;padding:0 5px}
.preview-topline span:last-child{color:#9e8245}
.home-stage{position:relative;overflow:hidden;aspect-ratio:1.24;max-height:540px;perspective:1100px;margin:8px -12px 0;isolation:isolate}
.home-stage img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transform:translate3d(0,0,0) scale(1.02);transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .3s;will-change:transform;transform-origin:center center}
.home-stage[data-view="bedrooms"] img{transform:scale(1.35) translate(-10%,0)}
.home-stage[data-view="bathrooms"] img{transform:scale(1.55) translate(-2%,15%)}
.home-stage[data-view="kitchen"] img{transform:scale(1.35) translate(13%,10%)}
.room-caption{position:absolute;bottom:20px;left:20px;background:#fffef4ed;color:#163b4d;padding:9px 14px;border-radius:3px;font-size:11px;box-shadow:0 3px 15px #18334310}
.preview-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}
.preview-controls button{border:1px solid #dcded6;border-radius:30px;background:#faf9f5;color:#526a79;padding:9px 18px;font-size:11px;transition:background .2s}
.preview-controls button.is-active{background:#d8b96d;border-color:#d8b96d;color:#133246;font-weight:700}
.preview-controls button:disabled{opacity:.35;cursor:default}
.illustration-note{text-align:center;font-size:11px;color:#626e72;margin:12px 0 22px}
.space-summary{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#5a6d75;border-bottom:1px solid #dcddd4;padding:0 2px 16px}
.quote-summary{padding:19px 2px 0;display:flex;align-items:start;justify-content:space-between;gap:20px}
.quote-summary .eyebrow{font-size:9px;margin-bottom:9px;color:#a38443;letter-spacing:.12em}
.quote-summary strong{font:22px/1.15 Georgia,serif;letter-spacing:-.025em;color:#1a3a4c;display:block}
.quote-summary p{font-size:11px;color:#64747b;line-height:1.6;margin:8px 0 0;max-width:325px}
.quote-scope{font-size:10px;color:#607166;max-width:145px;text-align:right;line-height:1.7;align-self:center}
.condition-options>label{display:block;position:relative;cursor:pointer;margin-bottom:9px}
.condition-options>label>span{display:flex;flex-direction:column;gap:4px;border:1px solid #d4d7d4;border-radius:4px;padding:11px 15px;background:#fbfaf7}
.condition-options input:checked+span{border-color:#b69245;background:#f4ecd7}
.condition-options strong{font-size:12px}
.condition-options small{font-size:10px;color:#617377}
.extras-options>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.extras-options span{display:flex;gap:8px;align-items:center;border:1px solid #d4d7d4;border-radius:4px;padding:13px 12px;font-size:11px;color:#506a77;background:#fbfaf7}
.extras-options span:before{content:'';width:9px;height:9px;border:1px solid #b3bebc;flex:none;border-radius:2px}
.extras-options input:checked+span{background:#f4ecd7;border-color:#b69245;color:#17364a}
.extras-options input:checked+span:before{background:#b99548;border-color:#b99548}
.config-note{font-size:10px;line-height:1.6;color:#62746f;margin:0}
.config-success{max-width:700px;text-align:center;padding:90px 25px 100px;margin:auto}
.config-success h1{font-size:60px;margin-bottom:25px}.config-success h1:focus{outline:0}
.config-success>p{font-size:15px;line-height:1.8;color:#738389;max-width:480px;margin:0 auto 25px}
.success-summary{border-block:1px solid #dadfd9;padding:20px 0;margin-bottom:30px;font-size:13px;color:#607781}
.config-success .config-back{display:block;margin:24px auto 0}
.configurator.is-complete .config-progress,.configurator.is-complete .config-workspace{display:none}
@media(min-width:1500px){.home-stage{aspect-ratio:1.18}.config-form{min-height:800px}}
@media(max-width:1100px){.config-progress>a{display:none}.config-form{padding:35px 28px}.config-visual{padding:25px 20px}.quote-summary{display:block}.quote-scope{text-align:left;max-width:none;margin-top:12px}.config-title h1{font-size:46px}.config-workspace{grid-template-columns:1fr 1fr}.preview-controls button{padding:8px 12px}}
@media(min-width:801px) and (max-height:800px){body[data-page="estimate"] .site-header .header-inner{min-height:70px}body[data-page="estimate"] .site-header .wordmark{height:70px}body[data-page="estimate"] .site-header .wordmark img{width:100px;height:100px}.config-progress{min-height:64px;padding-block:12px}.config-form{padding-top:25px;padding-bottom:20px;min-height:0}.config-title h1{font-size:45px;margin-bottom:14px}.config-title .eyebrow{margin-bottom:12px}.config-title p{margin-bottom:20px;font-size:13px}.config-field{margin-bottom:16px}.config-choice{margin-bottom:17px}.property-options span{min-height:50px}.config-navigation{margin-top:20px}.config-visual{padding-top:20px}.home-stage{aspect-ratio:1.4;max-height:320px}.illustration-note{margin-bottom:15px}.quote-summary{padding-top:15px}.config-error:empty{min-height:0;margin:0}}
@media(max-width:800px){.config-workspace{grid-template-columns:1fr}.config-progress{min-height:70px}.config-progress ol{gap:40px}.config-progress li{font-size:11px;gap:7px}.config-progress li+li:before{width:22px;left:-31px}.config-progress li>span{width:26px;height:26px;font-size:11px}.config-form{min-height:0;border-right:0;padding:32px 25px 25px}.config-title h1{font-size:45px}.config-title h1 br{display:none}.config-title p{font-size:13px;margin-bottom:23px}.config-visual{position:relative;padding:20px 25px 30px;border-top:1px solid #e1e2d9;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0 20px}.preview-topline{grid-column:1/-1}.home-stage{grid-column:1;grid-row:2/6;aspect-ratio:1;max-height:none;margin:4px -15px}.preview-controls{grid-column:2;justify-content:start;flex-wrap:wrap;margin-top:28px;gap:5px}.preview-controls button{font-size:10px;padding:8px 10px}.illustration-note{grid-column:2;text-align:left;line-height:1.5;font-size:10px;margin:10px 0 15px}.space-summary{grid-column:2;flex-direction:column;gap:4px;padding-bottom:12px;font-size:10px}.quote-summary{grid-column:1/-1;border-top:1px solid #dcddd4;margin-top:15px;padding-top:20px;display:flex}.quote-scope{display:none}.config-success h1{font-size:48px}.config-title{max-width:560px}}
@media(max-width:430px){.config-form{padding-inline:20px}.config-two-columns{gap:12px}.config-progress ol{gap:27px}.config-progress li+li:before{width:12px;left:-20px}.config-progress li{font-size:10px}.config-title h1{font-size:40px}.property-options span{min-height:53px;font-size:12px}.config-field{margin-bottom:18px}.size-control>div{gap:10px}.size-number input{width:75px}.config-visual{padding-inline:20px;gap:0 10px}.preview-controls{margin-top:15px}.preview-controls button{padding:7px 9px}.illustration-note{margin-bottom:10px}.home-stage{aspect-ratio:.9}.quote-summary strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.home-stage img{transition:none}}
@media(max-width:800px){
  .config-visual{display:block;padding:22px 24px 30px}
  .home-stage{width:100%;max-width:430px;aspect-ratio:1.28;max-height:300px;margin:8px auto 10px}
  .preview-controls{justify-content:center;gap:7px;margin:0;flex-wrap:wrap}
  .preview-controls button{font-size:11px;padding:9px 14px}
  .illustration-note{text-align:center;margin:12px 0 22px;font-size:11px}
  .space-summary{flex-direction:row;justify-content:space-between;gap:15px;font-size:11px;padding-bottom:16px}
  .quote-summary{margin-top:0;padding-top:20px}
}

.parking-fields{border:1px solid var(--line,#dedbd2);border-radius:14px;padding:16px;margin:16px 0;display:grid;gap:12px}.parking-fields label{display:grid;gap:7px}.parking-fields [hidden]{display:none}.parking-fields select,.parking-fields textarea{width:100%;padding:10px;font:inherit}.parking-fields small{line-height:1.5;color:var(--muted,#526775)}.parking-summary{font-size:12px;border-top:1px solid var(--line,#dedbd2);padding:10px 0;overflow-wrap:anywhere}.parking-summary p{margin:4px 0}

.home-stage{position:relative;aspect-ratio:1.18;height:auto;min-height:280px;overflow:hidden;background:radial-gradient(ellipse at center,#fffaf0,#ede7da);border-radius:24px}
.space-canvas,.space-fallback{position:absolute;inset:0}.space-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y;outline-offset:-4px}.space-fallback{padding:30px}.space-fallback svg{width:100%;height:100%}.space-fallback[hidden]{display:none}
#space-status{position:absolute;bottom:12px;left:12px;padding:6px 10px;border-radius:20px;background:#fffc;color:#304b55;font:11px/1.4 system-ui;pointer-events:none}
.space-view-tools{display:flex;justify-content:center;gap:8px;margin:12px}.space-view-tools button{min-height:44px;min-width:44px;padding:8px 14px;border:1px solid #c9bfa9;border-radius:24px;background:#faf7ef;color:#193747}.space-view-tools button:disabled{opacity:.45}.room-caption{pointer-events:none}
@media(max-width:800px){.home-stage{min-height:260px}.config-visual{min-width:0}.space-view-tools{flex-wrap:wrap}}

.home-stage{width:100%;max-width:none;height:clamp(300px,35vw,470px);max-height:none;aspect-ratio:auto;margin:8px auto 10px}
.space-hotspot{position:absolute;z-index:2;transform:translate(-50%,-50%);min-height:30px;padding:5px 10px;border:1px solid #bda97a;background:#fff9;color:#193747;backdrop-filter:blur(8px);border-radius:20px;font:10px/1.2 system-ui;box-shadow:0 2px 6px #19374715}
@media(max-width:800px){.home-stage{height:310px}.space-hotspot{min-height:36px}}

.config-visual>.room-caption{position:static;background:transparent;box-shadow:none;text-align:center;padding:8px 4px;margin:0;font-size:12px}.space-summary{gap:16px}.space-summary #summary-rooms{max-width:75%;line-height:1.6}

.home-stage{background:radial-gradient(ellipse at 50% 35%,#fffdf7,#ece4d5);height:450px}.config-choice.home-care{margin:24px 0;padding:22px;border:1px solid #d9c99e;border-radius:18px;background:#f6f1e6}.home-care legend{padding:0 8px}.home-care .field-hint{font-size:12px;line-height:1.6}.config-field small{font-size:11px;font-weight:400;color:#64757b}

.space-level-controls{position:absolute;z-index:4;left:12px;right:12px;top:12px;display:flex;gap:6px;pointer-events:none}.space-level-controls select{pointer-events:auto;min-height:38px;max-width:48%;padding:7px 24px 7px 10px;border:1px solid #c9baa0;border-radius:18px;background:#fffdf5ed;color:#193747;font:11px system-ui}.space-level-controls select[hidden]{display:none}.space-density{font:12px/1.5 system-ui;color:#75694e;margin:12px 0}.space-density:empty{display:none}.space-hotspot{white-space:nowrap!important;min-height:28px!important;padding:4px 8px!important;font-size:10px!important}

.space-level-controls select{min-height:44px}.space-hotspot[hidden]{display:none!important}

.space-level-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 10px;grid-column:1/-1;grid-row:auto}.space-level-tabs button{appearance:none;min-height:44px;padding:10px 16px;border:1px solid #c9baa0;border-radius:999px;background:#fffdf6;color:#193747;font:600 12px/1.25 system-ui;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s}.space-level-tabs button[aria-pressed="true"]{background:#ddbd6c;border-color:#ddbd6c;color:#102d3d;box-shadow:0 3px 10px #80672718}.space-level-tabs button:focus-visible{outline:2px solid #193747;outline-offset:3px}.space-level-tabs button:hover{border-color:#a48136}.config-visual>.home-stage{grid-row:auto}@media(max-width:450px){.space-level-tabs{gap:6px}.space-level-tabs button{padding:10px 13px;font-size:11px}}@media(prefers-reduced-motion:reduce){.space-level-tabs button{transition:none}}
.space-canvas,.space-canvas canvas,.space-hotspot{touch-action:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.space-canvas{cursor:grab}.space-canvas:active{cursor:grabbing}.space-view-tools{flex-wrap:wrap}.space-view-tools .room-names-toggle{min-height:44px;min-width:142px;font:600 12px/1.25 system-ui}.home-stage[data-room-names=hidden] .space-hotspot{visibility:hidden;pointer-events:none}.home-stage[data-room-names=hidden] .space-fallback svg text[text-anchor=middle]{visibility:hidden}

.preferred-time-field{grid-column:1/-1;border:1px solid #d9cdb5;border-radius:12px;padding:18px;margin:0;min-width:0;background:#f4efe4}.preferred-time-field legend{font-size:15px;font-weight:700;color:#102e3d;padding:0 6px}.preferred-time-field legend small{font-weight:400;margin-left:8px}.preferred-time-parts{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px}.preferred-time-parts label{display:grid;gap:8px;font-size:13px;color:#193747}.preferred-time-parts select{width:100%;min-width:0;height:50px;font-size:16px;border:1px solid #b9b8b0;border-radius:6px;background:#fffdf8;color:#102e3d;padding:8px}.preferred-time-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;font-size:13px}.preferred-time-footer button{min-height:44px;padding:8px 12px;border:1px solid #b7a57d;border-radius:24px;background:#fffdf8;color:#102e3d;cursor:pointer}.preferred-time-field small{display:block;line-height:1.6;font-size:12px;color:#415968}.preferred-time-field legend small{display:inline}.field-error{display:block;color:#922e26;font-size:13px;line-height:1.5;margin-top:8px}.field-error:empty{display:none}.preferred-time-field :focus-visible{outline:3px solid #ac7d29;outline-offset:2px}.preferred-time-field [aria-invalid=true]{border:2px solid #922e26}@media(max-width:420px){.preferred-time-field{padding:12px}.preferred-time-parts{gap:8px}.preferred-time-footer{align-items:flex-start;flex-direction:column}.config-form input[type=date]{font-size:16px}}

.config-form input[type=date]{font-size:16px}.preferred-time-field{margin-bottom:18px}
