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

:root {
  --primary: 199 89% 48%; /* #0ea5e9 */
  --mesh-gradient: radial-gradient(at 0% 0%, hsla(199,89%,48%,0.08) 0px, transparent 50%),
                   radial-gradient(at 100% 0%, hsla(220,85%,55%,0.08) 0px, transparent 50%),
                   radial-gradient(at 100% 100%, hsla(160,75%,50%,0.08) 0px, transparent 50%),
                   radial-gradient(at 0% 100%, hsla(210,80%,50%,0.08) 0px, transparent 50%);
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background-color: #f8fafc;
  color: #0f172a;
}

h1, h2, h3, h4, h5, h6, .font-display {
  font-family: 'Space Grotesk', sans-serif;
}

/* Smooth Interactive Elements Transition */
a, button {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

a.bg-gradient-to-r:hover, button.bg-gradient-to-r:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px -10px rgba(14, 165, 233, 0.45) !important;
}

/* Premium Form Elements */
input[type="text"], input[type="email"], input[type="tel"], select, textarea {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, select:focus, textarea:focus {
  border-color: #0ea5e9 !important;
  box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.15) !important;
  outline: none !important;
}

/* Glassmorphism Components */
.glass-panel {
  background-color: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(241, 245, 249, 0.8);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.01);
}

.glass-card {
  background-color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(226, 232, 240, 0.8);
  box-shadow: 0 10px 40px -10px rgba(148, 163, 184, 0.05);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Glass Hover Spotlight Cursor Effect */
.glass-card-hover {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.glass-card-hover::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(450px circle at var(--mouse-x, 0px) var(--mouse-y, 0px), rgba(14, 165, 233, 0.06), transparent 80%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 1;
}

.glass-card-hover:hover::before {
  opacity: 1;
}

.glass-card-hover:hover {
  transform: translateY(-6px);
  border-color: rgba(14, 165, 233, 0.3);
  box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.12);
  background-color: rgba(255, 255, 255, 0.95);
}

.glass-card-hover:hover i[data-lucide] {
  transform: scale(1.1) rotate(5deg);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.bg-mesh {
  background-image: var(--mesh-gradient);
}

.text-gradient {
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  background-image: linear-gradient(135deg, #0ea5e9, #2563eb);
}

/* Drifting Ambient Background Glows */
.glowing-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.18;
  pointer-events: none;
  z-index: 0;
  animation: ambient-drift 20s infinite alternate ease-in-out;
}

@keyframes ambient-drift {
  0% { transform: translate(0px, 0px) scale(1); }
  33% { transform: translate(30px, -50px) scale(1.15); }
  66% { transform: translate(-20px, 20px) scale(0.9); }
  100% { transform: translate(0px, 0px) scale(1); }
}

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

@keyframes float-reverse {
  0% { transform: translateY(0px); }
  50% { transform: translateY(15px); }
  100% { transform: translateY(0px); }
}

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

.animate-float-reverse {
  animation: float-reverse 8s ease-in-out infinite;
}

/* Scroll Animation Transitions */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

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

.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }

/* Custom Range Sliders */
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #0ea5e9;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.4);
  transition: transform 0.15s ease, background-color 0.2s;
}

input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.2);
  background: #2563eb;
}

input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #0ea5e9;
  cursor: pointer;
  border: none;
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.4);
  transition: transform 0.15s ease, background-color 0.2s;
}

input[type="range"]::-moz-range-thumb:hover {
  transform: scale(1.2);
  background: #2563eb;
}

/* Verification Stream Ticker */
.ticker-container {
  height: 70px;
  overflow: hidden;
  position: relative;
}

.ticker-item {
  animation: ticker-slide 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes ticker-slide {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* FAQ Accoridon */
.faq-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease, margin-top 0.35s ease;
}

.faq-item.active .faq-content {
  max-height: 300px;
  opacity: 1;
  margin-top: 12px;
}

.faq-chevron {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s;
}

.faq-item.active .faq-chevron {
  transform: rotate(180deg);
  color: #0ea5e9;
}

/* Custom Scrollbars in Light Mode */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f8fafc;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 8px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Premium Tech Grid overlay */
.bg-grid {
  position: relative;
}
.bg-grid::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -10;
  pointer-events: none;
  background-size: 40px 40px;
  background-image: 
    linear-gradient(to right, rgba(14, 165, 233, 0.02) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(14, 165, 233, 0.02) 1px, transparent 1px);
  mask-image: radial-gradient(circle at center, black, transparent 80%);
  -webkit-mask-image: radial-gradient(circle at center, black, transparent 80%);
}

.input-premium-focus:focus {
  border-color: rgba(14, 165, 233, 0.5);
  box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.1);
}

/* Timeline Flow Dash Animation */
@keyframes flow-dash {
  to {
    stroke-dashoffset: -32;
  }
}

.animate-flow-dash {
  stroke-dasharray: 12 8;
  animation: flow-dash 3s linear infinite;
}
