
/* Motion changes only presentation, never layout or card alignment. */
.js .reveal{scale:var(--reveal-scale,1);transform-origin:center center}
.work-caption{transition:color .3s}
.resource-card>img{transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s}
.service-number,.service-meta b,.round-link b,.work-caption b{transition:transform .4s cubic-bezier(.2,.7,.2,1),color .3s}
.service-row summary{transition:background-color .3s}
.is-pressed .work-image>img{transform:scale(1.018)}
.resource-card.is-pressed>img{transform:translateY(-3px)}
.round-link.is-pressed b,.pill.is-pressed{scale:.96}
@media(hover:hover) and (pointer:fine){
 .work-card:hover .work-caption b,.work-card:focus-visible .work-caption b{transform:translate(3px,-3px)}
 .resource-card:hover>img,.resource-card:focus-visible>img{transform:translateY(-7px) rotate(-2deg)}
 .apps-card:hover>img,.apps-card:focus-visible>img{transform:translateY(-7px) rotate(2deg)}
 .service-row summary:hover .service-number{transform:translateX(3px)}
 .round-link:hover b,.round-link:focus-visible b{transform:rotate(-35deg)}
 .service-row summary:hover{background:#d6cbea0d}
}
@media(hover:none){
 .resource-card:hover>img{transform:none}
 .work-card:hover .work-image>img{filter:none}
 .service-row summary:hover .service-photo{transform:none;box-shadow:none}
 .pill:hover{transform:none;box-shadow:none}
}
.no-motion *, .no-motion *:before,.no-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.no-motion .reveal{scale:1!important}
@media(prefers-reduced-motion:reduce){.js .reveal{scale:1!important}}

