/* =========================================================
   PLAY TO PILOT — KEYNOTE
   animations.css — enter keyframes + slide transitions
   ========================================================= */

/* ---------------------------------------------------------
   Element reveal (title -> subtitle -> image -> cards -> button)
   Applied via [data-reveal="N"], staggered by JS setting
   --reveal-delay when the slide becomes active.
   --------------------------------------------------------- */
[data-reveal]{
  opacity: 0;
  transform: translateY(22px);
}
.slide.is-active [data-reveal]{
  animation: revealUp .7s cubic-bezier(.16,.8,.24,1) forwards;
  animation-delay: var(--reveal-delay, 0s);
}
@keyframes revealUp{
  to{ opacity:1; transform: translateY(0); }
}

/* subtler reveal for small chips/tags inside a group */
[data-reveal-fade]{ opacity:0; }
.slide.is-active [data-reveal-fade]{
  animation: fadeIn .6s ease forwards;
  animation-delay: var(--reveal-delay, 0s);
}
@keyframes fadeIn{ to{ opacity:1; } }

/* ---------------------------------------------------------
   Slide transitions — fade / slide / scale
   The outgoing slide gets .is-leaving, the incoming .is-entering
   direction is set via [data-dir="next"|"prev"] on #deck-viewport
   --------------------------------------------------------- */
.slide{
  transition: opacity .55s cubic-bezier(.4,0,.2,1), transform .55s cubic-bezier(.4,0,.2,1);
}

/* fade (default) */
.slide[data-transition="fade"]{ transform: none; }

/* slide (horizontal) */
.slide[data-transition="slide"]{ transform: translateX(0); }
#deck-viewport[data-dir="next"] .slide[data-transition="slide"].is-leaving{ transform: translateX(-6%); opacity:0; }
#deck-viewport[data-dir="prev"] .slide[data-transition="slide"].is-leaving{ transform: translateX(6%); opacity:0; }
.slide[data-transition="slide"].is-entering-from-next{ transform: translateX(6%); }
.slide[data-transition="slide"].is-entering-from-prev{ transform: translateX(-6%); }

/* scale */
.slide[data-transition="scale"].is-leaving{ transform: scale(.96); opacity:0; }
.slide[data-transition="scale"].is-entering-from-next,
.slide[data-transition="scale"].is-entering-from-prev{ transform: scale(1.04); }

.is-leaving{ opacity:0 !important; }

/* progress + counter fade */
.deck-chrome{ transition: opacity .4s ease; }
