:root{--red:#9c2b2e;--red-dark:#7a2124;--cream:#f5f1e3;--cream-2:#ece2c3;--ink:#2b2116;--ink-soft:#6b5f4f;}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--cream);color:var(--ink);font-family:'Fraunces',Georgia,'Times New Roman',serif;display:flex;align-items:center;justify-content:center;padding:24px}
.card{background:#fffaf0;border:1.5px solid rgba(43,33,22,.12);border-radius:22px;padding:36px 34px;width:100%;max-width:400px;box-shadow:0 10px 30px rgba(43,33,22,.08)}
.card img{height:34px;display:block;margin-bottom:22px}
h1{font-size:25px;margin:0 0 6px}
p.sub{color:var(--ink-soft);font-size:14.5px;margin:0 0 24px;line-height:1.45}
label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}
input{width:100%;font:inherit;font-size:15px;padding:11px 13px;border:1.5px solid rgba(43,33,22,.2);border-radius:10px;background:#fff;color:var(--ink)}
input:focus{outline:2px solid var(--red);outline-offset:1px;border-color:transparent}
button{margin-top:22px;width:100%;background:var(--red);color:var(--cream);border:none;font:inherit;font-weight:700;font-size:15px;padding:13px;border-radius:999px;cursor:pointer}
button:hover{background:var(--red-dark)}
button:disabled{opacity:.6;cursor:default}
.err{color:#b3261e;font-size:14px;margin-top:14px;min-height:1.2em}
.ok{color:#2f7a3a}
a{color:var(--red)}
