.form-page{padding:var(--space-6) var(--page-gutter);background:var(--color-ivory)}
.form-page-grid{width:min(100%,var(--page-max));margin-inline:auto;display:grid;gap:var(--space-5)}
.form-panel{padding:clamp(1rem,4vw,2.5rem);border:1px solid var(--color-rule-on-light);background:#fff}
.form{display:grid;gap:1.25rem}
.field{display:grid;gap:.4rem}
.field-label{font-weight:700}
.field-label span{font-weight:400}
.field input{width:100%;min-height:48px;font:inherit;font-size:1rem;border:1px solid var(--color-rule-on-light);background:rgba(245,240,230,.5);color:var(--color-ink);padding:.7rem.8rem}
.field input[aria-invalid="true"]{border-color:#8b1e1e}
.field-error{min-height:1.25em;color:#781818;font-weight:600}
.checkbox{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.8rem;align-items:start;padding-block:.75rem}
.checkbox input{width:24px;height:24px;margin:0}
.field:has(input[required]).field-label::after{content:" (required)";font-weight:400}
.helper{margin:0;color:var(--color-ink-muted)}
.form button{min-height:48px;border:0;background:var(--color-navy);color:var(--color-ivory);padding:.75rem 1rem;font:inherit;font-weight:700;cursor:pointer}
.form button:disabled{cursor:wait;opacity:.72}
.form-handled-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);line-height:1.6}
.ohnohoney{position:absolute;left:-10000px}
.msg-success,.msg-error{padding:1rem;border:var(--hairline-light);margin-bottom:1rem}
.msg-error{border-color:#8b1e1e}
.recovery-links{display:grid;gap:.5rem;margin-top:1.5rem}
.recovery-links a{display:flex;align-items:center;min-height:44px}
@media (min-width:56.25rem){.form-page-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
}
