@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-content,
.hero-card,
.card,
.project-card,
.industry-card,
.timeline-card,
.team-card,
.capability-card,
.contact-card,
.form-card {
  animation: fadeIn 0.8s ease both;
}

.button,
.card,
.project-card,
.industry-card,
.team-card,
.capability-card,
.contact-card,
.form-card,
.social-links a {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.button:hover,
.card:hover,
.project-card:hover,
.industry-card:hover,
.team-card:hover,
.capability-card:hover,
.contact-card:hover,
.form-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(22, 50, 79, 0.12);
}

.project-image {
  transition: transform 0.5s ease;
}

.project-card:hover .project-image {
  transform: scale(1.05);
}
