.quote-request-head { padding-block: 60px; }
.quote-request-head h1 { font-size: clamp(2.8rem, 5vw, 5rem); }
.quote-request-head p:last-child { max-width: 48rem; }
.quote-request-wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: clamp(32px, 5vw, 80px); padding: 60px 6% 80px; align-items: start; }
.quote-request-aside h2 { font: 700 clamp(2rem, 3vw, 3rem)/1.12 Manrope, sans-serif; letter-spacing: -.045em; }
.quote-request-aside .quote-photo { width: 100%; height: auto; max-height: 360px; object-fit: cover; border-radius: 8px; }
.quote-request-aside ul { padding-left: 1.2em; }
.quote-request-aside li { margin: 15px 0; }
.quote-request-aside a, .quote-request-form .note a { text-decoration: underline; overflow-wrap: anywhere; }
.quote-request-form { border-radius: 12px; background: #fff; min-width: 0; padding: clamp(22px, 3vw, 40px); }
.quote-request-form h2 { margin-top: 0; font-size: 1.7rem; line-height: 1.2; }
.quote-request-form fieldset { border: 0; padding: 0; margin: 28px 0; min-width: 0; }
.quote-request-form legend { width: 100%; padding: 0 0 12px; margin-bottom: 8px; border-bottom: 1px solid #ded7ed; color: #4225bd; font-size: 1.1rem; font-weight: 800; }
.quote-request-form input, .quote-request-form select, .quote-request-form textarea { width: 100%; min-width: 0; font-size: 1rem; border-color: #aca3ba; }
.quote-request-form label { font-size: 1rem; }
.quote-request-form .note, .quote-request-aside .note { font-size: .9375rem; line-height: 1.55; }
.quote-location { scroll-margin-top: 24px; }
.quote-zip-row { display: flex; gap: 10px; align-items: stretch; margin-top: 8px; }
.quote-zip-row input { margin: 0; flex: 1; }
.quote-zip-row .button { flex-shrink: 0; font-size: 1rem; }
.quote-request-form #quoteSend { width: 100%; min-height: 60px; border-radius: 999px; font-size: 1.125rem; color: #21134a; }
.quote-request-form button:disabled { opacity: .65; cursor: wait; }
#quoteRequestStatus { overflow-wrap: anywhere; font-weight: 600; }
#quoteRequestStatus:empty { display: none; }
.quote-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media(max-width: 850px) { .quote-request-wrap { grid-template-columns: minmax(0, 1fr); } .quote-request-aside .quote-photo { max-height: 300px; } }
@media(max-width: 520px) { .quote-request-head { padding-block: 42px; } .quote-request-wrap { padding-block: 35px 55px; } .quote-request-form .field-row { grid-template-columns: minmax(0, 1fr); } .quote-zip-row { flex-direction: column; } }
