.quote-builder{max-width:820px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:3px;box-shadow:0 16px 55px #10172006;padding:36px 40px;color:var(--ink);font-family:Manrope,sans-serif}.quote-progress{display:flex;list-style:none;padding:0 0 30px!important;margin:0 0 30px!important;border-bottom:1px solid var(--line);gap:0}.quote-progress li{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:750;letter-spacing:.03em;position:relative;flex:1;color:var(--muted)}.quote-progress li:not(:last-child):after{content:"";height:1px;background:var(--line);flex:1;margin:0 14px}.quote-step-number{width:28px;height:28px;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;border-radius:50%;font-size:11px}.quote-progress .is-current{color:var(--ink)}.quote-progress .is-current .quote-step-number{background:var(--blue);border-color:var(--blue);color:var(--white)}.quote-progress .is-complete{color:var(--blue)}.quote-progress .is-complete .quote-step-number{background:var(--blue-tint);border-color:var(--blue-tint)}.quote-fieldset{border:0;min-width:0;margin:0;padding:0}.quote-title{font-family:"Barlow Condensed",Impact,sans-serif;font-size:38px;line-height:1.06;letter-spacing:-.015em;font-weight:650;margin:0 0 10px;width:100%;outline-offset:5px}.quote-intro{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 26px;max-width:570px}.quote-intro strong{color:var(--ink)}.quote-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-service-option{border:1px solid var(--line);padding:17px 16px;display:flex;align-items:flex-start;gap:12px;cursor:pointer;position:relative;min-width:0;transition:background .15s,border-color .15s}.quote-service-option input{position:absolute;width:1px;height:1px;opacity:0;inset:20px auto auto 20px}.quote-service-option:has(input:checked){background:var(--blue-tint);border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.quote-service-option:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:3px}.quote-service-option:hover{border-color:var(--control)}.quote-service-content{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.quote-option-heading{font-size:12px;font-weight:800;line-height:1.5}.quote-option-detail{font-size:11px;line-height:1.6;color:var(--muted)}.quote-radio-mark{height:17px;width:17px;border:1px solid var(--control);border-radius:50%;display:block;flex-shrink:0;margin-top:1px}.quote-service-option input:checked~.quote-radio-mark{border:5px solid var(--blue);background:var(--white)}.quote-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:28px;margin-top:28px;border-top:1px solid var(--line)}.quote-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;cursor:pointer;border-radius:0;font-size:12px;font-family:inherit;font-weight:800;padding:14px 22px;text-decoration:none}.quote-actions .button-primary{background:var(--blue);color:var(--white);border:1px solid var(--blue)}.quote-actions .button-primary:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.quote-actions .button-secondary{background:var(--white);color:var(--ink);border:1px solid var(--control)}.quote-actions .button-secondary:hover{background:var(--steel)}.quote-actions button:focus-visible,.quote-text-button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.quote-actions .button-primary>span{font-size:20px;line-height:16px}.quote-small-note{color:var(--muted);font-size:10px;line-height:1.7}.quote-step-heading{margin-bottom:24px}.quote-step-heading .quote-intro{margin:0}.quote-selected-service{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);font-weight:850;margin:0 0 12px}.quote-field{display:flex;flex-direction:column;align-items:stretch;margin-bottom:22px;min-width:0}.quote-field label:not(.quote-upload),.quote-field-label{font-size:11px;font-weight:800;line-height:1.5;margin-bottom:8px;color:var(--ink);display:block}.quote-field-label>span{font-weight:500;color:var(--muted)}.quote-field input:not([type=file]),.quote-field textarea,.quote-field select{background:var(--white);border:1px solid var(--control);border-radius:0;color:var(--ink);font:400 13px/1.55 Manrope,sans-serif;padding:12px 13px;min-height:46px;width:100%;box-sizing:border-box;transition:border-color .15s;min-width:0}.quote-field textarea{resize:vertical;min-height:110px}.quote-field input::placeholder,.quote-field textarea::placeholder{color:var(--muted);opacity:1}.quote-field input:focus,.quote-field textarea:focus,.quote-field select:focus{outline:2px solid var(--ink);outline-offset:2px}.quote-field [aria-invalid=true]{border-color:#a42638}.quote-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-error{color:#a42638;font-size:11px;line-height:1.65;display:block;margin-top:8px}.quote-upload{display:flex;align-items:center;gap:15px;position:relative;border:1px dashed var(--control);background:var(--steel);padding:21px;min-height:85px;box-sizing:border-box;cursor:pointer}.quote-upload svg{color:var(--blue);flex-shrink:0}.quote-upload>span{display:flex;flex-direction:column;gap:5px;min-width:0}.quote-upload strong{font-size:12px;line-height:1.5;font-weight:750}.quote-upload>span>span{font-size:10px;color:var(--muted);line-height:1.6}.quote-upload input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer;min-width:0}.quote-upload:focus-within{outline:2px solid var(--ink);outline-offset:3px}.quote-field-hint{color:var(--muted);font-size:10px;line-height:1.6;margin:8px 0 0}.quote-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.quote-photo{margin:0;position:relative;min-width:0}.quote-photo img{width:100%;height:110px;object-fit:cover;display:block;background:var(--steel)}.quote-photo button{position:absolute;right:5px;top:5px;background:var(--ink);color:var(--white);border:1px solid var(--white);width:30px;height:30px;font-size:22px;line-height:1;cursor:pointer;border-radius:50%}.quote-photo button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.quote-photo figcaption{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:5px}.quote-contact-options{margin:0 0 22px}.quote-contact-options>div{display:flex;gap:10px}.quote-contact-options label{cursor:pointer;position:relative;flex:1}.quote-contact-options input{position:absolute;left:12px;top:16px;accent-color:var(--blue);width:15px;height:15px;margin:0}.quote-contact-options span{font-size:12px;font-weight:700;display:block;border:1px solid var(--control);padding:13px 13px 13px 38px}.quote-contact-options input:checked+span{border-color:var(--blue);background:var(--blue-tint)}.quote-contact-options input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}.quote-summary{margin:26px 0 0;background:var(--steel);border:1px solid var(--line);padding:22px}.quote-summary-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:15px}.quote-summary h3{font:650 25px/1.15 "Barlow Condensed",Impact,sans-serif;margin:0;letter-spacing:0}.quote-summary dl{margin:0}.quote-summary dl>div{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:6px 0}.quote-summary dt{font-size:10px;color:var(--muted);font-weight:650;line-height:1.7}.quote-summary dd{font-size:11px;line-height:1.7;color:var(--ink);font-weight:600;margin:0;min-width:0;overflow-wrap:anywhere}.quote-wrap{white-space:pre-wrap}.quote-text-button{font:750 10px/1.6 Manrope,sans-serif;color:var(--blue);border:0;border-bottom:1px solid var(--blue);background:transparent;padding:0;cursor:pointer;white-space:nowrap}.quote-summary>.quote-text-button{margin-top:15px}.quote-preview-note{padding:17px 0 0;color:var(--muted);font-size:10px;line-height:1.8}.quote-preview-note strong{color:var(--ink);font-size:11px}.quote-preview-note p{margin:4px 0 0}.quote-footnote{text-align:center;font-size:9px;color:var(--muted);line-height:1.7;margin:15px 0 0}.quote-preview-result .eyebrow{margin:18px 0 10px;color:var(--blue);font-size:10px;letter-spacing:.12em}.quote-preview-result .quote-intro{margin-bottom:20px}.quote-preview-icon{height:42px;width:42px;display:grid;place-items:center;background:var(--blue-tint);color:var(--blue);border-radius:50%}.quote-preview-icon svg{height:23px;width:23px}.quote-final-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.quote-final-photos img{width:100%;height:100px;object-fit:cover;display:block}.quote-title:focus{outline:none}.quote-form{margin:0}.quote-form .quote-actions{margin-top:10px}.quote-contact-options+.quote-field{margin-top:0}
@media(min-width:701px){.quote-service-option{min-height:106px}}
@media(max-width:700px){.quote-builder{padding:27px 24px}.quote-progress{padding-bottom:23px!important;margin-bottom:25px!important}.quote-progress li{font-size:9px;gap:6px}.quote-progress li:not(:last-child):after{margin:0 8px}.quote-step-number{height:24px;width:24px;font-size:10px}.quote-title{font-size:34px}.quote-service-grid{grid-template-columns:1fr}.quote-service-option{padding:14px 15px;align-items:center}.quote-option-heading{font-size:12px}.quote-option-detail{font-size:10px}.quote-field label:not(.quote-upload),.quote-field-label{font-size:11px}.quote-field input:not([type=file]),.quote-field textarea,.quote-field select{font-size:16px}.quote-intro{font-size:12px}.quote-summary{padding:18px}.quote-summary-heading{gap:12px}.quote-summary h3{font-size:23px}}
@media(max-width:420px){.quote-builder{padding:23px 18px}.quote-progress li{gap:5px;font-size:8px}.quote-progress li:not(:last-child):after{margin:0 5px}.quote-step-number{width:23px;height:23px}.quote-title{font-size:31px}.quote-field-row{grid-template-columns:1fr;gap:0}.quote-actions{gap:10px;padding-top:22px}.quote-actions .button{padding:13px 15px;font-size:11px;gap:13px}.quote-small-note{font-size:9px}.quote-photo-grid{gap:8px}.quote-photo img{height:85px}.quote-photo button{width:28px;height:28px}.quote-upload{padding:17px 13px;gap:10px}.quote-upload>span>span{font-size:9px}.quote-summary dl>div{grid-template-columns:68px 1fr;gap:9px}.quote-final-photos img{height:75px}.quote-summary-heading{align-items:flex-start;flex-wrap:wrap}}
.quote-text-button{min-height:44px;display:inline-flex;align-items:center}.quote-photo button{height:44px;width:44px}.quote-summary-heading{align-items:center}.quote-summary>.quote-text-button{margin-top:6px}
@media(max-width:420px){.quote-photo button{height:44px;width:44px}.quote-summary-heading{align-items:center}}
@media(prefers-reduced-motion:reduce){.quote-service-option,.quote-field input,.quote-field textarea,.quote-field select{transition:none}}
