/* ==========================================================================
   Red Barn Butchers - animations.css
   Loader, page transitions, and scroll reveals.
   ========================================================================== */

/* ---------- Loader (knife-stroke) ---------- */

.loader-stroke {
  animation: loader-cut 700ms 150ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

@keyframes loader-cut {
  to { stroke-dashoffset: 0; }
}

#loader {
  transition: opacity 350ms ease, visibility 350ms ease;
}
#loader.loader-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* ---------- Page transitions ---------- */

#page-content {
  transition: opacity 300ms ease, transform 300ms ease;
  opacity: 1;
  transform: translateY(0);
}
#page-content.is-transitioning {
  opacity: 0;
  transform: translateY(10px);
}

/* ---------- Scroll reveals ---------- */

.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 600ms cubic-bezier(0.22, 1, 0.36, 1), transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--reveal-index, 0) * 80ms);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  #page-content, #page-content.is-transitioning { opacity: 1; transform: none; transition: none; }
  .loader-stroke { animation: none; stroke-dashoffset: 0; }
}
