/* =========================================================
    Hide reCAPTCHA v3 badge 
========================================================= */
.grecaptcha-badge {
  visibility: hidden;
}

.recaptcha-info {
  font-size: 14px;
}


/* Progress bar on top */
#scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 4px;
  width: 0%;
  z-index: 9999;
  background: linear-gradient(90deg, var(--primary), var(--accent));
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: width 0.05s linear;
}

/* Reduce motion for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {

  .animate-fadeIn,
  .animate-fadeInUp,
  .animate-blob,
  .animate-blob-delayed,
  .animate-blob-slow,
  .group,
  #typewriter {
    transition: none !important;
    animation: none !important;
  }
}

/* Mobile performance fallback: turn off heavy parallax */
@media (max-width: 768px) {

  .animate-blob,
  .animate-blob-delayed,
  .animate-blob-slow {
    display: none;
  }
}

/* Optional: smooth anchor jumps */
html {
  scroll-behavior: smooth;
}

/* Typewriter placeholder sizing */
#typewriter {
  min-height: 2rem;
}

/* Minor tweak for services cards to avoid transform layout shift */
#services .group {
  transform: translateZ(0);
  will-change: transform, opacity;
}