/* Minimal helpers layered on Tailwind ---------------------------------- */

.nav-link {
  @apply text-sm font-medium transition;
}
.menu-item {
  @apply block px-3 py-2 rounded-lg text-slate-700 hover:bg-slate-100 transition;
}

.btn-primary {
  @apply inline-flex items-center justify-center rounded-full px-5 py-3 font-semibold text-white bg-brand hover:bg-brand/90 shadow-card transition;
}
.btn-ghost {
  @apply inline-flex items-center justify-center rounded-full px-5 py-3 font-semibold border bg-white/80 text-slate-800 transition;
}

.glass {
  /* translucent “glass” card used in hero */
  @apply max-w-4xl rounded-3xl border border-white/20 bg-white/15 backdrop-blur px-6 py-6 sm:px-8 sm:py-8 shadow-card;
}

/* Trust items */
.trust-card {
  @apply flex items-center gap-3 rounded-2xl border border-slate-200 bg-white p-4 shadow-card;
}
.trust-icon {
  @apply text-brand text-2xl;
}
.trust-title {
  @apply font-semibold text-slate-900;
}
.trust-sub {
  @apply text-slate-600 text-sm;
}

/* Service card */
.service-card {
  @apply rounded-2xl border border-slate-200 bg-white shadow-card hover:shadow-cardLg transition;
}
.service-card img {
  transition:
    transform 0.6s ease,
    opacity 0.6s ease;
}
.service-card:hover img {
  transform: scale(1.05);
}

/* Numbers section */
.metric-card {
  @apply rounded-2xl border border-slate-200 bg-white p-6 text-center shadow-card;
}
.metric-value {
  @apply block text-4xl sm:text-5xl font-extrabold bg-gradient-to-r from-brand to-skyish bg-clip-text text-transparent;
}
.metric-label {
  @apply mt-1 text-slate-600;
}

/* Why choose */
.why-card {
  @apply rounded-2xl border border-slate-200 bg-white p-5 shadow-card hover:border-brand/40 hover:bg-brand/5 transition flex items-start gap-3;
}
.why-icon {
  @apply text-xl;
}
.why-title {
  @apply text-lg font-semibold text-slate-900 transition;
}
.why-text {
  @apply text-slate-600;
}

/* Testimonials */
.tcard {
  @apply min-w-[280px] max-w-[320px] rounded-2xl border border-slate-200 bg-white p-4 shadow-card cursor-pointer transition hover:shadow-cardLg;
}

/* Image reveal (subtle animation) */
.reveal-img {
  opacity: 0;
  transform: translateY(10px) scale(1.01);
}
.reveal-img.show {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
}

/* Footer bits */
.foot-head {
  @apply text-white font-semibold mb-2;
}
.foot-list li + li {
  @apply mt-2;
}
.foot-list a {
  @apply text-slate-400 hover:text-white transition;
}

.share-btn {
  @apply inline-flex items-center rounded-full bg-white/10 text-slate-200 px-3 py-1 text-sm border border-white/15 hover:bg-white/15 transition;
}

/* Back to top visibility class */
#backToTop.show {
  display: grid;
}
