.fade-in-image {
  opacity: 0;
  transform: translateY(30px) scale(0.95);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.fade-in-image.active {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Efeito de hover suave */
.fade-in-image:hover {
  transform: translateY(-5px);
  transition: transform 0.3s ease-out;
}

/* Otimização para dispositivos móveis */
@media (max-width: 768px) {
  .fade-in-image {
    transform: translateY(20px) scale(0.98);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  }
}

/* Efeito de blur durante o carregamento */
.fade-in-image:not(.active) {
  filter: blur(5px);
  transition: filter 0.8s ease-out;
}

.fade-in-image.active {
  filter: blur(0);
} 