:root { color-scheme: light; --bg:#f7f0e6; --surface:#fffdf9; --ink:#13251e; --muted:#5f6f67; --line:#d8ddd6; --primary:#176b4d; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Manrope,system-ui,sans-serif; line-height:1.75; }
header { border-bottom:1px solid var(--line); background:var(--surface); }
.bar, main, footer { width:min(820px,calc(100% - 32px)); margin:auto; }
.bar { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { color:var(--ink); font-weight:800; text-decoration:none; }
.back { color:var(--primary); font-weight:800; }
main { padding:64px 0; }
h1 { font-size:clamp(38px,7vw,64px); line-height:1.05; letter-spacing:-.05em; }
h2 { margin-top:42px; font-size:24px; letter-spacing:-.03em; }
p, li { color:var(--muted); }
.notice { padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
form { display:grid; gap:14px; padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
label { display:grid; gap:7px; color:var(--ink); font-weight:700; }
input, textarea { width:100%; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); font:inherit; padding:12px 14px; }
textarea { min-height:132px; resize:vertical; }
button { justify-self:start; border:0; border-radius:999px; background:var(--primary); color:#fff; font:700 15px Manrope,system-ui,sans-serif; padding:12px 18px; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
.form-status { min-height:1.5em; margin:0; font-weight:700; }
footer { padding:28px 0 44px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
