/* Lottie-inspired motion system: soft depth, orbit, float and zoom. */
.reveal{opacity:0;filter:blur(4px);transform:translateY(30px) scale(.97);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1),filter .7s ease}
.reveal.visible{opacity:1;filter:none;transform:none}

.ecosystem:before{animation:motion-halo 7s ease-in-out infinite}
.orb-main{animation:motion-orb 6s ease-in-out infinite}
.orb-main img{animation:motion-logo-breathe 5s ease-in-out infinite;will-change:transform}
.node{animation:motion-node 6s ease-in-out infinite;will-change:transform}
.node-ai{animation-delay:-.6s}.node-cloud{animation-delay:-1.8s}.node-talent{animation-delay:-3s}.node-data{animation-delay:-4.2s}.node-growth{animation-delay:-5.1s}
.orbit-1{animation:motion-ring-pulse 6s ease-in-out infinite}

.pillar-brand-logo img,.capability-brand-logo img{animation:motion-logo-breathe 5.5s ease-in-out infinite;will-change:transform}
.pillar-brand-logo:nth-child(2) img{animation-delay:-2.4s}
.capability-brand-card:nth-child(2n) .capability-brand-logo img{animation-delay:-1.7s}
.capability-brand-card:nth-child(3n) .capability-brand-logo img{animation-delay:-3.4s}

.visual-card img,.integration-visual img{transition:transform .8s cubic-bezier(.2,.7,.2,1);animation:motion-image-breathe 11s ease-in-out infinite alternate;will-change:transform}
.visual-card:hover img,.integration-visual:hover img{transform:scale(1.07)}
.ai-visual:before{animation:motion-simple-zoom 5.5s ease-in-out infinite}.ai-visual:after{animation:motion-simple-zoom 5.5s -2.4s ease-in-out infinite}
.ai-core{animation:motion-core 5s ease-in-out infinite}
.ai-chip{animation:motion-chip 5.5s ease-in-out infinite}.ai-chip.c2{animation-delay:-1.4s}.ai-chip.c3{animation-delay:-2.8s}.ai-chip.c4{animation-delay:-4.1s}

.growth-ring{animation:motion-spin 22s linear infinite}
.growth-core{animation:motion-growth-core 5.5s ease-in-out infinite}
.growth-node{animation:motion-chip 5.5s ease-in-out infinite}.growth-node.convert{animation-delay:-1.4s}.growth-node.measure{animation-delay:-2.8s}.growth-node.scale{animation-delay:-4.1s}

.journey b,.map-dot,.process-line>div:before{animation:motion-pulse 3.2s ease-in-out infinite}
.journey div:nth-child(2n) b,.map-dot:nth-of-type(2n),.process-line>div:nth-child(2n):before{animation-delay:-1.5s}
.funnel div{transition:transform .35s ease,filter .35s ease}.funnel div:hover{transform:scale(1.035);filter:drop-shadow(0 10px 18px rgba(7,27,83,.12))}

.loop-item,.why-grid article,.story-values article,.dm-service-grid article,.trend-list article,.work-grid article,.partner-card,.mission div{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}
.loop-item:hover,.why-grid article:hover,.story-values article:hover,.dm-service-grid article:hover,.trend-list article:hover,.work-grid article:hover,.partner-card:hover,.mission div:hover{transform:translateY(-6px) scale(1.012);box-shadow:0 20px 45px rgba(7,27,83,.12)}

@keyframes motion-halo{0%,100%{transform:scale(.96);opacity:.72}50%{transform:scale(1.045);opacity:1}}
@keyframes motion-orb{0%,100%{transform:translate(-50%,-50%) scale(.97)}50%{transform:translate(-50%,-50%) scale(1.04)}}
@keyframes motion-node{0%,100%{transform:translateY(0) scale(.98)}50%{transform:translateY(-10px) scale(1.04)}}
@keyframes motion-ring-pulse{0%,100%{transform:translate(-50%,-50%) scale(.97);opacity:.48}50%{transform:translate(-50%,-50%) scale(1.035);opacity:1}}
@keyframes motion-logo-breathe{0%,100%{transform:scale(.96)}50%{transform:scale(1.055)}}
@keyframes motion-image-breathe{0%{transform:scale(1)}100%{transform:scale(1.045)}}
@keyframes motion-core{0%,100%{transform:scale(.96);box-shadow:0 22px 45px rgba(7,27,83,.18)}50%{transform:scale(1.045);box-shadow:0 30px 62px rgba(7,92,240,.25)}}
@keyframes motion-chip{0%,100%{transform:translateY(0) scale(.98)}50%{transform:translateY(-8px) scale(1.035)}}
@keyframes motion-spin{to{transform:rotate(360deg)}}
@keyframes motion-simple-zoom{0%,100%{transform:scale(.96)}50%{transform:scale(1.04)}}
@keyframes motion-growth-core{0%,100%{transform:translate(-50%,-50%) scale(.96)}50%{transform:translate(-50%,-50%) scale(1.04)}}
@keyframes motion-pulse{0%,100%{transform:scale(.92);filter:brightness(1)}50%{transform:scale(1.12);filter:brightness(1.12)}}

@media(max-width:680px){.node{animation-duration:7s}.visual-card img,.integration-visual img{animation-duration:14s}.loop-item:hover,.why-grid article:hover,.story-values article:hover,.dm-service-grid article:hover,.trend-list article:hover,.work-grid article:hover,.partner-card:hover,.mission div:hover{transform:translateY(-3px) scale(1.006)}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;filter:none;transform:none}.ecosystem:before,.orb-main,.orb-main img,.node,.orbit-1,.pillar-brand-logo img,.capability-brand-logo img,.visual-card img,.integration-visual img,.ai-visual:before,.ai-visual:after,.ai-core,.ai-chip,.growth-ring,.growth-core,.growth-node,.journey b,.map-dot,.process-line>div:before{animation:none!important}.loop-item:hover,.why-grid article:hover,.story-values article:hover,.dm-service-grid article:hover,.trend-list article:hover,.work-grid article:hover,.partner-card:hover,.mission div:hover,.visual-card:hover img,.integration-visual:hover img{transform:none}}
