  /* Custom animations */
  @keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
  }
  @keyframes float-delay {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-8px); }
  }
  @keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .animate-float { animation: float 4s ease-in-out infinite; }
  .animate-float-delay { animation: float-delay 5s ease-in-out infinite 1s; }
  .animate-fade-in-up { animation: fadeInUp 0.8s ease-out forwards; }

  /* Scroll-triggered animations */
  .reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease, transform 0.8s ease; }
  .reveal.visible { opacity: 1; transform: translateY(0); }

  /* Nav scroll state */
  #nav.scrolled { background: rgba(255,255,255,0.95); backdrop-blur-lg; box-shadow: 0 1px 20px rgba(107,58,110,0.08); }

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

  /* Custom scrollbar */
  ::-webkit-scrollbar { width: 8px; }
  ::-webkit-scrollbar-track { background: #F9F3FB; }
  ::-webkit-scrollbar-thumb { background: #D49DD9; border-radius: 4px; }
  ::-webkit-scrollbar-thumb:hover { background: #C072C4; }
