/* Animation Styles */

/* Fade-in Animation */
.animate-fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-fade-in.animate-in {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays for child elements */
.animate-fade-in:nth-child(1) { transition-delay: 0ms; }
.animate-fade-in:nth-child(2) { transition-delay: 100ms; }
.animate-fade-in:nth-child(3) { transition-delay: 200ms; }
.animate-fade-in:nth-child(4) { transition-delay: 300ms; }
.animate-fade-in:nth-child(5) { transition-delay: 400ms; }
.animate-fade-in:nth-child(6) { transition-delay: 500ms; }

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .animate-fade-in {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Logo Carousel Animations */
.logo-carousel {
  overflow: hidden;
  position: relative;
  padding: var(--spacing-2xl) 0;
  background: linear-gradient(to bottom, rgba(11, 61, 145, 0.02) 0%, rgba(37, 99, 235, 0.02) 100%);
  border-top: 1px solid rgba(11, 61, 145, 0.1);
  border-bottom: 1px solid rgba(11, 61, 145, 0.1);
}

.logo-carousel-track {
  display: flex;
  gap: var(--spacing-3xl);
  will-change: transform;
}

.logo-item {
  flex-shrink: 0;
  width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-md);
}

.logo-item img {
  max-width: 100%;
  height: 60px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.6;
  transition: all var(--transition-base);
}

.logo-item img:hover {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.05);
}

/* Pulse animation for CTA buttons */
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
}

.pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
