/* ═══════════════════════════════════════════════
   ANIMATIONS
   ═══════════════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes progGrow{from{width:0}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes barGrow{from{height:0}}

/* ─── Scroll-reveal ─── */
@keyframes revealUp{
  from{opacity:0;transform:translateY(40px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes revealLeft{
  from{opacity:0;transform:translateX(-40px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes revealRight{
  from{opacity:0;transform:translateX(40px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes revealScale{
  from{opacity:0;transform:scale(.88)}
  to{opacity:1;transform:scale(1)}
}

/* ─── Levitação suave para cards ─── */
@keyframes levitate{
  0%,100%{transform:translateY(0) rotate(0deg)}
  33%{transform:translateY(-9px) rotate(.4deg)}
  66%{transform:translateY(-5px) rotate(-.3deg)}
}
@keyframes levitate2{
  0%,100%{transform:translateY(0) rotate(0deg)}
  40%{transform:translateY(-7px) rotate(-.5deg)}
  75%{transform:translateY(-3px) rotate(.3deg)}
}
@keyframes levitate3{
  0%,100%{transform:translateY(-2px)}
  50%{transform:translateY(-10px)}
}

/* ─── Float badge (limite OK) ─── */
@keyframes floatyBadge{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-8px) scale(1.03)}
}

/* ─── Brilho nos ícones das features ─── */
@keyframes iconGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(27,140,90,0)}
  50%{box-shadow:0 0 0 8px rgba(27,140,90,.12)}
}
@keyframes iconPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.18)}
}
@keyframes iconBounce{
  0%,100%{transform:translateY(0)}
  30%{transform:translateY(-5px)}
  60%{transform:translateY(-2px)}
}
@keyframes iconSpin{
  0%{transform:rotate(0deg) scale(1)}
  50%{transform:rotate(8deg) scale(1.1)}
  100%{transform:rotate(0deg) scale(1)}
}
@keyframes iconWiggle{
  0%,100%{transform:rotate(0deg)}
  25%{transform:rotate(-8deg)}
  75%{transform:rotate(8deg)}
}
@keyframes iconShake{
  0%,100%{transform:translateX(0)}
  20%,60%{transform:translateX(-4px)}
  40%,80%{transform:translateX(4px)}
}


/* ─── Nav scroll shrink ─── */
.lp-nav.scrolled{
  padding:.55rem 2rem;
  background:rgba(245,245,240,.97);
  box-shadow:0 2px 20px rgba(0,0,0,.07);
}

/* ─── Scroll-reveal base state ─── */
.sr{
  opacity:0;
  transform:translateY(40px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}
.sr.sr-left{transform:translateX(-40px)}
.sr.sr-right{transform:translateX(40px)}
.sr.sr-scale{transform:scale(.88);opacity:0}
.sr.visible{
  opacity:1;
  transform:translateY(0) translateX(0) scale(1);
}

/* ─── Delay helpers para stagger ─── */
.sr-d1{transition-delay:.08s}
.sr-d2{transition-delay:.16s}
.sr-d3{transition-delay:.24s}
.sr-d4{transition-delay:.32s}
.sr-d5{transition-delay:.40s}
.sr-d6{transition-delay:.48s}

/* ─── Cards com levitação ─── */
.lp-float{animation:floatyBadge 3.2s ease-in-out infinite}

/* Float mobile — agora visível */
.lp-float-mobile{
  display:none;
  position:absolute;
  bottom:-16px;
  left:50%;
  transform:translateX(-50%);
  background:#fff;
  border-radius:10px;
  padding:.45rem .85rem;
  box-shadow:0 4px 20px rgba(0,0,0,.12);
  font-size:.74rem;
  font-weight:600;
  align-items:center;
  gap:.4rem;
  white-space:nowrap;
  z-index:2;
  animation:floatyBadge 3.2s ease-in-out infinite;
}
.lp-float-mobile .lp-fi{
  width:22px;height:22px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;background:var(--primary-light);flex-shrink:0;
}

/* ─── Feature cards — ícones SVG animados ─── */
.lp-fci svg{
  width:22px;height:22px;
  display:block;
  transition:transform .3s ease;
}
.lp-fc:hover .lp-fci svg{
  animation:iconPulse .5s ease;
}

/* ─── Ícone animado contínuo nos feature cards ─── */
.feat-icon-anim{
  animation:levitate2 5s ease-in-out infinite;
}
.feat-icon-anim:nth-child(2n){animation-duration:6s}
.feat-icon-anim:nth-child(3n){animation-duration:4.5s}

/* ─── Pain cards ─── */
.lp-pc.levitate-card{animation:levitate 6s ease-in-out infinite}
.lp-pc.levitate-card:nth-child(2){animation:levitate2 7s ease-in-out infinite}
.lp-pc.levitate-card:nth-child(3){animation:levitate3 5s ease-in-out infinite}

/* ─── Pricing card destaque ─── */
.lp-prc.feat{animation:levitate 7s ease-in-out infinite}

/* ─── Testimonial cards ─── */
.lp-tc.lev-tc:nth-child(1){animation:levitate 8s ease-in-out infinite}
.lp-tc.lev-tc:nth-child(2){animation:levitate2 6.5s ease-in-out infinite;animation-delay:.8s}
.lp-tc.lev-tc:nth-child(3){animation:levitate3 7s ease-in-out infinite;animation-delay:1.4s}

/* ─── Mock card levitação ─── */
.lp-mk-card.lev-mk{animation:levitate 6s ease-in-out infinite}

/* ─── Linha separadora animada ─── */
@keyframes lineGrow{
  from{width:0;opacity:0}
  to{width:60px;opacity:1}
}
.lp-sec-c .lp-tag.visible::after{
  content:'';
  display:block;
  height:3px;
  width:60px;
  background:var(--primary);
  border-radius:2px;
  margin:.5rem auto 0;
  animation:lineGrow .6s ease-out both;
}

