/* Mban pozicionin e hero-s edhe kur aplikohet animacioni reveal. */
.hero-photo {
  transform-origin: 52% 50%;
  will-change: transform;
  animation: luxuryDrift 24s cubic-bezier(.45, 0, .55, 1) infinite alternate;
}

@keyframes luxuryDrift {
  0% {
    transform: translate3d(-.45%, 0, 0) scale(1.035);
  }
  50% {
    transform: translate3d(.35%, -.25%, 0) scale(1.065);
  }
  100% {
    transform: translate3d(.8%, -.45%, 0) scale(1.085);
  }
}

.hero-copy {
  max-width: 1180px;
}

.hero-copy h1 {
  font-size: clamp(3.2rem, 5.35vw, 5.9rem);
}

.hero-line {
  white-space: nowrap;
}

.hero-copy.reveal {
  transform: translateY(calc(-49% + 22px));
}

.hero-copy.reveal.visible {
  transform: translateY(-49%);
}

@media (max-width: 900px) {
  .hero-copy.reveal {
    transform: translateY(calc(-48% + 22px));
  }

  .hero-copy.reveal.visible {
    transform: translateY(-48%);
  }

  .hero-copy h1 {
    font-size: clamp(2.9rem, 10vw, 4.8rem);
  }
}

@media (max-width: 650px) {
  .hero-photo {
    animation-duration: 30s;
  }

  .hero-line {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-photo {
    animation: none;
    transform: scale(1.035);
    will-change: auto;
  }
}

@media (max-height: 680px) and (min-width: 901px) {
  .hero {
    min-height: 660px;
  }

  .hero-copy {
    top: 48%;
  }

  h1 {
    font-size: clamp(3.2rem, 5.4vw, 5.5rem);
  }

  .hero-copy > p {
    margin: 22px 0 26px;
  }
}
