@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');

* { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family: 'Poppins', sans-serif; }

.slide { transition: opacity 0.8s ease-in-out; }
.slide-active { opacity: 1; }
.slide-inactive { opacity: 0; position: absolute; top: 0; left: 0; width: 100%; }

@keyframes pulse-ring {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(1.6); opacity: 0; }
}
.whatsapp-pulse::before,
.whatsapp-pulse::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #25D366;
  animation: pulse-ring 2s ease-out infinite;
}
.whatsapp-pulse::after { animation-delay: 0.5s; }

.reveal { opacity: 0; transform: translateY(30px); transition: all 0.6s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

.service-card { transition: all 0.3s ease; border-top: 4px solid transparent; }
.service-card:hover { transform: scale(1.03); border-top-color: #00AEEF; box-shadow: 0 20px 40px rgba(0,0,0,0.12); }

.product-card { transition: all 0.3s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0,48,135,0.15); }

.section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  background: linear-gradient(to right, #003087, #00AEEF);
  margin: 12px auto 0;
  border-radius: 2px;
}

.counter-number { font-family: 'Poppins', sans-serif; font-weight: 700; }

.testimonial-card { transition: all 0.3s ease; }
.testimonial-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(0,0,0,0.1); }

.project-card .overlay {
  opacity: 0;
  transition: opacity 0.3s ease;
  background: rgba(0,48,135,0.85);
}
.project-card:hover .overlay { opacity: 1; }

.filter-tab.active { background: #003087; color: white; }
.filter-tab { transition: all 0.2s ease; }

.mobile-menu { transition: max-height 0.3s ease, opacity 0.3s ease; }

.gradient-text {
  background: linear-gradient(135deg, #003087, #00AEEF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.faq-answer { transition: max-height 0.3s ease, opacity 0.3s ease; overflow: hidden; }
