/* Quiet movement, with no continuous motion or hidden-content dependency. */
@media (prefers-reduced-motion:no-preference){
 .project-card,.video-card,.capability-grid>a,.button,.nav-cta,.gallery-close,.gallery-controls button,.gallery-thumbs button,.gallery-links a{
  transition:transform 220ms ease,box-shadow 220ms ease,background-color 180ms ease,border-color 180ms ease;
 }
 .screen-button img,.app-project-image img,.project-cover img,.video-thumb img{
  transition:transform 550ms cubic-bezier(.2,.65,.3,1);
 }
 .project-gallery[open]{animation:portfolio-dialog-in 230ms ease-out}
 .project-gallery[open]::backdrop{animation:portfolio-backdrop-in 220ms ease-out}
 @media(hover:hover) and (pointer:fine){
  .project-card:hover,.video-card:hover{transform:translateY(-3px)}
  .screen-button:hover img,.app-project-image:hover img,.project-cover:hover img,.video-thumb:hover img{transform:scale(1.025)}
  .button:hover,.nav-cta:hover,.gallery-links a:hover{transform:translateY(-2px)}
  .gallery-thumbs button:hover,.gallery-controls button:not(:disabled):hover,.gallery-close:hover{transform:translateY(-1px)}
 }
 .button:active,.gallery-controls button:not(:disabled):active,.gallery-thumbs button:active{transform:scale(.985)}
}
@keyframes portfolio-dialog-in{from{opacity:.4;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes portfolio-backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .project-card:hover,.video-card:hover,.button:hover,.nav-cta:hover,.gallery-links a:hover,
 .screen-button:hover img,.app-project-image:hover img,.project-cover:hover img,.video-thumb:hover img{transform:none}
}
