/* Slow, bounded zoom inside the original frame; no alternate image or pointer overlay. */
.project-grid .image-link .project-image{position:relative;filter:none;overflow:hidden}
.project-grid .image-link .project-image>img,
.project-grid .image-link .project-image>video{
  transform:scale(1)!important;transform-origin:center;
  transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .35s;
}
@media(min-width:701px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html:not([data-motion=off]) .project.is-exploring .image-link .project-image>img,
  html:not([data-motion=off]) .project.is-exploring .image-link .project-image>video{
    transform:scale(1.045)!important;
    transition:transform 3.6s cubic-bezier(.2,.35,.35,1),opacity .35s;
  }
}
.project-index a>span{transition:color .25s ease,transform .35s var(--ease),opacity .3s ease}
.project-index a.is-exploring{color:var(--ink)}
.project-index a.is-exploring>.index-label{transform:translateX(2px)}
.project-index a.is-exploring>span:nth-child(2){transform:translateX(3px);transition-delay:.045s}
.project-index a.is-exploring>.index-arrow{opacity:1;transform:none;transition-delay:.09s}
.project-index:has(a.is-exploring) a[aria-current=true]:not(.is-exploring){color:var(--muted)}
.project-index:has(a.is-exploring) a[aria-current=true]:not(.is-exploring)>.index-arrow{opacity:0}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){
  .project-grid .image-link .project-image>img,
  .project-grid .image-link .project-image>video,
  .project-index a>span{transition:none}
}
