/* v54 — final package-hero alignment fix. Loaded after all earlier package CSS. */
.luxury-package-hero {
  overflow: hidden;
}

.luxury-package-hero .photo-page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(48px, 5.5vw, 84px);
  align-items: center;
}

.luxury-package-hero .photo-page-hero-grid > * {
  min-width: 0;
}

.luxury-package-hero .photo-page-hero-grid > :first-child {
  position: relative;
  z-index: 2;
}

.luxury-package-hero .package-luxury-title {
  width: 100%;
  max-width: 10.7ch;
  margin: 0;
  font-size: clamp(3.1rem, 4.35vw, 5.05rem);
  line-height: .98;
  letter-spacing: -.052em;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.luxury-package-hero .package-luxury-title > span,
.luxury-package-hero .package-luxury-title > em {
  display: block;
}

.luxury-package-hero .package-luxury-title > span {
  max-width: 10.7ch;
}

.luxury-package-hero .package-luxury-title > em {
  max-width: 9.4ch;
  margin-top: .08em;
}

.luxury-package-hero .package-luxury-copy {
  max-width: 32rem;
}

.luxury-package-hero .package-hero-visual {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0 18px 44px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.luxury-package-hero .package-v49-scene {
  width: 100%;
  max-width: 700px;
  margin: 0;
  aspect-ratio: 730 / 620;
  overflow: hidden;
  flex: 0 1 700px;
}

.luxury-package-hero .package-v49-scene img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.luxury-package-hero .package-value-stamp {
  left: auto;
  top: auto;
  right: 0;
  bottom: 0;
  transform: none;
}

@media (max-width: 1160px) {
  .luxury-package-hero .photo-page-hero-grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 38px;
  }

  .luxury-package-hero .package-luxury-title {
    max-width: 10.2ch;
    font-size: clamp(2.8rem, 4.6vw, 4.25rem);
  }
}

@media (max-width: 900px) {
  .luxury-package-hero .photo-page-hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .luxury-package-hero .package-luxury-title,
  .luxury-package-hero .package-luxury-title > span,
  .luxury-package-hero .package-luxury-title > em {
    max-width: 12ch;
  }

  .luxury-package-hero .package-hero-visual {
    padding: 0 12px 54px;
  }

  .luxury-package-hero .package-v49-scene {
    max-width: 720px;
  }
}

@media (max-width: 560px) {
  .luxury-package-hero .package-luxury-title {
    font-size: clamp(2.55rem, 12vw, 3.65rem);
  }

  .luxury-package-hero .package-hero-visual {
    padding: 0 0 46px;
  }

  .luxury-package-hero .package-v49-scene {
    aspect-ratio: 4 / 3;
  }
}
