:root{--crew-ease:cubic-bezier(.22,1,.36,1);--crew-reveal:1.5s;--crew-dialog:.6s;--crew-menu:.85s}
.reveal{transform:translateY(10px);transition:opacity var(--crew-reveal) var(--crew-ease),transform var(--crew-reveal) var(--crew-ease)}
.reveal.is-visible{transform:none;opacity:1}
dialog[open]{animation-duration:var(--crew-dialog);animation-timing-function:var(--crew-ease)}
#category-menu[open]{animation-duration:var(--crew-menu);animation-timing-function:var(--crew-ease)}
#category-menu::backdrop{backdrop-filter:none;background:#000a}
#category-menu nav>a{transition:transform .4s var(--crew-ease),color .25s ease}
#category-menu nav>a:hover{padding-left:0;transform:translateX(5px)}
.card img,.artist-card img{transition:transform 1.1s var(--crew-ease)}
.cinema-backdrop video{transition:opacity 1.4s var(--crew-ease)}
.cinema-content{animation:none}
@media(hover:none){.card:hover img,.artist-card:hover img{transform:none}#category-menu nav>a:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.reveal,.card img,.artist-card img,.cinema-backdrop video,#category-menu nav>a{transition:none}dialog[open],#category-menu[open]{animation:none}}

/* Reveal image content once, without animating page geometry or expensive filters. */
img.image-arriving{opacity:0}
.member-post figure,.artist-card figure,.card figure,.member-carousel-track figure,.about-inline-media picture,.story-page picture{overflow:hidden}
@media(prefers-reduced-motion:reduce){img.image-arriving{opacity:1}}
