/* Non-critical styles — loaded asynchronously after first paint */

.primaryButton {
  padding: 10px 40px;
  border: 1px solid black;
  border-radius: 100%;
}

/* Swiper slide height fix — Testimonials / BlogsSlider are below the fold */
.swiper-slide {
  height: auto !important;
}

/* Page transition — triggered by route change, never on first paint */
@keyframes pageFadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.page-fade-in {
  animation: pageFadeIn 0.25s ease-out;
}

/* 404 page entrance */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(-20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up {
  animation: fadeInUp 0.4s ease-out;
}
