.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease var(--delay,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--delay,0ms)}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}
.motion-ready .playing .prospect{animation:prospectIn 10s cubic-bezier(.2,.7,.2,1) infinite}.motion-ready .playing .reply{animation:replyIn 10s cubic-bezier(.2,.7,.2,1) infinite}.motion-ready .playing .booking{animation:bookingIn 10s cubic-bezier(.2,.7,.2,1) infinite}.motion-ready .playing .flow-line{animation:lineIn 10s ease infinite}.motion-ready .playing .card-tags span{animation:tagIn 10s ease infinite}.motion-ready .playing .booking .mini-icon{animation:checkIn 10s ease infinite}.motion-ready .hero-copy{animation:copyIn .85s ease both}.service-grid article{transition:transform .25s,box-shadow .25s}.service-grid article:hover{transform:translateY(-5px);box-shadow:0 14px 25px #1a4c2b0a}.visible .pills span{animation:pillIn .7s ease both}.visible .pills span:nth-child(2n){animation-delay:.1s}.visible .pills span:nth-child(3n){animation-delay:.2s}.visible .pills span:nth-child(4n){animation-delay:.3s}
@keyframes prospectIn{0%{opacity:0;transform:translateY(22px) scale(.94) rotate(-3deg)}9%,87%{opacity:1;transform:translateY(0) scale(1) rotate(-3deg)}96%,100%{opacity:0;transform:translateY(-10px) scale(.98) rotate(-3deg)}}
@keyframes replyIn{0%,18%{opacity:0;transform:translateX(28px) scale(.94) rotate(4deg)}28%,87%{opacity:1;transform:translateX(0) scale(1) rotate(4deg)}96%,100%{opacity:0;transform:translateY(-10px) rotate(4deg)}}
@keyframes bookingIn{0%,38%{opacity:0;transform:translateY(30px) scale(.9) rotate(-2deg)}49%,87%{opacity:1;transform:translateY(0) scale(1) rotate(-2deg)}96%,100%{opacity:0;transform:translateY(-10px) rotate(-2deg)}}
@keyframes tagIn{0%,9%{opacity:0;transform:translateX(-7px)}17%,100%{opacity:1;transform:translateX(0)}}
@keyframes checkIn{0%,47%{transform:scale(.7)}53%{transform:scale(1.15)}58%,100%{transform:scale(1)}}
@keyframes lineIn{0%{opacity:0;clip-path:inset(0 0 100% 0)}15%{opacity:1;clip-path:inset(0 0 85% 0)}46%,87%{opacity:1;clip-path:inset(0 0 0 0)}97%,100%{opacity:0;clip-path:inset(0 0 0 0)}}
@keyframes copyIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pillIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
