@keyframes npf-fade-up {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes npf-soft-pop {
  from {
    opacity: 0;
    transform: scale(0.985);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.npf-hero__copy {
  animation: npf-fade-up 520ms ease-out both;
}

.npf-home-section {
  animation: npf-soft-pop 420ms ease-out both;
}

.npf-tier-panel,
.npf-chart-shell,
.npf-usecase-card,
.npf-cta-card,
.npf-metric-card,
.npf-kpi-card {
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.npf-tier-panel:hover,
.npf-chart-shell:hover,
.npf-usecase-card:hover,
.npf-cta-card:hover,
.npf-metric-card:hover,
.npf-kpi-card:hover {
  border-color: var(--npf-border-strong);
  box-shadow: var(--npf-shadow-md);
}

.npf-usecase-card:hover,
.npf-cta-card:hover {
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
  .npf-hero__copy,
  .npf-home-section,
  .npf-tier-panel,
  .npf-chart-shell,
  .npf-usecase-card,
  .npf-cta-card,
  .npf-metric-card,
  .npf-kpi-card {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}
