@keyframes home-fade-up {
  from { opacity: 0; transform: translateY(15px); filter: blur(3px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes home-fade-down {
  from { opacity: 0; transform: translateY(-9px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes home-photo-arrive {
  from { opacity: .45; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1); }
}

.home-page .announcement {
  animation: home-fade-down .72s cubic-bezier(.2,.75,.25,1) both;
}

.home-page .site-header {
  animation: home-fade-down .86s .1s cubic-bezier(.2,.75,.25,1) both;
}

.home-page .hero-photo {
  animation: home-photo-arrive 1.7s .12s cubic-bezier(.2,.75,.25,1) both;
  transform-origin: center;
}

.home-page .hero-content .eyebrow {
  animation: home-fade-up .9s .32s cubic-bezier(.2,.75,.25,1) both;
}

.home-page .hero-content h1 {
  animation: home-fade-up 1.12s .52s cubic-bezier(.2,.75,.25,1) both;
}

.home-page .hero-lead {
  animation: home-fade-up .98s .82s cubic-bezier(.2,.75,.25,1) both;
}

.home-page .hero-description {
  animation: home-fade-up .98s 1.08s cubic-bezier(.2,.75,.25,1) both;
}

.home-page .photo-caption,
.home-page .hero-side,
.home-page .hero-index {
  animation: home-fade-up .9s 1.32s cubic-bezier(.2,.75,.25,1) both;
}

.home-page .business-cards.reveal-ready .business-card {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 1.35s cubic-bezier(.2,.75,.25,1), transform 1.35s cubic-bezier(.2,.75,.25,1);
}

.home-page .business-cards.reveal-ready .business-card:nth-child(2) {
  transition-delay: .38s;
}

.home-page .business-cards.reveal-ready .business-card:nth-child(3) {
  transition-delay: .76s;
}

.home-page .business-cards.is-visible .business-card {
  opacity: 1;
  transform: translateY(0);
}

.home-page .business-cards.is-visible .business-card:hover {
  transform: translateY(-3px);
}

@media (prefers-reduced-motion: reduce) {
  .home-page .announcement,
  .home-page .site-header,
  .home-page .hero-photo,
  .home-page .hero-content .eyebrow,
  .home-page .hero-content h1,
  .home-page .hero-lead,
  .home-page .hero-description,
  .home-page .photo-caption,
  .home-page .hero-side,
  .home-page .hero-index {
    animation: none;
    filter: none;
    transform: none;
  }

  .home-page .business-cards.reveal-ready .business-card,
  .home-page .business-cards.is-visible .business-card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
