/* Scroll-reveal animation */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

[data-animate] {
  opacity: 0;
}

[data-animate].is-visible {
  animation: fadeUp 0.6s ease-out forwards;
}

/* Staggered delays for grid children */
[data-animate-delay="1"] { animation-delay: 0.1s; }
[data-animate-delay="2"] { animation-delay: 0.2s; }
[data-animate-delay="3"] { animation-delay: 0.3s; }
[data-animate-delay="4"] { animation-delay: 0.4s; }

/* Smooth hover transitions */
.hover-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

/* Grayscale logo strip */
.logo-grayscale {
  filter: grayscale(100%);
  opacity: 0.5;
  transition: filter 0.3s ease, opacity 0.3s ease;
}
.logo-grayscale:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* Mobile menu transition */
#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
#mobile-menu.open {
  max-height: 400px;
}

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

/* Nav backdrop */
.nav-blur {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
