:root { color-scheme: light; --navy: #0a3161; --red: #bf0d3e; --cream: #e8d4b4; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--navy); color: var(--navy); font-family: Georgia, 'Times New Roman', serif; }
[hidden] { display: none !important; }
.auth-wrap { min-height: 100vh; display: grid; place-items: center; padding: 32px 20px; }
.auth-postcard { width: min(100%, 510px); background: #fff9ef; border: 8px solid var(--cream); outline: 1px solid #fff9ef; outline-offset: 5px; padding: 30px clamp(18px, 5vw, 42px); box-shadow: 0 14px 40px #04182b66; text-align: center; }
.auth-logo { display: inline-block; background: var(--navy); border-radius: 4px; padding: 10px 24px; }
.auth-logo img { display: block; width: 164px; max-width: 100%; }
.auth-eyebrow { margin: 24px 0 14px; font: bold 12px/1.5 Arial, sans-serif; letter-spacing: 2px; text-transform: uppercase; color: var(--red); }
h1 { font-size: clamp(28px, 6vw, 37px); line-height: 1.08; text-wrap: balance; margin: 12px 0 18px; }
p { line-height: 1.6; margin: 12px 0; }
.auth-note { font-size: 14px; }
form { margin-top: 24px; text-align: left; }
label { display: block; font: bold 14px/1.5 Arial, sans-serif; margin-bottom: 7px; }
input { width: 100%; min-height: 50px; border: 1px solid #718199; border-radius: 4px; background: white; color: var(--navy); padding: 12px; font: 16px/1.5 Arial, sans-serif; }
input[aria-invalid] { border: 2px solid var(--red); }
button, .auth-continue { min-height: 48px; border-radius: 4px; padding: 14px 16px; font: bold 13px/1.5 Arial, sans-serif; letter-spacing: .7px; text-transform: uppercase; cursor: pointer; }
button { width: 100%; margin-top: 14px; background: var(--red); color: white; border: 2px solid var(--red); }
button:disabled { cursor: default; opacity: .65; }
a { color: var(--navy); text-underline-offset: 4px; }
:focus-visible { outline: 3px solid var(--navy); outline-offset: 4px; }
.auth-logo:focus-visible { outline-color: var(--red); }
#auth-status { font: 14px/1.6 Arial, sans-serif; margin: 20px 0; }
#auth-sent-email, #auth-account-email { overflow-wrap: anywhere; font-weight: bold; }
.auth-continue { display: block; background: var(--navy); color: white; text-decoration: none; margin-top: 22px; }
.auth-footer { border-top: 1px solid var(--cream); padding-top: 18px; margin-top: 24px; font-size: 14px; }
@media (max-width: 400px) { .auth-wrap { padding: 20px 14px; } .auth-postcard { padding: 24px 18px; } }

.auth-secondary { width: auto; background: transparent; color: var(--navy); border: 0; text-decoration: underline; font-size: 12px; letter-spacing: 0; }
#claim-account { overflow-wrap: anywhere; }
