/* ==========================================================================
   INQUOTES ANIMATIONS & KINETIC STYLINGS
   ========================================================================== */

/* Morphing Blob Animation */
@keyframes morphing-blob {
  0% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
  50% { border-radius: 50% 50% 30% 70% / 50% 60% 40% 50%; }
  100% { border-radius: 70% 30% 50% 50% / 30% 70% 50% 70%; }
}

.decorative-blob {
  animation: morphing-blob 12s infinite alternate ease-in-out;
}

/* Spinner Animation */
@keyframes spinner {
  to { transform: rotate(360deg); }
}

.btn-loader {
  animation: spinner 0.8s linear infinite;
}

/* Loading Bar Animation */
@keyframes loading-animation {
  0% { width: 0%; }
  100% { width: 100%; }
}

.loader-bar {
  animation: loading-animation 1.5s cubic-bezier(0.65, 0.05, 0.36, 1) forwards;
}

/* Morphing Scale Up */
@keyframes scale-up {
  0% { transform: scale(0.5); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.success-icon-container {
  animation: scale-up 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

/* Reusable Glass Light Sweep Effect */
.service-card, .metric-card, .visual-quotes-card, .footer-quote-widget, .contact-form-wrapper, .btn, .filter-btn {
  position: relative;
  overflow: hidden;
}

.service-card::before, .metric-card::before, .visual-quotes-card::before, .footer-quote-widget::before, .contact-form-wrapper::before, .btn::before, .filter-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(35, 185, 163, 0.15), transparent);
  transition: left 0.6s ease;
  pointer-events: none;
  z-index: 5;
}

.service-card:hover::before, .metric-card:hover::before, .visual-quotes-card:hover::before, .footer-quote-widget:hover::before, .contact-form-wrapper:hover::before, .btn:hover::before, .filter-btn:hover::before {
  left: 100%;
}
