/* Account recovery stays focused and consumes the registered theme. */
.recovery-page .app-frame { min-height: 100vh; background: var(--theme-color-canvas); }
.recovery-page .page-shell { width: 100%; padding: clamp(1.25rem, 5vw, 4rem) 1.25rem; }
.recovery-letter { display: grid; grid-template-columns: 11rem minmax(0, 1fr); max-width: 52rem; margin: 0 auto; border-top: 4px solid var(--theme-color-brand); background: var(--theme-color-surface); box-shadow: 0 12px 40px color-mix(in srgb, var(--theme-color-ink) 6%, transparent); }
.recovery-art { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 3.5rem 1.25rem; color: var(--theme-color-brand); background: var(--theme-color-brand-soft); }
.recovery-art svg { width: 100%; max-width: 10rem; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.recovery-paper, .recovery-envelope { fill: var(--theme-color-surface); }
.recovery-seal { fill: var(--theme-color-brand-soft); }
.recovery-art span { font-family: var(--theme-font-invitation); font-size: 1.0625rem; text-align: center; }
.recovery-content { min-width: 0; padding: clamp(1.5rem, 4vw, 3rem); }
.recovery-content h1 { margin: .5rem 0 1.25rem; font-family: var(--theme-font-invitation); font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; }
.recovery-content .eyebrow { margin: 0; }
.recovery-lede { color: var(--theme-color-ink-soft); font-size: var(--theme-font-size-body); line-height: 1.65; margin: 0 0 1.5rem; }
.recovery-form { display: grid; gap: 1.25rem; }
.recovery-form input { width: 100%; min-height: 3rem; }
.recovery-form .button { width: 100%; justify-content: space-between; gap: 1rem; }
.recovery-form .field-help, .recovery-form .helptext { font-size: .9375rem; }
.recovery-guidance { border-block: 1px solid var(--theme-color-line); padding-block: 1.25rem; margin-block: 1.5rem; }
.recovery-guidance h2 { margin: 0 0 .5rem; font-size: 1.0625rem; }
.recovery-guidance p, .recovery-note { font-size: .9375rem; color: var(--theme-color-ink-soft); }
.recovery-guidance p:last-child { margin-bottom: 0; }
.recovery-note { margin: 1.5rem 0 0; }
.recovery-actions { display: flex; flex-direction: column; align-items: stretch; gap: .75rem; margin-top: 1.5rem; }
.recovery-text-link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; text-align: center; }
.recovery-content a { text-underline-offset: .2em; }
.recovery-footnote { max-width: 44rem; margin: 1.25rem auto 0; color: var(--theme-color-muted); font-size: .9375rem; text-align: center; }
@media (max-width: 38rem) {
  .recovery-letter { grid-template-columns: minmax(0, 1fr); }
  .recovery-art { flex-direction: row; justify-content: flex-start; gap: .75rem; padding: .75rem 1.5rem; }
  .recovery-art svg { width: 3.5rem; }
  .recovery-art span { text-align: start; }
  .recovery-page .brand small { display: none; }
  .recovery-page .app-header { padding: 1rem; gap: 1rem; }
  .recovery-page .brand { gap: .5rem; }
  .recovery-page .brand strong { font-size: 1.125rem; }
  .recovery-page .app-header nav { font-size: .9375rem; }
}
