.quote-optional{margin:16px 0;border:1px solid #d6d5ca;border-radius:15px;background:#fbfaf7;min-width:0}.quote-optional>summary{cursor:pointer;min-height:64px;padding:17px 18px;color:#183647;font-size:14px;list-style-position:inside}.quote-optional>summary strong{font-weight:650}.optional-selection{display:block;font-size:12px;line-height:1.6;font-weight:400;margin:6px 0 0;color:#516875;overflow-wrap:anywhere}.optional-body{padding:0 18px 8px}.optional-help{font-size:13px;line-height:1.6;color:#526775;margin:0 0 20px}.quote-optional .config-choice{margin-top:18px}.quote-optional .config-two-columns{gap:12px}.quote-optional .parking-fields{margin:0 0 18px;border:0;padding:0}.quote-optional summary:focus-visible,.quote-illustration summary:focus-visible{outline:3px solid #a47b26;outline-offset:4px}.config-form input,.config-form select,.config-form textarea{font-size:16px}.config-back{min-height:44px;min-width:44px}.config-note{font-size:13px;line-height:1.6;color:#536875}.config-error{font-size:14px}.config-error:empty{display:none}.quote-illustration>summary{min-height:48px;padding:14px 4px;font-size:14px;cursor:pointer;color:#17364a}.quote-illustration>summary span{font-size:12px;display:block;color:#536875;margin-top:6px}.quote-illustration .home-stage{margin:8px 0}.config-visual .space-summary{margin-top:14px;flex-wrap:wrap}.config-visual .quote-summary p{font-size:13px}.size-unknown{display:flex!important;align-items:center;gap:10px;font-size:12px;line-height:1.6;font-weight:400;margin-top:15px;cursor:pointer}.size-unknown input{width:20px;height:20px;flex:none;accent-color:#967022}.size-control input:disabled{opacity:.45}.config-navigation{padding:12px 0}.config-navigation button:focus-visible{outline:3px solid #8f6821;outline-offset:3px}.config-form [aria-invalid=true]{border-color:#a33029}.optional-body .extras-options span{min-height:48px;line-height:1.5}.config-visual{min-width:0}.quote-illustration .space-level-tabs,.quote-illustration .preview-controls,.quote-illustration .space-view-tools{display:flex;flex-wrap:wrap;gap:7px}.quote-illustration button{min-height:44px}.quote-illustration .room-caption{position:static}.quote-illustration .illustration-note{font-size:12px;line-height:1.6}
@media(max-width:800px){.config-visual{display:block}.quote-illustration .home-stage{height:280px;min-height:240px;aspect-ratio:auto}.quote-illustration .preview-controls{margin-top:12px}.config-title p{font-size:14px}.config-title h1{font-size:38px}.config-form{min-height:0}.config-navigation{position:sticky;bottom:0;z-index:8;background:#f8f6f1;padding:12px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid #e0dfd8;box-shadow:0 -10px 15px #f8f6f1d9;margin-top:20px}.config-form:has(input:focus) .config-navigation,.config-form:has(textarea:focus) .config-navigation,.config-form:has(select:focus) .config-navigation{position:static}.config-step input,.config-step select,.config-step textarea{scroll-margin-block:100px}.config-form .config-error{scroll-margin-block:100px}.config-next{font-size:14px;min-height:50px}.config-two-columns:has([name=email]){grid-template-columns:1fr;gap:0}.quote-optional .config-two-columns{grid-template-columns:1fr}.quote-summary{margin-top:18px}.config-form .field-hint{font-size:12px;line-height:1.6}}
@media(prefers-color-scheme:dark){body[data-page=estimate]{background:#101f29;color:#e7edef}.config-form,.config-progress{background:#101f29;border-color:#354650}.config-progress li,.config-field,.config-choice legend,.config-title h1,.quote-summary strong,.quote-illustration>summary{color:#edf2f4}.config-title .eyebrow,.quote-summary .eyebrow{color:#e0be6a}.config-title p,.optional-selection,.optional-help,.config-note,.config-field small,.config-choice small,.field-hint,.quote-illustration>summary span,.quote-summary p,.quote-scope,.space-summary,.illustration-note{color:#bdcbd2}.config-visual,.quote-optional,.preferred-time-field{background:#172b37;border-color:#425560}.config-field select,.config-field>input,.config-field textarea,.room-stepper,.size-number input,.property-options span,.condition-options>label>span,.extras-options span,.preferred-time-parts select,.parking-fields select,.parking-fields textarea{background:#203642;color:#edf2f4;border-color:#51636d}.room-stepper input,.room-stepper button{color:#edf2f4}.property-options input:checked+span,.condition-options input:checked+span,.extras-options input:checked+span{background:#493f29;color:#fff2cf;border-color:#d0ae5d}.quote-optional>summary,.preferred-time-field legend,.preferred-time-parts label,.preferred-time-field small{color:#edf2f4}.config-error,.field-error{color:#ffb9ac}.config-back{color:#d3dfe4}.config-navigation{background:#101f29;border-color:#354650;box-shadow:0 -10px 15px #101f29d9}.config-progress li.is-current{color:#f3d88e}.config-progress li>span{color:#e8eff2;background:#304451}.config-progress li.is-current>span{color:#102e3e}.quote-illustration .home-stage{background:#ece8dd;border-radius:18px}.size-unknown{color:#bdcbd2}.config-success h1,.config-success p{color:#edf2f4}}
.configurator{--quote-surface:#fbfaf7;--quote-control:#fffdf8;--quote-hover:#f1ecdf;--quote-text:#193342;--quote-muted:#516875;--quote-border:#798a90;--quote-divider:#d6d5ca;--quote-selected:#f4ecd7;--quote-selected-text:#193342;--quote-accent:#805e1c;--quote-focus:#805e1c;color-scheme:light}
@media(prefers-color-scheme:dark){.configurator{--quote-surface:#172b37;--quote-control:#203642;--quote-hover:#294451;--quote-text:#edf2f4;--quote-muted:#bdcbd2;--quote-border:#81959f;--quote-divider:#425560;--quote-selected:#493f29;--quote-selected-text:#fff2cf;--quote-accent:#e0be6a;--quote-focus:#e0be6a;color-scheme:dark}}
.configurator .quote-optional{background:var(--quote-surface);border-color:var(--quote-divider);color:var(--quote-text)}
.configurator .quote-optional>summary{color:var(--quote-text);border-radius:14px;transition:background .15s}
.configurator .quote-optional>summary:hover{background:var(--quote-hover)}
.configurator .optional-selection,.configurator .quote-optional .field-hint,.configurator .quote-optional small{color:var(--quote-muted);font-size:13px;line-height:1.65}
.configurator .optional-body{padding:4px 18px 20px;min-width:0}
.configurator .quote-optional .config-choice,.configurator .quote-optional .preferred-time-field,.configurator .quote-optional .parking-fields{min-width:0;margin:16px 0 0;padding:0;border:0;border-radius:0;background:transparent;color:var(--quote-text)}
.configurator .quote-optional legend{float:none;width:100%;max-width:100%;padding:0;margin:0 0 14px;color:var(--quote-text);font-size:15px;line-height:1.5;font-weight:700;overflow-wrap:anywhere}
.configurator .quote-optional .extras-options+.extras-options{margin-top:28px}
.configurator .quote-optional .home-care .field-hint{margin:12px 0 0}
.configurator .quote-optional .extras-options>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.configurator .quote-optional .extras-options label{min-width:0}
.configurator .quote-optional .extras-options span{height:100%;min-height:52px;padding:12px;gap:10px;font-size:13px;line-height:1.5;overflow-wrap:anywhere;background:var(--quote-control);color:var(--quote-text);border:1px solid var(--quote-border);border-radius:9px;transition:background .15s,border-color .15s}
.configurator .quote-optional .extras-options span:before{content:'';display:grid;place-items:center;width:17px;height:17px;border:1.5px solid var(--quote-border);border-radius:4px;background:transparent;font:700 13px/1 Arial}
.configurator .quote-optional .extras-options input:checked+span{background:var(--quote-selected);color:var(--quote-selected-text);border-color:var(--quote-accent)}
.configurator .quote-optional .extras-options input:checked+span:before{content:'✓';background:var(--quote-accent);border-color:var(--quote-accent);color:var(--quote-surface)}
.configurator .quote-optional .extras-options label:hover span{border-color:var(--quote-accent)}
.configurator .quote-optional .extras-options label:hover input:not(:checked)+span{background:var(--quote-hover)}
.configurator .quote-optional .config-field,.configurator .quote-optional .parking-fields label,.configurator .quote-optional .preferred-time-parts label{color:var(--quote-text)}
.configurator .quote-optional input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.configurator .quote-optional select,.configurator .quote-optional textarea,.configurator .quote-optional .room-stepper,.configurator .quote-optional .preferred-time-footer button{background:var(--quote-control);color:var(--quote-text);border-color:var(--quote-border);max-width:100%}
.configurator .quote-optional .room-stepper button{color:var(--quote-text)}
.configurator .quote-optional .preferred-time-footer{color:var(--quote-muted);flex-wrap:wrap}
.configurator .quote-optional .preferred-time-footer button:hover{background:var(--quote-hover)}
.configurator .quote-optional :focus-visible,.configurator .quote-optional summary:focus-visible,.configurator .quote-optional .extras-options input:focus-visible+span{outline:3px solid var(--quote-focus);outline-offset:3px}
.configurator .quote-optional .extras-options input:focus-visible{outline:0}
.configurator .quote-optional .config-field textarea,.configurator .quote-optional .parking-fields textarea{resize:vertical}
.configurator .quote-optional input::placeholder,.configurator .quote-optional textarea::placeholder{color:var(--quote-muted);opacity:1}
.configurator .photo-section{--p-bg:var(--quote-control);--p-ink:var(--quote-text);--p-muted:var(--quote-muted);--p-line:var(--quote-border);margin:12px 0 0}
.configurator .quote-optional .photo-title{flex-wrap:wrap}
.configurator .quote-illustration>summary{color:var(--quote-text);font-weight:650;line-height:1.5}
.configurator .quote-illustration>summary span{max-width:52ch;font-size:14px;line-height:1.65;font-weight:400;color:var(--quote-muted);margin-top:8px}
@media(max-width:480px){.configurator .quote-optional .extras-options>div{grid-template-columns:1fr}.configurator .optional-body{padding-inline:14px}.configurator .quote-optional>summary{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){.configurator .quote-optional>summary,.configurator .quote-optional .extras-options span{transition:none}}

/* Optional property packages, with scope and no inventory counters. */
.configurator .package-options .package-cards{display:grid;grid-template-columns:1fr;gap:12px}.configurator .package-options .package-card{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid #c5bda8;border-radius:16px;text-align:left;min-width:0}.configurator .package-card input{position:static;opacity:1;appearance:auto;width:19px;height:19px;flex:0 0 19px;margin-top:4px;accent-color:#a77e20}.configurator .package-card [data-package-content]{display:grid;gap:9px;background:none;padding:0;border:0;color:inherit}.configurator .package-card strong{font-size:17px}.configurator .package-card small,.configurator .package-description{font-size:13px;line-height:1.55}.configurator .package-card .package-price{font-size:13px;font-weight:700;border-top:1px solid #b8a77766;padding-top:10px}.configurator .package-card:has(input:checked){border-color:#a77e20;background:#b9974510}.configurator .package-card:focus-within{outline:2px solid #b99745;outline-offset:3px}.configurator .package-card.package-included{border-style:dashed}.configurator [data-package-review]{font-size:14px;line-height:1.6}.configurator .package-options>div{grid-template-columns:1fr}@media(max-width:420px){.configurator .package-options .package-card{padding:14px;gap:10px}.configurator .package-card strong{font-size:16px}}
.configurator #clean-configurator .package-options>div{grid-template-columns:1fr}.configurator #clean-configurator .package-card span{height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;display:block;overflow-wrap:normal}.configurator #clean-configurator .package-card span:before{content:none;display:none}.configurator #clean-configurator .package-card [data-package-content]{display:grid;gap:9px;min-width:0}.configurator #clean-configurator .package-card .package-price{padding-top:10px;border-top:1px solid var(--quote-border)}.configurator #clean-configurator .package-card input{position:static;opacity:1;width:19px;height:19px}.configurator #clean-configurator .package-card{border-color:var(--quote-border);background:var(--quote-control);color:var(--quote-text)}.configurator #clean-configurator .package-card:has(input:checked){background:var(--quote-selected);border-color:var(--quote-accent);color:var(--quote-selected-text)}

.service-address-fields{margin:24px 0;padding:22px;border:1px solid var(--line,#d9d4c8);border-radius:18px}.service-address-fields h2{font-size:24px;margin:0 0 12px}.service-address-fields p{font-size:14px;line-height:1.6}.service-address-fields .address-unit-toggle{display:flex;align-items:center;gap:10px;margin:12px 0 20px;font-size:14px}.service-address-fields .address-unit-toggle input{width:20px;height:20px;flex:none}.service-address-fields .address-check{border-left:3px solid #c6a655;padding:12px;background:#c6a65512}.service-address-fields [hidden]{display:none!important}@media(max-width:600px){.service-address-fields{padding:16px}.service-address-fields .config-two-columns{grid-template-columns:1fr}}

/* Prominent preview header; desktop keeps the model expanded. */
.configurator .quote-illustration>summary{list-style:none;padding:18px;border:1px solid #c9a550;border-radius:16px;background:linear-gradient(120deg,#f5e6b9,#d8b45f);color:#132e3d;box-shadow:0 6px 22px #5c42151a;transition:box-shadow .2s,transform .2s;margin-bottom:14px}
.configurator .quote-illustration>summary::-webkit-details-marker{display:none}
.configurator .quote-illustration>summary .preview-heading{display:flex;align-items:center;gap:14px;margin:0;max-width:none;color:#132e3d;line-height:1.3}
.configurator .quote-illustration>summary strong{font-size:clamp(16px,1.5vw,21px);font-weight:750;flex:1}
.configurator .quote-illustration>summary small{display:block;margin-top:5px;font-size:12px;font-weight:500;letter-spacing:.02em}
.configurator .quote-illustration>summary .preview-cube{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;margin:0;border-radius:12px;background:#ffffff65;color:#132e3d}
.preview-cube svg{width:29px;height:29px}
.configurator .quote-illustration>summary .preview-disclosure{display:block;margin:0;font-size:28px;font-weight:400;color:#132e3d}
.configurator .quote-illustration[open]>summary .preview-disclosure{transform:rotate(45deg)}
.configurator .preview-description{font-size:12px;line-height:1.6;margin:0 2px 16px;color:var(--quote-muted);max-width:65ch}
@media(min-width:801px){.configurator .quote-illustration>summary{cursor:default}.configurator .quote-illustration>summary .preview-disclosure{display:none}.configurator .config-visual{position:sticky;top:12px;align-self:start}.quote-illustration .home-stage{height:clamp(240px,42vh,430px);min-height:240px;aspect-ratio:auto}}
@media(max-width:800px){.configurator .quote-illustration>summary:hover{box-shadow:0 8px 24px #5c421530}.configurator .quote-illustration>summary:active{transform:translateY(1px)}}
@media(prefers-reduced-motion:reduce){.configurator .quote-illustration>summary{transition:none}}
