/* Uniform hover zoom, composed with the existing framing/parallax transform. */
:is(#archive-grid,#selected-grid) .project-card .project-visual {overflow:hidden}
:is(#archive-grid,#selected-grid) .project-card .project-visual > img,:is(#archive-grid,#selected-grid) .project-card .project-visual > video {
 scale:1!important;transition:scale .55s cubic-bezier(.22,1,.36,1),opacity .4s ease!important;
}
@media(hover:hover) and (pointer:fine) and (min-width:761px) and (prefers-reduced-motion:no-preference){
 :is(#archive-grid,#selected-grid) .project-card:hover .project-visual > img,:is(#archive-grid,#selected-grid) .project-card:hover .project-visual > video {scale:1.045!important}
 /* Keep the existing scroll offset, avoiding a second legacy hover scale. */
 :is(#archive-grid,#selected-grid) .project-card:hover .project-visual > img {transform:translateY(var(--drift,0px))!important}
 #archive-grid :is([data-project="broadstone-at-brickell"],[data-project="projection-mapping"],[data-project="tessellations"],[data-project="artem-wynwood"]) .project-visual > img {transform:none!important}
}
@media(hover:none),(pointer:coarse),(max-width:760px),(prefers-reduced-motion:reduce){
 :is(#archive-grid,#selected-grid) .project-card:hover .project-visual > img,:is(#archive-grid,#selected-grid) .project-card:hover .project-visual > video {scale:1!important}
 :is(#archive-grid,#selected-grid) .project-card:hover .project-visual > img {transform:translateY(var(--drift,0px))!important}
 #archive-grid :is([data-project="broadstone-at-brickell"],[data-project="projection-mapping"],[data-project="tessellations"],[data-project="artem-wynwood"]) .project-visual > img {transform:none!important}
}
@media(prefers-reduced-motion:reduce){:is(#archive-grid,#selected-grid) .project-card .project-visual > img,:is(#archive-grid,#selected-grid) .project-card .project-visual > video{transition:none!important}}
