/* Shared premium motion layer for Starksway's supporting pages. */
.motion-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  z-index: 120;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, #0783c1, #b8ff3d);
}

.motion-ready .pm-reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  transition:
    opacity 900ms cubic-bezier(.22,1,.36,1),
    transform 900ms cubic-bezier(.22,1,.36,1);
  transition-delay: var(--pm-delay, 0ms);
  will-change: opacity, transform;
}

.motion-ready .pm-reveal.pm-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.motion-ready .pm-image {
  overflow: hidden;
  clip-path: inset(0 0 14% 0 round 20px);
  transition: clip-path 1100ms cubic-bezier(.22,1,.36,1);
}

.motion-ready .pm-image img {
  transform: scale(1.075);
  transition: transform 1400ms cubic-bezier(.22,1,.36,1);
  will-change: transform;
}

.motion-ready .pm-image.pm-in { clip-path: inset(0 0 0 0 round 20px); }
.motion-ready .pm-image.pm-in img { transform: scale(1); }

.motion-ready .pm-hero-item {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity 850ms cubic-bezier(.22,1,.36,1),
    transform 850ms cubic-bezier(.22,1,.36,1);
  transition-delay: var(--pm-delay, 0ms);
}

.motion-ready .pm-hero-item.pm-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.stay-card,
.amenity-card,
.gallery-item,
.video-card,
.contact-list a,
.feedback-form {
  transition:
    transform 420ms cubic-bezier(.22,1,.36,1),
    box-shadow 420ms ease,
    border-color 420ms ease;
}

@media (hover:hover) and (pointer:fine) {
  .stay-card:hover,
  .amenity-card:hover,
  .video-card:hover,
  .feedback-form:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 60px rgba(6,36,44,.13);
  }

  .contact-list a:hover { transform: translateX(7px); }
  .gallery-item:hover { transform: translateY(-5px); }
}

@media (max-width: 760px) {
  .motion-ready .pm-reveal {
    transform: translate3d(0, 20px, 0);
    transition-duration: 650ms;
  }

  .motion-ready .pm-image { transition-duration: 800ms; }
  .motion-ready .pm-image img { transition-duration: 1000ms; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-progress { display: none; }
  .motion-ready .pm-reveal,
  .motion-ready .pm-image,
  .motion-ready .pm-hero-item,
  .motion-ready .pm-image img {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
  }
}
