/* =============================================
   VIÉS CRIATIVO — animations.css
   ============================================= */

/* ── Fade-up ao entrar na viewport ─────────── */
.vc-animate {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(0.4,0,0.2,1),
              transform .7s cubic-bezier(0.4,0,0.2,1);
}
.vc-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* delays escalonados */
.vc-animate[data-delay="100"]  { transition-delay: .1s; }
.vc-animate[data-delay="200"]  { transition-delay: .2s; }
.vc-animate[data-delay="300"]  { transition-delay: .3s; }
.vc-animate[data-delay="400"]  { transition-delay: .4s; }
.vc-animate[data-delay="500"]  { transition-delay: .5s; }
.vc-animate[data-delay="600"]  { transition-delay: .6s; }
.vc-animate[data-delay="700"]  { transition-delay: .7s; }
.vc-animate[data-delay="800"]  { transition-delay: .8s; }

/* ── Hero load ──────────────────────────────── */
.hero-label   { animation: heroIn .8s .1s both; }
.hero-title   { animation: heroIn .8s .25s both; }
.hero-sub     { animation: heroIn .8s .4s both; }
.hero-actions { animation: heroIn .8s .55s both; }
.hero-visual  { animation: heroIn .9s .3s both; }
@keyframes heroIn {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Line expand ────────────────────────────── */
.line-expand {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .6s cubic-bezier(0.4,0,0.2,1);
}
.line-expand.is-visible { transform: scaleX(1); }

/* ── Number count-up placeholder ───────────── */
.count-up { display: inline-block; }

/* ── Card hover lift ────────────────────────── */
.lift-card {
  transition: transform .35s cubic-bezier(0.4,0,0.2,1),
              box-shadow .35s cubic-bezier(0.4,0,0.2,1);
}
.lift-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

/* ── Gradient shift ─────────────────────────── */
.grad-shift {
  background-size: 200% 200%;
  animation: gradShift 5s ease infinite;
}
@keyframes gradShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ── Pulse glow ─────────────────────────────── */
.pulse-glow {
  animation: pulseGlow 3s ease-in-out infinite;
}
@keyframes pulseGlow {
  0%,100% { box-shadow: 0 0 0 0 rgba(237,95,30,0); }
  50%      { box-shadow: 0 0 30px 8px rgba(237,95,30,.25); }
}

/* ── Page transition ────────────────────────── */
.page-enter {
  animation: pageEnter .5s ease both;
}
@keyframes pageEnter {
  from { opacity: 0; }
  to   { opacity: 1; }
}
