@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleUp{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes scaleDown{0%{transform:scale(1)}to{transform:scale(.8)}}@media (prefers-reduced-motion:no-preference){::view-transition-old(featured-photo-expand),::view-transition-old(photo-expand){animation:fadeOut .3s cubic-bezier(.4,0,.2,1) both,scaleDown .3s cubic-bezier(.4,0,.2,1) both}::view-transition-new(featured-photo-expand),::view-transition-new(photo-expand){animation:fadeIn .3s cubic-bezier(.4,0,.2,1) 50ms both,scaleUp .3s cubic-bezier(.4,0,.2,1) 50ms both}::view-transition-image-pair(featured-photo-expand),::view-transition-image-pair(photo-expand){isolation:auto}}.photo-modal-enter{opacity:0;transform:scale(.8)}.photo-modal-enter-active{transition:opacity .3s,transform .3s}.photo-modal-enter-active,.photo-modal-exit{opacity:1;transform:scale(1)}.photo-modal-exit-active{opacity:0;transform:scale(.8);transition:opacity .3s,transform .3s}.expandable-photo{transform:translateZ(0);will-change:transform;cursor:pointer;transition:transform .2s ease}.expandable-photo:hover{transform:scale(1.02)}@keyframes swipeHint{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(5px);opacity:1}}.swipe-indicator{animation:swipeHint 1.5s ease-in-out infinite;pointer-events:none}.photo-crossfade-enter{opacity:0;transform:translateX(20px)}.photo-crossfade-enter-active{transition:opacity .3s ease-out,transform .3s ease-out}.photo-crossfade-enter-active,.photo-crossfade-exit{opacity:1;transform:translateX(0)}.photo-crossfade-exit-active{opacity:0;transform:translateX(-20px);transition:opacity .3s ease-out,transform .3s ease-out}