/* Authentication shares the marketing site's typography and controls. */
.uphoff-auth { background: var(--paper); color: var(--navy); padding: 72px 24px 88px; min-height: 65vh; }
.auth-panel { width: 100%; max-width: 440px; margin-inline: auto; }
.auth-panel h1 { font: 500 42px/1.15 "Cormorant Garamond", Georgia, serif; margin: 0 0 24px; text-wrap: balance; }
.auth-panel p { line-height: 1.65; margin: 0 0 24px; }
.auth-panel form { display: flex; flex-direction: column; gap: 10px; }
.auth-panel label { font: 600 14px/1.5 var(--body); }
.auth-panel input:not([type="hidden"]):not([type="checkbox"]):not([type="submit"]) { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--slate); border-radius: 0; background: var(--white); color: var(--navy); font: 16px/1.5 var(--body); margin-bottom: 12px; }
.auth-panel input:focus-visible, .auth-panel a:focus-visible, .auth-panel summary:focus-visible, .auth-panel button:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.auth-panel :is(button[type="submit"], input[type="submit"]) { width: 100%; min-height: 48px; padding: 14px 20px; border: 1px solid transparent; border-radius: 0; background: var(--gold-mid); color: var(--navy-nav); font: 600 14px/1.5 var(--body); cursor: pointer; }
.auth-panel :is(button[type="submit"], input[type="submit"]):hover { background: var(--gold-light); }
.auth-panel :is(button[type="submit"], input[type="submit"]):active { background: var(--gold); }
.auth-panel :is(button[type="submit"], input[type="submit"]):disabled { opacity: .6; cursor: wait; }
.auth-panel .auth-remember { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 400; }
.auth-remember input { width: 18px; height: 18px; accent-color: var(--navy); }
.auth-password { border-top: 1px solid var(--rule); margin-top: 28px; padding-top: 20px; }
.auth-password summary { cursor: pointer; min-height: 44px; font-size: 14px; font-weight: 600; }
.auth-secondary { display: inline-block; padding-block: 12px; color: var(--navy); text-decoration: underline; text-underline-offset: 3px; font-size: 14px; }
.auth-secondary:hover { color: var(--bronze); }
.auth-panel .auth-note { margin-top: 28px; color: var(--slate); font-size: 13px; }
.auth-message, .auth-panel #login_error { background: var(--white); border: 1px solid var(--slate); padding: 16px; overflow-wrap: anywhere; }
.auth-error, .auth-panel #login_error { border-color: #9b2525; color: #8a2020; }
.auth-panel #magic-login-shortcode { width: 100%; padding: 0; margin: 0; max-width: none; background: transparent; border: 0; }
.auth-panel #magic-login-shortcode form { width: 100%; max-width: none; padding: 0; margin: 0; }
.auth-panel #magic-login-shortcode .message { color: var(--navy); background: transparent; border: 0; padding: 0; box-shadow: none; }
.auth-panel #magic-login-shortcode.is-sent { display: flex; align-items: center; }
.auth-panel #magic-login-shortcode.is-sent .magic-login-form-header { width: 100%; padding: 24px; border: 1px solid var(--gold); background: var(--white); }
.auth-panel #magic-login-shortcode.is-sent .message { margin: 0; }
.auth-panel #magicloginform[aria-busy="true"] .magic-login-submit { opacity: 1; background: var(--gold-light); cursor: wait; }
@media (max-width: 767.98px) { .uphoff-auth { padding: 44px 16px 56px; } .auth-panel h1 { font-size: 36px; } }
