.rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);transition-delay:var(--d,0s)}
.rv.in-v{opacity:1;transform:none}
.phero .w>*,.hero .w>*{opacity:0;transform:translateY(24px);animation:up .8s cubic-bezier(.22,.61,.36,1) forwards}
.phero .w>*:nth-child(1),.hero .w>*:nth-child(1){animation-delay:.05s}.phero .w>*:nth-child(2),.hero .w>*:nth-child(2){animation-delay:.16s}.phero .w>*:nth-child(3),.hero .w>*:nth-child(3){animation-delay:.28s}.phero .w>*:nth-child(4),.hero .w>*:nth-child(4){animation-delay:.4s}
@keyframes up{to{opacity:1;transform:none}}
.phero,.hero{background-size:110%!important;animation:kb 18s ease-in-out infinite alternate}
@keyframes kb{to{background-size:122%}}
.pc,.ai,.card,.row{transition:transform .25s,box-shadow .25s,border-color .25s,background .25s,opacity .7s cubic-bezier(.22,.61,.36,1)}
.pc:hover{box-shadow:0 14px 32px -16px rgba(15,23,42,.2)}

@keyframes gr{from{background-position:0 0,0% 50%}to{background-position:0 0,100% 50%}}
@media(prefers-reduced-motion:reduce){.rv,.phero .w>*,.hero .w>*{opacity:1;transform:none;animation:none;transition:none}.phero,.hero,.cta{animation:none}}

/* shared hover effects (same as the service pages) */
.chips span{transition:transform .2s,background .2s,color .2s,border-color .2s}
.chips span:hover{transform:translateY(-3px);background:#6D4AE8;color:#fff;border-color:#6D4AE8}
.cc i,.cc .nn{transition:background .25s,color .25s,transform .25s}
.cc:hover i,.cc:hover .nn{background:#6D4AE8;color:#fff;transform:scale(1.08) rotate(-4deg)}
.ts .dot{transition:transform .25s,background .25s}
.ts:hover .dot{transform:scale(1.12);background:#5B3DD1}
.oi{transition:transform .2s}
.oi:hover{transform:translateX(4px)}
.acc .ai:hover button{background:rgba(109,74,232,.05)}
.card,.role,.sx{transition:transform .25s,box-shadow .25s,border-color .25s,opacity .7s cubic-bezier(.22,.61,.36,1)}
.card:hover,.role:hover,.sx:hover{box-shadow:0 14px 32px -16px rgba(15,23,42,.2)}
.row{transition:transform .2s,background .2s}
.row:hover{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.chips span,.cc i,.cc .nn,.ts .dot,.oi,.row,.card,.role,.sx{transition:none}.chips span:hover,.oi:hover,.row:hover,.ts:hover .dot,.cc:hover i,.cc:hover .nn{transform:none}}
