/* ==============================
   Hero Section Styles
============================== */
.hero-section {
  position: relative;
  overflow: hidden;
}
/* Title Animation */
.hero-title {
  animation: fadeDown 1.2s ease-in-out;
}
/* Subtitle Animation */
.hero-subtitle {
  animation: fadeUp 1.5s ease-in-out;
}
/* Keyframes */
@keyframes fadeDown {
  0% { opacity: 0; transform: translateY(-30px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeUp {
  0% { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
/* Responsive Fix */
@media (max-width: 768px) {
  .hero-title {
    font-size: 2rem;
  }
  .hero-subtitle {
    font-size: 1rem;
  }
}

/* ============================
   Our Services Section Styles
============================ */

/* Service Card */
.service-card {
  background: #fff;
  padding: 2rem 1.5rem;
  border-radius: 1rem;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: center;
}
.service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.15);
}

/* Icon Circle */
.icon-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  font-size: 2rem;
  margin: 0 auto 1rem auto;
}

/* Title & Text */
.service-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 0.5rem;
}
.service-text {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.6;
}

/* Responsive Fix */
@media (max-width: 768px) {
  .service-card {
    padding: 1.5rem 1rem;
  }
  .service-title {
    font-size: 1.1rem;
  }
}