html {
  scroll-behavior: smooth;
}
.glass-card {
  background: rgba(25, 25, 25, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}
.glow-cyan { text-shadow: 0 0 15px rgba(0, 240, 255, 0.7); }
.glow-green { text-shadow: 0 0 15px rgba(165, 255, 60, 0.7); }
.neon-border-cyan { border: 1px solid rgba(0, 240, 255, 0.3); box-shadow: 0 0 15px rgba(0, 240, 255, 0.1); }
.neon-border-green { border: 1px solid rgba(165, 255, 60, 0.3); box-shadow: 0 0 15px rgba(165, 255, 60, 0.1); }
.kinetic-bg {
  background-image: repeating-linear-gradient(45deg, transparent, transparent 40px, rgba(0, 240, 255, 0.05) 40px, rgba(0, 240, 255, 0.05) 41px);
}
.custom-logo-font {
  font-family: 'Orbitron', 'Exo 2', sans-serif;
  letter-spacing: 0.15em;
}
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Orbitron', 'Exo 2', sans-serif !important;
}
.bg-fixed-tech {
  background-image: linear-gradient(rgba(14, 14, 14, 0.9), rgba(14, 14, 14, 0.9)), url('https://lh3.googleusercontent.com/aida-public/AB6AXuBQv4-63_KNINGC2OMZ5l0UEtjW93h7jilfVyaVEXdWT5A79G6AV8clHHxFQGrqx0uRuFbCFawaKwNINiDH0pQ0sljo-ZuRpoqkrvMyx94-MjdOqB2BkZbKlWSgKgcX6uHQquDRpo4bWJu2Sxj3A6flKBeoZy5x9bSezTBZy05rmxaCEvdpGwQ7mR_2t5axJlaYjW68KzbPOp6-eFBmKItmBAP57WnRwLs8ubXIiBnHu7W9v0sa-YK54UCVRHBB74go22ZfhYddZZc');
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}

@keyframes progress {
  0% { width: 0%; }
  100% { width: 100%; }
}

/* Modern reveal scroll animations */
.reveal {
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform;
}
.reveal-left {
  opacity: 0;
  transform: translateX(-45px);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform;
}
.reveal-right {
  opacity: 0;
  transform: translateX(45px);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform;
}
.reveal-scale {
  opacity: 0;
  transform: scale(0.95) translateY(25px);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform;
}
.revealed {
  opacity: 1 !important;
  transform: translate(0) scale(1) !important;
}

/* Snappy and responsive hover transitions once revealed */
.reveal.revealed:hover,
.reveal-left.revealed:hover,
.reveal-right.revealed:hover,
.reveal-scale.revealed:hover {
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Staggered delay helpers */
.delay-75 { transition-delay: 75ms !important; }
.delay-100 { transition-delay: 100ms !important; }
.delay-150 { transition-delay: 150ms !important; }
.delay-200 { transition-delay: 200ms !important; }
.delay-300 { transition-delay: 300ms !important; }
.delay-450 { transition-delay: 450ms !important; }
.delay-600 { transition-delay: 600ms !important; }
