/* ==========================================================================
   Bay La Sun — motion
   Entrance keyframes and reveal utility classes. GSAP drives the timing;
   these classes define the visual states it tweens between.
   ========================================================================== */

.bls-reveal {
  opacity: 0;
  transform: translateY(18px);
}

.bls-reveal-scale {
  opacity: 0;
  transform: scale(0.94);
}

.js-ready .bls-reveal,
.js-ready .bls-reveal-scale {
  transition: none;
}

/* Fallback (no-JS / GSAP failed to load): fade content in with plain CSS */
.no-js .bls-slide.is-active .bls-reveal,
.no-js .bls-slide.is-active .bls-reveal-scale {
  animation: bls-fade-up var(--duration-normal) var(--ease-out) forwards;
}

@keyframes bls-fade-up {
  to {
    opacity: 1;
    transform: none;
  }
}

/* Logo stroke-draw on the cover slide */
.bls-emblem path {
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
}

.bls-emblem.is-drawing path {
  fill-opacity: 0;
  stroke: var(--bls-gold-500);
  stroke-width: 1;
}

@media (prefers-reduced-motion: reduce) {
  .bls-reveal,
  .bls-reveal-scale {
    opacity: 1;
    transform: none;
  }
}
