/* Layout 2 — light garden green + subtle rain-dot texture */
.layout-b-bg {
  background-color: #e8f3ea;
  background-image:
    radial-gradient(ellipse 110% 70% at 8% -5%, rgba(167, 214, 178, 0.38) 0%, transparent 52%),
    radial-gradient(ellipse 90% 55% at 92% 12%, rgba(134, 192, 150, 0.24) 0%, transparent 48%),
    radial-gradient(ellipse 85% 50% at 50% 105%, rgba(200, 230, 205, 0.42) 0%, transparent 46%),
    radial-gradient(circle, rgba(74, 124, 86, 0.09) 1.4px, transparent 1.6px),
    radial-gradient(circle, rgba(120, 170, 130, 0.05) 0.9px, transparent 1.1px);
  background-size: 100% 100%, 100% 100%, 100% 100%, 26px 30px, 13px 17px;
  background-position: 0 0, 0 0, 0 0, 0 0, 8px 12px;
  background-attachment: fixed;
}

.layout-b-bg .border-slate-100 {
  border-color: rgba(167, 214, 178, 0.55);
}

.layout-b-bg .border-slate-200 {
  border-color: rgba(167, 214, 178, 0.65);
}

@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(45, 90, 55, 0.08);
  border-color: rgba(167, 214, 178, 0.75);
  background: rgba(247, 252, 249, 0.96);
}

#stickyNav.nav-scrolled .nav-logo,
#stickyNav.nav-scrolled .nav-bar { color: rgb(15 23 42); background-color: rgb(15 23 42); }

#stickyNav.nav-scrolled .nav-anchor { color: rgb(15 23 42); }

.touch-target {
  min-height: 48px;
  min-width: 48px;
}

.svc-icon {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  color: #ea580c;
}

.ba-grid img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  border-radius: 0.375rem;
}
