/* ACS page motion layer — restrained, enterprise-grade scroll and entrance animations for static pages without bespoke motion. */
@keyframes acsMotionFadeLift{
  from{opacity:.58;transform:translateY(42px)}
  to{opacity:1;transform:none}
}
@keyframes acsMotionImageSettle{
  from{opacity:0;transform:translateY(34px) scale(.975)}
  to{opacity:1;transform:none}
}
@keyframes acsMotionRuleSweep{
  0%{transform:translateX(-105%);opacity:0}
  22%,62%{opacity:.32}
  100%{transform:translateX(105%);opacity:0}
}
@keyframes acsMotionAmbientFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

@media (prefers-reduced-motion:no-preference){
  html.acs-motion-ready body{scroll-behavior:smooth}

  html.acs-motion-ready .index-hero h1,
  html.acs-motion-ready .index-hero .eyebrow,
  html.acs-motion-ready .index-hero p,
  html.acs-motion-ready .hero h1,
  html.acs-motion-ready .hero .kicker,
  html.acs-motion-ready .hero .eyebrow,
  html.acs-motion-ready .hero .lede,
  html.acs-motion-ready .hero p,
  html.acs-motion-ready .hero .btns,
  html.acs-motion-ready .hero .ctas,
  html.acs-motion-ready .page-hero h1,
  html.acs-motion-ready .page-hero p,
  html.acs-motion-ready .article-hero h1,
  html.acs-motion-ready .article-hero p,
  html.acs-motion-ready .insights-hero h1,
  html.acs-motion-ready .insights-hero p{
    animation:acsMotionFadeLift 1s cubic-bezier(.16,1,.3,1) both;
  }
  html.acs-motion-ready .index-hero h1,
  html.acs-motion-ready .hero h1,
  html.acs-motion-ready .page-hero h1,
  html.acs-motion-ready .article-hero h1,
  html.acs-motion-ready .insights-hero h1{animation-delay:.10s}
  html.acs-motion-ready .index-hero p,
  html.acs-motion-ready .hero .lede,
  html.acs-motion-ready .hero p,
  html.acs-motion-ready .page-hero p,
  html.acs-motion-ready .article-hero p,
  html.acs-motion-ready .insights-hero p{animation-delay:.26s}
  html.acs-motion-ready .hero .btns,
  html.acs-motion-ready .hero .ctas{animation-delay:.40s}

  html.acs-motion-ready .hero img,
  html.acs-motion-ready .heroimg,
  html.acs-motion-ready .hero-photo,
  html.acs-motion-ready .industry-hero img,
  html.acs-motion-ready .article-hero img,
  html.acs-motion-ready .feature-image img,
  html.acs-motion-ready .capability-photo img{
    animation:acsMotionImageSettle 1.05s .22s cubic-bezier(.16,1,.3,1) both;
    transform-origin:center;
  }

  html.acs-motion-ready .hero-card,
  html.acs-motion-ready .support-flow,
  html.acs-motion-ready .mini-map,
  html.acs-motion-ready .stat-card,
  html.acs-motion-ready .contact-card{
    animation:acsMotionFadeLift 1.05s .34s cubic-bezier(.16,1,.3,1) both, acsMotionAmbientFloat 7.2s 1.7s ease-in-out infinite;
  }

  html.acs-motion-ready .acs-motion-reveal{
    opacity:.62;
    transform:translateY(42px);
    transition:opacity .95s cubic-bezier(.16,1,.3,1),transform 1.05s cubic-bezier(.16,1,.3,1),box-shadow .42s cubic-bezier(.16,1,.3,1),border-color .42s ease,background-color .42s ease;
    will-change:opacity,transform;
  }
  html.acs-motion-ready .acs-motion-reveal.acs-motion-in{
    opacity:1;
    transform:none;
  }

  html.acs-motion-ready .acs-motion-reveal:nth-child(2){transition-delay:.10s}
  html.acs-motion-ready .acs-motion-reveal:nth-child(3){transition-delay:.20s}
  html.acs-motion-ready .acs-motion-reveal:nth-child(4){transition-delay:.30s}
  html.acs-motion-ready .acs-motion-reveal:nth-child(5){transition-delay:.40s}
  html.acs-motion-ready .acs-motion-reveal:nth-child(6){transition-delay:.50s}

  html.acs-motion-ready .card,
  html.acs-motion-ready .snapshot-card,
  html.acs-motion-ready .industry-card,
  html.acs-motion-ready .index-card,
  html.acs-motion-ready .insight-card,
  html.acs-motion-ready .article-card,
  html.acs-motion-ready .service-card,
  html.acs-motion-ready .resource-card,
  html.acs-motion-ready .post-card,
  html.acs-motion-ready .legal-card,
  html.acs-motion-ready .cap,
  html.acs-motion-ready .initiative,
  html.acs-motion-ready .proof-item,
  html.acs-motion-ready .tool-card,
  html.acs-motion-ready .contact-method,
  html.acs-motion-ready .value-card{
    transition:transform .46s cubic-bezier(.16,1,.3,1),box-shadow .46s ease,border-color .46s ease,background-color .46s ease;
  }
  html.acs-motion-ready .card.acs-motion-reveal,
  html.acs-motion-ready .snapshot-card.acs-motion-reveal,
  html.acs-motion-ready .industry-card.acs-motion-reveal,
  html.acs-motion-ready .index-card.acs-motion-reveal,
  html.acs-motion-ready .insight-card.acs-motion-reveal,
  html.acs-motion-ready .article-card.acs-motion-reveal,
  html.acs-motion-ready .service-card.acs-motion-reveal,
  html.acs-motion-ready .resource-card.acs-motion-reveal,
  html.acs-motion-ready .post-card.acs-motion-reveal,
  html.acs-motion-ready .legal-card.acs-motion-reveal,
  html.acs-motion-ready .cap.acs-motion-reveal,
  html.acs-motion-ready .initiative.acs-motion-reveal,
  html.acs-motion-ready .tool-card.acs-motion-reveal,
  html.acs-motion-ready .contact-method.acs-motion-reveal,
  html.acs-motion-ready .value-card.acs-motion-reveal{
    transition:opacity .95s cubic-bezier(.16,1,.3,1),transform 1.05s cubic-bezier(.16,1,.3,1),box-shadow .42s cubic-bezier(.16,1,.3,1),border-color .42s ease,background-color .42s ease;
  }
  html.acs-motion-ready .card:hover,
  html.acs-motion-ready .snapshot-card:hover,
  html.acs-motion-ready .industry-card:hover,
  html.acs-motion-ready .index-card:hover,
  html.acs-motion-ready .insight-card:hover,
  html.acs-motion-ready .article-card:hover,
  html.acs-motion-ready .service-card:hover,
  html.acs-motion-ready .resource-card:hover,
  html.acs-motion-ready .post-card:hover,
  html.acs-motion-ready .legal-card:hover,
  html.acs-motion-ready .cap:hover,
  html.acs-motion-ready .initiative:hover,
  html.acs-motion-ready .tool-card:hover,
  html.acs-motion-ready .contact-method:hover,
  html.acs-motion-ready .value-card:hover{
    transform:translateY(-7px);
    box-shadow:0 28px 68px rgba(1,16,67,.13);
    border-color:rgba(1,16,67,.24);
  }

  html.acs-motion-ready .btn,
  html.acs-motion-ready .topcta,
  html.acs-motion-ready button[type="submit"]{
    transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease,color .24s ease,border-color .24s ease;
  }
  html.acs-motion-ready .btn:hover,
  html.acs-motion-ready .topcta:hover,
  html.acs-motion-ready button[type="submit"]:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 34px rgba(1,16,67,.14);
  }

  html.acs-motion-ready .ctapanel,
  html.acs-motion-ready .cta-panel,
  html.acs-motion-ready .final-card,
  html.acs-motion-ready .final-cta .ctapanel{
    position:relative;
    overflow:hidden;
  }
  html.acs-motion-ready .ctapanel::after,
  html.acs-motion-ready .cta-panel::after,
  html.acs-motion-ready .final-card::after,
  html.acs-motion-ready .final-cta .ctapanel::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.18) 45%,transparent 58%);
    transform:translateX(-105%);
    animation:acsMotionRuleSweep 7.5s ease-in-out infinite;
  }
}

@media (prefers-reduced-motion:reduce){
  html.acs-motion-ready *,
  html.acs-motion-ready *::before,
  html.acs-motion-ready *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
