/* ── Custom animations & utilities ── */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-18px); }
}
@keyframes float-delay {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
}
.animate-float { animation: float 6s ease-in-out infinite; }
.animate-float-delay { animation: float-delay 8s ease-in-out infinite; }

/* ── Smooth scroll ── */
html { scroll-behavior: smooth; }

/* ── Selection ── */
::selection { background: rgba(15, 118, 110, 0.2); }

/* ── Mobile menu transitions ── */
#mobile-menu { transition: max-height 0.3s ease, opacity 0.3s ease; }
#mobile-menu.hidden { max-height: 0; opacity: 0; overflow: hidden; }
#mobile-menu:not(.hidden) { max-height: 400px; opacity: 1; }

/* ── Scroll reveal ── */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Form focus ring fix for Safari ── */
select:focus {
  background-image: none;
}

/* ── Subtle hover lift for cards ── */
.group:hover { transform: translateY(-2px); }
