
body, html {
  overflow-x: hidden !important;
}

/* Reevi Style Smooth Animations */
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scaleUp {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.anim-fade-down {
  animation: fadeInDown 0.8s ease forwards;
}

 
.anim-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.anim-reveal {
  opacity: 0;
  animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.anim-scale-up {
  animation: scaleUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Interactive Hover transitions */
.service-card, .comp-stat-item, .partner-box, .ai-card, .work-app-card, .client-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.service-card:hover, .partner-box:hover, .ai-card:hover, .work-app-card:hover {
  transform: translateY(-5px);
}
/* Base hidden state for animations */
.anim-left, .anim-right, .anim-up, .anim-down {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

/* From Left */
.anim-left {
  transform: translateX(-50px);
}

/* From Right */
.anim-right {
  transform: translateX(50px);
}

/* From Up / Top */
.anim-up {
  transform: translateY(-50px);
}

/* From Down / Bottom */
.anim-down {
  transform: translateY(50px);
}

/* Active State (Jab element viewport me aayega) */
.anim-left.is-visible,
.anim-right.is-visible,
.anim-up.is-visible,
.anim-down.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 0);
}