/**
 * EMERGENT / WOW ENHANCEMENTS
 */

/* =========================================
   SCROLL PROGRESS BAR
   ========================================= */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent-cobalt) 0%, #93C5FD 60%, #60A5FA 100%);
  z-index: 2000;
  width: 0%;
  transition: width 0.1s linear;
  box-shadow: 0 0 20px var(--accent-cobalt-glow);
}

/* =========================================
   NOISE / GRAIN TEXTURE OVERLAY
   ========================================= */
.noise-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 5000;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 256px 256px;
}

/* =========================================
   ENHANCED MAGNETIC EFFECT
   ========================================= */
.magnetic-btn {
  transition: transform 0.15s ease-out;
}

.magnetic-btn:hover {
  animation: magneticFloat 0.4s ease-out;
}

@keyframes magneticFloat {
  0% { transform: translateY(0); }
  40% { transform: translateY(-4px); }
  100% { transform: translateY(-3px); }
}

/* =========================================
   ENHANCED REVEAL WITH DRAMATIC SCALE
   ========================================= */
@keyframes revealUpDramatic {
  from {
    opacity: 0;
    transform: translateY(40px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* =========================================
   HERO DYNAMIC GRADIENT (mouse-driven via JS)
   ========================================= */
.hero-dynamic-glow {
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.2) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

/* =========================================
   ENHANCED IMAGE REVEAL WITH SCALE
   ========================================= */
.hero-image-wrapper:hover .hero-portrait {
  transform: scale(1.04);
}

/* =========================================
   GLOW EFFECT ON CARDS
   ========================================= */
.expertise-card:hover,
.cert-card:hover,
.work-item:hover {
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.15), 0 20px 60px rgba(59, 130, 246, 0.08);
}

/* =========================================
   ENHANCED COUNTER ANIMATION
   ========================================= */
@keyframes countUpDramatic {
  from {
    opacity: 0;
    transform: translateY(15px) scale(0.95);
  }
  50% {
    opacity: 1;
    transform: translateY(-5px) scale(1.05);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* =========================================
   REDUCED MOTION
   ========================================= */
@media (prefers-reduced-motion: reduce) {
  .scroll-progress,
  .noise-overlay,
  .hero-dynamic-glow {
    display: none !important;
  }
}
