.fade-in {
  animation: FadeIn 0.5s ease-in-out;
}

.section-reveal {
  animation: SectionRevealMobile both;
  animation-timeline: view(98% 10%);
}

.bg-hero {
  background-image: url("../assets/hero.webp");
}

@media (max-width: 640px) {
  .bg-hero {
    background-image: url("../assets/hero-sm.webp");
    background-size: cover;
  }
}

@keyframes FadeIn {
  0% {
    opacity: 0;
    transform: translateY(40px) scale(0.96);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes SectionReveal {
  from {
    filter: blur(10px);
    scale: 0.9;
    transform: translateY(10%);
  }
  to {
    filter: blur(0px);
    scale: 1;
    transform: translateY(0px);
  }
}

@keyframes SectionRevealMobile {
  from {
    opacity: 0;
    transform: translateY(40px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .fade-in,
  .section-reveal {
    animation: none;
  }
}
