/* Global */
body {
  color: #374151;
  background-color: #f9fafb;
  font-family: 'Inter', sans-serif;
}
section {
  scroll-margin-top: 80px;
}
.floating-shape {
  position: absolute;
  border-radius: 9999px;
  opacity: 0.5;
}

/* Animations */
@keyframes floatSlow {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(10deg); }
}
@keyframes floatMedium {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-15px) rotate(-8deg); }
}
@keyframes floatFast {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-30px) rotate(12deg); }
}
@keyframes floatSlower {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes fadeIn {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}
.animate-float-slow { animation: floatSlow 10s ease-in-out infinite; }
.animate-float-medium { animation: floatMedium 8s ease-in-out infinite; }
.animate-float-fast { animation: floatFast 5s ease-in-out infinite; }
.animate-float-slower { animation: floatSlower 14s ease-in-out infinite; }
.animate-fadeIn { animation: fadeIn 1.2s ease forwards; }
.delay-200 { animation-delay: 0.2s; }

/* Features */
.feature-card {
  background: white;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}
.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.feature-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.75rem;
  transition: background 0.3s;
}
.feature-icon-inner {
  width: 2rem;
  height: 2rem;
  color: #16a34a;
  transition: color 0.3s;
}
.feature-card:hover .feature-icon { background-color: #16a34a; }
.feature-card:hover .feature-icon-inner { color: white; }
.feature-title { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.75rem; color: #1f2937; }
.feature-text { color: #4b5563; line-height: 1.6; }

/* CTA Section */
.cta-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(to bottom right, #f1f5f9, #e5e7eb);
  text-align: center;
  padding: 6rem 1rem;
}
.cta-content {
  position: relative;
  z-index: 10;
  max-width: 42rem;
  margin: 0 auto;
}
.cta-content h2 {
  font-size: 2.5rem;
  font-weight: 800;
  color: #1f2937;
  margin-bottom: 1.5rem;
}
.cta-content h2 span { color: #15803d; }
.cta-content p {
  color: #4b5563;
  margin-bottom: 2rem;
  font-size: 1.125rem;
}
.cta-btn {
  background: #16a34a;
  color: #fff;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: transform 0.3s, background 0.3s;
}
.cta-btn:hover {
  transform: scale(1.05);
  background: #15803d;
}
.cta-wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  color: #d1d5db;
  opacity: 0.6;
}
