/* === Global Reset === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@400;500;600&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  /* Modern font stack for better cross-device appearance */
  font-family: 'Inter', "Poppins", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto;
  background-color: #f7f9fc; /* Light, modern background */
  /* color: #222; */
}

html {
  scroll-behavior: smooth;
}

/* === Animation Keyframes === */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

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

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

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

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

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

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

/* === Animation Classes === */
.fade-in {
  opacity: 0;
  animation: fadeIn 0.8s ease forwards;
}

.fade-in-left {
  opacity: 0;
  animation: fadeInLeft 0.8s ease forwards;
}

.fade-in-right {
  opacity: 0;
  animation: fadeInRight 0.8s ease forwards;
}

.fade-in-up {
  opacity: 0;
  animation: fadeInUp 0.8s ease forwards;
}
.fade-in-scale {
  opacity: 0;
  animation: fadeInScale 0.8s ease forwards;
}

/* === Staggered Animation Delays === */
.delay-1 {
  animation-delay: 0.5s;
}

.delay-2 {
  animation-delay: 1s;
}

.delay-3 {
  animation-delay: 1.3s;
}

.delay-4 {
  animation-delay: 1.5s;
}

.delay-5 {
  animation-delay: 1.8s;
}

.delay-6 {
  animation-delay: 2s;
}

/* === Scroll-Triggered Animation Base === */
.scroll-fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

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

/* For elements that should animate when they come into view */
.scroll-fade-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-fade-left.visible {
  opacity: 1;
  transform: translateX(0);
}

.scroll-fade-right {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-fade-right.visible {
  opacity: 1;
  transform: translateX(0);
}



