html {
  scroll-behavior: smooth;
}

/* Mobile nav toggle */
#mobile-nav.open {
  display: flex;
}

/* Active section link */
.nav-link.active {
  color: #ec6507;
}

/* Sticky CTA hide state */
#sticky-cta.cta-hidden {
  transform: translateY(120%);
}

/* Pulse animation on the primary CTA */
@keyframes cta-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(236, 101, 7, 0.45);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(236, 101, 7, 0);
  }
}
.cta-pulse {
  animation: cta-pulse 2.2s ease-out infinite;
}

/* Lightbox */
#lightbox.open {
  display: flex;
}

/* Toast */
#toast.show {
  display: block;
  animation: toast-in 0.25s ease-out;
}
@keyframes toast-in {
  from {
    opacity: 0;
    transform: translate(-50%, 8px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
