/* =========================================================
   ANIMATIONS
   ========================================================= */

/* scroll reveal */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal-delay-1.in{ transition-delay:.1s; }
.reveal-delay-2.in{ transition-delay:.2s; }
.reveal-delay-3.in{ transition-delay:.3s; }
.reveal-delay-4.in{ transition-delay:.4s; }
.reveal-delay-5.in{ transition-delay:.5s; }
.reveal-delay-6.in{ transition-delay:.6s; }

/* fade up variant for hero (auto on load) */
@keyframes fadeUp{
  from{ opacity:0; transform:translateY(24px); }
  to{ opacity:1; transform:translateY(0); }
}
.hero-eyebrow{ animation:fadeUp .8s ease both; }
.hero h1{ animation:fadeUp .9s ease .1s both; }
.hero .hindi-line{ animation:fadeUp .9s ease .2s both; }
.hero p.lede{ animation:fadeUp .9s ease .3s both; }
.hero-ctas{ animation:fadeUp .9s ease .4s both; }
.hero-stats{ animation:fadeUp .9s ease .5s both; }
.hero-visual{ animation:fadeUp 1.1s ease .3s both; }

/* leaf-vein unfurl (signature motif) */
.leaf-divider path{
  stroke-dasharray:340;
  stroke-dashoffset:340;
  animation:unfurl 1.6s ease forwards;
}
.leaf-divider.in path{ animation-play-state:running; }
@keyframes unfurl{ to{ stroke-dashoffset:0; } }

/* floating ambient leaves in hero */
.leaf-float{ animation:drift 14s ease-in-out infinite; }
.leaf-float:nth-child(odd){ animation-duration:18s; animation-direction:reverse; }
@keyframes drift{
  0%{ transform:translate(0,0) rotate(0deg); }
  50%{ transform:translate(-14px,-26px) rotate(12deg); }
  100%{ transform:translate(0,0) rotate(0deg); }
}

/* card hover lift already in style.css via transform; add icon pulse */
@keyframes pulseSoft{
  0%,100%{ box-shadow:0 0 0 0 rgba(198,148,54,.35); }
  50%{ box-shadow:0 0 0 10px rgba(198,148,54,0); }
}
.fab-call{ animation:pulseSoft 2.6s ease-in-out infinite; }

/* counter number pop handled via JS incrementing text; add subtle scale-in */
@keyframes popIn{ from{ opacity:0; transform:scale(.85); } to{ opacity:1; transform:scale(1); } }
.stat-item.in b{ animation:popIn .5s ease both; }

/* image zoom on hover for placeholders / thumbnails */
.zoom-wrap{ overflow:hidden; border-radius:var(--radius-md); }
.zoom-wrap .ph{ transition:transform .6s ease; }
.zoom-wrap:hover .ph{ transform:scale(1.06); }

/* scroll cue bounce */
@keyframes bounceCue{ 0%,100%{ transform:translate(-50%,0); opacity:.5; } 50%{ transform:translate(-50%,8px); opacity:1; } }
.scroll-cue{ animation:bounceCue 2.2s ease-in-out infinite; }

/* accordion icon rotate handled inline; add smooth open */
.acc-body{ transition:max-height .45s cubic-bezier(.4,0,.2,1); }

/* respect reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
