/* ============================================================
   SODOMA — Animações utilitárias (reveal, fx flat 2D)
   ============================================================ */

[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
  will-change: opacity, transform;
}
[data-reveal].is-in {
  opacity: 1;
  transform: none;
}
[data-reveal="scale"] { transform: scale(0.94); }
[data-reveal="left"]  { transform: translateX(-32px); }
[data-reveal="right"] { transform: translateX(32px); }

/* Glow ambiente decorativo (flat) */
.glow-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.5;
  pointer-events: none;
  z-index: -1;
}
.glow-orb--accent { background: var(--accent-glow); }
.glow-orb--gold { background: rgba(242,181,41,0.22); }

@keyframes float-y {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}
.anim-float { animation: float-y 6s var(--ease-in-out) infinite; }

/* ---------- Itens PNG flutuando no fundo ---------- */
.bg-items {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.bg-item {
  position: absolute;
  image-rendering: pixelated;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.5));
  animation: bg-item-float var(--dur, 22s) ease-in-out var(--delay, 0s) infinite;
  will-change: transform;
}
@keyframes bg-item-float {
  0%   { transform: translate(0, 0) rotate(0deg); }
  50%  { transform: translate(var(--drift, 20px), -28px) rotate(var(--rot, 12deg)); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
