#hotel .section-intro {
  max-height: 500px;
  min-height: 0;
}

/* ========================================
   Hotel detail motion
   ======================================== */

#hotel .topo-title {
  animation: hotel-hero-in 1s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}

#hotel .topo-subtitle {
  animation: hotel-hero-in 1s cubic-bezier(0.16, 1, 0.3, 1) 0.28s both;
}

@keyframes hotel-hero-in {
  from {
    opacity: 0;
    transform: translateY(28px);
    clip-path: inset(0 0 100% 0);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
  }
}

#hotel.hotel-motion-enabled .hotel-motion-item {
  opacity: 1;
  transform: translateY(0);
  clip-path: inset(0 0 0 0);
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    clip-path 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--hotel-motion-delay, 0ms);
}

#hotel.hotel-motion-enabled .hotel-motion-pending .hotel-motion-item {
  opacity: 0;
  transform: translateY(28px);
  clip-path: inset(0 0 100% 0);
}

#hotel.hotel-motion-enabled .hotel-motion-card {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.75s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--hotel-motion-delay, 0ms);
}

#hotel.hotel-motion-enabled .hotel-motion-pending .hotel-motion-card {
  opacity: 0;
  transform: translateY(28px);
}

#hotel.hotel-motion-enabled .hotel-motion-visual {
  overflow: hidden;
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transition:
    clip-path 1.15s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.8s ease;
  transition-delay: var(--hotel-motion-delay, 0ms);
}

#hotel.hotel-motion-enabled .hotel-motion-visual > img {
  transform: scale(1);
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

#hotel.hotel-motion-enabled .hotel-motion-pending .hotel-motion-visual {
  opacity: 0;
  clip-path: inset(100% 0 0 0);
}

#hotel.hotel-motion-enabled .hotel-motion-pending .hotel-motion-visual > img {
  transform: scale(1.1);
}

#hotel.hotel-motion-enabled .section-hotel-highlights-icon {
  transform: scale(1);
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

#hotel.hotel-motion-enabled .hotel-motion-pending .section-hotel-highlights-icon {
  transform: scale(0.7);
}

@media (hover: hover) and (pointer: fine) {
  #hotel.hotel-motion-enabled .section-hotel-responsibility-image:hover > img {
    transform: scale(1.035);
  }
}

@media (prefers-reduced-motion: reduce) {
  #hotel .topo-title,
  #hotel .topo-subtitle,
  #hotel .scroll-indicator {
    animation: none !important;
  }

  #hotel .hotel-motion-item,
  #hotel .hotel-motion-card,
  #hotel .hotel-motion-visual,
  #hotel .hotel-motion-visual > img,
  #hotel .section-hotel-highlights-icon {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }
}
