/* ============================================================
   animations.css · Ken Burns, reveals, logo, keyframes
   ============================================================ */

/* ---------- Ken Burns del hero (zoom in/out lento) ---------- */
@keyframes kenburns {
  0%   { transform: scale(1.0) translate(0, 0); }
  100% { transform: scale(1.12) translate(-1.5%, -2%); }
}

/* ---------- Logo que flota suave ---------- */
@keyframes logoFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}

/* ---------- Scroll reveal ---------- */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }

/* Escalonado en hero y grids */
.hero .reveal:nth-child(1) { transition-delay: 0.05s; }
.hero .reveal:nth-child(2) { transition-delay: 0.15s; }
.hero .reveal:nth-child(3) { transition-delay: 0.25s; }
.hero .reveal:nth-child(4) { transition-delay: 0.35s; }
.hero .reveal:nth-child(5) { transition-delay: 0.45s; }
.hero .reveal:nth-child(6) { transition-delay: 0.55s; }

.exp-grid .reveal:nth-child(2) { transition-delay: 0.08s; }
.exp-grid .reveal:nth-child(3) { transition-delay: 0.16s; }
.exp-grid .reveal:nth-child(4) { transition-delay: 0.06s; }
.exp-grid .reveal:nth-child(5) { transition-delay: 0.14s; }
.exp-grid .reveal:nth-child(6) { transition-delay: 0.22s; }

.recomendados-grid .reveal:nth-child(2) { transition-delay: 0.06s; }
.recomendados-grid .reveal:nth-child(3) { transition-delay: 0.12s; }
.recomendados-grid .reveal:nth-child(4) { transition-delay: 0.18s; }
.recomendados-grid .reveal:nth-child(5) { transition-delay: 0.24s; }
.recomendados-grid .reveal:nth-child(6) { transition-delay: 0.30s; }

/* Las imágenes dentro de un reveal entran con un zoom suave */
.reveal .exp-card__media img,
.reveal .gallery__item img,
.reveal .carousel__item img,
.recomendados-item.reveal img { transform: scale(1.06); }
.reveal.is-visible .exp-card__media img,
.reveal.is-visible .gallery__item img,
.reveal.is-visible .carousel__item img,
.recomendados-item.reveal.is-visible img { transform: scale(1); transition: transform 1.2s var(--ease); }

/* ---------- Ilustración de la hoja del menú ---------- */
@keyframes ilusIn {
  from { opacity: 0; transform: rotate(-6deg) scale(0.85); }
  to   { opacity: 0.85; transform: rotate(0) scale(1); }
}

/* ---------- Nav entra desde arriba ---------- */
@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-14px); }
  to   { opacity: 1; transform: none; }
}
.nav { animation: fadeInDown 0.8s var(--ease) both; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .reveal { opacity: 1; transform: none; }
  .hero__photo, .hero__logo { animation: none; }
}
