/* Custom animations and utilities */

/* Reveal on scroll (IntersectionObserver will toggle classes) */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 600ms ease, transform 600ms ease;
}

.reveal.reveal-show {
  opacity: 1;
  transform: translateY(0);
}

/* Button subtle glow */
.btn-glow {
  box-shadow: 0 0 0 rgba(37, 99, 235, 0);
  transition: box-shadow 300ms ease;
}
.btn-glow:hover {
  box-shadow: 0 8px 24px rgba(37, 99, 235, 0.25);
}

/* Mobile menu transition */
#mobile-nav {
  transition: height 250ms ease, opacity 250ms ease;
}

/* Toast styles */
.toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  background: #111827;
  color: #fff;
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
  z-index: 1000;
}

/* Modal helper to allow scroll within content on small screens */
.modal-scroll {
  max-height: 70vh;
  overflow-y: auto;
}
