.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 { transition-delay: 0.12s; }
.delay-2 { transition-delay: 0.24s; }

.service-card,
.differential-card,
.info-card,
.stat-card,
.hero-card,
.testimonial-card,
.faq-item,
.btn,
.primary-nav a,
.footer-column a,
.floating-whatsapp,
.contact-card,
.contact-info-card,
.map-card {
  transition: transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease, border-color 0.28s ease, color 0.28s ease, opacity 0.28s ease;
}

.service-card:hover,
.differential-card:hover,
.info-card:hover,
.stat-card:hover,
.hero-card:hover,
.testimonial-card:hover,
.faq-item:hover,
.contact-card:hover,
.contact-info-card:hover,
.map-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 70px rgba(17, 41, 46, 0.16);
}

.primary-nav a:hover {
  color: var(--color-accent);
}

.floating-whatsapp:hover {
  transform: translateY(-2px) scale(1.02);
}
