/* Approved interaction tokens. Change here rather than per page. */
:root{--tp-tilt-degrees:4;--tp-tilt-perspective:800px;--tp-card-lift:-5px;--tp-card-hover-scale:1.008;--tp-card-hover-shadow:0 22px 38px -19px #34497355;--tp-screen-gap:12px;--tp-screen-ratio:1.43}
@media(prefers-reduced-motion:no-preference){
.case-crm main .particle-tilt-card,body[data-motion-rollout] .vm-tilt,.service-proof-card.vm-tilt{transition:transform .4s var(--tp-card-easing,ease),box-shadow .4s ease,opacity .6s ease;transition-delay:0s!important}
.case-crm main .particle-tilt-card{--tp-card-easing:cubic-bezier(.2,.65,.3,1)}
.case-crm main .particle-tilt-card.particle-hover,body[data-motion-rollout] .vm-tilt.vm-hover,.service-proof-card.vm-tilt.vm-hover{transform:perspective(var(--tp-tilt-perspective)) rotateX(var(--hover-rx,0deg)) rotateY(var(--hover-ry,0deg)) translateY(var(--tp-card-lift)) scale(var(--tp-card-hover-scale))!important;box-shadow:var(--tp-card-hover-shadow);transition-duration:.14s;position:relative;z-index:2}
}
/* Equal-height screenshot stages; contain the full image without wide side mats. */
.case-orders .shots-grid .case-screen-mat{aspect-ratio:var(--tp-screen-ratio);padding:0;position:relative;display:block}
.case-orders .shots-grid .case-screen-mat img{position:absolute;inset:var(--tp-screen-gap);width:calc(100% - var(--tp-screen-gap) - var(--tp-screen-gap));height:calc(100% - var(--tp-screen-gap) - var(--tp-screen-gap));max-height:none;max-width:none;object-fit:contain;border:0;box-shadow:none}
@media(max-width:600px){.case-orders{--tp-screen-gap:8px}}
