/* premium-blue v0.1.1 — copiado de amondf/premium_blue_design_system@3df48c6 (src/animations.css). NÃO EDITAR: customizações vão em src/styles/portal.css. */
/* ==========================================================================
   Premium Blue — Movimento
   Tudo respeita prefers-reduced-motion (ver base.css).
   ========================================================================== */

/* Entrada ao rolar: adicione .pb-reveal (use --delay para escalonar) */
.pb-reveal {
  animation: pb-reveal-up var(--pb-duration-reveal) var(--pb-ease-out) both;
  animation-delay: var(--delay, 0s);
}
[data-reveal]:not(.pb-reveal) {
  opacity: 0;
  transform: translateY(16px);
}

.pb-float-slow { animation: pb-float 8s ease-in-out infinite; }
.pb-marquee { will-change: transform; animation: pb-marquee 38s linear infinite; }
.pb-marquee:hover { animation-play-state: paused; }
.pb-blink { animation: pb-live-blink 1.6s ease-in-out infinite; }

/* Blobs de "aurora" desfocados atrás do hero */
.pb-aurora {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(60px);
  will-change: transform;
}
.pb-aurora--1 { animation: pb-aurora-1 26s ease-in-out infinite; background: rgb(37 99 235 / 0.25); }
.pb-aurora--2 { animation: pb-aurora-2 32s ease-in-out infinite; background: rgb(79 70 229 / 0.22); }
.pb-aurora--3 { animation: pb-aurora-3 38s ease-in-out infinite; background: rgb(34 211 238 / 0.18); }
@media (max-width: 767px) {
  .pb-aurora { opacity: 0.42; }
}

@keyframes pb-reveal-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pb-rise-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pb-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}
@keyframes pb-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes pb-ping-ring {
  from { opacity: 0.4; transform: scale(1); }
  to   { opacity: 0; transform: scale(1.65); }
}
@keyframes pb-live-blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.3; }
}
@keyframes pb-glow-breathe {
  0%, 100% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); }
  50%      { opacity: 0.55; transform: translate(-50%, -50%) scale(1); }
}
@keyframes pb-aurora-1 {
  0%, 100% { transform: translate(0) scale(1); }
  50%      { transform: translate(6%, -4%) scale(1.12); }
}
@keyframes pb-aurora-2 {
  0%, 100% { transform: translate(0) scale(1.05); }
  50%      { transform: translate(-7%, 5%) scale(0.95); }
}
@keyframes pb-aurora-3 {
  0%, 100% { transform: translate(0) scale(0.98); }
  50%      { transform: translate(4%, 6%) scale(1.1); }
}
