/* Dimensions scale from the 1920px desktop and 390px mobile designs. */
.request-page { min-height: 52.1875vw; }
.request-content { color: #101113; padding: 2.08333vw 0 5.20833vw; }
.request-breadcrumbs { margin-bottom: 2.91667vw; font-size: 0.9375vw; line-height: 1.35417vw; }
.request-card { width: 100%; max-width: 33.125vw; margin: 0 auto; padding: 2.08333vw 3.125vw; border-radius: 1.04167vw; background: #fff; box-shadow: 0 0.20833vw 2.08333vw rgba(85,84,84,.05); text-align: center; }
.request-icon { display: block; width: 3.80208vw; height: 3.28125vw; object-fit: contain; margin: 0 auto 1.25vw; }
.request-title { font-size: 2.70833vw; line-height: 3.125vw; font-weight: 500; letter-spacing: -0.05417vw; }
.request-description { margin-top: 0.625vw; color: #737F8F; font-size: 0.9375vw; line-height: 1.35417vw; }
.request-form { margin-top: 1.45833vw; display: flex; flex-direction: column; gap: 0.625vw; text-align: left; }
.request-field { width: 100%; }
.request-input { display: block; width: 100%; height: 3.125vw; border: 1px solid #C2C7CC; border-radius: 0.52083vw; background: #fff; padding: 0 0.72917vw; font-size: 0.9375vw; line-height: 1.35417vw; color: #101113; transition: border-color .2s, box-shadow .2s; }
.request-input::placeholder { color: #8992AD; opacity: 1; }
.request-input:focus { outline: none; border-color: #1F9F55; box-shadow: 0 0 0 3px rgba(31,159,85,.1); }
.request-field.has-error .request-input { border-color: #DB1E1E; }
.request-error { display: block; color: #BD172C; font-size: 0.72917vw; line-height: 1.04167vw; text-align: left; }
.request-error:not(:empty) { margin-top: 0.3125vw; }
.request-error:empty { display: none; }
.request-submit { width: 100%; height: 3.125vw; margin-top: 0.625vw; gap: 0.52083vw; padding: 0 1.04167vw; border-radius: 5.15625vw; background: #101113; color: #fff; font-size: 1.04167vw; font-weight: 600; line-height: 1.25vw; transition: background .2s; }
.request-submit:hover { background: #1E894C; }
.request-submit:disabled { opacity: .65; cursor: wait; }
.request-submit:focus-visible, .request-modal-close:focus-visible { outline: 2px solid #1F9F55; outline-offset: 4px; }
.request-submit svg { width: 0.83333vw; height: 0.83333vw; flex-shrink: 0; }
.request-brand { display: flex; justify-content: center; border-top: 1px solid #EDECF1; margin-top: 1.25vw; padding-top: 1.25vw; }
.request-brand svg { display: block; width: 6.19792vw; height: 1.45833vw; }
.request-topics { display: flex; flex-direction: column; gap: 0.625vw; padding: 0.625vw 0 1.45833vw; border: 0; min-width: 0; }
.request-checkbox { display: flex; align-items: center; gap: 0.41667vw; cursor: pointer; font-size: 0.83333vw; line-height: 1.25vw; }
.request-checkbox input { appearance: none; flex-shrink: 0; width: 1.04167vw; height: 1.04167vw; border: 1px solid #C2C7CC; border-radius: 0.26042vw; background: #fff; cursor: pointer; }
.request-checkbox input:checked { background-color: #1F9F55; border-color: #1F9F55; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-8' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.request-checkbox input:focus-visible { outline: 2px solid #1F9F55; outline-offset: 3px; }
.request-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
/* Shared request-result dialog. The browser supplies modal focus containment. */
.request-modal { width: 33.125vw; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 3.125vw 1.04167vw 2.08333vw; border: 0; border-radius: 1.04167vw; background: #fff; box-shadow: 0 0.20833vw 2.08333vw rgba(0,0,0,.2); color: #101113; text-align: center; overflow-y: auto; }
.request-modal::backdrop { background: rgba(16,17,19,.52); }
.request-modal-close { position: absolute; top: 1.04167vw; right: 1.04167vw; display: flex; align-items: center; justify-content: center; width: 1.77083vw; height: 1.77083vw; color: #737F8F; }
.request-modal-close svg { width: 1.04167vw; height: 1.04167vw; }
.request-modal-icon { display: block; width: 3.80208vw; height: 3.28125vw; object-fit: contain; margin: 0 auto 1.66667vw; }
.request-modal-title { font-size: 1.66667vw; line-height: 2.1875vw; font-weight: 600; letter-spacing: -0.03333vw; }
.request-modal-message { max-width: 28.125vw; margin: 0.83333vw auto 0; color: #4A516E; font-size: 0.9375vw; line-height: 1.66667vw; }
.request-modal .request-brand { margin-top: 1.875vw; padding-top: 1.45833vw; }
body.request-modal-open { overflow: hidden; }
@media (max-width: 767px) {
    .request-page { min-height: 195.38462vw; }
    .request-page .hero-header-button__login { display: none; }
    .request-content { padding: 5.12821vw 0 14.87179vw; }
    .request-breadcrumbs { margin-bottom: 6.15385vw; font-size: 3.58974vw; line-height: 5.64103vw; }
    .request-card { max-width: none; padding: 5.12821vw; border-radius: 5.12821vw; box-shadow: 0 1.02564vw 10.25641vw rgba(85,84,84,.05); }
    .request-icon { width: 11.79487vw; height: 10.25641vw; margin-bottom: 5.12821vw; }
    .request-title { font-size: 8.20513vw; line-height: 8.71795vw; letter-spacing: -0.1641vw; }
    .request-description { margin-top: 3.07692vw; font-size: 3.58974vw; line-height: 5.64103vw; }
    .request-desktop-break { display: none; }
    .request-form { margin-top: 5.12821vw; gap: 2.05128vw; }
    .request-input { height: 12.82051vw; padding: 0 3.58974vw; border-radius: 2.5641vw; font-size: 3.58974vw; line-height: 5.64103vw; }
    .request-error { font-size: 3.07692vw; line-height: 4.61538vw; }
    .request-error:not(:empty) { margin-top: 1.02564vw; }
    .request-submit { height: 12.82051vw; margin-top: 3.07692vw; padding: 0 5.12821vw; gap: 2.5641vw; border-radius: 25.38462vw; font-size: 4.10256vw; line-height: 5.64103vw; }
    .request-submit svg { width: 4.10256vw; height: 4.10256vw; }
    .request-brand { margin-top: 5.12821vw; padding-top: 5.12821vw; }
    .request-brand svg { width: 21.79487vw; height: 5.12821vw; }
    .request-topics { gap: 3.07692vw; padding: 0 0 4.10256vw; }
    .request-checkbox { gap: 2.05128vw; font-size: 3.58974vw; line-height: 5.64103vw; }
    .request-checkbox input { width: 5.12821vw; height: 5.12821vw; border-radius: 1.28205vw; }
    .request-modal { width: 91.79487vw; max-width: calc(100vw - 32px); padding: 12.82051vw 5.12821vw 6.15385vw; border-radius: 5.12821vw; box-shadow: 0 1.02564vw 10.25641vw rgba(0,0,0,.2); }
    .request-modal-close { top: 4.61538vw; right: 4.61538vw; width: 9.23077vw; height: 9.23077vw; }
    .request-modal-close svg { width: 5.12821vw; height: 5.12821vw; }
    .request-modal-icon { width: 11.79487vw; height: 10.25641vw; margin-bottom: 6.15385vw; }
    .request-modal-title { font-size: 7.69231vw; line-height: 9.74359vw; letter-spacing: -0.15385vw; }
    .request-modal-message { max-width: none; margin-top: 4.10256vw; font-size: 3.58974vw; line-height: 5.64103vw; }
    .request-modal .request-brand { margin-top: 6.15385vw; padding-top: 5.12821vw; }
}
