:root { color-scheme: light; --ink:#17372d; --forest:#1f5b49; --paper:#fffdf8; --canvas:#f7f3ea; --line:#d4ddd5; --muted:#66766f; font-family:"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--ink); }
header, footer { display:flex; justify-content:space-between; gap:24px; width:min(900px,calc(100% - 32px)); margin:auto; padding:24px 0; }
header { border-bottom:1px solid var(--line); } header a, footer a { color:var(--forest); font-weight:700; }
main { width:min(900px,calc(100% - 32px)); margin:55px auto 80px; }
.intro { max-width:760px; } .eyebrow { color:var(--forest); font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
h1 { margin:8px 0 20px; font:500 clamp(40px,7vw,66px)/1 Georgia,serif; letter-spacing:-.04em; }
h2 { margin-top:36px; font:500 28px Georgia,serif; }
p, li { color:var(--muted); line-height:1.7; }
.card { display:grid; gap:18px; margin-top:36px; border:1px solid var(--line); border-radius:18px; background:var(--paper); padding:30px; }
label { display:grid; gap:7px; color:var(--ink); font-size:13px; font-weight:700; }
input, select, textarea { width:100%; border:1px solid #bdcbc2; border-radius:9px; background:white; padding:12px; font:inherit; }
textarea { resize:vertical; } .check { grid-template-columns:auto 1fr; align-items:start; } .check input { width:18px; margin-top:3px; }
.honeypot { position:absolute; left:-10000px; }
button { min-height:46px; border:0; border-radius:9px; background:var(--forest); color:white; padding:12px 18px; font-weight:800; cursor:pointer; }
button:disabled { opacity:.55; } .status { min-height:24px; margin:0; color:var(--forest); font-weight:700; }
.legal { border:1px solid var(--line); border-radius:18px; background:var(--paper); padding:34px; }
.warning { border-left:4px solid #b36a25; background:#fff4df; padding:12px 16px; color:#79511f; }
.missing { display:inline-block; border-radius:5px; background:#fff0ed; color:#a33d37; padding:2px 7px; font-weight:700; }
.legal-box { border:2px solid var(--forest); border-radius:12px; margin:26px 0; padding:18px; }
.legal-box h2 { margin-top:0; }
.facts { display:grid; grid-template-columns:minmax(150px,220px) 1fr; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.facts dt,.facts dd { margin:0; padding:11px 14px; border-bottom:1px solid var(--line); }
.facts dt { background:#edf3ef; font-weight:700; }
.legal a { color:var(--forest); }
footer { border-top:1px solid var(--line); }
@media(max-width:600px){ .card,.legal{padding:22px;} footer{flex-direction:column;} .facts{grid-template-columns:1fr}.facts dt{border-bottom:0}.facts dd{padding-top:0} }
