.quote-card{align-self:start;background:#fff;border:1px solid #dbe3d8;border-radius:8px;padding:32px;min-width:0;scroll-margin-top:24px}
.quote-card h3{font-size:1.8rem;line-height:1.2;letter-spacing:-.025em;margin:12px 0 20px}
.quote-card p{max-width:none}.quote-card #quote-form{padding:0;border:0;background:transparent;box-shadow:none}
.quote-card #quote-form>p.eyebrow{font-size:.75rem}.quote-overview{list-style:none;counter-reset:quote;display:grid;gap:18px;margin:28px 0;padding:0;color:#30453a}
.quote-overview li{counter-increment:quote;display:flex;align-items:center;gap:14px;font-weight:600;font-size:1rem}
.quote-overview li:before{content:counter(quote);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e9f5dd;font-size:.875rem;color:#234333;flex:none}
#start-quote{width:100%;font:inherit;font-weight:700;border:0;cursor:pointer;margin-bottom:14px;min-height:52px}
.quote-card #step-title{font-size:1.65rem}.quote-card #step-title:focus-visible{outline:2px solid #397342;outline-offset:5px}
.quote-card :is(button,a,input,select,textarea):focus-visible{outline:3px solid #397342;outline-offset:3px}
.quote-card select,.quote-card input,.quote-card textarea{font-size:1rem;max-width:100%;box-sizing:border-box}
.quote-card select{white-space:normal;min-height:50px}.quote-card label{font-size:1rem;line-height:1.5;color:#243e2f;font-weight:600}
.quote-card .field-help{font-size:.875rem;line-height:1.55;color:#53635e}
.quote-card #form-status{font-size:1rem;line-height:1.6;overflow-wrap:anywhere}
.quote-card .form-notice{font-size:.875rem;border-left:3px solid #8fab4b;background:#f4f8ef;padding:14px 16px;line-height:1.6}
.quote-card .form-notice a{text-decoration:underline;text-underline-offset:3px}
.estimate-panel{background:#f3f7ef;border:1px solid #cbd9c2;border-radius:6px;padding:22px;margin:16px 0}
.estimate-panel h4{font-size:1.1rem;line-height:1.45;margin:0 0 14px}.estimate-panel p,.estimate-panel li{font-size:.9375rem;line-height:1.6;color:#314537}
.estimate-panel ul{padding-left:20px;margin:12px 0}.estimate-panel .estimate-value{font-size:1.6rem;font-weight:700;color:#193c25;letter-spacing:-.02em;line-height:1.25;margin:8px 0}
.estimate-panel .estimate-label{font-size:.875rem;color:#425749;margin-bottom:4px}.estimate-panel details{border-top:1px solid #cfdbca;margin-top:18px;padding-top:14px}
.estimate-panel summary{cursor:pointer;min-height:44px;font-size:.9375rem;font-weight:600;line-height:1.5}
.quote-card .summary-section{position:relative}.quote-card .summary-section h4{margin-bottom:14px}.quote-card .summary-section .edit-step{font-size:.875rem;padding:8px 12px}
.quote-card .summary-section dt{font-size:.875rem}.quote-card .summary-section dd{font-size:.9375rem}.quote-card .wizard-actions{border-top:1px solid #dbe3d8;padding-top:20px}
.quote-card .wizard-actions .button{font-weight:700;min-height:48px}.quote-card #quote-progress{height:7px}.quote-card .field-error{font-size:.875rem;color:#a32020}
.quote-card #bill{border:1px dashed #84987a;background:#f8faf5;padding:16px;width:100%;min-height:64px;border-radius:4px}
.quote-card #bill::file-selector-button{font:inherit;border:1px solid #8c9d84;border-radius:3px;padding:8px;background:white;margin-right:10px;cursor:pointer}
.wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.quote-card .wizard-field{margin:0;min-width:0}.wizard-field.field-wide,.contact-help{grid-column:1/-1}
.quote-card .contact-help{margin:0}.quote-card .wizard-field label{display:block;margin-bottom:6px;line-height:1.4}
.quote-card .wizard-field :is(input,select,textarea){width:100%;margin:0;padding:10px 12px}
.quote-card .wizard-field .field-help{margin:6px 0 0}.quote-card #step-progress{margin:0 0 6px}
.technical-details,.bill-upload{border-top:1px solid #dbe3d8;margin-top:20px;padding-top:16px}
.quote-card .bill-upload{border-top:0;margin-top:0;padding-top:0;margin-bottom:20px}
.technical-details>summary,.file-limits>summary,.summary-technical>summary{cursor:pointer;font-size:.9375rem;font-weight:600;line-height:1.5;min-height:44px;padding:10px 0;color:#30453a}
.technical-details>.field-help{margin:0 0 16px}.bill-upload>label{display:block}.bill-upload .field-help{margin:6px 0 12px}
.file-limits{margin-top:12px}.file-limits .field-help{margin:0}.quote-card #bill-status{margin:10px 0;font-size:.875rem}
.summary-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}
.quote-card .summary-heading h4{margin:0}.quote-card .summary-heading .edit-step{padding:8px 10px;min-height:44px}
.quote-card .summary-section dl{display:grid;grid-template-columns:minmax(100px,.65fr) minmax(0,1fr);gap:8px 16px;margin:14px 0 0}
.quote-card .summary-section dt,.quote-card .summary-section dd{margin:0;line-height:1.5}.summary-technical{margin-top:12px}
.quote-card .estimate-panel{margin-top:0}.quote-card #start-quote{margin-top:24px}
@media(max-width:700px){.quote-card{padding:24px 20px}.quote-card h3{font-size:1.65rem}.estimate-panel{padding:18px}.quote-card .wizard-actions{gap:10px}.quote-card .wizard-actions .button{min-width:0;white-space:normal}}
@media(max-width:700px){.wizard-grid{grid-template-columns:minmax(0,1fr);gap:14px}.quote-card .summary-section dl{grid-template-columns:minmax(0,1fr);gap:3px}.quote-card .summary-section dd{margin-bottom:8px}.quote-card .summary-heading .edit-step{padding:8px 0;border:0}.quote-card .wizard-field select{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
