/* One entrance per illustration; opacity and independent translate preserve layout. */
.media-is-entering{
  animation-duration:var(--media-duration,1.6s);
  animation-timing-function:cubic-bezier(.25,.5,.3,1);
  animation-fill-mode:both;
  animation-iteration-count:1;
}
.media-is-entering[data-media-motion="heroMediaFade"]{animation-name:heroMediaFade}
.media-is-entering[data-media-motion="phoneMediaRise"]{animation-name:phoneMediaRise}
.media-is-entering[data-media-motion="catMediaRise"]{animation-name:catMediaRise}
/* The hero includes its aligned download links, so it only fades in place. */
@keyframes heroMediaFade{from{opacity:.06}to{opacity:1}}
@keyframes phoneMediaRise{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@keyframes catMediaRise{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){
  .media-is-entering{animation:none!important;opacity:1!important;translate:none!important}
}
@media print{
  .media-is-entering{animation:none!important;opacity:1!important;translate:none!important}
}
