@keyframes avyaFloat{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(30px,-40px);}
}
.float{animation:avyaFloat 6s ease-in-out infinite;}

@keyframes avyaFadeUp{
  from{opacity:0;transform:translateY(30px);}
  to{opacity:1;transform:translateY(0);}
}
.fade-up{animation:avyaFadeUp .9s var(--ease) both;}

.stagger > *{opacity:0;animation:avyaFadeUp .8s var(--ease) forwards;}
.stagger > *:nth-child(1){animation-delay:.05s;}
.stagger > *:nth-child(2){animation-delay:.15s;}
.stagger > *:nth-child(3){animation-delay:.25s;}
.stagger > *:nth-child(4){animation-delay:.35s;}
.stagger > *:nth-child(5){animation-delay:.45s;}
.stagger > *:nth-child(6){animation-delay:.55s;}

/* magnetic buttons handled in JS via inline transform, transition here */
.btn, .card, .job-item{will-change:transform;}

/* text split hover on nav handled by CSS underline already; add link hover glow */
a.glow-hover{transition:text-shadow .3s;}
a.glow-hover:hover{text-shadow:0 0 12px rgba(218,58,48,.6);}

/* scroll progress bar */
#avya-scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--avya-red);z-index:1000;width:0%;}

/* marquee (clients / tech strip) */
.marquee-wrap{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee-track{display:flex;width:max-content;animation:avyaMarquee 28s linear infinite; padding:10px;}
.marquee-track.reverse{animation-direction:reverse;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
@keyframes avyaMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* service icon cards */
.service-card{background:var(--avya-ink);border:1px solid var(--avya-line);border-radius:var(--radius);padding:30px;transition:transform .4s var(--ease),border-color .4s;}
.service-card:hover{transform:translateY(-8px);border-color:var(--avya-red);}
.service-icon{width:50px;height:50px;border-radius:12px;background:rgba(218,58,48,.12);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:transform .4s var(--ease),background .4s;}
.service-card:hover .service-icon{transform:rotate(-6deg) scale(1.08);background:rgba(218,58,48,.22);}
.service-icon svg{width:26px;height:26px;stroke:var(--avya-red);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* tech badges */
.tech-badge{display:flex;align-items:center;gap:12px;background:var(--avya-ink);border:1px solid var(--avya-line);border-radius:999px;padding:12px 22px 12px 14px;margin:0 12px;white-space:nowrap;transition:border-color .3s,transform .3s;}
.tech-badge:hover{border-color:var(--avya-red);transform:translateY(-3px);}
.tech-badge .tech-icon{width:34px;height:34px;border-radius:9px;background:rgba(218,58,48,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tech-badge .tech-icon svg{width:18px;height:18px;stroke:var(--avya-red);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.tech-badge span{font-family:var(--font-mono);font-size:14px;color:var(--avya-white);}

/* client badges */
.client-badge{display:flex;align-items:center;justify-content:center;height:80px;width:180px;margin:0 14px;border:1px solid var(--avya-line);border-radius:var(--radius);background:var(--avya-ink);flex-shrink:0;transition:border-color .3s,transform .3s;}
.client-badge:hover{border-color:var(--avya-red);transform:translateY(-3px);}
.client-badge span{font-family:var(--font-head);font-weight:700;font-size:18px;color:var(--avya-grey);letter-spacing:.02em;transition:color .3s;}
.client-badge:hover span{color:var(--avya-white);}

