:root { --bg:#faf3ec; --ink:#3b3228; --green:#7f9a73; --brown:#b07a5a; --card:#fffaf5; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Georgia,'Times New Roman',serif; line-height:1.5; }
header { text-align:center; padding:1rem 1rem 0; position:relative; }
.hero { width:100%; max-width:640px; height:auto; }
h1 { margin:.2rem 0; font-size:2.4rem; }
.tagline { font-style:italic; color:var(--brown); margin:0 0 1rem; }
.countdown { font-size:1.2rem; color:var(--green); font-weight:bold; }
main { max-width:520px; margin:1.5rem auto 3rem; padding:0 1rem; }
.card { background:var(--card); border-radius:14px; padding:1.5rem; box-shadow:0 2px 12px rgba(0,0,0,.08); }
label { display:block; margin:.8rem 0; font-size:.95rem; }
input { display:block; width:100%; margin-top:.25rem; padding:.6rem; font:inherit; border:1px solid #d9c9b8; border-radius:8px; background:#fff; }
fieldset { border:1px solid #d9c9b8; border-radius:8px; margin:.8rem 0; }
.radio { display:inline-block; margin-right:1rem; }
.radio input { display:inline; width:auto; }
button[type=submit] { width:100%; padding:.8rem; border:0; border-radius:8px; background:var(--green); color:#fff; font:inherit; font-size:1.05rem; cursor:pointer; }
button[type=submit]:disabled { opacity:.6; }
.lang { position:absolute; top:1rem; right:1rem; }
.lang button { border:1px solid var(--brown); background:none; color:var(--brown); padding:.2rem .6rem; border-radius:6px; cursor:pointer; }
.lang button.active { background:var(--brown); color:#fff; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.muted { color:#8a7b6b; font-size:.9rem; }
.center { text-align:center; }
.msg { text-align:center; min-height:1.4em; }
.msg.ok { color:var(--green); } .msg.err { color:#b3402e; }
