.quote-tool{display:none}.quote-tool.is-open{display:block}.quote-tool-panel{position:relative;width:min(860px,calc(100% - 32px));max-height:88vh;overflow:auto;margin:6vh auto 0;background:var(--paper);padding:36px 48px 42px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.quote-close{z-index:2}.quote-tool-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;padding-right:28px}.quote-tool-heading h2{font-size:clamp(42px,5vw,66px);color:var(--navy);margin-top:10px}.quote-tool-note{max-width:245px;color:var(--muted);font-size:12px;line-height:1.45}.quote-progress{display:flex;gap:5px;margin:26px 0 28px}.quote-progress span{height:4px;flex:1;background:var(--line)}.quote-progress span.active{background:var(--coral)}.quote-step[hidden]{display:none}.quote-fields{display:grid;gap:16px}.quote-fields-two{grid-template-columns:1fr 1fr}.quote-fields label,.quote-service{display:block;color:var(--muted);font-size:11px;font-weight:700}.quote-fields label:first-child{grid-column:span 2}.quote-fields input,.quote-fields select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:inherit;font-weight:400}.quote-fields input:focus,.quote-fields select:focus,.quote-service:has(input:focus){outline:3px solid var(--gold);outline-offset:2px}.quote-instruction{color:var(--muted);font-size:13px;margin:0 0 18px}.quote-service-list{display:grid;gap:8px}.quote-service{display:grid;grid-template-columns:20px 1fr auto;gap:13px;align-items:center;background:#fff;border:1px solid var(--line);padding:14px 16px;cursor:pointer}.quote-service:has(input:checked){border-color:var(--coral);box-shadow:inset 4px 0 var(--coral)}.quote-service input{accent-color:var(--coral);width:16px;height:16px}.quote-service strong{display:block;color:var(--navy);font-size:15px}.quote-service span small{display:block;font-weight:400;margin-top:4px}.quote-service>b{color:var(--navy);font-size:13px;text-align:right}.quote-service>b small{display:block;color:var(--muted);font-size:9px;font-weight:400;white-space:nowrap}.quote-error{min-height:18px;color:#a52e23;font-size:11px;font-weight:700;margin:14px 0 0}.quote-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.quote-back,.quote-restart{border:0;background:none;color:var(--muted);font-size:11px;text-decoration:underline;padding:10px 0}.quote-summary-head{display:flex;justify-content:space-between;align-items:start;border-bottom:2px solid var(--navy);padding-bottom:18px}.quote-summary-head strong{display:block;color:var(--navy);font-size:20px}.quote-summary-contact{display:block;color:var(--muted);font-size:11px;margin-top:4px}.quote-estimate-badge{background:var(--gold);color:var(--navy);font-size:10px;font-weight:700;padding:7px 9px}.quote-summary-list{margin:0}.quote-summary-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.quote-summary-row strong{display:block;color:var(--navy);font-size:13px}.quote-summary-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.quote-summary-row>b{color:var(--navy);font-size:14px}.quote-total{display:grid;grid-template-columns:1fr auto;gap:3px 20px;padding:20px 0;color:var(--navy)}.quote-total strong{font-size:26px}.quote-total small{grid-column:1 / -1;color:var(--muted);font-size:10px}.quote-disclaimer{background:#edf2ee;color:var(--muted);padding:12px;font-size:10px;margin:4px 0 0}.quote-restart{display:block;margin:10px auto 0}.quote-tool .button:focus-visible,.quote-tool button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:650px){.quote-tool-panel{padding:30px 22px 28px;margin-top:3vh;max-height:94vh}.quote-tool-heading{display:block}.quote-tool-note{margin:15px 0 0}.quote-fields-two{grid-template-columns:1fr}.quote-fields label:first-child{grid-column:auto}.quote-service{grid-template-columns:20px 1fr}.quote-service>b{grid-column:2;text-align:left}.quote-summary-head{display:block}.quote-estimate-badge{display:inline-block;margin-top:12px}.quote-actions{gap:15px}.quote-actions .button{flex:1;justify-content:center}}
@media print{body>*:not(.quote-tool){display:none!important}.quote-tool{display:block!important;position:static}.quote-tool .modal-backdrop,.quote-tool .quote-close,.quote-tool .quote-progress,.quote-tool .quote-actions,.quote-tool .quote-restart{display:none!important}.quote-tool-panel{width:100%;max-height:none;overflow:visible;margin:0;padding:30px;box-shadow:none}.quote-tool-heading{display:block}.quote-tool-note{max-width:none}.quote-step{display:none!important}.quote-step[data-quote-step="3"]{display:block!important}.quote-summary-head{margin-top:20px}}
