.quote-page {
    max-width: 840px;
    margin: 0 auto;
    padding: 32px 32px 64px;
}

.quote-page .quote-back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    margin: 0 0 28px;
    padding: 10px 15px;
    border: 1px solid #cbd0d8;
    border-radius: 8px;
    background: #fff;
    color: #373c46;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
}

.quote-page .quote-back span { font-size: 18px; line-height: 1; }
.quote-page .quote-back:hover { border-color: #c51b2d; background: #fff3f5; color: #a71929; }
.quote-page .quote-back:focus-visible { outline: 3px solid #a71929; outline-offset: 3px; }

.quote-page-header { margin-bottom: 36px; }
.quote-page-header .simple-kicker { margin: 0 0 12px; font-size: 10px; font-weight: 600; line-height: 1.6; letter-spacing: 1.4px; }
.quote-page .quote-page-header h1 { margin: 0 0 14px; max-width: 690px; font-size: 44px; font-weight: 600; line-height: 1.15; letter-spacing: -1.7px; text-wrap: balance; }
.quote-page .quote-page-header .intro { margin: 0; color: #555c68; font-size: 14px; line-height: 1.75; }

.quote-page .fallback-form { width: 100%; margin: 0; }
.quote-page fieldset { min-width: 0; margin: 0 0 28px; padding: 22px 26px 26px; border: 1px solid #dce0e6; border-radius: 14px; background: #fafbfc; overflow: visible; }
.quote-page legend { padding: 0 9px; color: #252a34; font-size: 16px; font-weight: 600; line-height: 1.7; letter-spacing: -.3px; }
.quote-page .field-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin: 0 0 20px; }
.quote-page .field { min-width: 0; margin: 0; }
.quote-page fieldset > .field { margin-bottom: 20px; }
.quote-page fieldset > .field:last-child,
.quote-page fieldset > .field-row:last-child { margin-bottom: 0; }
.quote-page .field label { display: block; margin: 0 0 8px; color: #353b46; font-size: 12px; font-weight: 500; line-height: 1.5; }
.quote-page .field label span { color: #69717d; font-weight: 400; }
.quote-page .field input,
.quote-page .field select { width: 100%; height: 52px; margin: 0; padding: 0 13px; border: 1px solid #bfc6d0; border-radius: 8px; background-color: #fff; color: #20252e; font-family: inherit; font-size: 16px; line-height: 1.5; }
.quote-page .field input::placeholder { color: #737b87; opacity: 1; }
.quote-page .field input:focus,
.quote-page .field select:focus { outline: 2px solid #c51b2d; outline-offset: 2px; border-color: #c51b2d; box-shadow: none; }
.quote-page .quote-lookup-helper { align-items: center; gap: 9px; margin-top: 7px; font-size: 11px; line-height: 1.5; color: #5b6370; }
.quote-page .quote-lookup-manual { min-height: 30px; padding: 4px 8px; border: 1px solid #dce0e6; border-radius: 5px; background: #fff; color: #555d6a; font-size: 11px; line-height: 1.5; text-decoration: none; }
.quote-page .quote-lookup-manual:hover { border-color: #c51b2d; background: #fff3f5; color: #a71929; }
.quote-page .quote-lookup-credit,
.quote-page .quote-lookup-credit a { color: #5c6470; font-size: 10px; }
.quote-page .quote-lookup-list [role=option] { font-size: 13px; }
.quote-page .check-label { display: flex; align-items: flex-start; gap: 11px; margin: 2px 0 22px; padding: 0 3px; color: #535b67; font-size: 12px; line-height: 1.8; }
.quote-page .check-label input { width: 19px; height: 19px; margin: 3px 0 0; accent-color: #c51b2d; }
.quote-page .check-label a { color: #a71929; text-underline-offset: 3px; }
.quote-page .fallback-form > .btn { min-height: 54px; border-radius: 8px; background: #c51b2d; font-size: 14px; font-weight: 600; }
.quote-page .fallback-form > .btn:hover { background: #a71929; }
.quote-page .form-note { margin-top: 12px; color: #606875; font-size: 11px; line-height: 1.7; }
.quote-page .request-alert { padding: 22px; margin-bottom: 28px; line-height: 1.7; }
.quote-page .request-alert ul { margin: 12px 0 0; padding-left: 20px; }
.quote-page .request-alert.success h2 { margin-bottom: 12px; font-size: 27px; }
.quote-page .request-alert.success p { margin: 10px 0; overflow-wrap: anywhere; }
.quote-page .request-alert.success .btn { margin-top: 12px; font-size: 13px; }

@media (max-width: 640px) {
    .quote-page { padding: 24px 22px 42px; }
    .quote-page .quote-back { margin-bottom: 26px; }
    .quote-page-header { margin-bottom: 29px; }
    .quote-page .quote-page-header h1 { font-size: 34px; line-height: 1.16; letter-spacing: -1.1px; }
    .quote-page .quote-page-header .intro { font-size: 13px; }
    .quote-page fieldset { margin-bottom: 25px; padding: 18px 19px 21px; border-radius: 11px; }
    .quote-page legend { font-size: 15px; }
    .quote-page .field-row { grid-template-columns: minmax(0, 1fr); gap: 19px; margin-bottom: 19px; }
    .quote-page fieldset > .field { margin-bottom: 19px; }
    .quote-page .field label { font-size: 12px; }
    .quote-page .check-label { font-size: 11px; }
}

@media (max-width: 360px) {
    .quote-page { padding-inline: 17px; }
    .quote-page .quote-page-header h1 { font-size: 30px; }
    .quote-page fieldset { padding-inline: 15px; }
}
