/* Shared motion language: crisp typography, small distances, no continuous movement. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-distance:18px;--motion-duration:640ms}
.motion-item{transition:opacity 440ms ease,transform var(--motion-duration) var(--motion-ease),background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease;transition-delay:var(--motion-delay,0ms),var(--motion-delay,0ms),0ms,0ms,0ms}
.motion-item.motion-pending{opacity:0;transform:translate3d(0,var(--motion-distance),0)}
.motion-item.motion-image{overflow:hidden;--motion-distance:12px;--motion-duration:800ms}
.motion-image>img{transition:transform 1000ms var(--motion-ease)}
.motion-pending.motion-image>img{transform:scale(1.025)}
.motion-item:focus-within{opacity:1!important;transform:none!important;transition:none!important}
.program-links>a,.evidence-card{position:relative}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .program-links>a:not(.motion-item),.evidence-card:not(.motion-item){transition:background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease}
 .program-links>a:hover{background:#ffffff80;box-shadow:inset 0 -2px #165429}
 .evidence-card:hover{background:#f2f6f3;border-top-color:#181f33}
 .text-link{transition:text-decoration-color 180ms ease;text-decoration-color:#16542970}
 .text-link:hover{text-decoration-color:currentColor}
}
@media(max-width:640px){:root{--motion-distance:12px;--motion-duration:500ms}.motion-item{transition-delay:0ms}.motion-image>img{transition-duration:700ms}}
@media(prefers-reduced-motion:reduce){.motion-item,.motion-item.motion-pending,.motion-image>img,.motion-pending.motion-image>img{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.motion-item,.motion-item.motion-pending,.motion-image>img,.motion-pending.motion-image>img{opacity:1!important;transform:none!important;transition:none!important}}
