:root{--cream:#f5ede2;--terracotta:#a44a30;--terracotta-hover:#8a3d27;--text:#1a1410;--muted:#6b6259;--border:#d1cfc9;--white:#fff;--error:#c0392b;--success:#2f7d4f}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--cream);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Playfair Display,Georgia,serif;font-weight:600;color:var(--text);margin:0 0 12px}h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}a{color:var(--terracotta);text-decoration:underline}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.card{background:var(--white);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.04);padding:40px;width:100%;max-width:480px}.card-wide{max-width:720px}.muted{color:var(--muted)}label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}input[type=email],input[type=password],input[type=tel],input[type=text],input[type=url],select,textarea{width:100%;background:var(--white);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:16px;color:var(--text);font-family:inherit;transition:border-color .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--terracotta)}textarea{resize:vertical;min-height:80px}.field{margin-bottom:18px}.field-row{display:flex;gap:12px}.field-row>.field{flex:1 1}.btn{display:inline-block;padding:12px 20px;border-radius:6px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:background .15s ease,opacity .15s ease;text-decoration:none;text-align:center}.btn-primary{background:var(--terracotta);color:var(--white);width:100%}.btn-primary:hover{background:var(--terracotta-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--white);color:var(--terracotta);border:1px solid var(--terracotta)}.btn-secondary:hover{background:rgba(164,74,48,.05)}.btn-row{display:flex;gap:12px;margin-top:20px}.btn-row .btn{flex:1 1}.error{background:rgba(192,57,43,.08);color:var(--error)}.error,.success{border-radius:6px;padding:10px 12px;font-size:14px;margin-bottom:16px}.success{background:rgba(47,125,79,.08);color:var(--success)}.tiny{font-size:13px;color:var(--muted);margin-top:8px}.center{text-align:center}