/* A cinematic opening, followed by the existing single 30-second photo zoom. */
.hero-title-line { display: block; overflow: hidden; padding-bottom: .13em; margin-bottom: -.13em; }
.hero-title-line > span { display: inline-block; }
@keyframes hero-line-enter {
  from { transform: translate3d(0, 115%, 0) rotate(2deg); opacity: 0; filter: blur(5px); }
  to { transform: translate3d(0, 0, 0) rotate(0); opacity: 1; filter: blur(0); }
}
@keyframes hero-element-enter {
  from { transform: translate3d(0, 26px, 0); opacity: 0; filter: blur(3px); }
  to { transform: translate3d(0, 0, 0); opacity: 1; filter: blur(0); }
}
@keyframes hero-rule-enter {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes hero-action-enter {
  from { transform: translate3d(0, 22px, 0) scale(.96); opacity: 0; }
  to { transform: translate3d(0, 0, 0) scale(1); opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-eyebrow { animation: hero-element-enter .9s cubic-bezier(.16,1,.3,1) .15s 1 both; }
  .hero-eyebrow > span { transform-origin: left; animation: hero-rule-enter .8s cubic-bezier(.16,1,.3,1) .3s 1 both; }
  .hero-title-line > span { animation: hero-line-enter 1.35s cubic-bezier(.16,1,.3,1) .35s 1 both; }
  .hero-title-line:nth-child(2) > span { animation-delay: .62s; }
  .hero-description { animation: hero-element-enter 1s cubic-bezier(.16,1,.3,1) 1.05s 1 both; }
  .hero-actions .button { animation: hero-action-enter .85s cubic-bezier(.16,1,.3,1) 1.3s 1 backwards; }
  .hero-actions .hero-phone { animation: hero-element-enter .85s cubic-bezier(.16,1,.3,1) 1.45s 1 both; }
  .hero-location { animation: hero-element-enter .9s cubic-bezier(.16,1,.3,1) 1.65s 1 both; }
  .hero-explore { animation: hero-element-enter 1s cubic-bezier(.16,1,.3,1) 1.8s 1 both; }
  .hero-content:focus-within .hero-actions .button,
  .hero-content:focus-within .hero-actions .hero-phone { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-title-line > span, .hero-eyebrow, .hero-description, .hero-actions > *, .hero-location, .hero-explore { animation: none !important; opacity: 1; transform: none; filter: none; }
}
