.backdrop-blur-md {
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
}
.backdrop-blur-sm {
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
}
.backdrop-blur-xl {
  -webkit-backdrop-filter: blur(24px) !important;
  backdrop-filter: blur(24px) !important;
}
@keyframes floorExpand {
  0% { flex: 1; }
  100% { flex: 10; }
}
@keyframes floorCollapse {
  0% { flex: 10; }
  100% { flex: 1; }
}
.animate-floor-expand {
  animation: floorExpand 0.7s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.animate-floor-collapse {
  animation: floorCollapse 0.7s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes zoomIn {
  0% { opacity: 0; transform: scale(0.92); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes galleryFade {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.animate-fade-in-up { animation: fadeInUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.animate-zoom-in { animation: zoomIn 2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.animate-gallery-fade { animation: galleryFade 1.7s ease-out forwards; }
