/* ===================================
   Section Animations Library – PREMIUM SMOOTH
=================================== */

/* ===== Base reveal ===== */
.reveal {
  opacity: 0;

  /* Only animate required props */
  transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    filter 1.1s cubic-bezier(0.22, 1, 0.36, 1);

  will-change: transform, opacity;
}

/* ===== Active state ===== */
.reveal.active {
  opacity: 1;
  transform: none;
  filter: blur(0);
}


/* ===================================
   Animations
=================================== */

/* Fade only */
.fade-in {}


/* Fade Up (premium smooth) */
.fade-up {
  transform: translateY(70px);
}

/* Fade Down */
.fade-down {
  transform: translateY(-70px);
}

/* Slide Left */
.slide-left {
  transform: translateX(80px);
}

/* Slide Right */
.slide-right {
  transform: translateX(-80px);
}

/* Zoom In */
.zoom-in {
  transform: scale(0.92);
}

/* Rotate */
.rotate-in {
  transform: rotate(-4deg) scale(0.95);
}

/* Blur premium */
.blur-in {
  filter: blur(10px);
}


/* ===================================
   Delay helpers (stagger)
=================================== */

.delay-1 { transition-delay: .15s; }
.delay-2 { transition-delay: .30s; }
.delay-3 { transition-delay: .45s; }
.delay-4 { transition-delay: .60s; }
.delay-5 { transition-delay: .75s; }


/* ===================================
   Hover lift (premium)
=================================== */

.hover-lift {
  transition: transform .35s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow .35s ease;
}

.hover-lift:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(0,0,0,.10);
}
