/* Base */
:root{
  --primary:#2a7a66; /* зелено-бирюзовый, спокойный */
  --primary-700:#236455;
  --accent:#e4a24f;
  --bg:#f7fbfa;
  --surface:#ffffff;
  --text:#1f2d2a;
  --muted:#5a6b65;
  --border:#e2ece9;
  --shadow:0 8px 20px rgba(0,0,0,.07);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Arial, sans-serif;
  color:var(--text); background:var(--bg); line-height:1.6;
}
img{max-width:100%; display:block}
.container{max-width:1100px; margin:0 auto; padding:0 16px}
.small{font-size:.9rem; color:var(--muted)}
.lead{font-size:1.125rem; color:var(--muted)}
.rounded{border-radius:12px}

/* Header */
.header{position:sticky; top:0; z-index:10; background:var(--surface); box-shadow:0 1px 0 var(--border)}
.header__inner{display:flex; align-items:center; justify-content:space-between; height:64px}
.brand{display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none}
.brand__logo{height:36px; width:auto}
.brand__name{font-weight:700}
.nav{display:flex; gap:16px}
.nav a{color:var(--muted); text-decoration:none; padding:8px 10px; border-radius:8px}
.nav a[aria-current="page"], .nav a:hover{color:var(--text); background:var(--bg)}

/* Hero */
.hero{position:relative; overflow:hidden; background:linear-gradient(180deg, #eaf6f3, #f7fbfa)}
.hero__inner{display:grid; grid-template-columns:1.1fr .9fr; gap:28px; padding:48px 0}
.hero__content h1{margin:0 0 12px; font-size:2rem}
.hero__content .bullets{margin:16px 0 0; padding:0; list-style:none}
.hero__content .bullets li{margin:6px 0; padding-left:26px; position:relative}
.hero__content .bullets li::before{content:""; position:absolute; left:0; top:.5em; width:10px; height:10px; border-radius:50%; background:var(--primary)}
.hero__bg{position:absolute; inset:auto 0 0 auto; opacity:.08; max-height:70%; transform:translateY(10%)}

/* Sections */
.section{padding:48px 0}
.section--alt{background:var(--surface)}
.section--accent{background:var(--primary); color:#fff}
.hero--small{padding:28px 0 8px; background:linear-gradient(180deg, #eaf6f3, #f7fbfa)}

/* Grid */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.cards .card{height:100%}

/* Card */
.card{background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:18px; box-shadow:var(--shadow)}

/* Buttons */
.btn{appearance:none; border:none; background:var(--primary); color:#fff; padding:12px 18px; border-radius:10px; cursor:pointer; font-weight:600; text-decoration:none; display:inline-block}
.btn:hover{background:var(--primary-700)}
.btn--light{background:#fff; color:var(--primary)}
.btn--light:hover{background:#f6fffd}
.btn--ghost{background:transparent; color:var(--primary); border:2px solid #cfe7e1}
.btn--ghost:hover{background:#ebf7f4}

/* Forms */
.form{display:flex; flex-direction:column; gap:12px}
.form__title{margin:0 0 4px}
.form label{display:flex; flex-direction:column; gap:6px; font-weight:600}
.form input, .form textarea{font:inherit; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:#fff}
.form input:focus, .form textarea:focus{outline:2px solid #cfe7e1}
.form .checkbox{flex-direction:row; align-items:flex-start; gap:10px; font-weight:400}
.form__note{margin:0; color:var(--muted); font-size:.9rem}

/* Lists */
.checklist{list-style:none; padding:0; margin:0}
.checklist li{padding-left:26px; position:relative; margin:8px 0}
.checklist li::before{content:""; position:absolute; left:0; top:.4em; width:16px; height:16px; background:url('images/icon-heart-128x128.png') no-repeat center/contain; opacity:.7}

/* Testimonials */
.testimonials{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.testimonial{background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px}
.testimonial img{border-radius:10px; margin-bottom:10px}
.testimonial blockquote{margin:0}
.testimonial cite{display:block; margin-top:8px; color:var(--muted)}

/* CTA */
.cta__inner{display:flex; align-items:center; justify-content:space-between; gap:16px}
.actions{display:flex; gap:12px; flex-wrap:wrap}

/* Steps */
.steps{counter-reset:st; list-style:none; padding:0}
.steps li{position:relative; padding-left:38px; margin:10px 0}
.steps li::before{counter-increment:st; content:counter(st); position:absolute; left:0; top:0; width:28px; height:28px; border-radius:50%; background:#fff; color:var(--primary); display:inline-flex; align-items:center; justify-content:center; font-weight:700; box-shadow:0 0 0 4px rgba(255,255,255,.3)}

/* Footer */
.footer{background:#0f2621; color:#e5f1ee}
.footer__inner{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 0}
.footer__brand{display:flex; align-items:center; gap:10px}
.footer__nav{display:flex; gap:12px}
.footer__nav a{color:#c9e7df; text-decoration:none}
.footer__nav a:hover{color:#fff}
.footer__note{margin:0; color:#9cc7bd; font-size:.9rem}

/* Utilities */
img.rounded{box-shadow:var(--shadow)}

/* Responsive */
@media (max-width: 960px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .hero__inner{grid-template-columns:1fr}
  .hero__bg{display:none}
}
@media (max-width: 640px){
  .grid-2, .grid-3, .testimonials{grid-template-columns:1fr}
  .header__inner{height:auto; padding:10px 0; gap:10px}
  .nav{flex-wrap:wrap; gap:8px}
  .btn{width:100%; text-align:center}
}
