/* Scroll reveal (fade + translateY) */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.16,.8,.24,1);
  transition-delay: var(--reveal-delay, 0s);
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Word-by-word text reveal */
.word-reveal .word {
  display: inline-block;
  opacity: 0;
  transform: translateY(.4em);
  transition: opacity .55s cubic-bezier(.16,.8,.24,1), transform .55s cubic-bezier(.16,.8,.24,1);
  transition-delay: var(--word-delay, 0s);
}
.word-reveal.is-visible .word {
  opacity: 1;
  transform: translateY(0);
}

/* Navbar scrolled state */
#site-header {
  transition: box-shadow .35s ease, background-color .35s ease;
}
#site-header.is-scrolled {
  box-shadow: 0 6px 24px rgba(4,50,69,.1);
  background: rgba(255,255,255,.98) !important;
}

/* Card hover elevation */
.hover-card {
  transition: transform .3s cubic-bezier(.16,.8,.24,1), box-shadow .3s cubic-bezier(.16,.8,.24,1);
}
.hover-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(4,50,69,.14);
}

/* Button / CTA hover */
.btn-anim {
  transition: transform .25s cubic-bezier(.16,.8,.24,1), box-shadow .25s ease, background-color .25s ease, border-color .25s ease;
}
.btn-anim:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 10px 26px rgba(4,50,69,.35);
}
.btn-anim:active {
  transform: translateY(0) scale(.98);
}
.btn-anim-outline:hover {
  box-shadow: 0 8px 22px rgba(4,50,69,.12);
}

/* Floating WhatsApp button */
.fab-anim {
  transition: transform .25s cubic-bezier(.16,.8,.24,1), box-shadow .25s ease;
}
.fab-anim:hover {
  transform: scale(1.08);
  box-shadow: 0 14px 34px rgba(4,50,69,.4);
}

/* Subtle parallax */
.parallax-el {
  will-change: transform;
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .reveal, .word-reveal .word {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  #site-header, .hover-card, .btn-anim, .btn-anim-outline, .fab-anim {
    transition: none !important;
  }
  .hover-card:hover, .btn-anim:hover, .fab-anim:hover {
    transform: none !important;
  }
  .parallax-el {
    transform: none !important;
  }
}
