/* Entre Duas — animations.css */

/* ── SCROLL REVEAL ─────────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal.delay-1 { transition-delay: 0.1s; }
.reveal.delay-2 { transition-delay: 0.22s; }
.reveal.delay-3 { transition-delay: 0.36s; }
.reveal.delay-4 { transition-delay: 0.5s; }
.reveal.delay-5 { transition-delay: 0.65s; }
.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* ── HERO LIGHT ─────────────────────────────────────────────── */
@keyframes breathe {
  0%, 100% { opacity: 0.55; transform: scale(1); }
  50%       { opacity: 0.85; transform: scale(1.12); }
}
.hero-glow {
  animation: breathe 8s ease-in-out infinite;
}

/* ── CTA PULSE ──────────────────────────────────────────────── */
@keyframes pulse-amber {
  0%, 100% { box-shadow: 0 0 0 0 rgba(196, 133, 26, 0.35); }
  50%       { box-shadow: 0 0 0 14px rgba(196, 133, 26, 0); }
}
.btn-primary {
  animation: pulse-amber 3s ease-in-out infinite;
}
.btn-primary:hover {
  animation: none;
}

/* ── CANTOS L REVEAL ────────────────────────────────────────── */
.l-frame {
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal .l-frame {
  opacity: 0;
  transform: scale(0.9);
}
.reveal.revealed .l-frame {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.25s;
}

/* ── PROGRESS BAR ───────────────────────────────────────────── */
@keyframes fill-bar {
  from { width: 0; }
  to   { width: var(--target-width, 65%); }
}
.vagas-bar-fill {
  animation: fill-bar 1.4s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-play-state: paused;
}
.vagas-bar-fill.animate {
  animation-play-state: running;
}

/* ── COUNTDOWN FLIP ─────────────────────────────────────────── */
@keyframes cd-tick {
  0%   { transform: translateY(0); opacity: 1; }
  30%  { transform: translateY(-4px); opacity: 0.6; }
  70%  { transform: translateY(4px); opacity: 0.6; }
  100% { transform: translateY(0); opacity: 1; }
}
.cd-num.ticking {
  animation: cd-tick 0.3s ease;
}

/* ── CAROUSEL ───────────────────────────────────────────────── */
.carousel-track {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── ACCORDION ──────────────────────────────────────────────── */
.faq-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── HOVER LINE ─────────────────────────────────────────────── */
@keyframes line-grow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* ── GRAIN OVERLAY ──────────────────────────────────────────── */
@keyframes grain {
  0%, 100% { transform: translate(0, 0); }
  10%       { transform: translate(-1%, -1%); }
  30%       { transform: translate(1%, -2%); }
  50%       { transform: translate(-2%, 1%); }
  70%       { transform: translate(2%, 2%); }
  90%       { transform: translate(-1%, 2%); }
}
.grain-layer {
  animation: grain 8s steps(1) infinite;
  pointer-events: none;
}

/* ── PARALLAX INNER ─────────────────────────────────────────── */
.hero-content-wrap {
  transform: translateY(var(--parallax-y, 0));
  opacity: var(--parallax-opacity, 1);
  transition: none;
  will-change: transform, opacity;
}
