.button,
.icon-button,
.nav-list a,
.destination-card img,
.explore-card img,
.gallery-grid img,
.tour-card,
.hero-slide,
.page-hero__slide,
.dialog-backdrop,
.dialog,
.site-nav {
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, opacity 480ms ease, transform 300ms ease, visibility 300ms ease, clip-path 300ms ease;
}

.destination-card:hover img,
.explore-card:hover img,
.gallery-grid picture:hover img {
  transform: scale(1.035);
}

.tour-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

@keyframes reveal-up {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-copy > * {
  animation: reveal-up 700ms both;
}

.hero-copy > :nth-child(2) {
  animation-delay: 80ms;
}

.hero-copy > :nth-child(3) {
  animation-delay: 150ms;
}

.hero-copy > :nth-child(4) {
  animation-delay: 220ms;
}

@media (max-width: 1119px) {
  .home-page .hero-copy > * {
    animation: none;
  }
}

@media (hover: none) {
  .destination-card:hover img,
  .explore-card:hover img,
  .gallery-grid picture:hover img,
  .tour-card:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
