/* ==========================================================================
   VR Bird Netting Services — Subtle Motion
   Kept minimal and deliberate: one on-load reveal per section, hover
   micro-interactions, and a gentle image zoom. Respects reduced motion.
   ========================================================================== */

.reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.in-view{
  opacity: 1;
  transform: translateY(0);
}

/* stagger children of a revealed group slightly */
.reveal-group.in-view > *{
  animation: fadeUp .55s ease forwards;
}
.reveal-group.in-view > *:nth-child(1){ animation-delay: 0s; }
.reveal-group.in-view > *:nth-child(2){ animation-delay: .06s; }
.reveal-group.in-view > *:nth-child(3){ animation-delay: .12s; }
.reveal-group.in-view > *:nth-child(4){ animation-delay: .18s; }
.reveal-group.in-view > *:nth-child(5){ animation-delay: .24s; }
.reveal-group.in-view > *:nth-child(6){ animation-delay: .30s; }
.reveal-group.in-view > *:nth-child(7){ animation-delay: .36s; }
.reveal-group.in-view > *:nth-child(8){ animation-delay: .42s; }

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

/* Pulse ring on the WhatsApp floating button to draw the eye, once */
.float-btn.whatsapp::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border: 2px solid #25D366;
  animation: pulseRing 2.4s ease-out 1s 2;
}
.float-actions{ position: fixed; }
.float-btn{ position: relative; }

@keyframes pulseRing{
  0%{ transform: scale(1); opacity: .7; }
  100%{ transform: scale(1.6); opacity: 0; }
}

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-group > *{
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .float-btn.whatsapp::before{ animation: none !important; display:none; }
  html{ scroll-behavior: auto; }
}
