/* ============================================================
   ThriveCRS — animations.css  (v2)
   ============================================================ */

/* Entrance: hero elements */
.animate-fade-up {
  opacity: 0; transform: translateY(36px);
  animation: fadeUp .7s cubic-bezier(.4,0,.2,1) forwards;
}
.delay-1 { animation-delay: .15s; }
.delay-2 { animation-delay: .30s; }
.delay-3 { animation-delay: .45s; }
.delay-4 { animation-delay: .60s; }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }

/* Scroll-reveal base states */
.reveal-up, .reveal-left, .reveal-right {
  opacity: 0;
  transition: opacity .65s cubic-bezier(.4,0,.2,1), transform .65s cubic-bezier(.4,0,.2,1);
}
.reveal-up    { transform: translateY(44px); }
.reveal-left  { transform: translateX(-44px); }
.reveal-right { transform: translateX(44px); }

[data-delay="0"] { transition-delay: 0s; }
[data-delay="1"] { transition-delay: .10s; }
[data-delay="2"] { transition-delay: .20s; }
[data-delay="3"] { transition-delay: .30s; }
[data-delay="4"] { transition-delay: .40s; }
[data-delay="5"] { transition-delay: .50s; }
[data-delay="6"] { transition-delay: .60s; }
[data-delay="7"] { transition-delay: .70s; }

/* Revealed state added by JS */
.revealed { opacity: 1 !important; transform: none !important; }

/* Floating particles */
.particle-dot {
  position: absolute; border-radius: 50%;
  background: rgba(255,255,255,.18);
  animation: floatUp linear infinite;
}
@keyframes floatUp {
  0%   { transform: translateY(100vh) scale(0); opacity: 0; }
  8%   { opacity: 1; }
  92%  { opacity: 1; }
  100% { transform: translateY(-80px) scale(1.1); opacity: 0; }
}

/* Service card icon hover */
.svc-card:hover .svc-icon { transform: scale(1.08) rotate(-4deg); transition: transform .3s ease; }

/* Cert tile shimmer */
.cert-tile { position: relative; overflow: hidden; }
.cert-tile::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.45) 50%, transparent 65%);
  transform: translateX(-100%); transition: transform .6s ease;
}
.cert-tile:hover::after { transform: translateX(100%); }
