/* ============================================================
   JE.Films Bio — Animations (minimal, intentional)
   ============================================================ */

/* ── Single smooth entrance ───────────────────────────────── */
@keyframes fadeIn {
  from { opacity: 0; translate: 0 12px; }
  to   { opacity: 1; translate: 0 0; }
}

/* ── Apply to hero elements only ──────────────────────────── */
.hero-photo-container {
  animation: fadeIn .6s .1s ease-out both;
}

.hero-tag {
  animation: fadeIn .5s .25s ease-out both;
}

.hero-title {
  animation: fadeIn .5s .35s ease-out both;
}

.hero-sub {
  animation: fadeIn .5s .45s ease-out both;
}

.hero-cta {
  animation: fadeIn .5s .55s ease-out both;
}

/* Nav */
#main-nav {
  animation: fadeIn .4s ease-out both;
}

/* ── Scroll-triggered sections ────────────────────────────── */
.reveal-ready {
  opacity: 0;
  translate: 0 16px;
  transition: opacity .5s ease-out, translate .5s ease-out;
}

.reveal-ready.revealed {
  opacity: 1;
  translate: 0 0;
}

/* ── Tap feedback (mobile) ────────────────────────────────── */
.btn-wpp:active,
.btn-wpp-fill:active,
.btn-insta:active,
.btn-insta-fill:active,
.btn-primary:active,
.btn-ghost:active {
  transform: scale(.97);
  transition-duration: .1s;
}

/* ── Accessibility ────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
