@keyframes cta-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.45); }
  70% { box-shadow: 0 0 0 12px rgba(37, 99, 235, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0); }
}

.animate-cta-pulse {
  animation: cta-pulse 2.2s ease-out infinite;
}

@keyframes btn-glow {
  0%, 100% { box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35); }
  50% { box-shadow: 0 4px 22px rgba(37, 99, 235, 0.55); }
}

.animate-quote-pulse {
  animation: btn-glow 2s ease-in-out infinite;
}

#navToggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#navToggle.is-open span:nth-child(2) { opacity: 0; }
#navToggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

#stickyNav.nav-scrolled {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border-color: rgb(226 232 240);
}

.touch-target {
  min-height: 48px;
  min-width: 48px;
}

.svc-icon {
  display: inline-flex;
  width: 1.75rem;
  height: 1.75rem;
  color: #1e40af;
}

.ba-grid img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  border-radius: 0.5rem;
}
