/* Short, interruptible interactions, with a quiet editorial rhythm. */
:root{--motion-out:cubic-bezier(.22,1,.36,1);--motion-press:cubic-bezier(.2,.8,.2,1)}
.button,.filter,.menu-toggle{transition:transform 160ms var(--motion-press),background-color 180ms ease,color 180ms ease,border-color 180ms ease}
.button:active,.filter:active,.menu-toggle:active{transform:scale(.975)}
.arrow{transition:transform 220ms var(--motion-out)}
.nav>a{position:relative}
.nav>a:not([aria-current=page]):after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--motion-out)}
.nav>a:focus-visible:after{transform:scaleX(1)}
.story-card img,.cohort-portrait-link img,.artist-card .portrait img{transition:transform 400ms var(--motion-out)}
.cohort-photo-link-label{transition:transform 240ms var(--motion-out)}
.cohort-portrait-link:focus-visible .cohort-photo-link-label{transform:translateY(-3px)}
.faq summary:after{transition:transform 200ms var(--motion-out)}
@media(hover:hover) and (pointer:fine){
  .nav>a:hover:after{transform:scaleX(1)}
  .button:hover{transform:translateY(-1px)}
  .button:active{transform:scale(.975)}
  .cohort-portrait-link:hover img,.artist-card a:hover .portrait img,.story-card:hover img{transform:scale(1.02)}
  .cohort-portrait-link:hover .cohort-photo-link-label{transform:translateY(-3px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button,.filter,.menu-toggle,.arrow,.story-card img,.cohort-portrait-link img,.artist-card .portrait img,.cohort-photo-link-label{transform:none!important;transition:none!important}
  .nav>a:after,.faq summary:after{transition:none!important}
}
