/* Text keeps its natural word wrapping and original semantic content. */
.motion-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.motion-word,.motion-character{display:inline-block;font:inherit;letter-spacing:inherit;font-style:normal;color:inherit}
.motion-word{white-space:nowrap}
.price-letters.motion-text>i{animation:none}
/* The controller replays these on entry instead of leaving a load-only fade. */
html[data-motion=enabled] .local-price>span{animation:none}
main figure img,main .case-image img,main .project-image img{transition:transform .28s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){main figure:hover img,main .case-image:hover img,main .project-image:hover img{transform:translateY(-3px) scale(1.01)}}
@media(prefers-reduced-motion:reduce){main figure img,main .case-image img,main .project-image img{transition:none;transform:none!important}}
