:root { --bg:#f6f8f7; --fg:#18221d; --muted:#5b6b62; --accent:#1f6f4a; --accent2:#e8a400; --card:#fff; --line:#dde5e0; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#111713; --fg:#e7eee9; --muted:#9baba2; --accent:#3ea575; --card:#1a221d; --line:#2a352e; }
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; background:var(--bg); color:var(--fg); }
.wrap { max-width:980px; margin:0 auto; padding:0 20px; }
.top { background:var(--card); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.bar { display:flex; justify-content:space-between; align-items:center; padding-top:14px; padding-bottom:14px; }
.logo { font-weight:700; font-size:20px; color:var(--fg); text-decoration:none; }
nav a { color:var(--muted); text-decoration:none; margin-left:18px; }
nav a:hover { color:var(--accent); }
.hero { padding:72px 0 64px; background:linear-gradient(180deg, var(--card), var(--bg)); border-bottom:1px solid var(--line); }
.hero h1 { font-size:clamp(28px,5vw,44px); line-height:1.15; margin:0 0 14px; max-width:680px; }
.hero p { color:var(--muted); max-width:560px; margin:0 0 26px; }
.btn { display:inline-block; background:var(--accent); color:#fff; padding:12px 26px; border:0; border-radius:10px; font:inherit; font-weight:600; text-decoration:none; cursor:pointer; }
.btn:hover { filter:brightness(1.08); }
.block { padding-top:52px; padding-bottom:12px; }
.block h2 { margin:0 0 22px; font-size:26px; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:22px; }
.card h3 { margin:0 0 8px; font-size:18px; }
.card p { margin:0; color:var(--muted); }
.news article { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px; margin-bottom:14px; }
.news h3 { margin:0 0 4px; }
.news time { color:var(--muted); font-size:13px; }
.news p { margin:10px 0 0; white-space:pre-wrap; word-break:break-word; }
.muted { color:var(--muted); }
.contact { display:grid; grid-template-columns:1.4fr 1fr; gap:16px; align-items:start; }
@media (max-width:720px) { .contact { grid-template-columns:1fr; } }
label { display:block; margin:0 0 14px; font-size:14px; color:var(--muted); }
input, textarea { display:block; width:100%; margin-top:5px; padding:11px 12px; font:inherit; color:var(--fg); background:var(--bg); border:1px solid var(--line); border-radius:9px; }
input:focus, textarea:focus { outline:2px solid var(--accent); outline-offset:1px; }
.check { display:flex; gap:10px; align-items:flex-start; }
.check input { width:auto; margin:4px 0 0; }
.trap { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
#formStatus { margin:12px 0 0; min-height:1.4em; }
#formStatus.ok { color:var(--accent); }
#formStatus.err { color:#b42318; }
.placeholder { color:var(--accent2); }
footer { margin-top:56px; padding:24px 0; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
