:root{
  --ink:#0f172a; --muted:#64748b; --paper:#ffffff; --line:#e2e8f0;
  --brand:#16a34a; --brand-ink:#0b6a2f; --soft:#effef3;
  --radius:16px; --shadow:0 12px 32px rgba(15,23,42,.07)
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.7}

a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%;display:block;border-radius:14px}

header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:10}
.header-wrap{width:min(1160px,94%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.header-wrap nav a{margin-left:.6rem;padding:.45rem .7rem;border-radius:10px}
.header-wrap nav a:hover{background:var(--soft);text-decoration:none}

.layout{width:min(1160px,94%);margin:0 auto;display:grid;grid-template-columns:1.35fr 380px;gap:1.2rem}
main{padding:1.2rem 0}
aside{padding:1.2rem 0;position:sticky;top:64px;height:calc(100svh - 64px);overflow:auto}
.aside-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:var(--shadow);margin-bottom:1rem}
.aside-box h3{margin:.2rem 0 .4rem 0}
.badge{display:inline-flex;gap:.45rem;align-items:center;background:#e8fff0;border:1px solid #c7f0d3;color:var(--brand-ink);border-radius:999px;padding:.28rem .6rem;font-size:.88rem;font-weight:700}

.section{padding:1.2rem 0;border-bottom:1px solid var(--line)}
.section:last-child{border-bottom:0}
h1{font-size:2rem;margin:.2rem 0 .4rem}
h2{font-size:1.5rem;margin:.2rem 0 .6rem}
.lead{max-width:78ch}

.kv{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center}
.grid2{display:grid;grid-template-columns:1fr;gap:1rem}
.cards{display:grid;grid-template-columns:1fr;gap:1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:1rem}
.small{font-size:.94rem;color:var(--muted)}

.gallery{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.gallery img{width:100%;height:auto;display:block}
.gallery .span2{grid-column:1/-1}

.form{display:grid;grid-template-columns:1fr;gap:.9rem}
label{display:grid;gap:.35rem;font-weight:600}
input,textarea{
  width:100%;padding:.75rem .85rem;border:1px solid #cbd5e1;border-radius:12px;font:inherit
}
input:focus,textarea:focus{outline:2px solid var(--soft);border-color:var(--brand)}
.btn{display:inline-block;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:12px;background:#fff}
.btn:hover{box-shadow:var(--shadow)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}

.map-embed iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;box-shadow:var(--shadow)}

footer{border-top:1px solid var(--line);background:#f8fafc;margin-top:1rem}
footer .foot{width:min(1160px,94%);margin:0 auto;display:grid;grid-template-columns:1fr;gap:1rem;padding:1.2rem 0}

@media(min-width:980px){
  .kv{grid-template-columns:1.1fr 1fr}
  .grid2{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1040px){
  .layout{grid-template-columns:1fr}
  aside{position:static;height:auto}
}
