:root{color-scheme:light;--bg:#f2ece3;--ink:#0a0200;--muted:#6f5f50;--accent:#ac5a45;--border:#cdbfad}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
.password-page{display:flex;min-height:100svh;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem 1rem}
.password-card{width:min(100%,470px);padding:clamp(1.75rem,5vw,3rem);border:1px solid var(--border);border-radius:16px;background:#fffaf4;box-shadow:0 16px 48px rgba(53,35,25,.08)}
.password-brand{display:block;width:190px;max-width:100%;margin:0 auto 2rem}
.password-brand img{display:block;width:100%;height:auto}
.password-eyebrow{margin:0 0 .65rem;color:#93765b;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-align:center;text-transform:uppercase}
h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,6vw,2.6rem);font-weight:400;line-height:1.12;text-align:center}
.password-intro{margin:1rem 0 1.75rem;color:var(--muted);text-align:center}
form{display:flex;flex-direction:column;gap:.65rem}
label{font-size:.85rem;font-weight:700}
input{width:100%;min-height:48px;padding:.65rem .8rem;border:1px solid var(--border);border-radius:5px;background:white;color:var(--ink);font:inherit}
button{min-height:48px;margin-top:.5rem;border:0;border-radius:5px;background:var(--ink);color:white;cursor:pointer;font:700 .9rem Arial,Helvetica,sans-serif}
button:hover{background:#4d2d26}
a{color:#7b392b;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.errors{color:#8f3a2c;font-size:.9rem}
.password-help{margin:1.5rem 0 0;color:var(--muted);font-size:.83rem;text-align:center}
footer{color:var(--muted);font-size:.75rem}
