/* Non-critical CSS */
.wa-float:hover { 
  transform: translateY(-3px) scale(1.02); 
  box-shadow: 0 16px 40px rgba(6,95,70,.22); 
}
.wa-icon { 
  width:28px; height:28px; 
  display:inline-flex; 
  align-items:center; 
  justify-content:center; 
  flex:0 0 28px; 
}

/* Animations */
.reveal { 
  opacity:0; 
  transform: translateY(10px); 
  transition: all .6s cubic-bezier(.2,.9,.2,1); 
}
.reveal.show { 
  opacity:1; 
  transform: translateY(0); 
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
}

.animate-on-scroll.animated {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile menu animation */
.mobile-menu {
  transform: translateY(-10px);
  opacity: 0;
  transition: all 0.3s ease;
}

.mobile-menu.open {
  transform: translateY(0);
  opacity: 1;
}

/* Gallery carousel */
.gallery-slide {
  display: none;
}

.gallery-slide.active {
  display: block;
}

.galeri-dot.active {
  background-color: #0f172a;
}