*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --primary:#0f9d58;
  --primary-dark:#0b7a43;
  --dark:#1a1a1a;
  --light-bg:#f7f9f8;
  --text:#333;
  --white:#ffffff;
  --max-width:1140px;
}
body{
  font-family:'Poppins',sans-serif;
  color:var(--text);
  line-height:1.6;
  background:var(--white);
}
.container{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 20px;
}
a{text-decoration:none;color:inherit;}
h1,h2,h3{color:var(--dark);}
.btn{
  display:inline-block;
  padding:12px 28px;
  border-radius:6px;
  font-weight:600;
  transition:all .3s ease;
  cursor:pointer;
  border:none;
}
.btn-primary{
  background:var(--primary);
  color:#fff;
}
.btn-primary:hover{
  background:var(--primary-dark);
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  background:var(--white);
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  z-index:1000;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 20px;
}
.logo{
  font-size:1.4rem;
  font-weight:700;
  color:var(--dark);
}
.logo span{color:var(--primary);}
.main-nav ul{
  display:flex;
  gap:28px;
  list-style:none;
}
.main-nav a{
  font-weight:500;
  color:var(--dark);
}
.main-nav a:hover{color:var(--primary);}
.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
}
.nav-toggle span{
  width:26px;
  height:3px;
  background:var(--dark);
  border-radius:2px;
}

/* Hero */
.hero{
  background:var(--light-bg);
  padding:80px 0;
}
.hero-inner{
  display:flex;
  align-items:center;
  gap:40px;
  flex-wrap:wrap;
}
.hero-text{flex:1 1 400px;}
.hero-text h1{
  font-size:2.4rem;
  margin-bottom:20px;
}
.hero-text p{
  margin-bottom:28px;
  font-size:1.1rem;
}
.hero-image{flex:1 1 350px;}
.hero-image img{
  width:100%;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
}

/* Services */
.services{padding:80px 0;}
.services h2{
  text-align:center;
  margin-bottom:40px;
  font-size:2rem;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:28px;
}
.service-card{
  background:var(--light-bg);
  padding:30px;
  border-radius:10px;
  text-align:center;
  transition:transform .3s ease;
}
.service-card:hover{transform:translateY(-6px);}
.service-card h3{margin-bottom:12px;color:var(--primary-dark);}

/* About */
.about{background:var(--light-bg);padding:80px 0;}
.about-inner{
  display:flex;
  align-items:center;
  gap:40px;
  flex-wrap:wrap;
}
.about-image{flex:1 1 350px;}
.about-image img{
  width:100%;
  border-radius:12px;
}
.about-text{flex:1 1 400px;}
.about-text h2{margin-bottom:20px;font-size:2rem;}
.about-list{list-style:none;margin-top:20px;}
.about-list li{margin-bottom:10px;}

/* Testimonials */
.testimonials{padding:80px 0;}
.testimonials h2{
  text-align:center;
  margin-bottom:40px;
  font-size:2rem;
}
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:28px;
}
.testimonial-card{
  background:var(--light-bg);
  padding:30px;
  border-radius:10px;
}
.testimonial-card p{margin-bottom:14px;font-style:italic;}
.testimonial-card span{font-weight:600;color:var(--primary-dark);}

/* Contact */
.contact{background:var(--dark);color:#fff;padding:80px 0;}
.contact-inner{
  display:flex;
  gap:40px;
  flex-wrap:wrap;
}
.contact-info{flex:1 1 350px;}
.contact-info h2{color:#fff;margin-bottom:16px;font-size:2rem;}
.contact-info ul{list-style:none;margin:20px 0;}
.contact-info li{margin-bottom:10px;}
.contact-info a{color:var(--primary);}
.social-links{display:flex;gap:16px;margin-top:20px;flex-wrap:wrap;}
.social-links a{
  background:rgba(255,255,255,.1);
  padding:8px 16px;
  border-radius:6px;
  font-size:.9rem;
}
.social-links a:hover{background:var(--primary);}
.contact-form{
  flex:1 1 350px;
  background:#fff;
  padding:30px;
  border-radius:10px;
  color:var(--text);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.contact-form label{font-weight:600;}
.contact-form input,
.contact-form textarea{
  padding:10px;
  border:1px solid #ccc;
  border-radius:6px;
  font-family:inherit;
  font-size:1rem;
}
.form-status{font-weight:600;color:var(--primary-dark);min-height:20px;}

/* Footer */
.site-footer{
  background:#111;
  color:#ccc;
  padding:30px 0;
  text-align:center;
}
.footer-inner p{margin-bottom:6px;font-size:.9rem;}
.site-footer a{color:var(--primary);}

/* Privacy Page */
.privacy-content{padding:60px 20px;max-width:800px;}
.privacy-content h1{margin-bottom:20px;}
.privacy-content h2{margin-top:30px;margin-bottom:10px;}
.privacy-content p{margin-bottom:14px;}
.privacy-content .btn{margin-top:30px;}

/* Responsive */
@media(max-width:768px){
  .main-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    box-shadow:0 4px 10px rgba(0,0,0,.1);
    display:none;
  }
  .main-nav.open{display:block;}
  .main-nav ul{
    flex-direction:column;
    padding:20px;
    gap:16px;
  }
  .nav-toggle{display:flex;}
}