/* animation.css - Animações para scroll */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-4rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(4rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes subtleBounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-20px);
  }
  60% {
    transform: translateY(-10px);
  }
}

@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes textReveal {
  from {
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

section img,
section h2,
section .text {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}

section .text {
  position: relative;
  overflow: hidden;
  opacity: 1;
}

.animate-fade-up {
  animation: fadeInUp 1s ease-out forwards;
}

.animate-fade-left {
  animation: fadeInLeft 1s ease-out forwards;
}

.animate-fade-right {
  animation: fadeInRight 1s ease-out forwards;
}

.animate-fade-scale {
  animation: fadeInScale 1.2s ease-out forwards;
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

.animate-text-reveal {
  animation: textReveal 1.2s ease-out forwards;
  opacity: 1;
}

.text p {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.text p.visible {
  opacity: 1;
  transform: translateY(0);
}

.animate-subtle-bounce {
  animation: subtleBounce 1.5s ease-out forwards;
}

.delay-1 {
  animation-delay: 0.2s;
}

.delay-2 {
  animation-delay: 0.4s;
}

.delay-3 {
  animation-delay: 0.6s;
}

.delay-4 {
  animation-delay: 0.8s;
}

.symbol {
  transition: all 0.8s ease;
}

.animate-symbol-spin {
  animation: fadeInScale 1s ease-out forwards, float 3s ease-in-out infinite 1s;
}

.is-visible {
  opacity: 1;
}