/* Transitions et animations */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* Effet de survol pour les cartes de service */
.service-card {
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), 
              box-shadow 0.4s ease;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

/* Animation du bouton */
.btn {
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275),
              background-color 0.3s ease,
              box-shadow 0.3s ease;
}

.btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(110, 255, 104, 0.3);
}

/* Animation du menu de navigation */
.navbar-links li a {
  position: relative;
  transition: color 0.3s ease;
}

.navbar-links li a::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--primary-color);
  transition: width 0.3s ease;
}

.navbar-links li a:hover::after {
  width: 100%;
}

/* Animation du formulaire */
.form-control {
  transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.form-control:focus {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(255, 255, 255, 0.1);
}

/* Animation des images */
.methodology-fullscreen img {
  transition: transform 0.5s ease;
}

.methodology-fullscreen:hover img {
  transform: scale(1.02);
}

/* Animation du logo */
.navbar-logo img {
  transition: transform 0.3s ease;
}

.navbar-logo:hover img {
  transform: scale(1.05);
}

/* Animation des icônes */
.service-icon {
  transition: transform 0.3s ease, color 0.3s ease;
}

.service-card:hover .service-icon {
  transform: scale(1.1);
  color: var(--primary-dark);
}

/* Animation des réseaux sociaux */
.social-link {
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.social-link:hover {
  transform: translateY(-3px);
}
