@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root {
  --color-slate-900: #0f172a;
  --color-slate-800: #1e293b;
  --color-indigo-600: #4f46e5;
  --color-teal-500: #14b8a6;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: var(--color-slate-900);
  color: #f8fafc;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  letter-spacing: -0.02em;
}

/* Glassmorphism utility */
.glass {
  background: rgba(30, 41, 59, 0.4);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.glass-nav {
  background: rgba(15, 23, 42, 0.8);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Gradients */
.text-gradient {
  background: linear-gradient(to right, #818cf8, #2dd4bf);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.bg-gradient-primary {
  background: linear-gradient(135deg, var(--color-indigo-600), var(--color-teal-500));
}

/* Subtle glow effects behind elements */
.glow-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  z-index: -1;
  opacity: 0.3;
}

.glow-indigo {
  background-color: var(--color-indigo-600);
}

.glow-teal {
  background-color: var(--color-teal-500);
}

/* Animations */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hover micro-interactions */
.hover-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
}

/* Pricing banner pulse */
@keyframes pulse-border {
  0% { border-color: rgba(99, 102, 241, 0.3); box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.2); }
  50% { border-color: rgba(99, 102, 241, 0.8); box-shadow: 0 0 0 10px rgba(99, 102, 241, 0); }
  100% { border-color: rgba(99, 102, 241, 0.3); box-shadow: 0 0 0 0 rgba(99, 102, 241, 0); }
}

.promo-banner {
  animation: pulse-border 2s infinite;
  border: 1px solid rgba(99, 102, 241, 0.3);
}
