/* ============================================================
   Jagg Pro — Shared Animation Definitions
   Linked by all pages. CDN-only, no build step required.
   ============================================================ */

/* ── LOGO DROP-IN (page load) ── */
@keyframes logoDropIn {
  0%   { opacity: 0; transform: translateY(-45px) scale(0.6); }
  60%  { opacity: 1; transform: translateY(0) scale(2.0); }
  100% { opacity: 1; transform: translateY(0) scale(1.0); }
}
.nav-logo { overflow: visible; }
.nav-logo img {
  transform-origin: left center;
  animation: logoDropIn 1.5s ease-out both;
}

/* ── BOOTSTRAP ICON FLOAT (service & why cards) ── */
@keyframes biFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-6px); }
}

/* ── MARQUEE SCROLL (homepage trust bar) ── */
@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── SCROLL REVEAL (IntersectionObserver-driven) ── */
.jp-reveal {
  opacity: 0;
  transform: translateY(80px) scale(0.88);
  transition: opacity 0.85s cubic-bezier(0.22,1,0.36,1),
              transform 0.85s cubic-bezier(0.22,1,0.36,1);
  will-change: opacity, transform;
}
.jp-reveal.jp-in {
  opacity: 1;
  transform: none;
}
.jp-d1 { transition-delay: 120ms; }
.jp-d2 { transition-delay: 240ms; }
.jp-d3 { transition-delay: 360ms; }

/* ── REDUCED MOTION — pause marquee only; keep reveal + logo intact ── */
@media (prefers-reduced-motion: reduce) {
  .jp-marquee-track { animation-play-state: paused; }
}
