/* ========== 스크롤 애니메이션 (공통) ========== */

/* 페이드인 애니메이션 */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.98);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* 스크롤 애니메이션 클래스 */
.scroll-reveal {
  opacity: 0;
  transform: translateY(20px);
}

.scroll-reveal.visible {
  animation: fadeInUp 1.2s ease-out forwards;
}

.scroll-reveal-down {
  opacity: 0;
  transform: translateY(-20px);
}

.scroll-reveal-down.visible {
  animation: fadeInDown 1.2s ease-out forwards;
}

.scroll-reveal-left {
  opacity: 0;
  transform: translateX(-20px);
}

.scroll-reveal-left.visible {
  animation: fadeInLeft 1.2s ease-out forwards;
}

.scroll-reveal-right {
  opacity: 0;
  transform: translateX(20px);
}

.scroll-reveal-right.visible {
  animation: fadeInRight 1.2s ease-out forwards;
}

.scroll-reveal-scale {
  opacity: 0;
  transform: scale(0.98);
}

.scroll-reveal-scale.visible {
  animation: scaleIn 1.2s ease-out forwards;
}
