
/* mpg-animations.css */
@keyframes mpgScrollBob {
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(5px)}
}
@keyframes mpgFadeIn {
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes mpgFadeInLeft {
  from{opacity:0;transform:translateX(-20px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes mpgPulse {
  0%,100%{box-shadow:0 0 0 0 rgba(76,175,80,.4)}
  50%{box-shadow:0 0 0 6px rgba(76,175,80,0)}
}
@keyframes mpgFloat {
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}
@keyframes mpgCountUp {
  from{opacity:0;transform:scale(.85)}
  to{opacity:1;transform:scale(1)}
}
@keyframes mpgShimmer {
  0%{background-position:-200% 0}
  100%{background-position:200% 0}
}
@keyframes mpgRotateSlow {
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes mpgBounceIn {
  0%{transform:scale(0.5);opacity:0}
  60%{transform:scale(1.1)}
  80%{transform:scale(0.95)}
  100%{transform:scale(1);opacity:1}
}
@keyframes mpgSlideDown {
  from{opacity:0;transform:translateY(-15px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes mpgWave {
  0%{transform:rotate(0deg)}
  15%{transform:rotate(15deg)}
  30%{transform:rotate(-10deg)}
  45%{transform:rotate(12deg)}
  60%{transform:rotate(-8deg)}
  75%{transform:rotate(5deg)}
  100%{transform:rotate(0deg)}
}

/* Floating decorative shapes */
.mpg-float-shape-1 {
  position:absolute;width:400px;height:400px;
  background:radial-gradient(circle,rgba(122,158,126,.15),transparent 70%);
  border-radius:50%;top:-100px;right:-100px;pointer-events:none;
  animation:mpgFloat 8s ease-in-out infinite;
}
.mpg-float-shape-2 {
  position:absolute;width:280px;height:280px;
  background:radial-gradient(circle,rgba(184,148,63,.1),transparent 70%);
  border-radius:50%;bottom:50px;left:-80px;pointer-events:none;
  animation:mpgFloat 11s ease-in-out infinite reverse;
}
.mpg-float-shape-3 {
  position:absolute;width:200px;height:200px;
  background:radial-gradient(circle,rgba(253,250,246,.08),transparent 70%);
  border-radius:50%;top:40%;right:5%;pointer-events:none;
  animation:mpgFloat 7s ease-in-out infinite 2s;
}

/* Hero floating paw prints */
.mpg-hero-paw-decor {
  position:absolute;right:8%;top:25%;z-index:2;opacity:.12;
  animation:mpgFloat 6s ease-in-out infinite;
}

/* Animated underline on headings */
.mpg-animated-underline {
  position:relative;display:inline-block;
}
.mpg-animated-underline::after {
  content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;
  background:var(--mpg-gold);transform:scaleX(0);transform-origin:left;
  transition:transform .5s cubic-bezier(.4,0,.2,1);
}
.mpg-animated-underline:hover::after,
.mpg-animated-underline.mpg-underline-visible::after {
  transform:scaleX(1);
}

/* Hover lift */
.mpg-hover-lift{transition:var(--mpg-transition)}
.mpg-hover-lift:hover{transform:translateY(-5px);box-shadow:var(--mpg-shadow-lg)}

/* Loading skeleton shimmer */
.mpg-skeleton {
  background:linear-gradient(90deg,#f0ebe3 25%,#e8e1d8 50%,#f0ebe3 75%);
  background-size:200% 100%;
  animation:mpgShimmer 1.5s infinite;
  border-radius:var(--mpg-radius-sm);
}

/* Animate stats counter */
.mpg-stat-number.mpg-counting {
  animation:mpgCountUp .8s cubic-bezier(.4,0,.2,1);
}

/* Parallax section decoration */
.mpg-parallax-bg {
  will-change:transform;
}

/* SVG wave dividers */
.mpg-wave-top-cream svg path{fill:var(--mpg-cream)}
.mpg-wave-top-beige svg path{fill:var(--mpg-beige)}
.mpg-wave-top-white svg path{fill:var(--mpg-warm-white)}
.mpg-wave-top-forest svg path{fill:var(--mpg-forest-deep)}

/* Pulsing CTA */
.mpg-btn-pulse {
  animation:mpgPulse 2.5s ease-in-out infinite;
}

/* Stagger children */
.mpg-stagger-children > * {
  opacity:0;animation:mpgFadeIn .5s ease forwards;
}
.mpg-stagger-children > *:nth-child(1){animation-delay:.05s}
.mpg-stagger-children > *:nth-child(2){animation-delay:.15s}
.mpg-stagger-children > *:nth-child(3){animation-delay:.25s}
.mpg-stagger-children > *:nth-child(4){animation-delay:.35s}
.mpg-stagger-children > *:nth-child(5){animation-delay:.45s}
.mpg-stagger-children > *:nth-child(6){animation-delay:.55s}

/* Mobile nav animation */
.mpg-nav-hamburger.mpg-ham-open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.mpg-nav-hamburger.mpg-ham-open span:nth-child(2){opacity:0;transform:translateX(-10px)}
.mpg-nav-hamburger.mpg-ham-open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Waving paw emoji */
.mpg-paw-wave {
  display:inline-block;
  animation:mpgWave 2.5s ease infinite;
  transform-origin:70% 70%;
}

/* Image reveal on scroll */
.mpg-img-reveal {
  overflow:hidden;border-radius:var(--mpg-radius-md);
}
.mpg-img-reveal img {
  transform:scale(1.12);transition:transform .9s cubic-bezier(.4,0,.2,1);
}
.mpg-img-reveal.mpg-revealed img {
  transform:scale(1);
}
