/* Reset & Base */
body {
  margin: 0;
  font-family: 'Segoe UI', sans-serif;
  background: #f5f5f5;
  color: #333;
  scroll-behavior: smooth;
}

/* Hero Section */
.hero {
  position: relative;
  height: 100vh;
  background: url('hero-bg.jpg') center/cover no-repeat fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.hero-content {
  position: relative;
  z-index: 1;
}
.logo {
  width: 400px;
  margin-bottom: 20px;
}
.cta-button {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 28px;
  background: #4a7c59;
  color: white;
  border-radius: 8px;
  text-decoration: none;
  font-size: 1.1rem;
  transition: background 0.3s;
}
.cta-button:hover {
  background: #3a6549;
}

/* Sections */
.section {
  padding: 60px 20px;
  max-width: 1000px;
  margin: auto;
  background: white;
  border-radius: 8px;
  margin-top: 40px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
}
.section h2 {
  color: #4a7c59;
  margin-bottom: 20px;
}

/* Animations */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade-in {
  animation-delay: 0.2s;
}

/* Benefits */
.benefits {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.benefit {
  flex: 1 1 250px;
}

/* Services */
.services {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.service-box {
  flex: 1 1 250px;
  background: #eef2ef;
  padding: 20px;
  border-radius: 8px;
  border-left: 6px solid #4a7c59;
}

/* Timeline */
.timeline {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.step {
  flex: 1 1 250px;
  padding: 20px;
  border-left: 4px solid #4a7c59;
}

/* Testimonials */
.testimonials {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.testimonial {
  flex: 1 1 300px;
  background: #eef2ef;
  padding: 20px;
  border-radius: 8px;
  font-style: italic;
}

/* Gallery */
.gallery {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.gallery img {
  width: 30%;
  border-radius: 8px;
  object-fit: cover;
}

/* Contact CTA */
.contact-cta {
  text-align: center;
  background: #4a7c59;
  color: white;
  border-radius: 8px;
}
.contact-cta .cta-button {
  background: white;
  color: #4a7c59;
}

/* Footer */
footer {
  text-align: center;
  padding: 20px;
  margin-top: 40px;
  background: #4a7c59;
  color: white;
}