/* A small editorial vocabulary. Geometry, copy and imagery remain approved. */
.mv2-title-enter{animation:mv2-title-reveal 560ms cubic-bezier(.22,.8,.32,1) both}
.mv2-photo-enter{animation:mv2-photo-reveal 680ms cubic-bezier(.22,.8,.32,1) both}
.mv2-cadence-enter{animation:mv2-title-reveal 480ms cubic-bezier(.22,.8,.32,1) both}
@keyframes mv2-title-reveal{
  from{opacity:0;transform:translate3d(var(--mv2-type-x,0px),calc(var(--mv2-type-y,0px) + 12px),0)}
  to{opacity:1;transform:translate3d(var(--mv2-type-x,0px),var(--mv2-type-y,0px),0)}
}
@keyframes mv2-photo-reveal{from{opacity:.72;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.mv2-typography{transform:translate3d(var(--mv2-type-x,0px),var(--mv2-type-y,0px),0)}
.mv2-drift{overflow:hidden}
.mv2-drift img{transform:scale(var(--mv2-scale,1));transform-origin:center}
.mv2-active img{will-change:transform}
.mv2-caption-enter{animation:mv2-caption-reveal 480ms cubic-bezier(.22,.8,.32,1) 60ms both}
@keyframes mv2-caption-reveal{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px) and (min-height:760px){.mv2-signature{position:sticky;top:clamp(96px,22svh,220px)}}
@media(hover:hover) and (pointer:fine) and (min-width:801px){
  [data-motion-page="work"] .documented-project .photograph{overflow:hidden}
  [data-motion-page="work"] .documented-project img{transition:transform 360ms cubic-bezier(.22,.8,.32,1)}
  [data-motion-page="work"] .documented-project figure:is(:hover,:focus-within) img{transform:scale(1.015)}
  [data-motion-page="work"] .documented-project .image-label{transition:transform 300ms cubic-bezier(.22,.8,.32,1)}
  [data-motion-page="work"] .documented-project figure:is(:hover,:focus-within) .image-label{transform:translateY(-3px)}
  [data-motion-page="work"] .documented-project figure:is(:hover,:focus-within) .text-link span{transform:translate(3px,-3px)}
}
@media(max-width:800px){
  .mv2-mobile-settle img{animation:mv2-image-settle 680ms cubic-bezier(.22,.8,.32,1) both}
  @keyframes mv2-image-settle{from{transform:scale(1.018)}to{transform:scale(1)}}
}
@media(prefers-reduced-motion:reduce){
  .mv2-title-enter,.mv2-photo-enter,.mv2-cadence-enter,.mv2-caption-enter,.mv2-typography{animation:none!important;opacity:1!important;transform:none!important}
  .mv2-drift img,.mv2-mobile-settle img,[data-motion-page="work"] .documented-project img{animation:none!important;transition:none!important;transform:none!important;will-change:auto!important}
  .mv2-signature{position:static!important}
  [data-motion-page="work"] .documented-project :is(.image-label,.text-link span){transition:none!important;transform:none!important}
}
