/* Quantory v3 Password Recovery page. */
.recovery-stage { overflow: hidden; }
.recovery-layout { display: grid; min-height: 790px; grid-template-columns: minmax(0, 1.12fr) minmax(400px, .88fr); grid-template-areas: "intro form" "proof form"; grid-template-rows: 1fr auto; column-gap: clamp(70px, 9vw, 145px); padding-top: clamp(84px, 9vw, 130px); padding-bottom: clamp(96px, 10vw, 150px); }
.recovery-intro { grid-area: intro; align-self: center; padding-bottom: 50px; }
.recovery-intro h1 { max-width: 800px; margin: 25px 0 30px; font-family: var(--q-font-serif); font-size: clamp(3.65rem, 6.1vw, 6.35rem); font-weight: 400; letter-spacing: -.062em; line-height: .92; }
.recovery-intro h1 em { color: #496e62; font-weight: 400; }
.recovery-intro > p:last-child { max-width: 580px; margin: 0; color: var(--q-ink-soft); font-size: clamp(.98rem, 1.25vw, 1.16rem); line-height: 1.7; }
.continuity-proof { grid-area: proof; max-width: 710px; padding: 28px 33px; background: var(--q-navy); color: #edf3ef; box-shadow: var(--q-shadow-panel); }
.continuity-proof > p { margin: 0; color: #84968f; font-family: var(--q-font-mono); font-size: .54rem; letter-spacing: .08em; text-transform: uppercase; }
.continuity-proof h2 { max-width: 430px; margin: 12px 0 23px; font-family: var(--q-font-serif); font-size: 1.25rem; font-weight: 400; letter-spacing: -.02em; line-height: 1.2; }
.continuity-proof ol { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 18px 0 0; border-top: 1px solid #31423e; list-style: none; }
.continuity-proof li { padding: 0 10px; color: #cbd6d1; font-size: .61rem; font-weight: 590; }
.continuity-proof li:first-child { padding-left: 0; }.continuity-proof li:last-child { padding-right: 0; }.continuity-proof li:not(:last-child) { border-right: 1px solid #31423e; }
.recovery-form-panel { position: relative; grid-area: form; align-self: center; padding: clamp(42px, 5vw, 64px) clamp(34px, 4vw, 56px); border: 1px solid var(--q-line); background: var(--q-paper-bright); }
.recovery-form-panel::before { position: absolute; top: -1px; right: -1px; left: -1px; height: 3px; background: var(--q-brass); content: ""; }
.recovery-form-panel__heading { padding-bottom: 27px; border-bottom: 1px solid var(--q-line); }.recovery-form-panel__heading h2 { margin: 0; font-family: var(--q-font-serif); font-size: clamp(2.25rem, 3.3vw, 3.45rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }.recovery-form-panel__heading > p:last-child { margin: 12px 0 0; color: var(--q-ink-soft); font-size: .79rem; }
.recovery-alert { margin-top: 22px; font-size: .75rem; line-height: 1.55; }.recovery-form { display: grid; gap: 23px; margin-top: 29px; }.recovery-field { gap: 8px; }
.recovery-submit { width: 100%; margin-top: 3px; border: 0; cursor: pointer; }.recovery-submit:disabled { cursor: wait; opacity: .68; transform: none; }.recovery-submit.is-loading .submit-mark { width: 13px; height: 13px; border: 1px solid rgba(16,26,24,.35); border-top-color: #101a18; border-radius: 50%; font-size: 0; animation: recovery-spin .7s linear infinite; }@keyframes recovery-spin { to { transform: rotate(360deg); } }
.back-to-login { display: block; width: fit-content; margin: 27px auto 0; color: var(--q-ink); font-size: .74rem; }
@media (max-width: 900px) { .recovery-layout { min-height: 0; grid-template-columns: 1fr; grid-template-areas: "intro" "form" "proof"; grid-template-rows: auto; padding-top: 92px; }.recovery-intro { max-width: 720px; padding-bottom: 58px; }.recovery-form-panel { width: min(100%, 600px); }.continuity-proof { width: min(100%, 720px); max-width: none; margin-top: 68px; } }
@media (max-width: 640px) { .recovery-layout { padding-top: 72px; padding-bottom: 90px; }.recovery-intro h1 { margin-top: 22px; font-size: clamp(2.7rem, 12.2vw, 4.1rem); }.recovery-intro h1 em { display: block; }.recovery-intro > p:last-child { font-size: .95rem; }.recovery-form-panel { padding: 38px 24px; }.recovery-form-panel__heading h2 { font-size: 2.55rem; }.continuity-proof { padding: 27px 24px; }.continuity-proof h2 { font-size: .9rem; overflow-wrap: anywhere; }.continuity-proof ol { grid-template-columns: 1fr; padding-top: 12px; }.continuity-proof li { padding: 10px 0; border-right: 0 !important; border-bottom: 1px solid #263834; }.continuity-proof li:last-child { border-bottom: 0; } }
@media (max-width: 390px) { .recovery-form-panel { padding-inline: 20px; } }
