/* Custom Styles for Vocalis AI Enterprise Landing */
:root {
  --primary: #2563EB;
  --primary-hover: #1D4ED8;
  --navy-950: #070C1E;
  --navy-900: #0B132B;
  --navy-800: #1C2541;
  --slate-50: #F8FAFC;
  --slate-100: #F1F5F9;
  --slate-200: #E2E8F0;
  --slate-800: #1E293B;
  --cyan-500: #0EA5E9;
  --emerald-500: #10B981;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

h1, h2, h3, .font-heading, .metric-number {
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  letter-spacing: -0.028em;
}

@keyframes pulse-slow {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.05); }
}

@keyframes wave-bar {
  0%, 100% { height: 4px; }
  50% { height: 28px; }
}

@keyframes float-badge {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

.animate-pulse-slow {
  animation: pulse-slow 3s infinite ease-in-out;
}

.animate-float {
  animation: float-badge 3.5s infinite ease-in-out;
}

/* Custom waveform animation bars */
.wave-bar {
  transition: height 0.08s ease;
}

/* Range input styling */
input[type=range] {
  -webkit-appearance: none;
  width: 100%;
  background: transparent;
}
input[type=range]:focus {
  outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 8px;
  cursor: pointer;
  background: #E2E8F0;
  border-radius: 9999px;
}
input[type=range]::-webkit-slider-thumb {
  height: 22px;
  width: 22px;
  border-radius: 50%;
  background: #2563EB;
  cursor: grab;
  -webkit-appearance: none;
  margin-top: -7px;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4);
  border: 3px solid #FFFFFF;
  transition: transform 0.15s, background-color 0.15s;
}
input[type=range]::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  background: #1D4ED8;
}
input[type=range]::-webkit-slider-thumb:active {
  cursor: grabbing;
  transform: scale(1.1);
}

/* Grid background subtle effect */
.bg-grid-pattern {
  background-size: 32px 32px;
  background-image: 
    linear-gradient(to right, rgba(226, 232, 240, 0.6) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(226, 232, 240, 0.6) 1px, transparent 1px);
}

.dark-grid-pattern {
  background-size: 28px 28px;
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
}

/* Glassmorphism cards */
.glass-panel {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(226, 232, 240, 0.8);
}

.dark-glass-panel {
  background: rgba(15, 23, 42, 0.75);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}
::-webkit-scrollbar-track {
  background: #F1F5F9;
}
::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94A3B8;
}
