/* ==========================================================
   ANIMATIONS — subtle, purposeful only
   ========================================================== */

[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
}

.hero-inner > * {
  animation: heroIn 0.8s var(--ease) both;
}
.hero-inner .hero-eyebrow { animation-delay: 0.05s; }
.hero-inner .hero-title { animation-delay: 0.15s; }
.hero-inner .hero-subtitle { animation-delay: 0.25s; }
.hero-inner .btn { animation-delay: 0.35s; }

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

@media (prefers-reduced-motion: reduce) {
  .hero-inner > * { animation: none; }
}

.fade-in { animation: fadeIn 0.4s var(--ease) both; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
