:root {
  --motion-curve: cubic-bezier(.22, .61, .36, 1);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 22px;
}

.hero h1,
.section-heading h2,
.audience-intro h2,
.audience-copy h3,
.friends-heading h3,
.venue-copy h2,
.section-intro h2,
.form-heading h3 {
  font-family: "Outfit", sans-serif;
}

.topbar .brand {
  color: var(--ink);
  text-shadow: none;
}

.topbar .top-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  text-decoration: none;
  transition: color .25s var(--motion-curve);
}

.topbar .top-link:hover {
  color: var(--plum);
}

.button,
.topbar .nav-cta,
.journey-step .step-photo img,
.audience-visual img,
.friends-visual img,
.venue-visual img {
  transition: transform .55s var(--motion-curve), background-color .35s var(--motion-curve), color .35s var(--motion-curve);
}

.journey-step:hover .step-photo img,
.audience-visual:hover img,
.friends-visual:hover img,
.venue-visual:hover img {
  transform: scale(1.025);
}

.button:active,
.topbar .nav-cta:active {
  transform: scale(.985);
}

@media (max-width: 560px) {
  html {
    scroll-padding-top: 14px;
  }

  .topbar .top-link {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
