.recovery-page {
    display: grid; min-height: 100vh; align-items: center; justify-items: center;
    padding: 32px 16px;
}
.recovery-page .login-card {
    width: min(480px, 100%); padding: clamp(24px, 5vw, 42px);
    border: 1px solid #eee2e5; border-radius: 26px; background: #fff;
    box-shadow: 0 24px 60px #7b294812;
}
.recovery-brand { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 30px; color: #2b2025; }
.recovery-brand > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(145deg, #d887a0, #7b2948); font-family: "Newsreader", serif; font-size: 25px; }
.recovery-brand strong { font-size: 19px; letter-spacing: -.04em; }
.recovery-brand small { display: block; color: #7b2948; font-size: 8px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.recovery-heading > i { display: inline-grid; width: 54px; height: 54px; place-items: center; margin-bottom: 17px; border-radius: 17px; color: #7b2948; background: #fbe6eb; font-size: 25px; }
.recovery-heading h1 { margin: 0 0 10px; color: #2b2025; font-size: 29px; font-weight: 800; letter-spacing: -.04em; }
.recovery-heading p { line-height: 1.7; }
.recovery-page .auth-legal { margin: 26px 0 0; color: #75636b; font-size: 10px; text-align: center; }
.recovery-page .alert a { color: inherit; font-weight: 800; text-decoration: underline; }
