
:root{
  --green:#2F5D50;
  --green-dark:#1F3F36;
  --earth:#B88A5A;
  --stone:#F4F1EC;
  --ink:#2E2E2E;
  --line:#ddd5ca;
  --soft:#eef5ef;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:Arial, Helvetica, sans-serif;
  margin:0;
  background:var(--stone);
  color:var(--ink);
  line-height:1.5;
}
a{text-decoration:none;color:inherit}
header{
  position:sticky;top:0;z-index:10;
  background:rgba(244,241,236,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.container{max-width:1180px;margin:auto;padding:0 18px}
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:14px 0;
}
.brand{display:flex;align-items:center;gap:18px}
.logo-wrap{
  width:110px;height:110px;display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:24px;
  box-shadow:0 6px 20px rgba(0,0,0,.06);
  overflow:hidden;
}
.logo-wrap img{
  width:92px;height:92px;object-fit:contain;
}
.brand h1{
  margin:0;color:var(--green-dark);font-size:2rem;line-height:1.02;
}
.brand small{
  display:block;color:#666;font-size:.95rem;margin-top:4px;
}
nav{display:flex;gap:18px;flex-wrap:wrap}
nav a{font-weight:bold;color:var(--green-dark)}
nav a:hover{color:var(--earth)}
.hero{
  background:linear-gradient(180deg,var(--green),#3b705d 60%,#597f5f);
  color:white;padding:64px 0;
}
.hero h2{font-size:clamp(2rem,4vw,4rem);margin:0 0 12px;line-height:1.05}
.hero p{max-width:900px;font-size:1.08rem;margin:0}
.hero-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;max-width:820px
}
.hero-card{
  background:#fff;color:var(--green-dark);padding:26px;border-radius:28px;
  box-shadow:0 12px 30px rgba(0,0,0,.14)
}
.hero-card h3{margin:0;font-size:1.45rem}
.hero-card p{margin:10px 0 0;color:#666;font-size:.95rem}
.section{padding:54px 0}
h2.section-title{font-size:2rem;margin:0 0 10px;color:var(--green-dark)}
.lead{color:#666;max-width:930px}
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;
  box-shadow:0 6px 20px rgba(0,0,0,.05);
}
.card h3{margin:0 0 6px;color:var(--green-dark)}
.card p{margin:0;color:#666}
.button{
  display:inline-block;margin-top:14px;padding:11px 16px;border-radius:14px;
  background:var(--green);color:#fff;font-weight:bold
}
.button.secondary{
  background:#fff;color:var(--green-dark);border:1px solid var(--line)
}
.band{
  background:#f7f4ee;border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.tag{
  display:inline-block;padding:6px 10px;border-radius:999px;background:#e3eee6;
  color:var(--green-dark);font-size:.78rem;font-weight:bold;margin-bottom:10px
}
.filters{
  display:grid;grid-template-columns:2fr 2fr 1fr;gap:12px;margin:20px 0 26px
}
input,select,textarea{
  width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);
  font:inherit;background:#fff;color:var(--ink)
}
textarea{min-height:120px;resize:vertical}
.soft{background:var(--soft)}
.alert{
  background:#fff8e8;border:1px solid #eedeb5;border-radius:18px;padding:16px;color:#6a5620
}
footer{
  background:var(--green-dark);color:white;margin-top:50px
}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;padding:34px 0
}
.footer-grid h4{margin:0 0 8px}
.footer-grid p,.footer-grid li{color:rgba(255,255,255,.82)}
.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.map{
  background:linear-gradient(180deg,#eaf3ec,#f9fbf9);border:1px solid var(--line);
  border-radius:28px;padding:26px;position:relative;min-height:420px
}
.map-shape{
  position:absolute;inset:70px 90px 80px 90px;border-radius:40% 60% 44% 56% / 50% 36% 64% 50%;
  background:linear-gradient(160deg,#7eaa7c,#628765 55%,#4d6f52);opacity:.18;border:1px dashed rgba(47,93,80,.25)
}
.pin{
  position:absolute;transform:translate(-50%,-50%);padding:10px 12px;border-radius:16px;background:white;
  border:1px solid var(--line);box-shadow:0 10px 24px rgba(0,0,0,.08);font-weight:700;font-size:.9rem
}
.pin small{display:block;color:#666;font-weight:500}
.page-hero{background:linear-gradient(180deg,#f7f4ee,#f1ece5);border-bottom:1px solid var(--line)}
.page-hero .container{padding-top:34px;padding-bottom:28px}
.page-hero h2{margin:0;font-size:2.4rem;color:var(--green-dark)}
.page-hero p{margin:10px 0 0;color:#666;max-width:900px}
.table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.table th,.table td{padding:14px 16px;border-bottom:1px solid #ece7de;text-align:left}
.table th{background:#faf7f2;color:var(--green-dark)}
@media (max-width:980px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3,.grid-2,.footer-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  nav{display:none}
  .topbar{align-items:flex-start}
  .logo-wrap{width:90px;height:90px}
  .logo-wrap img{width:76px;height:76px}
  .brand h1{font-size:1.45rem}
  .hero-grid,.filters{grid-template-columns:1fr}
  .map{min-height:520px}
  .map-shape{inset:100px 24px 100px 24px}
}
