/* Fade Up Animation Styles */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease, transform 1s ease;
  will-change: opacity, transform;
}

.fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Fade Left */
.fade-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 1s ease, transform 1s ease;
  will-change: opacity, transform;
}

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

/* HR expand effect */
.hr-expand {
  transform: scaleX(0);       /* start collapsed */
  transform-origin: center;   /* grows out from the center */
  opacity: 0 !important;
  transition: transform 0.6s ease, opacity 0.6s ease;
  will-change: transform, opacity;
}

.hr-expand.is-visible {
  transform: scaleX(1);
  opacity: 1 !important;
}