.estimate-section{padding:18px 0 76px;scroll-margin-top:98px}.estimate-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}.estimate-heading h2{font-size:clamp(32px,4vw,54px);line-height:1.06;letter-spacing:-.05em;margin:16px 0 0}.estimate-heading h2 span{color:var(--mint)}.estimate-heading>p{font-size:16px;line-height:1.65;max-width:35ch;color:var(--muted);margin:0}.estimate-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr);gap:36px;align-items:start}.estimate-builder{min-width:0}.estimate-builder fieldset{border:0;margin:0;padding:0;min-width:0}.estimate-types legend,.estimate-step-heading h3{font-size:19px;font-weight:500;margin:0 0 18px;padding:0}.estimate-types legend>span,.estimate-step-heading h3>span{font-size:11px;color:var(--mint);margin-right:12px;font-variant-numeric:tabular-nums}.estimate-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.estimate-key{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px 13px;min-height:154px;cursor:pointer;border:1px solid #a1c7b738;border-radius:13px;background:linear-gradient(145deg,#2b403ebf,#122126e8);box-shadow:inset 0 1px #ffffff12,0 4px 0 #080e13;transition:transform .2s,border-color .2s}.estimate-key>input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.estimate-key-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;color:var(--muted);flex-wrap:wrap}.estimate-key-top svg{width:20px;height:20px;color:var(--mint)}.estimate-key strong{font-size:15px;letter-spacing:-.025em;line-height:1.25;font-weight:500}.estimate-key small{font-size:11px;line-height:1.45;color:var(--muted)}.estimate-key-led{position:absolute;bottom:9px;right:10px;width:4px;height:4px;border-radius:50%;background:#52635e}.estimate-key:has(input:checked){transform:translateY(2px);border-color:#a7efd3a8;background:linear-gradient(135deg,#375c53b8,#173630e8);box-shadow:inset 0 1px #dcffec45,0 2px 0 #070d11}.estimate-key:has(input:checked) .estimate-key-led{background:var(--mint);box-shadow:0 0 9px var(--mint)}.estimate-key:has(input:focus-visible),.estimate-option:has(input:focus-visible){outline:2px solid var(--mint);outline-offset:3px}.estimate-base{margin:22px 0 32px;padding:0 0 16px;border-bottom:1px solid var(--line)}.estimate-base summary{cursor:pointer;font-size:13px;min-height:44px;line-height:1.5}.estimate-base summary span{color:var(--soft);font-size:11px;margin-left:10px}.estimate-base ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;list-style:none;padding:0;margin:10px 0 14px;font-size:12px;line-height:1.6;color:var(--muted)}.estimate-base li:before{content:'✓';color:var(--mint);margin-right:8px}.estimate-base p{font-size:12px;line-height:1.6;color:var(--soft);margin:0}.estimate-step-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.estimate-step-heading>span{font-size:12px;color:var(--mint);padding-top:4px}.estimate-presets{margin-bottom:24px}.estimate-presets>span{font-size:11px;color:var(--soft)}.estimate-presets>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.estimate-presets button{font:inherit;text-align:left;padding:13px 12px;border:1px solid var(--line);border-radius:10px;background:#263d343f;color:var(--text);cursor:pointer;min-height:82px;transition:border-color .2s}.estimate-presets button[aria-pressed=true]{border-color:var(--mint);background:#a4f3d412}.estimate-presets strong{display:block;font-size:13px;font-weight:500}.estimate-presets small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px}.estimate-presets>small{font-size:11px;color:var(--soft)}.estimate-group{border-top:1px solid var(--line)}.estimate-group:last-of-type{border-bottom:1px solid var(--line)}.estimate-group>summary{display:flex;align-items:center;gap:12px;min-height:64px;cursor:pointer;font-size:16px;list-style:none}.estimate-group>summary::-webkit-details-marker{display:none}.estimate-group>summary:after{content:'+';margin-left:auto;color:var(--mint);font-size:24px;font-weight:300}.estimate-group[open]>summary:after{content:'−'}.estimate-group>summary span{font-size:10px;border:1px solid #a5e3cb30;color:var(--mint);padding:2px 7px;border-radius:20px;min-width:24px;text-align:center}.estimate-option-grid{display:grid;gap:8px;padding-bottom:18px}.estimate-option{border:1px solid #b9dbc71c;border-radius:10px;background:#17292870;transition:border-color .2s,background .2s}.estimate-option>label{display:flex;gap:12px;position:relative;padding:16px 14px;cursor:pointer;align-items:start}.estimate-option>label>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.estimate-option strong{display:block;font-size:14px;line-height:1.4;font-weight:500}.estimate-option small{display:block;font-size:11px;line-height:1.55;color:var(--muted);margin-top:6px}.estimate-option em{display:block;font-style:normal;color:#e7c89b;font-size:10px;line-height:1.5;margin-top:6px}.estimate-option em:empty{display:none}.estimate-option b{font-size:11px;white-space:nowrap;font-weight:500;color:var(--mint);margin-left:auto;text-align:right;padding-top:2px}.estimate-option b small{margin:3px 0}.estimate-option-check{flex:0 0 20px;border:1px solid #c1dfd04d;border-radius:5px;height:20px;display:grid;place-content:center;color:var(--mint);font-size:14px}.estimate-option:has([type=checkbox]:checked){border-color:#a7efd369;background:#26493a80}.estimate-option:has([type=checkbox]:checked) .estimate-option-check{background:var(--mint);color:#0d201a}.estimate-quantity{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 14px 14px;padding-top:10px;border-top:1px solid #b9dbc71c;font-size:11px;color:var(--muted)}.estimate-quantity>div{display:flex;align-items:center;gap:4px}.estimate-quantity input{width:56px;height:40px;text-align:center;color:var(--text);background:#0b191b;border:1px solid #96c4ad66;border-radius:7px;font:inherit;padding:5px;appearance:textfield}.estimate-quantity input::-webkit-inner-spin-button{appearance:none}.estimate-quantity button{border:0;background:#ffffff09;color:var(--mint);border-radius:6px;width:40px;height:40px;cursor:pointer;font-size:20px}.estimate-quantity button:disabled{opacity:.35;cursor:default}.estimate-selection-note{font-size:12px;line-height:1.6;color:var(--mint);min-height:20px}.estimate-receipt{position:sticky;top:98px;min-width:0;padding:28px;border:1px solid #eff8e38c;border-radius:4px 24px 24px 24px;background:linear-gradient(135deg,#f2f3e9,#dfe9df);color:#18332b;box-shadow:0 24px 55px #0003}.estimate-receipt-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.1em;border-bottom:1px solid #18332b25;padding-bottom:18px}.estimate-receipt-top svg{width:24px;height:24px}.estimate-receipt h3{font-size:28px;font-weight:500;letter-spacing:-.04em;line-height:1.15;margin:24px 0 10px}.estimate-receipt-caption{font-size:11px;color:#4a645a}.estimate-lines{list-style:none;padding:20px 0;margin:0;display:grid;gap:14px;max-height:280px;overflow:auto;scrollbar-width:thin;scrollbar-color:#9bb3a5 transparent}.estimate-lines li{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5}.estimate-lines b{font-size:11px;font-weight:500;white-space:nowrap}.estimate-totals{border-top:1px solid #18332b33;padding-top:20px}.estimate-totals>span{font-size:11px;color:#4a645a}.estimate-totals>strong{display:block;font-size:clamp(28px,2.7vw,38px);line-height:1.2;letter-spacing:-.05em;font-weight:500;margin:8px 0 0;overflow-wrap:anywhere}.estimate-monthly{margin-top:16px;font-size:11px;line-height:1.6}.estimate-monthly span{display:block;color:#4a645a}.estimate-monthly b{font-size:17px;font-weight:500}.estimate-price-note{font-size:11px;color:#4a645a;line-height:1.7;margin:18px 0}.estimate-price-note strong{font-weight:500;color:#18332b}.estimate-receipt>.button{width:100%;font-size:14px;min-height:50px;padding:13px 15px;justify-content:space-between;background:#173d30;color:#e4faee;border-color:#173d30;box-shadow:0 5px 12px #173d3020}.estimate-receipt>.button:hover{background:#245340}.estimate-receipt-tools{display:flex;justify-content:space-between;gap:8px;margin-top:8px}.estimate-receipt-tools button{border:0;background:none;color:#355c4b;font:inherit;font-size:11px;min-height:44px;padding:6px 0;cursor:pointer}.estimate-receipt-tools button:disabled{opacity:.45;cursor:default}.estimate-exclusions{border-top:1px solid #18332b25;padding-top:5px;margin-top:7px}.estimate-exclusions summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px}.estimate-exclusions summary:after{content:'+';margin-left:auto}.estimate-exclusions[open] summary:after{content:'−'}.estimate-exclusions p{font-size:11px;line-height:1.65;color:#4a645a}.estimate-receipt :focus-visible{outline:2px solid #185541;outline-offset:3px}.estimate-fallback{padding:18px;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.estimate-confirm{width:min(500px,calc(100% - 32px));max-height:85dvh;overflow:auto;padding:28px;border:1px solid #acd7c66b;border-radius:20px;background:#172c28;color:var(--text);box-shadow:0 24px 90px #0008}.estimate-confirm::backdrop{background:#07100ed9}.estimate-confirm h3{font-size:26px;line-height:1.2;margin:16px 0}.estimate-confirm p,.estimate-confirm li{font-size:14px;line-height:1.65;color:var(--muted)}.estimate-confirm ul{padding-left:20px}.estimate-confirm .actions{gap:10px;margin-top:22px}.estimate-confirm .button{font-size:14px;min-height:48px;padding:12px 18px}.estimate-mobile-total{display:none}#estimate-receipt{scroll-margin-top:98px}
@media(hover:hover){.estimate-key:hover{border-color:#a7efd38c;transform:translateY(-2px)}.estimate-key:has(input:checked):hover{transform:translateY(2px)}.estimate-option:hover,.estimate-presets button:hover{border-color:#a7efd35a}}
@media(max-width:1150px){.estimate-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-key{min-height:125px}.estimate-layout{gap:24px;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}.estimate-receipt{padding:22px}}
@media(max-width:760px){.estimate-layout{grid-template-columns:1fr;gap:28px}.estimate-receipt{position:static}.estimate-heading{display:block}.estimate-heading>p{margin-top:18px;font-size:15px;max-width:45ch}.estimate-section{padding-bottom:44px}.estimate-lines{max-height:none}.estimate-totals>strong{font-size:38px}.estimate-mobile-total{display:flex;position:sticky;top:76px;z-index:5;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:24px;border:1px solid #a4dcc066;border-radius:10px;background:#142c28;box-shadow:0 8px 16px #0003;font-size:10px;color:var(--muted)}.estimate-mobile-total b{display:block;font-size:20px;line-height:1.5;color:var(--mint);font-weight:500}.estimate-mobile-total small{display:block}.estimate-mobile-total small:empty{display:none}.estimate-mobile-total a{font-size:12px;min-height:44px;display:flex;align-items:center;white-space:nowrap}.estimate-presets>div{gap:6px}.estimate-presets button{padding:11px 9px}.estimate-presets strong{font-size:12px}.estimate-presets small{font-size:10px}.estimate-option>label{gap:10px;padding:14px 10px;flex-wrap:wrap}.estimate-option>label>span:nth-of-type(2){flex:1;min-width:0}.estimate-option b{margin:0 0 0 30px;text-align:left;flex-basis:100%;display:flex;gap:6px;align-items:center}.estimate-option b small{margin:0}.estimate-key-top{font-size:11px}.estimate-base ul{grid-template-columns:1fr}.estimate-base summary span{display:block;margin-left:18px}.estimate-step-heading h3{font-size:18px}.estimate-step-heading>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.estimate-key,.estimate-option,.estimate-presets button{transition:none}}
.motion-paused .estimate-key,.motion-paused .estimate-option,.motion-paused .estimate-presets button{transition:none}
