html { scroll-behavior: smooth; background: #000; }
body { -webkit-font-smoothing: antialiased; }

.glass {
  background: rgba(20,20,20,0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.08);
}

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(32px); transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity: 1; transform: none; }
.reveal-scale { opacity: 0; transform: scale(.96); transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.reveal-scale.visible { opacity: 1; transform: none; }
.delay-1 { transition-delay: .1s; }
.delay-2 { transition-delay: .2s; }
.delay-3 { transition-delay: .3s; }
.delay-4 { transition-delay: .4s; }

@keyframes colorPulse { 0%,100% { color: #fff; } 50% { color: #00C896; } }
.animate-color { animation: colorPulse 4s ease-in-out infinite; }

@keyframes floatColor {
  0%,100% { color: #fff; transform: translateY(0); }
  50% { color: #00C896; transform: translateY(-4px); }
}
.animate-float { animation: floatColor 4s ease-in-out infinite; }

@keyframes dotPulse { 0%,100% { opacity: .5; } 50% { opacity: 1; } }
.animate-dot { animation: dotPulse 2s ease-in-out infinite; }

#navbar { transition: background .4s, padding .4s, border-color .4s; }

.hover-lift { transition: transform .3s, border-color .3s, background .3s, box-shadow .3s; }
.hover-lift:hover { transform: translateY(-4px); }

.step-card .step-icon { transition: transform .4s, background .4s; }
.step-card h3 { transition: color .3s; }
.step-card:hover .step-icon { transform: scale(1.1); background: rgba(0,200,150,.1); }
.step-card:hover h3 { color: #00C896; }

#mobile-menu { display: none; }
#mobile-menu.open { display: flex; }

::selection { background: #00C896; color: #000; }

@keyframes ctaGlow {
  0%, 100% { opacity: .25; }
  50%       { opacity: .7; }
}
.cta-btn {
  position: relative;
  box-shadow: 0 8px 32px rgba(0,200,150,.25);
}
.cta-btn::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  background: #00C896;
  filter: blur(16px);
  z-index: -1;
  animation: ctaGlow 2.5s ease-in-out infinite;
}

