/* Supplementary styles beyond Tailwind's CDN utility set */

:root {
  --brand-blue: #1d4ed8;
  --brand-cyan: #06b6d4;
}

html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; }
h1, h2, h3, h4, .font-display { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }

/* Glassmorphism card */
.glass-card {
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.4);
}

/* Fade/slide-up entrance animation, triggered via .in-view (see main.js) */
.fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.fade-up.in-view { opacity: 1; transform: translateY(0); }

/* Soft gradient background blobs used behind hero/CTA sections */
.gradient-blob {
  position: absolute;
  border-radius: 9999px;
  filter: blur(80px);
  opacity: 0.35;
  z-index: 0;
}

/* Loader spinner */
.loader {
  border: 3px solid rgba(0,0,0,0.1);
  border-top-color: var(--brand-blue);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Testimonials/blog card hover lift */
.hover-lift { transition: transform .25s ease, box-shadow .25s ease; }
.hover-lift:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -12px rgba(15,23,42,0.15); }

/* Line clamp utility (fallback for browsers without Tailwind plugin) */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Print styles for e.g. quote summaries */
@media print {
  header, footer, .no-print { display: none !important; }
}
