/* AC motion layer: only active when ac-motion.js adds .acm to <html> (skipped for reduced-motion users) */
.acm .service-tile,.acm .why-card,.acm .value-card,.acm .look-card,.acm .svc-block{transition:translate .25s ease,box-shadow .25s ease}
.acm .service-tile:hover,.acm .why-card:hover,.acm .value-card:hover,.acm .look-card:hover{translate:0 -5px;box-shadow:0 14px 30px rgba(27,58,107,.13)}
.acm .why-card:hover .why-icon,.acm .value-card:hover .value-icon,.acm .svc-block:hover .svc-icon{animation:acm-wiggle .55s ease}
@keyframes acm-wiggle{0%,100%{rotate:0deg}25%{rotate:-10deg}50%{rotate:8deg}75%{rotate:-4deg}}
/* scroll reveal */
.acm .acm-r{transition:opacity .7s ease,translate .7s cubic-bezier(.2,.7,.2,1)}
.acm .acm-r:not(.acm-in){opacity:0;translate:0 28px}
.acm .acm-r .process-num{transition:scale .55s cubic-bezier(.34,1.56,.64,1) .2s}
.acm .acm-r:not(.acm-in) .process-num{scale:.3}
/* orbiting halo around hero marks */
.acm-halo{position:relative}
.acm-halo>img{position:relative;z-index:1;animation:acm-float 6s ease-in-out infinite}
.acm-orbit{position:absolute;inset:-8%;pointer-events:none;z-index:0}
.acm-ring{position:absolute;inset:0;border:2px dashed rgba(46,109,164,.45);border-radius:50%;animation:acm-spin 70s linear infinite}
.acm-sat{position:absolute;inset:0;animation:acm-spin 14s linear infinite}
.acm-sat i{position:absolute;top:-7px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#FFBA20;box-shadow:0 0 0 5px rgba(255,186,32,.25)}
.acm-s2{animation-duration:22s;animation-direction:reverse}
.acm-s2 i{background:#2E6DA4;width:10px;height:10px;margin-left:-5px;top:-5px;box-shadow:0 0 0 4px rgba(46,109,164,.2)}
.acm-s3{animation-duration:30s;animation-delay:-11s}
.acm-s3 i{background:#1B3A6B;width:8px;height:8px;margin-left:-4px;top:-4px;box-shadow:none}
@keyframes acm-spin{to{transform:rotate(360deg)}}
@keyframes acm-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
/* Meet Joey portrait glow */
.acm .portrait{animation:acm-glow 3.2s ease-in-out infinite}
@keyframes acm-glow{0%,100%{box-shadow:0 12px 40px rgba(27,58,107,.25),0 0 0 0 rgba(255,186,32,.55)}50%{box-shadow:0 12px 40px rgba(27,58,107,.25),0 0 0 16px rgba(255,186,32,0)}}
/* credibility bar: dots blink in a wave */
.acm .cred-dot{animation:acm-blip 3s ease-in-out infinite}
.acm .cred-item:nth-child(2) .cred-dot{animation-delay:.3s}.acm .cred-item:nth-child(3) .cred-dot{animation-delay:.6s}
.acm .cred-item:nth-child(4) .cred-dot{animation-delay:.9s}.acm .cred-item:nth-child(5) .cred-dot{animation-delay:1.2s}
.acm .cred-item:nth-child(6) .cred-dot{animation-delay:1.5s}
@keyframes acm-blip{0%,60%,100%{scale:1;box-shadow:0 0 0 0 rgba(255,186,32,.6)}30%{scale:1.4;box-shadow:0 0 0 6px rgba(255,186,32,0)}}
/* gold buttons: shine sweep on hover */
.acm .btn-gold,.acm .nav-cta{position:relative;overflow:hidden}
.acm .btn-gold::after,.acm .nav-cta::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);pointer-events:none}
.acm .btn-gold:hover::after,.acm .nav-cta:hover::after{animation:acm-shine .75s ease}
@keyframes acm-shine{to{left:135%}}
/* section dividers: an amber glint travels across */
.acm .section-divider{position:relative;overflow:hidden}
.acm .section-divider::after{content:"";position:absolute;top:0;left:-15%;width:12%;height:100%;background:linear-gradient(90deg,transparent,#FFBA20,transparent);animation:acm-glint 6s ease-in-out infinite}
@keyframes acm-glint{0%{left:-15%}55%,100%{left:110%}}
/* Home headline letter drop */
.acm-w{display:inline-block;white-space:nowrap}
.acm-ch{display:inline-block;opacity:0;animation:acm-drop .65s cubic-bezier(.3,1.45,.5,1) forwards}
@keyframes acm-drop{0%{opacity:0;transform:translateY(-.55em) rotate(-14deg) scale(.6)}55%{opacity:1}100%{opacity:1;transform:none}}
.acm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.acm-glow{animation:acm-glowtxt 1.2s ease forwards}
@keyframes acm-glowtxt{0%{text-shadow:0 0 0 rgba(255,186,32,0)}40%{text-shadow:0 0 22px rgba(255,186,32,.55)}100%{text-shadow:0 0 0 rgba(255,186,32,0)}}
/* Insights strip hover */
.acm .ins-card{transition:translate .25s ease,box-shadow .25s ease,border-color .25s ease}
