  /* Scroll Reveal Animations */
  .reveal-up, .reveal-left, .reveal-right {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s ease, transform 0.7s ease;
  }
  .reveal-left {
    transform: translateX(-30px);
  }
  .reveal-right {
    transform: translateX(30px);
  }
  .reveal-up.visible, .reveal-left.visible, .reveal-right.visible {
    opacity: 1;
    transform: translate(0, 0);
  }

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

  /* Navbar scroll state */
  header.scrolled {
    background: rgba(253, 248, 240, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 20px rgba(4, 120, 87, 0.08);
  }

  /* Mobile menu animation */
  #mobile-menu.open {
    opacity: 1;
    pointer-events: all;
  }
  #mobile-menu.open .mobile-link {
    animation: fadeUp 0.4s ease forwards;
    opacity: 0;
  }
  #mobile-menu.open .mobile-link:nth-child(1) { animation-delay: 0.05s; }
  #mobile-menu.open .mobile-link:nth-child(2) { animation-delay: 0.1s; }
  #mobile-menu.open .mobile-link:nth-child(3) { animation-delay: 0.15s; }
  #mobile-menu.open .mobile-link:nth-child(4) { animation-delay: 0.2s; }
  #mobile-menu.open .mobile-link:nth-child(5) { animation-delay: 0.25s; }

  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* Hamburger animation */
  #menu-toggle.active .menu-line:nth-child(1) {
    transform: rotate(45deg) translate(4px, 4px);
  }
  #menu-toggle.active .menu-line:nth-child(2) {
    opacity: 0;
  }
  #menu-toggle.active .menu-line:nth-child(3) {
    transform: rotate(-45deg) translate(4px, -4px);
    width: 1.25rem;
  }

  /* Subtle hover lift for cards */
  .group img {
    transition: transform 0.5s ease;
  }
  .group:hover img {
    transform: scale(1.05);
  }

  /* Selection color */
  ::selection {
    background: #D1FAE5;
    color: #064E3B;
  }
</style>
