/* =========================================================
   Mart Multi Solution — Animation Layer
   ========================================================= */

/* Scroll reveal (paired with animation.js IntersectionObserver) */
[data-aos] {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: .8s;
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
  will-change: opacity, transform;
}
[data-aos].aos-in { opacity: 1; transform: none !important; }

[data-aos="fade-up"] { transform: translateY(36px); }
[data-aos="fade-down"] { transform: translateY(-36px); }
[data-aos="fade-left"] { transform: translateX(36px); }
[data-aos="fade-right"] { transform: translateX(-36px); }
[data-aos="zoom-in"] { transform: scale(.88); }
[data-aos="flip-up"] { transform: perspective(800px) rotateX(24deg); }

/* Stagger helper via inline --d css var, set delay */
[data-aos] { transition-delay: var(--d, 0ms); }

/* Floating elements */
.mp-float { animation: mp-float 6s ease-in-out infinite; }
.mp-float-slow { animation: mp-float 9s ease-in-out infinite; }
.mp-float-delay { animation-delay: 1.2s; }
@keyframes mp-float {
  0%, 100% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(-18px) translateX(6px); }
}

/* Pulse glow (used on hero blobs / icons) */
.mp-pulse { animation: mp-pulse 3.4s ease-in-out infinite; }
@keyframes mp-pulse {
  0%, 100% { opacity: .5; transform: scale(1); }
  50% { opacity: .9; transform: scale(1.08); }
}

/* Slow spin for background rings */
.mp-spin-slow { animation: mp-spin-slow 18s linear infinite; }
@keyframes mp-spin-slow { to { transform: rotate(360deg); } }

/* Marquee (trusted brands strip) */
.mp-marquee-track {
  display: flex;
  gap: 60px;
  width: max-content;
  animation: mp-marquee 26s linear infinite;
}
.mp-marquee:hover .mp-marquee-track { animation-play-state: paused; }
@keyframes mp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Hover scale utility */
.mp-hover-scale { transition: transform .4s var(--mp-ease); }
.mp-hover-scale:hover { transform: scale(1.05); }

/* Underline draw for nav-style links */
.mp-link-draw { position: relative; }
.mp-link-draw::after {
  content: '';
  position: absolute; left: 0; bottom: -3px;
  width: 0; height: 2px;
  background: currentColor;
  transition: width .35s var(--mp-ease);
}
.mp-link-draw:hover::after { width: 100%; }

/* Counter number tick */
.mp-counting { font-variant-numeric: tabular-nums; }

/* Ken-burns image zoom (blog/testimonial thumbs) */
.mp-kenburns { overflow: hidden; }
.mp-kenburns img { transition: transform 6s var(--mp-ease); }
.mp-kenburns:hover img { transform: scale(1.12); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  [data-aos] { transition: none !important; opacity: 1 !important; transform: none !important; }
  .mp-float, .mp-float-slow, .mp-pulse, .mp-spin-slow, .mp-marquee-track { animation: none !important; }
  html { scroll-behavior: auto; }
}
