body { font-family: 'Manrope', sans-serif; }
.glass-nav { backdrop-filter: blur(12px); background-color: rgba(255, 255, 255, 0.9); border-bottom: 1px solid rgba(10, 25, 47, 0.05); }
.dark .glass-nav { background-color: rgba(10, 25, 47, 0.9); border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
.map-marker {
    animation: pulse-green 2s infinite;
}
.map-dots {
    background-image: radial-gradient(rgba(11, 18, 32, 0.2) 1.5px, transparent 1.5px);
    background-size: 24px 24px;
}

/* Utilities for automation page details/summary animation */
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }

/* Custom keyframes definition for the SVG map markers since tailwind config sometimes misses inline SVG contexts */
@keyframes pulse-green {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(0, 255, 136, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(0, 255, 136, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(0, 255, 136, 0); }
}

/* Logo dots for Contact page */
.logo-dots {
  position: absolute;
  right: -0.25rem;
  top: -0.125rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background-color: #F47920;
}
.logo-dots::after {
  content: '';
  position: absolute;
  bottom: -0.75rem;
  right: 0.125rem;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  background-color: rgba(244, 121, 32, 0.8);
}

/* Hero mesh gradient animation */
@keyframes mesh-shift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.hero-mesh-bg {
  background: linear-gradient(
    135deg,
    rgba(0, 255, 136, 0.04) 0%,
    rgba(10, 25, 47, 0) 30%,
    rgba(244, 121, 32, 0.03) 70%,
    rgba(0, 255, 136, 0.04) 100%
  );
  background-size: 400% 400%;
  animation: mesh-shift 8s ease-in-out infinite;
}

/* CTABanner animated gradient */
@keyframes banner-sweep {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.cta-animated-bg {
  background: linear-gradient(
    135deg,
    #00ff88,
    #6eff4e,
    #00e5ff,
    #00ff88
  );
  background-size: 300% 300%;
  animation: banner-sweep 6s ease-in-out infinite;
}
