/* ==================== ANIMAÇÕES BASE ==================== */
[data-animate] {
  opacity: 0;
  will-change: opacity, transform;
  animation-fill-mode: both;
}

@keyframes smoothFadeIn {
  from {
    opacity: 0;
    transform: translateY(25px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

[data-animate].animate {
  animation: smoothFadeIn 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* ==================== DELAYS PROGRESSIVOS ==================== */
[data-animate-delay="100"] { animation-delay: 0.3s; }
[data-animate-delay="200"] { animation-delay: 0.5s; }
[data-animate-delay="300"] { animation-delay: 0.7s; }
[data-animate-delay="400"] { animation-delay: 0.9s; }
[data-animate-delay="500"] { animation-delay: 1.1s; }
[data-animate-delay="600"] { animation-delay: 1.3s; }

/* ==================== OTIMIZAÇÕES ==================== */
.animate {
  backface-visibility: hidden;
  perspective: 1000px;
  transform-style: preserve-3d;
}

/* ==================== ANIMAÇÕES INTERATIVAS ==================== */
.btn {
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.feature-card, .science-card, .team-member {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.feature-card:hover, 
.science-card:hover, 
.team-member:hover {
  transform: translateY(-8px) scale(1.02);
}

/* ==================== RESPONSIVO ==================== */
@media (max-width: 768px) {
  @keyframes smoothFadeIn {
    from {
      opacity: 0;
      transform: translateY(15px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  [data-animate].animate {
    animation-duration: 0.8s;
  }
  
  [data-animate-delay="100"] { animation-delay: 0.2s; }
  [data-animate-delay="200"] { animation-delay: 0.35s; }
  [data-animate-delay="300"] { animation-delay: 0.5s; }
  [data-animate-delay="400"] { animation-delay: 0.65s; }
  [data-animate-delay="500"] { animation-delay: 0.8s; }
  [data-animate-delay="600"] { animation-delay: 0.95s; }
}