/* Liryn — Animations & Motion */

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Scroll-triggered fade-in-up ── */
.fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Feature cell stagger */
.feat-item.fade-in-up:nth-child(1) { transition-delay: 0ms; }
.feat-item.fade-in-up:nth-child(2) { transition-delay: 50ms; }
.feat-item.fade-in-up:nth-child(3) { transition-delay: 100ms; }
.feat-item.fade-in-up:nth-child(4) { transition-delay: 150ms; }
.feat-item.fade-in-up:nth-child(5) { transition-delay: 200ms; }
.feat-item.fade-in-up:nth-child(6) { transition-delay: 250ms; }

/* Trust strip stagger */
.trust-item:nth-child(1) { animation-delay: 0ms; }
.trust-item:nth-child(2) { animation-delay: 30ms; }
.trust-item:nth-child(3) { animation-delay: 60ms; }
.trust-item:nth-child(4) { animation-delay: 90ms; }
.trust-item:nth-child(5) { animation-delay: 120ms; }

/* App window spring entrance */
.app-window--hero {
  animation: heroWindowIn 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

@keyframes heroWindowIn {
  from {
    opacity: 0;
    transform: perspective(1000px) rotateY(-3deg) rotateX(1deg) translateY(24px);
  }
  to {
    opacity: 1;
    transform: perspective(1000px) rotateY(-3deg) rotateX(1deg) translateY(0);
  }
}
