/* css/animations.css */

/* Scroll Reveals */
.reveal-on-scroll {
  transform: translateY(40px);
  opacity: 0;
  transition: transform var(--duration-slow) var(--ease-out-expo),
              opacity var(--duration-slow) var(--ease-out-expo);
  will-change: transform, opacity;
}

.reveal-on-scroll.revealed {
  transform: translateY(0);
  opacity: 1;
}

/* Line Expansion */
.line-expand {
  width: 0 !important;
  transition: width 1.2s ease-out;
  will-change: width;
}

.line-expand.revealed {
  width: 100% !important;
}

/* Hero Title Letter Animation */
.hero-line {
  overflow: hidden;
  display: block; /* Ensures container boundary */
}

.hero-letter {
  display: inline-block;
  transform: translateY(110%);
  transition: transform 0.55s var(--ease-out-expo);
  will-change: transform;
}

.hero-letter.revealed {
  transform: translateY(0);
}
