.quote-page{background:var(--bone)}[hidden]{display:none!important}.quote-header{display:flex;justify-content:space-between;align-items:center;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--stone)}.quote-brand{background:var(--ink);padding:9px 12px;display:block}.quote-brand img{width:46px;height:54px;object-fit:contain}.quote-back{display:flex;align-items:center;gap:18px;font-size:10px;font-weight:600}.quote-back:hover{color:var(--gold-dark)}.quote-intro{padding-top:64px;padding-bottom:45px}.quote-intro-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:90px;margin-top:22px}.quote-intro h1{font-size:clamp(42px,4.4vw,66px);font-weight:500;letter-spacing:-.065em;line-height:1.1}.quote-intro-grid>p{font-size:12px;color:var(--body);max-width:430px;padding-bottom:4px}.service-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px}.service-option{border:1px solid var(--stone);padding:24px 22px;text-align:left;background:transparent;display:flex;align-items:flex-start;gap:16px;min-height:112px;transition:background .2s,border-color .2s}.service-option[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bone)}.service-option:hover{border-color:var(--gold)}.option-number{color:var(--gold);font-size:9px;line-height:23px}.service-option[aria-pressed=true] .option-number{color:#c3b19a}.service-option strong{display:block;font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.4}.service-option small{display:block;font-size:9px;line-height:1.6;color:var(--muted);margin-top:9px}.service-option[aria-pressed=true] small{color:var(--stone)}.option-arrow{margin-left:auto;line-height:23px;font-size:13px}.quote-draft{border-left:2px solid var(--gold);background:#e9e3d8;padding:15px 20px;font-size:11px;margin-top:20px}.quote-workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:52px;align-items:start;padding-bottom:50px}.quote-form{min-width:0}.form-section{padding:34px 0;border-top:1px solid var(--stone)}.form-section-head{display:grid;grid-template-columns:30px 1fr;gap:14px;margin-bottom:27px}.section-index{font-size:9px;line-height:26px;color:var(--gold-dark)}.form-section-head h2{font-size:23px;letter-spacing:-.04em;line-height:1.25;font-weight:600}.form-section-head p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:10px;max-width:450px}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.field{display:flex;flex-direction:column;gap:9px;font-size:10px;line-height:1.6;font-weight:600;min-width:0}.field-wide{grid-column:1/-1}.field input,.field select,.field textarea{min-height:48px;border:1px solid var(--stone);border-radius:0;background:transparent;padding:12px 13px;font-size:11px;font-weight:400;color:var(--ink);width:100%;max-width:100%;outline:none}.field select{padding-right:28px}.field textarea{resize:vertical;min-height:130px;line-height:1.8}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-dark);box-shadow:0 0 0 1px var(--gold-dark)}.field input[aria-invalid=true]{border-color:#a1553e}.field input::placeholder,.field textarea::placeholder{color:#827e75}.field-help{font-size:9px;line-height:1.8;font-weight:400;color:var(--muted)}.fields-grid>p.field-help{margin-top:-13px}.optional{font-size:9px;font-weight:400;color:var(--muted)}.choice-fieldset{padding:0;border:0;margin:28px 0 0;min-width:0}.choice-fieldset legend{padding:0;font-size:10px;font-weight:600;margin-bottom:14px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--stone);padding:13px;font-size:10px;line-height:1.6;cursor:pointer;min-width:0}.choice:has(input:checked){border-color:var(--gold);background:#e9e4da}.choice:has(input:focus-visible){outline:2px solid var(--gold-dark);outline-offset:3px}.choice input{margin:3px 0 0;accent-color:var(--gold-dark);width:14px;height:14px;flex:0 0 14px}.choice span{min-width:0}.choice-number{font-size:8px;color:var(--gold-dark);font-weight:600;margin-right:5px}.information-note{font-size:10px;color:var(--gold-dark);border-left:1px solid var(--gold);padding-left:15px;margin-top:22px;line-height:1.8}.advanced-uses{margin-top:20px;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone)}.advanced-uses>summary{cursor:pointer;list-style:none;font-size:10px;font-weight:600;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;line-height:1.7}.advanced-uses>summary::-webkit-details-marker,.estimate-scope>summary::-webkit-details-marker{display:none}.advanced-uses>summary>span,.estimate-scope>summary>span{font-size:19px;font-weight:400}.advanced-uses[open]>summary>span,.estimate-scope[open]>summary>span{transform:rotate(45deg)}.use-group{padding:4px 0 22px}.use-group h3{font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin:12px 0}.uses-source{margin-top:18px}.uses-source a{text-decoration:underline;text-underline-offset:3px;display:inline-block}.estimate-jump{margin:5px 0 25px;width:100%}.estimate-panel{position:sticky;top:26px;background:var(--ink);color:var(--bone);padding:30px;outline:none;scroll-margin-top:20px}.estimate-top{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:26px}.estimate-top .eyebrow{color:#c3b19a;font-size:8px;letter-spacing:.12em}.estimate-service{font-size:8px;line-height:1.8;color:var(--stone);text-align:right;letter-spacing:.08em}.estimate-panel h2{font-size:23px;line-height:1.25;letter-spacing:-.04em;font-weight:500}.estimate-placeholder{min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:22px}.placeholder-line{width:68px;border-top:1px solid var(--gold)}.estimate-placeholder p{font-size:12px;max-width:250px;color:var(--stone)}.estimate-range{font-size:clamp(27px,2.55vw,38px);line-height:1.3;letter-spacing:-.045em;margin-top:26px;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.estimate-range-label{font-size:9px;color:var(--stone);margin-top:8px}.estimate-area{font-size:9px;line-height:1.8;color:#c3b19a;margin-top:16px}.estimate-detail{margin-top:26px;border-top:1px solid #ffffff26;padding-top:22px}.estimate-detail h3{font-size:10px;font-weight:600}.estimate-detail ul{padding:0;margin:15px 0 0;list-style:none}.estimate-detail li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-size:9px;line-height:1.7;margin-top:10px}.estimate-detail li>span:first-child{color:var(--stone);max-width:72%}.estimate-detail li>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.estimate-scope{margin-top:22px;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26}.estimate-scope>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;cursor:pointer;padding:17px 0;gap:18px}.estimate-scope ul{font-size:9px;line-height:1.85;color:var(--stone);margin:0 0 18px;padding-left:16px}.estimate-scope li{padding-left:2px;margin-top:7px}.estimate-notices>p{font-size:9px;color:#dac7ad;line-height:1.8;margin-top:15px;padding-left:12px;border-left:1px solid var(--gold)}.estimate-meta{font-size:8px;line-height:1.8;color:#a8a59b;margin-top:20px}.estimate-errors{font-size:11px;line-height:1.8;background:#40322b;padding:15px;margin:22px 0;color:#f0d5c8}.estimate-errors ul{margin:0;padding-left:15px}.estimate-principles{border-top:1px solid #ffffff26;padding-top:20px;margin-top:24px}.estimate-principles p{font-size:9px;color:#bcb8ae;line-height:1.8}.estimate-principles p+p{margin-top:9px}.estimate-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin-top:24px}.estimate-actions .button{width:100%;font-size:10px}.quote-whatsapp{font-size:10px;text-align:center;padding:6px 0;color:var(--stone)}.quote-whatsapp:hover{text-decoration:underline;text-underline-offset:4px}.copy-summary{background:transparent;color:var(--stone);border:1px solid #ffffff30;padding:13px 16px;font-size:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.copy-summary:hover{border-color:var(--gold)}.action-status{font-size:9px;color:#dac7ad;line-height:1.8;margin-top:14px;min-height:0}.action-status:empty{display:none}.implementation-result{margin-top:26px}.coordination-label{font-size:29px;letter-spacing:-.04em;line-height:1.3;margin-bottom:18px}.implementation-result>p:last-child{font-size:12px;color:var(--stone)}.implementation-explanation{border-top:1px solid var(--stone);padding:26px 0}.implementation-explanation p{margin-top:14px;max-width:480px;color:var(--body);font-size:11px}.quote-end{border-top:1px solid var(--stone);padding-top:36px;padding-bottom:44px;display:flex;align-items:center;justify-content:space-between;gap:30px}.quote-end>p{font-size:16px;letter-spacing:-.025em}.quote-end>a{font-size:10px;border-bottom:1px solid var(--gold);padding:8px 0;display:flex;gap:22px;align-items:center}.quote-footer{border-top:1px solid var(--stone);padding-top:28px;padding-bottom:28px;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:9px;color:var(--muted)}.quote-footer>p:first-child{font-weight:700;font-size:10px;letter-spacing:.12em;color:var(--ink)}.no-script{padding-top:35px;padding-bottom:35px}.estimate-panel.is-implementation .estimate-principles{display:none}.is-empty .estimate-actions{display:none}.quote-unavailable{font-size:13px;line-height:1.8;border:1px solid var(--gold);padding:24px;margin-bottom:30px}
.estimate-detail{padding-top:0}.estimate-detail>summary{list-style:none;font-size:10px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:18px;cursor:pointer;padding:17px 0}.estimate-detail>summary::-webkit-details-marker{display:none}.estimate-detail>summary>span{font-size:19px;font-weight:400}.estimate-detail[open]>summary>span{transform:rotate(45deg)}.estimate-detail ul{margin-top:0;margin-bottom:20px}.estimate-scope{margin-top:0}
.vertical-option{display:flex;gap:11px;align-items:flex-start;font-size:10px;font-weight:600;cursor:pointer;line-height:1.7}.vertical-option input{accent-color:var(--gold-dark);width:16px;height:16px;flex:0 0 16px;margin-top:1px}.vertical-option small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:4px}.building-levels{padding:18px;border:1px solid var(--stone);background:#eae6de;gap:16px 18px}.building-levels>.field-help{margin-top:0}.field-label-row{position:relative;display:flex;align-items:center;gap:6px;min-height:32px}.field-label-row label{flex:1}.field-tooltip{display:inline-flex;flex:0 0 auto}.help-trigger{border:1px solid var(--gold-dark);color:var(--gold-dark);background:transparent;font-size:11px;font-weight:600;line-height:20px;width:22px;height:22px;padding:0;border-radius:50%;cursor:help}.help-trigger:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}.help-tooltip{position:absolute;top:100%;left:0;z-index:5;width:min(315px,80vw);padding:15px 17px;background:var(--ink);color:var(--bone);font-size:11px;font-weight:400;line-height:1.8;box-shadow:0 7px 24px #1a1a1826;border:1px solid var(--gold)}.estimate-context{font-size:9px;color:var(--stone);line-height:1.8;margin-top:7px}.quote-invitation{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:center;margin-top:26px;padding-top:24px;border-top:1px solid #ffffff26}.invitation-portrait{width:76px;height:90px;object-fit:cover;object-position:center 30%;background:var(--bone);border-radius:2px}.invitation-kicker{font-size:7px;font-weight:600;letter-spacing:.1em;line-height:1.8;color:#c3b19a;margin-bottom:8px}.quote-invitation h3{font-size:17px;font-weight:500;letter-spacing:-.025em;line-height:1.4}.invitation-message{grid-column:1/-1;color:var(--stone);font-size:11px;line-height:1.9}.invitation-contact{grid-column:1/-1;font-size:10px;font-weight:600;line-height:1.8;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--gold)}.invitation-contact:hover{color:#dac7ad}
@media(max-width:560px){.area-field,.area-field+.field{grid-column:1/-1}.field-label-row{min-height:22px}.vertical-option{font-size:11px}.vertical-option small{font-size:10px}.building-levels{padding:15px}.estimate-context{font-size:10px}.quote-invitation{grid-template-columns:84px minmax(0,1fr);gap:16px}.invitation-portrait{width:84px;height:96px}.invitation-kicker{font-size:8px}.quote-invitation h3{font-size:19px}.invitation-message{font-size:12px}.invitation-contact{font-size:11px}}
.scope-basis{font-size:9px;line-height:1.85;color:#c3b19a;padding-left:12px;border-left:1px solid var(--gold);margin:0 0 20px}.scope-basis a{display:inline-block;color:var(--bone);text-decoration:underline;text-underline-offset:3px;margin-top:7px}.scope-basis a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.service-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.project-needs{margin-top:25px}.project-needs>.optional{margin-top:-6px}.estimate-panel.is-consultation .estimate-principles{display:none}.field-title{min-height:32px;display:flex;align-items:center;flex-wrap:wrap;column-gap:4px}.land-field .field-title{display:block;padding-top:0}.land-field .optional{white-space:nowrap}
@media(max-width:560px){.land-field,.land-field+.field{grid-column:1/-1}.field-title{min-height:22px}.service-option strong{overflow-wrap:anywhere}}
@media(min-width:801px){.estimate-panel{max-height:calc(100dvh - 52px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gold) var(--ink)}}
@media(min-width:1600px){.quote-workspace{gap:76px}.estimate-panel{padding:36px}}
@media(max-width:1100px){.quote-intro-grid{gap:45px}.quote-workspace{gap:30px;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr)}.service-option{padding:20px 16px;gap:10px}.service-option strong{font-size:13px}.estimate-panel{padding:24px}.estimate-range{font-size:29px}.quote-intro-grid>p{font-size:11px}.form-section-head h2{font-size:21px}}
@media(max-width:800px){.quote-intro{padding-top:42px;padding-bottom:32px}.quote-intro-grid{grid-template-columns:1fr;gap:22px}.quote-intro-grid>p{max-width:570px;font-size:12px}.quote-intro h1{font-size:50px}.service-picker{margin-top:30px;gap:10px}.service-option{padding:18px 12px;display:grid;grid-template-columns:1fr auto;gap:9px;min-height:140px}.option-number{grid-column:1}.service-option>span:nth-child(2){grid-column:1/-1;grid-row:2}.option-arrow{grid-row:1;grid-column:2}.service-option small{font-size:9px}.quote-workspace{grid-template-columns:1fr;gap:16px}.estimate-panel{position:static;max-width:none;padding:30px}.estimate-range{font-size:39px}.estimate-detail li{font-size:11px}.estimate-scope ul,.scope-basis{font-size:10px}.estimate-principles p,.estimate-notices>p,.estimate-meta{font-size:10px}.estimate-service,.estimate-top .eyebrow{font-size:9px}.estimate-area,.estimate-range-label{font-size:10px}.estimate-actions .button,.quote-whatsapp{font-size:11px}.copy-summary{font-size:10px}.form-section-head h2{font-size:24px}.form-section-head p{font-size:11px}.field{font-size:11px}.field input,.field select,.field textarea{font-size:12px}.field-help{font-size:10px}.choice{font-size:11px}.form-section{padding:30px 0}.quote-end{margin-top:15px}}
@media(max-width:560px){.quote-header{padding-top:16px;padding-bottom:16px}.quote-brand img{width:36px;height:42px}.quote-back{font-size:9px;gap:10px}.quote-intro{padding-top:34px}.quote-intro .eyebrow{font-size:8px;letter-spacing:.12em}.quote-intro h1{font-size:42px}.quote-intro-grid{margin-top:17px}.quote-intro-grid>p{font-size:11px;line-height:1.85}.service-picker{grid-template-columns:1fr;gap:8px}.service-option{display:flex;align-items:center;min-height:80px;padding:17px 16px;gap:16px}.service-option strong{font-size:14px}.service-option small{margin-top:5px;font-size:10px}.option-number{align-self:flex-start;line-height:22px}.option-arrow{margin-left:auto}.quote-workspace{padding-top:0}.fields-grid{gap:20px 14px}.field{font-size:10px}.field input,.field select,.field textarea{font-size:11px;min-height:48px}.form-section-head{grid-template-columns:22px 1fr;gap:9px}.form-section-head h2{font-size:22px}.form-section-head p{font-size:10px}.choice-grid{grid-template-columns:1fr}.choice{padding:13px;font-size:11px}.choice-fieldset legend{font-size:11px}.uses-grid{grid-template-columns:1fr}.estimate-panel{padding:25px 22px}.estimate-range{font-size:35px}.estimate-top{gap:14px}.estimate-top .eyebrow,.estimate-service{font-size:8px}.estimate-panel h2{font-size:23px}.estimate-detail li{font-size:10px}.estimate-detail li>span:first-child{max-width:69%}.estimate-range-label{font-size:9px}.estimate-area{font-size:9px}.estimate-principles p,.estimate-notices>p,.estimate-meta{font-size:9px}.quote-end{flex-direction:column;align-items:flex-start;padding-top:30px;padding-bottom:34px;gap:14px}.quote-end>p{font-size:17px}.quote-end>a{font-size:10px}.quote-footer{flex-wrap:wrap;gap:16px;font-size:8px}.quote-footer>p:nth-child(2){width:100%;order:3}.quote-footer>p:first-child{font-size:9px}.quote-footer>a{margin-left:auto}.coordination-label{font-size:29px}}
@media print{.quote-header,.quote-intro,.quote-form,.quote-end,.quote-footer,.estimate-actions,.action-status,.skip-link{display:none!important}.quote-workspace{display:block;padding:0;max-width:none}.estimate-panel{position:static;background:white;color:black;padding:0}.estimate-panel *{color:black!important}.estimate-panel{break-inside:avoid}.estimate-scope{border-color:#aaa}.estimate-principles,.estimate-detail{border-color:#aaa}.estimate-top:before{content:'PIR PROYECTOS';font-weight:bold;font-size:12px}.estimate-top>.eyebrow{display:none}.estimate-range{font-size:32px}.estimate-meta{font-size:9px}}
/* The model and the estimate share one reading column on desktop. */
.quote-right-column{position:sticky;top:26px;max-height:calc(100dvh - 52px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gold) var(--ink);min-width:0}
.quote-right-column .estimate-panel{position:static;max-height:none;overflow:visible}
.quote-model{background:#e8e4db;border:1px solid var(--stone);padding:21px 23px 15px;color:var(--ink);min-width:0}
.model-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:13px}
.model-heading .eyebrow{font-size:7px;letter-spacing:.12em;color:var(--gold-dark);margin-bottom:7px}
.model-heading h2{font-size:18px;line-height:1.35;letter-spacing:-.035em;font-weight:500;max-width:220px}
.model-toggle{border:0;background:transparent;color:var(--gold-dark);font-size:8px;line-height:1.5;padding:4px 0;display:flex;gap:8px;align-items:center;text-align:right;flex:0 0 auto;cursor:pointer}
.model-toggle span{font-size:16px;line-height:1}
.model-stage{position:relative;height:240px;background:#dedbd2;overflow:hidden;border:1px solid #d3cec2}
.model-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline:none}
.model-stage canvas:active{cursor:grabbing}
.model-stage canvas:focus-visible{outline:2px solid var(--gold-dark);outline-offset:-3px}
.model-stage-label{position:absolute;left:12px;top:11px;font-size:6px;letter-spacing:.15em;color:#5e574c;pointer-events:none}
.model-controls{position:absolute;right:10px;top:10px;display:flex;gap:4px}
.model-controls button{display:grid;place-items:center;width:29px;height:29px;background:#f2f0ebeb;border:1px solid #8c735559;color:var(--ink);font-size:17px;cursor:pointer;padding:0}
.model-controls button:disabled{opacity:.3;cursor:default}
.model-controls button:focus-visible,.model-toggle:focus-visible{outline:2px solid var(--gold-dark);outline-offset:2px}
.model-gesture{position:absolute;bottom:10px;left:12px;font-size:7px;letter-spacing:.02em;color:#5e574c;pointer-events:none}
.model-metrics{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;margin:14px 0 0;padding:0 0 12px;border-bottom:1px solid #c9c2b5}
.model-metrics>div{min-width:0}.model-metrics dt{font-size:7px;color:#655c4e;line-height:1.5;margin-bottom:5px}.model-metrics dd{font-size:12px;font-weight:500;letter-spacing:-.02em;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}
.model-description{font-size:9px;line-height:1.7;margin-top:10px;color:#524c41}
.model-legend{list-style:none;display:flex;flex-wrap:wrap;gap:5px 12px;padding:0;margin:9px 0 0}
.model-discipline{font-size:7px;line-height:1.6;display:flex;align-items:center;gap:5px}
.model-discipline:before{content:'';width:6px;height:6px;border-radius:50%;background:#a8997e;flex:0 0 auto}
.model-discipline-structure:before{background:#9a7543}.model-discipline-sanitary:before{background:#397aa1}.model-discipline-electrical:before{background:#c99734}.model-discipline-hvac:before{background:#3c8d80}.model-discipline-communications:before{background:#8671a8}.model-discipline-fire:before{background:#be6857}
.model-guidance{font-size:9px;line-height:1.7;border-left:2px solid var(--gold);padding-left:10px;margin-top:11px;color:#524c41}
.model-explanation{margin-top:10px;border-top:1px solid #c9c2b5;padding-top:9px}
.model-explanation summary{font-size:8px;display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;color:#655c4e;gap:15px}
.model-explanation summary::-webkit-details-marker{display:none}.model-explanation summary>span{font-size:14px}.model-explanation[open] summary>span{transform:rotate(45deg)}
.model-note,.model-detail-note{font-size:8px;line-height:1.8;color:#655c4e;margin-top:9px}
.model-fallback{position:absolute;inset:45px 25px;display:grid;place-items:center;text-align:center;font-size:11px;line-height:1.8;color:#655c4e}
.model-unavailable canvas{visibility:hidden}
.area-equation{font-size:11px;line-height:1.7;padding:13px 16px;border-left:2px solid var(--gold);background:#e9e3d8;font-weight:500}
.field input[readonly]{background:#e7e2d8;color:#655c4e;border-color:#cec5b5}
@media(max-width:1100px) and (min-width:801px){.quote-model{padding:18px}.model-stage{height:215px}.model-heading h2{font-size:16px}.model-toggle{font-size:7px}.model-metrics dd{font-size:11px}}
@media(max-width:800px){
  .quote-workspace{display:flex;flex-direction:column;align-items:stretch;gap:18px}
  .quote-right-column{display:contents;position:static;max-height:none;overflow:visible}
  .quote-form{order:2}.quote-model{order:1;position:sticky;top:0;z-index:8;padding:14px 18px 11px;box-shadow:0 8px 20px #1a1a1814}
  .estimate-panel{order:3}
  .is-reading-estimate .quote-model{position:static}
  .model-heading{margin-bottom:9px;align-items:center}.model-heading h2{font-size:17px;max-width:none}.model-heading .eyebrow{font-size:7px;margin-bottom:4px}.model-toggle{font-size:9px}.model-stage{height:180px}
  .model-metrics{margin-top:10px;padding-bottom:9px}.model-metrics dt{font-size:8px;margin-bottom:3px}.model-metrics dd{font-size:13px}
  .model-description{font-size:9px;margin-top:8px}.model-guidance{font-size:9px;margin-top:8px}.model-legend{gap:3px 10px;margin-top:7px}.model-discipline{font-size:8px}
  .model-explanation{margin-top:7px;padding-top:7px}.model-explanation summary{font-size:9px}.model-note,.model-detail-note{font-size:9px}
  .model-controls button{width:30px;height:30px}.model-gesture{font-size:8px}
}
@media(max-width:560px){.model-heading h2{font-size:15px;max-width:190px}.model-stage{height:165px}.quote-model{padding:12px 14px 10px}.model-toggle{font-size:8px}.model-metrics dd{font-size:12px}.model-guidance{font-size:8px}.model-description{font-size:8px}}
@media(max-height:650px) and (max-width:800px){.quote-model{position:static}}
@media print{.quote-right-column{position:static;max-height:none;overflow:visible}.quote-model{break-inside:avoid;background:white;border-color:#aaa}.model-stage,.model-toggle,.model-explanation{display:none!important}.model-legend,.model-metrics,.model-description,.model-guidance{color:black}}
@media(max-width:800px){.quote-form input,.quote-form select,.quote-form textarea,.quote-form summary{scroll-margin-top:370px;scroll-margin-bottom:24px}.model-heading h2{max-width:none;font-size:17px}.model-stage{height:145px}.model-description{font-size:8px;line-height:1.5}.model-metrics{margin-top:8px;padding-bottom:7px}.model-guidance{font-size:8px;line-height:1.55}.model-heading{margin-bottom:8px}.model-explanation{margin-top:6px;padding-top:6px}}
@media(max-height:650px) and (max-width:800px){.quote-form input,.quote-form select,.quote-form textarea,.quote-form summary{scroll-margin-top:20px}}

/* Guided quotation with larger controls and a compact live preview. */
.quote-header {
  padding-top: 18px;
  padding-bottom: 18px;
}

.quote-back {
  font-size: 13px;
}

.quote-intro {
  padding-top: 48px;
  padding-bottom: 36px;
}

.quote-intro-grid {
  gap: 56px;
}

.quote-intro h1 {
  font-size: clamp(40px, 4.5vw, 60px);
}

.quote-intro-grid > p {
  max-width: 470px;
  font-size: 16px;
  line-height: 1.75;
}

.service-picker {
  gap: 16px;
  margin-top: 32px;
}

.service-option {
  min-height: 124px;
  padding: 24px;
  gap: 18px;
}

.service-option strong {
  font-size: 18px;
  line-height: 1.4;
}

.service-option small {
  font-size: 13px;
  line-height: 1.6;
  margin-top: 8px;
}

.option-number {
  font-size: 12px;
}

.option-arrow {
  font-size: 20px;
}

.quote-workspace.is-wizard {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  gap: 36px;
  padding-bottom: 56px;
  scroll-margin-top: 24px;
}

.wizard-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 30px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--stone);
}

.wizard-progress button {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 15px 18px;
  border: 1px solid var(--stone);
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}

.wizard-progress button.is-current {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--bone);
}

.wizard-progress button:disabled {
  cursor: default;
  opacity: .65;
}

.wizard-progress button span:first-child {
  font-variant-numeric: tabular-nums;
}

.wizard-step-hidden,
.is-wizard:not(.is-summary) .quote-final-only {
  display: none !important;
}

.is-wizard:not(.is-summary) .implementation-result p:last-child {
  display: none;
}

.is-wizard .form-section {
  padding: 0;
  border: 0;
}

.is-wizard .form-section + .form-section {
  margin-top: 32px;
}

.is-wizard .form-section-head {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 14px;
  margin-bottom: 28px;
}

.is-wizard .section-index {
  font-size: 12px;
  line-height: 34px;
}

.is-wizard .form-section-head h2 {
  font-size: clamp(26px, 2.6vw, 34px);
  line-height: 1.25;
  letter-spacing: -.04em;
}

.is-wizard .form-section-head p {
  max-width: 500px;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.7;
}

.wizard-card {
  padding: 26px;
  border: 1px solid var(--stone);
  background: #f8f6f1;
  margin-top: 24px;
}

.wizard-card:first-child {
  margin-top: 0;
}

.wizard-card-title {
  margin: 0 0 22px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -.02em;
}

.wizard-card-hint {
  margin: -10px 0 24px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--muted);
}

.wizard-optional > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

.wizard-optional[open] > summary {
  margin-bottom: 24px;
}

.wizard-review-list {
  width: 100%;
  margin: 24px 0 0;
  padding: 0;
}

.wizard-review-list > div {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid var(--stone);
  padding: 18px 0;
  font-size: 15px;
  line-height: 1.6;
}

.wizard-review-list dt {
  color: var(--muted);
}

.wizard-review-list dd {
  margin: 0;
  max-width: 62%;
  font-weight: 500;
  text-align: right;
  overflow-wrap: anywhere;
}

#wizard-status {
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}

#wizard-errors {
  margin-bottom: 24px;
  border-left: 2px solid #a1553e;
  background: #eee1d9;
  padding: 16px 18px;
  color: #703d2d;
  font-size: 14px;
  line-height: 1.7;
}

#wizard-errors ul {
  margin: 0;
  padding-left: 18px;
}

.is-wizard .fields-grid {
  gap: 26px 20px;
}

.is-wizard .field {
  gap: 12px;
  font-size: 15px;
  line-height: 1.55;
}

.is-wizard .field input,
.is-wizard .field select,
.is-wizard .field textarea {
  min-height: 60px;
  padding: 16px;
  background: #fffdf8;
  font-size: 17px;
  line-height: 1.5;
  scroll-margin-top: 28px;
  scroll-margin-bottom: 28px;
}

.is-wizard .field select {
  padding-right: 34px;
}

.is-wizard .field textarea {
  min-height: 150px;
}

.is-wizard .field input[readonly] {
  background: #eae5db;
}

.is-wizard .field-title,
.is-wizard .field-label-row {
  min-height: 28px;
}

.is-wizard .field-help,
.is-wizard .optional,
.is-wizard .vertical-option small {
  font-size: 13px;
  line-height: 1.65;
}

.is-wizard .fields-grid > p.field-help {
  margin-top: -10px;
}

.is-wizard .building-levels {
  padding: 22px;
  background: #eae6de;
}

.is-wizard .vertical-option {
  gap: 14px;
  font-size: 15px;
  line-height: 1.6;
}

.is-wizard .vertical-option input,
.is-wizard .choice input {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
  margin-top: 2px;
}

.is-wizard .choice-fieldset {
  margin-top: 28px;
}

.is-wizard .choice-fieldset legend {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 18px;
}

.is-wizard .choice-grid {
  gap: 12px;
}

.is-wizard .choice {
  min-height: 68px;
  padding: 17px 16px;
  gap: 12px;
  font-size: 14px;
  line-height: 1.6;
}

.is-wizard .choice-number,
.is-wizard .use-group h3 {
  font-size: 12px;
}

.is-wizard .advanced-uses > summary {
  min-height: 56px;
  font-size: 14px;
}

.is-wizard .information-note,
.is-wizard .area-equation,
.is-wizard .implementation-explanation p {
  font-size: 14px;
  line-height: 1.75;
}

.is-wizard .area-equation {
  padding: 16px 18px;
}

.is-wizard .help-trigger {
  width: 44px;
  height: 44px;
  font-size: 16px;
}

.is-wizard .help-tooltip {
  width: min(360px, 80vw);
  padding: 18px;
  font-size: 14px;
  line-height: 1.65;
}

.wizard-actions {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
}

.wizard-actions button,
.wizard-summary-intro button {
  min-height: 56px;
  padding: 17px 22px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.wizard-back {
  border: 1px solid var(--stone);
  background: transparent;
  color: var(--ink);
}

.wizard-next {
  margin-left: auto;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--bone);
}

.wizard-actions button:focus-visible,
.wizard-progress button:focus-visible,
.wizard-summary-intro button:focus-visible {
  outline: 2px solid var(--gold-dark);
  outline-offset: 4px;
}

.wizard-summary-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.wizard-summary-intro h2 {
  font-size: clamp(28px, 3vw, 40px);
}

.wizard-summary-intro p {
  max-width: 620px;
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--body);
}

.is-wizard .quote-right-column {
  position: sticky;
  top: 24px;
  max-height: none;
  overflow: visible;
}

.is-wizard .quote-model {
  padding: 24px;
}

.is-wizard .model-heading {
  align-items: center;
  margin-bottom: 18px;
}

.is-wizard .model-heading .eyebrow {
  font-size: 10px;
  line-height: 1.6;
}

.is-wizard .model-heading h2 {
  max-width: none;
  font-size: 24px;
  line-height: 1.35;
}

.is-wizard .model-toggle {
  min-height: 44px;
  font-size: 12px;
}

.is-wizard .model-stage {
  height: clamp(290px, 27vw, 360px);
  background: #e2ded4;
}

.is-wizard .model-stage-label {
  top: 16px;
  left: 16px;
  font-size: 9px;
}

.is-wizard .model-controls {
  top: 12px;
  right: 12px;
  gap: 6px;
}

.is-wizard .model-controls button {
  width: 44px;
  height: 44px;
  font-size: 24px;
}

.is-wizard .model-gesture {
  bottom: 14px;
  left: 16px;
  font-size: 11px;
}

.is-wizard .model-metrics {
  margin-top: 18px;
  padding-bottom: 0;
  border: 0;
  gap: 12px;
}

.is-wizard .model-metrics dt {
  font-size: 11px;
  line-height: 1.6;
  margin-bottom: 6px;
}

.is-wizard .model-metrics dd {
  font-size: 18px;
  line-height: 1.5;
}

.is-wizard .model-description,
.is-wizard .model-guidance,
.is-wizard .model-note,
.is-wizard .model-detail-note,
.is-wizard .model-explanation summary {
  font-size: 13px;
  line-height: 1.75;
}

.is-wizard .model-discipline {
  font-size: 12px;
  line-height: 1.6;
}

.is-wizard .model-explanation summary {
  min-height: 44px;
}

.is-wizard .estimate-panel {
  padding: 28px;
  overflow: visible;
}

.is-wizard:not(.is-summary) .estimate-top {
  display: none;
}

.is-wizard:not(.is-summary) .model-description,
.is-wizard:not(.is-summary) .model-guidance {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.is-wizard:not(.is-summary) .model-explanation {
  display: none;
}

.is-wizard:not(.is-summary) .estimate-panel h2 {
  font-size: 16px;
  color: #c3b19a;
  letter-spacing: 0;
}

.is-wizard:not(.is-summary) .estimate-placeholder {
  min-height: 90px;
  gap: 14px;
}

.is-wizard .estimate-placeholder p {
  max-width: none;
  font-size: 15px;
  line-height: 1.65;
}

.is-wizard .estimate-range {
  margin-top: 14px;
  font-size: clamp(29px, 3.1vw, 43px);
  line-height: 1.3;
  letter-spacing: -.035em;
}

.is-wizard .estimate-range-label {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.6;
}

.is-wizard .estimate-errors {
  font-size: 14px;
  line-height: 1.7;
  padding: 18px;
}

.is-wizard .implementation-result .coordination-label {
  font-size: 27px;
}

.is-wizard .implementation-result > p:last-child {
  font-size: 15px;
}

.is-summary .quote-right-column {
  position: static;
}

.is-summary .estimate-top .eyebrow,
.is-summary .estimate-service {
  font-size: 11px;
  line-height: 1.7;
}

.is-summary .estimate-panel h2 {
  font-size: 27px;
}

.is-summary .estimate-area,
.is-summary .estimate-context,
.is-summary .estimate-meta,
.is-summary .scope-basis,
.is-summary .estimate-notices > p,
.is-summary .estimate-principles p,
.is-summary .action-status {
  font-size: 13px;
  line-height: 1.75;
}

.is-summary .estimate-detail > summary,
.is-summary .estimate-scope > summary {
  min-height: 58px;
  font-size: 16px;
  line-height: 1.6;
}

.is-summary .estimate-detail li,
.is-summary .estimate-scope ul {
  font-size: 14px;
  line-height: 1.8;
}

.is-summary .estimate-detail li {
  gap: 20px;
  margin-top: 14px;
}

.is-summary .estimate-scope li {
  margin-top: 12px;
}

.is-summary .estimate-actions .button,
.is-summary .quote-whatsapp,
.is-summary .copy-summary,
.is-summary .invitation-contact {
  min-height: 52px;
  font-size: 14px;
  line-height: 1.6;
}

.is-summary .quote-whatsapp {
  display: grid;
  align-content: center;
}

.is-summary .quote-invitation {
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 18px;
}

.is-summary .invitation-portrait {
  width: 88px;
  height: 104px;
}

.is-summary .invitation-kicker {
  font-size: 10px;
}

.is-summary .quote-invitation h3 {
  font-size: 21px;
}

.is-summary .invitation-message {
  font-size: 14px;
  line-height: 1.8;
}

@media (max-width: 1100px) {
  .quote-workspace.is-wizard {
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  }

  .wizard-card,
  .is-wizard .quote-model,
  .is-wizard .estimate-panel {
    padding: 22px;
  }

  .is-wizard .fields-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .is-wizard .model-stage {
    height: 290px;
  }

  .is-wizard .model-metrics dd {
    font-size: 16px;
  }

  .is-wizard .estimate-range {
    font-size: 34px;
  }

  .is-summary .quote-right-column {
    gap: 24px;
  }
}

@media (max-width: 800px) {
  .quote-intro {
    padding-top: 36px;
    padding-bottom: 30px;
  }

  .quote-intro-grid {
    gap: 24px;
  }

  .quote-intro-grid > p {
    font-size: 16px;
  }

  .service-option {
    display: flex;
    min-height: 112px;
    padding: 20px;
  }

  .quote-workspace.is-wizard {
    display: flex;
    flex-direction: column;
    gap: 26px;
    align-items: stretch;
  }

  .wizard-progress {
    order: 0;
    margin-bottom: 0;
    gap: 8px;
    padding-bottom: 20px;
  }

  .wizard-progress button {
    justify-content: center;
    flex-wrap: wrap;
    padding: 12px 10px;
    gap: 6px;
    font-size: 13px;
    text-align: center;
  }

  .is-wizard .quote-form {
    order: 1;
  }

  .is-wizard .quote-right-column {
    order: 2;
    display: block;
    position: static;
    max-height: none;
    overflow: visible;
  }

  .is-wizard .quote-model {
    position: static;
    padding: 22px;
    box-shadow: none;
  }

  .is-wizard .model-stage {
    height: 260px;
  }

  .is-wizard .model-heading h2 {
    font-size: 24px;
  }

  .is-wizard .model-heading {
    margin-bottom: 18px;
  }

  .is-wizard .model-description,
  .is-wizard .model-guidance {
    font-size: 13px;
    line-height: 1.7;
  }

  .is-wizard .model-metrics {
    margin-top: 16px;
    padding-bottom: 0;
  }

  .is-wizard .model-metrics dt {
    font-size: 11px;
  }

  .is-wizard .model-metrics dd {
    font-size: 18px;
  }

  .is-wizard .field input,
  .is-wizard .field select,
  .is-wizard .field textarea {
    font-size: 17px;
    scroll-margin-top: 24px;
  }

  .wizard-summary-intro {
    order: 1;
    align-items: flex-start;
  }

  .is-summary .quote-right-column {
    display: block;
  }

  .is-summary .estimate-panel {
    margin-top: 24px;
  }
}

@media (max-width: 560px) {
  .quote-header {
    gap: 18px;
  }

  .quote-back {
    font-size: 12px;
    line-height: 1.6;
  }

  .quote-intro h1 {
    font-size: 40px;
  }

  .service-picker {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .service-option {
    min-height: 100px;
    align-items: center;
    padding: 20px 18px;
  }

  .service-option strong {
    font-size: 17px;
  }

  .service-option small {
    font-size: 13px;
  }

  .option-number {
    align-self: auto;
  }

  .wizard-progress button {
    flex-direction: column;
    gap: 4px;
    padding: 10px 6px;
    font-size: 12px;
  }

  .is-wizard .form-section-head {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 22px;
  }

  .is-wizard .form-section-head h2 {
    font-size: 27px;
  }

  .is-wizard .form-section-head p {
    font-size: 14px;
  }

  .wizard-card {
    padding: 22px 18px;
    margin-top: 20px;
  }

  .is-wizard .fields-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .is-wizard .field {
    font-size: 15px;
  }

  .is-wizard .field input,
  .is-wizard .field select,
  .is-wizard .field textarea {
    min-height: 58px;
    font-size: 16px;
  }

  .is-wizard .building-levels {
    padding: 20px 16px;
  }

  .is-wizard .field-help,
  .is-wizard .optional {
    font-size: 13px;
  }

  .is-wizard .choice-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .wizard-actions {
    gap: 12px;
    margin-top: 24px;
  }

  .wizard-actions button {
    padding: 16px;
    font-size: 14px;
  }

  .is-wizard .quote-model,
  .is-wizard .estimate-panel {
    padding: 20px;
  }

  .is-wizard .model-heading {
    gap: 12px;
  }

  .is-wizard .model-heading h2 {
    font-size: 21px;
  }

  .is-wizard .model-toggle {
    font-size: 11px;
  }

  .is-wizard .model-stage {
    height: 240px;
  }

  .is-wizard .model-stage-label {
    font-size: 8px;
    top: 13px;
    left: 12px;
  }

  .is-wizard .model-metrics {
    gap: 10px;
  }

  .is-wizard .model-metrics dt {
    font-size: 10px;
  }

  .is-wizard .model-metrics dd {
    font-size: 16px;
  }

  .is-wizard .estimate-range {
    font-size: 34px;
  }

  .wizard-summary-intro {
    flex-direction: column;
    gap: 20px;
  }

  .wizard-summary-intro p {
    font-size: 15px;
  }

  .is-summary .estimate-panel h2 {
    font-size: 25px;
  }

  .is-summary .estimate-detail li {
    align-items: start;
    gap: 14px;
    font-size: 14px;
  }

  .is-summary .estimate-detail li > span:first-child {
    max-width: 62%;
  }

  .is-summary .estimate-scope ul {
    font-size: 14px;
  }

  .is-summary .quote-invitation {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 16px;
  }

  .is-summary .invitation-portrait {
    width: 68px;
    height: 86px;
  }

  .is-summary .quote-invitation h3 {
    font-size: 20px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .wizard-step:not(.wizard-step-hidden) {
    animation: quote-step-enter .22s ease-out;
  }

  @keyframes quote-step-enter {
    from { opacity: .5; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (min-width: 801px) and (max-height: 760px) {
  .is-wizard:not(.is-summary) .quote-model {
    padding: 18px;
  }

  .is-wizard:not(.is-summary) .model-stage {
    height: 240px;
  }

  .is-wizard:not(.is-summary) .estimate-panel {
    padding: 22px;
  }
}

@media print {
  .wizard-progress,
  .wizard-actions,
  .wizard-summary-intro button {
    display: none !important;
  }

  .quote-workspace.is-wizard,
  .is-summary .quote-right-column {
    display: block;
  }

  .is-summary .estimate-panel {
    margin-top: 0;
    padding: 0;
  }
}

/* One compact final quotation, with optional technical detail. */
.quote-workspace.is-wizard.is-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 900px;
  gap: 20px;
}

.is-summary .quote-form {
  order: 0;
}

.is-summary .wizard-status {
  margin-bottom: 0;
}

.is-summary .wizard-actions,
.is-summary .wizard-summary-intro,
.is-summary .quote-model,
.is-summary .quote-invitation,
.is-summary .implementation-explanation,
.is-summary .implementation-result p:last-child,
.is-summary .estimate-principles {
  display: none;
}

.is-summary .quote-right-column {
  display: block;
  order: 1;
  width: 100%;
}

.is-wizard.is-summary .estimate-panel {
  margin-top: 0;
  padding: clamp(26px, 4vw, 44px);
}

.is-summary .estimate-top {
  margin-bottom: 18px;
}

.is-wizard.is-summary .estimate-range {
  font-size: clamp(34px, 4.2vw, 48px);
  margin-top: 16px;
}

.is-summary .quote-summary-project {
  margin-top: 24px;
  color: var(--bone);
  font-size: 18px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.is-summary .quote-summary-heading {
  margin-top: 28px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0;
}

.is-summary .quote-summary-includes {
  margin: 14px 0 0;
  padding-left: 20px;
  color: #e5dfd4;
  font-size: 16px;
  line-height: 1.75;
}

.is-summary .quote-summary-includes li + li {
  margin-top: 8px;
}

.is-summary .quote-summary-includes li::marker {
  color: #c3b19a;
}

.is-summary .quote-summary-note {
  margin-top: 22px;
  color: #c3b19a;
  font-size: 13px;
  line-height: 1.7;
}

.is-summary .quote-final-details {
  margin-top: 24px;
  border-top: 1px solid #ffffff26;
  border-bottom: 1px solid #ffffff26;
}

.is-summary .quote-final-details > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 56px;
  padding: 16px 0;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
}

.is-summary .quote-final-details > summary::-webkit-details-marker {
  display: none;
}

.is-summary .quote-final-details > summary > span {
  font-size: 20px;
  font-weight: 400;
}

.is-summary .quote-final-details[open] > summary > span {
  transform: rotate(45deg);
}

.is-summary .quote-final-details .wizard-review-list {
  margin-top: 0;
  margin-bottom: 24px;
}

.is-summary .quote-final-details .wizard-review-list > div {
  border-color: #ffffff26;
  font-size: 14px;
}

.is-summary .quote-final-details .wizard-review-list dt {
  color: #c3b19a;
}

.is-summary .quote-final-details .wizard-review-list dd {
  color: var(--bone);
  overflow-wrap: anywhere;
}

.is-summary .quote-final-details .estimate-scope,
.is-summary .quote-final-details .estimate-detail {
  margin-top: 20px;
}

.is-summary .quote-final-details .estimate-meta {
  margin-bottom: 24px;
}

.is-summary .quote-summary-edit {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.is-summary .quote-summary-edit button {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid #ffffff40;
  background: transparent;
  color: var(--bone);
  font-size: 13px;
  line-height: 1.6;
}

.is-summary .quote-summary-edit button:hover {
  border-color: #c3b19a;
}

.is-summary .quote-summary-edit button:focus-visible,
.is-summary .quote-final-details > summary:focus-visible {
  outline: 2px solid #c3b19a;
  outline-offset: 4px;
}

.is-summary .estimate-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.is-summary .estimate-actions .button,
.is-summary .estimate-actions .quote-whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  margin: 0;
  padding: 14px 18px;
  text-align: center;
}

.is-summary .estimate-actions .copy-summary {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 44px;
  padding: 8px 0;
  margin: 0;
  border: 0;
  color: #c3b19a;
  font-size: 13px;
}

@media (max-width: 560px) {
  .quote-workspace.is-wizard.is-summary {
    gap: 16px;
  }

  .is-wizard.is-summary .estimate-panel {
    padding: 26px 22px;
  }

  .is-summary .quote-summary-project {
    font-size: 16px;
  }

  .is-summary .quote-summary-includes {
    font-size: 15px;
  }

  .is-summary .quote-final-details .wizard-review-list > div {
    flex-direction: column;
    gap: 5px;
  }

  .is-summary .quote-final-details .wizard-review-list dd {
    max-width: none;
    text-align: left;
  }

  .is-summary .estimate-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media print {
  .quote-workspace.is-wizard.is-summary {
    max-width: none;
    padding: 0;
  }

  .is-summary .quote-summary-edit {
    display: none;
  }

  .is-wizard.is-summary .estimate-panel {
    padding: 0;
  }
}

/* The quotation shares the light, spacious visual language of the main site. */
@media screen {
  .quote-page {
    --quote-surface: #faf9f6;
    --quote-line: #1a1a181a;
    background: var(--bone);
  }

  .quote-page .quote-header {
    min-height: 102px;
    padding-top: 18px;
    padding-bottom: 18px;
    border-color: var(--quote-line);
  }

  .quote-page .quote-brand {
    padding: 10px 13px;
    border-radius: 14px;
  }

  .quote-page .quote-back {
    min-height: 44px;
    font-size: 13px;
    font-weight: 500;
  }

  .quote-page .quote-intro {
    padding-top: 64px;
    padding-bottom: 52px;
  }

  .quote-page .quote-intro-grid {
    align-items: end;
    gap: 64px;
  }

  .quote-page .quote-intro h1 {
    font-size: clamp(42px, 4.8vw, 66px);
    font-weight: 500;
    letter-spacing: -.055em;
  }

  .quote-page .quote-intro-grid > p {
    font-size: 17px;
    max-width: 380px;
    color: var(--muted);
  }

  .quote-page .service-picker {
    gap: 16px;
    margin-top: 40px;
  }

  .quote-page .service-option {
    min-height: 136px;
    padding: 27px;
    border-radius: 22px;
    border-color: var(--quote-line);
    background: var(--quote-surface);
    transition: background .2s, border-color .2s, transform .2s;
  }

  .quote-page .service-option:hover {
    border-color: #8c735580;
    transform: translateY(-2px);
  }

  .quote-page .service-option[aria-pressed="true"] {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--bone);
  }

  .quote-page .service-option strong {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -.035em;
  }

  .quote-page .service-option small {
    font-size: 13px;
    line-height: 1.7;
  }

  .quote-page .option-arrow {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 50%;
    border: 1px solid var(--quote-line);
  }

  .quote-page .service-option[aria-pressed="true"] .option-arrow {
    border-color: #ffffff30;
  }

  .quote-page .quote-workspace.is-wizard {
    gap: 48px;
    padding-top: 8px;
    padding-bottom: 64px;
  }

  .quote-page .wizard-progress {
    gap: 8px;
    padding-bottom: 22px;
    margin-bottom: 0;
    border-color: var(--quote-line);
  }

  .quote-page .wizard-progress button {
    min-height: 56px;
    padding: 13px 15px;
    border-radius: 100px;
    border-color: transparent;
    background: #e9e6df;
    gap: 9px;
    font-size: 13px;
    font-weight: 500;
  }

  .quote-page .wizard-progress strong {
    font-weight: 500;
  }

  .quote-page .wizard-progress button.is-current {
    background: var(--ink);
    color: var(--bone);
  }

  .quote-page #wizard-status {
    margin: 16px 0 28px;
    font-size: 12px;
  }

  .quote-page .is-wizard .form-section-head {
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 28px;
  }

  .quote-page .is-wizard .form-section-head h2 {
    font-weight: 500;
    font-size: clamp(27px, 2.5vw, 34px);
    letter-spacing: -.045em;
  }

  .quote-page .is-wizard .form-section-head p {
    font-size: 15px;
    color: var(--muted);
  }

  .quote-page .wizard-card {
    padding: 28px;
    background: var(--quote-surface);
    border: 1px solid var(--quote-line);
    border-radius: 24px;
    margin-top: 22px;
  }

  .quote-page .wizard-card-title {
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -.03em;
    margin-bottom: 25px;
  }

  .quote-page .is-wizard .building-levels {
    padding: 28px;
    background: var(--quote-surface);
  }

  .quote-page .is-wizard .fields-grid {
    gap: 28px 20px;
  }

  .quote-page .is-wizard .field {
    font-size: 15px;
    font-weight: 500;
  }

  .quote-page .is-wizard .field input,
  .quote-page .is-wizard .field select,
  .quote-page .is-wizard .field textarea {
    border-radius: 12px;
    border-color: #1a1a1824;
    background: #fffefa;
    padding: 16px 17px;
    font-size: 16px;
    font-weight: 400;
    min-height: 60px;
  }

  .quote-page .is-wizard .field input:focus,
  .quote-page .is-wizard .field select:focus,
  .quote-page .is-wizard .field textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 2px #8c73551a;
  }

  .quote-page .is-wizard .field select {
    padding-right: 36px;
  }

  .quote-page .is-wizard .field input[readonly] {
    background: #ece9e2;
    color: #655c4e;
  }

  .quote-page .is-wizard .field input[aria-invalid="true"] {
    border-color: #a1553e;
  }

  .quote-page .is-wizard .choice {
    border-radius: 16px;
    border-color: var(--quote-line);
    background: var(--quote-surface);
    padding: 18px;
  }

  .quote-page .is-wizard .choice:has(input:checked) {
    border-color: #8c735580;
    background: #eae5db;
  }

  .quote-page .wizard-optional > summary {
    font-weight: 500;
    gap: 16px;
  }

  .quote-page .area-equation,
  .quote-page .help-tooltip,
  .quote-page #wizard-errors {
    border-radius: 12px;
  }

  .quote-page .wizard-actions {
    margin-top: 32px;
  }

  .quote-page .wizard-actions button {
    min-height: 56px;
    border-radius: 100px;
    padding: 16px 25px;
    font-size: 14px;
    font-weight: 500;
  }

  .quote-page .wizard-back {
    border-color: #1a1a1826;
  }

  .quote-page .is-wizard .quote-model {
    padding: 24px;
    background: var(--quote-surface);
    border: 1px solid var(--quote-line);
    border-radius: 26px;
  }

  .quote-page .is-wizard .model-heading h2 {
    font-size: 25px;
    font-weight: 500;
    letter-spacing: -.04em;
  }

  .quote-page .is-wizard .model-heading .eyebrow {
    font-size: 9px;
  }

  .quote-page .is-wizard .model-stage {
    height: clamp(275px, 26vw, 350px);
    background: #e9e6df;
    border: 0;
    border-radius: 18px;
  }

  .quote-page .is-wizard .model-controls button {
    border-radius: 50%;
    background: #faf9f6eb;
    border-color: #1a1a1820;
    width: 40px;
    height: 40px;
    font-size: 21px;
  }

  .quote-page .is-wizard .model-metrics {
    margin-top: 22px;
    gap: 12px;
  }

  .quote-page .is-wizard .model-metrics dt {
    color: var(--muted);
  }

  .quote-page .is-wizard .model-metrics dd {
    font-size: 19px;
    font-weight: 500;
  }

  .quote-page .is-wizard .model-legend {
    margin-top: 16px;
    gap: 7px 13px;
  }

  .quote-page .is-wizard .estimate-panel {
    margin-top: 16px;
    padding: 28px;
    border-radius: 26px;
    background: var(--ink);
  }

  .quote-page .is-wizard:not(.is-summary) .estimate-panel h2 {
    font-size: 14px;
    font-weight: 500;
  }

  .quote-page .is-wizard .estimate-range {
    font-size: clamp(30px, 3vw, 43px);
    font-weight: 500;
    letter-spacing: -.045em;
  }

  .quote-page .estimate-errors {
    border-radius: 12px;
  }

  .quote-page .quote-workspace.is-wizard.is-summary {
    gap: 16px;
    max-width: 960px;
  }

  .quote-page .is-wizard.is-summary .estimate-panel {
    padding: clamp(28px, 4vw, 48px);
    margin-top: 0;
    border-radius: 30px;
  }

  .quote-page .is-summary .estimate-panel h2 {
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 500;
    letter-spacing: -.04em;
  }

  .quote-page .is-wizard.is-summary .estimate-range {
    font-size: clamp(34px, 4.3vw, 52px);
    line-height: 1.25;
  }

  .quote-page .is-summary .quote-summary-project {
    margin-top: 22px;
    font-size: 17px;
  }

  .quote-page .is-summary .quote-summary-includes {
    font-size: 15px;
    line-height: 1.8;
  }

  .quote-page .is-summary .quote-summary-edit button {
    padding: 10px 17px;
    border-radius: 100px;
  }

  .quote-page .is-summary .estimate-actions .button,
  .quote-page .is-summary .estimate-actions .quote-whatsapp {
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
    border: 1px solid #ffffff40;
  }

  .quote-page .is-summary .estimate-actions .button {
    background: var(--bone);
    color: var(--ink);
    border-color: var(--bone);
  }

  .quote-page .quote-end {
    width: calc(100% - var(--gutter) * 2);
    max-width: calc(var(--max) - var(--gutter) * 2);
    margin-top: 12px;
    margin-bottom: 48px;
    padding: 38px;
    border: 0;
    border-radius: 24px;
    background: #e7e3da;
  }

  .quote-page .quote-end > p {
    font-size: 21px;
    font-weight: 500;
    letter-spacing: -.035em;
  }

  .quote-page .quote-end > a {
    min-height: 44px;
    font-size: 13px;
    line-height: 1.7;
  }

  .quote-page .quote-footer {
    border-color: var(--quote-line);
    padding-top: 30px;
    padding-bottom: 30px;
    font-size: 12px;
  }
}

@media screen and (max-width: 1100px) {
  .quote-page .quote-workspace.is-wizard {
    gap: 28px;
  }

  .quote-page .service-option {
    padding: 24px 21px;
  }

  .quote-page .service-option strong {
    font-size: 18px;
  }
}

@media screen and (min-width: 801px) and (max-height: 820px) {
  .quote-page .is-wizard .quote-model {
    padding: 20px;
  }

  .quote-page .is-wizard .model-stage {
    height: 240px;
  }

  .quote-page .is-wizard .estimate-panel {
    padding: 24px;
  }
}

@media screen and (max-width: 800px) {
  .quote-page .quote-intro {
    padding-top: 44px;
    padding-bottom: 38px;
  }

  .quote-page .quote-intro-grid {
    gap: 20px;
  }

  .quote-page .quote-intro-grid > p {
    max-width: 500px;
    font-size: 16px;
  }

  .quote-page .service-option {
    min-height: 156px;
  }

  .quote-page .quote-workspace.is-wizard {
    gap: 28px;
    padding-bottom: 44px;
  }

  .quote-page .wizard-progress {
    padding-bottom: 18px;
  }

  .quote-page .wizard-progress button {
    padding: 12px 9px;
    min-height: 64px;
  }

  .quote-page .is-wizard .model-stage {
    height: 280px;
  }

  .quote-page .quote-end {
    padding: 30px;
    margin-bottom: 34px;
  }
}

@media screen and (max-width: 560px) {
  .quote-page .quote-header {
    min-height: 88px;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .quote-page .quote-brand {
    padding: 9px 12px;
    border-radius: 12px;
  }

  .quote-page .quote-back {
    font-size: 11px;
    gap: 10px;
  }

  .quote-page .quote-intro h1 {
    font-size: 43px;
  }

  .quote-page .service-picker {
    margin-top: 28px;
    gap: 10px;
  }

  .quote-page .service-option {
    min-height: 108px;
    padding: 20px 18px;
    border-radius: 19px;
    gap: 14px;
  }

  .quote-page .service-option strong {
    font-size: 17px;
  }

  .quote-page .service-option small {
    font-size: 12px;
  }

  .quote-page .option-number {
    font-size: 10px;
  }

  .quote-page .option-arrow {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    font-size: 17px;
  }

  .quote-page .wizard-progress button {
    min-height: 67px;
    border-radius: 18px;
    gap: 3px;
    font-size: 11px;
  }

  .quote-page .is-wizard .form-section-head {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
  }

  .quote-page .is-wizard .form-section-head h2 {
    font-size: 28px;
  }

  .quote-page .is-wizard .form-section-head p {
    font-size: 14px;
  }

  .quote-page .wizard-card,
  .quote-page .is-wizard .building-levels {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .quote-page .wizard-card-title {
    font-size: 18px;
    margin-bottom: 23px;
  }

  .quote-page .is-wizard .fields-grid {
    gap: 26px;
  }

  .quote-page .is-wizard .field input,
  .quote-page .is-wizard .field select,
  .quote-page .is-wizard .field textarea {
    padding: 15px;
    min-height: 58px;
  }

  .quote-page .is-wizard .field select {
    padding-right: 34px;
  }

  .quote-page .wizard-optional > summary {
    align-items: flex-start;
    font-size: 15px;
  }

  .quote-page .wizard-actions button {
    padding: 15px 20px;
    font-size: 13px;
  }

  .quote-page .is-wizard .quote-model {
    padding: 20px;
    border-radius: 24px;
  }

  .quote-page .is-wizard .model-heading h2 {
    font-size: 22px;
  }

  .quote-page .is-wizard .model-stage {
    height: 250px;
    border-radius: 16px;
  }

  .quote-page .is-wizard .model-controls button {
    width: 36px;
    height: 36px;
  }

  .quote-page .is-wizard .model-metrics dd {
    font-size: 16px;
  }

  .quote-page .is-wizard .estimate-panel,
  .quote-page .is-wizard.is-summary .estimate-panel {
    padding: 27px 22px;
    border-radius: 24px;
  }

  .quote-page .is-wizard .estimate-range {
    font-size: 33px;
  }

  .quote-page .is-wizard.is-summary .estimate-range {
    font-size: 36px;
  }

  .quote-page .is-summary .quote-summary-project {
    font-size: 16px;
  }

  .quote-page .quote-end {
    padding: 27px 24px;
    border-radius: 22px;
    gap: 18px;
  }

  .quote-page .quote-end > p {
    font-size: 23px;
  }

  .quote-page .quote-footer {
    gap: 18px;
    font-size: 11px;
  }
}
