:root { --ink:#1d2a2e; --muted:#5b6b70; --bg:#f7f5f0; --card:#ffffff; --line:#e3ded3; --accent:#2f5d50; --accent-ink:#ffffff; --ok:#e7f1ec; --bad:#fbeaea; }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--ink); background:var(--bg); line-height:1.55; }
.wrap { max-width:880px; margin:0 auto; padding:0 20px; }
header { padding:22px 0; border-bottom:1px solid var(--line); }
header .wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.brand { font-weight:700; font-size:22px; letter-spacing:.2px; color:var(--accent); text-decoration:none; }
nav a { color:var(--ink); text-decoration:none; margin-left:18px; font-size:15px; }
nav a:hover, nav a.on { color:var(--accent); text-decoration:underline; }
.hero { padding:56px 0 36px; }
h1 { font-size:clamp(28px,5vw,42px); line-height:1.15; margin:0 0 18px; }
.lead { font-size:19px; color:var(--muted); max-width:660px; margin:0; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; padding:8px 0 44px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:20px; }
.card h2, .card h3 { font-size:17px; margin:0 0 6px; }
.card p { margin:0; color:var(--muted); font-size:15px; }
.section { padding:0 0 44px; }
.section h2 { font-size:22px; margin:0 0 10px; }
.section p { margin:0 0 10px; color:var(--muted); }
.status { background:var(--card); border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:8px; padding:16px 18px; margin:0 0 44px; }
.btn { display:inline-block; background:var(--accent); color:var(--accent-ink); border:0; border-radius:8px; padding:12px 20px; font-size:16px; font-weight:600; text-decoration:none; cursor:pointer; }
.btn:hover { filter:brightness(1.08); }
form.card { padding:24px; }
.field { margin:0 0 18px; }
.field > label, .field > .label { display:block; font-weight:600; font-size:15px; margin:0 0 6px; }
.field .hint { font-weight:400; color:var(--muted); font-size:14px; }
input[type=text], input[type=email], select, textarea { width:100%; font:inherit; font-size:16px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:8px; padding:10px 12px; }
textarea { min-height:110px; resize:vertical; }
input:focus, select:focus, textarea:focus { outline:2px solid var(--accent); outline-offset:1px; }
.checks { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px 16px; }
.checks label { display:flex; align-items:flex-start; gap:8px; font-size:15px; }
.checks input { margin-top:4px; }
.two { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:0 16px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.note { font-size:14px; color:var(--muted); margin:12px 0 0; }
.msg { border-radius:8px; padding:14px 16px; margin:0 0 18px; display:none; }
.msg.ok { background:var(--ok); border:1px solid #b9d6c8; }
.msg.bad { background:var(--bad); border:1px solid #e3b9b9; }
footer { border-top:1px solid var(--line); padding:24px 0 40px; color:var(--muted); font-size:14px; }
a { color:var(--accent); }
@media (max-width:520px) { nav a { margin:0 14px 0 0; } }
