/* Source artwork in the existing desktop and mobile layouts. */
.sojon-banner { position: relative; width: 100%; overflow: hidden; }
.sojon-banner picture { display: none; }
.sojon-banner picture.is-active { display: block; }
.sojon-banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sojon-banner video { display: block; width: 100%; height: 100%; object-fit: cover; }
.sojon-banner-mobile { height: 100%; }
.sojon-banner-mobile picture { height: 100%; }
.sojon-banner-desktop { position: absolute; inset: 0; height: 100%; }
.sojon-banner-desktop picture { height: 100%; }
.sojon-banner button { position: absolute; top: 45%; z-index: 20; width: 36px; height: 44px; border-radius: 6px; color: white; background: rgb(0 0 0 / 45%); font-size: 28px; cursor: pointer; }
.sojon-banner-prev { left: 12px; }
.sojon-banner-next { right: 12px; }
#home .hero-overlay-desktop, #home .bg-gradient-to-t { pointer-events: none; }
#home .sojon-banner-desktop { z-index: 1; }
#home .hero-overlay-desktop { z-index: 2; }
#home .sojon-banner-desktop button { pointer-events: auto; }
#home .hero-overlay-desktop { background: linear-gradient(90deg, rgb(0 0 0 / 65%), rgb(0 0 0 / 5%)); }
#floor-plan .grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
#m-floor-plan figure { cursor: pointer; }
#m-floor-plan figure img { object-fit: contain; }
.theme-footer,
.theme-footer p,
.theme-footer span,
.theme-footer a { color: #fff; }
footer a { text-decoration: underline; }
footer img { object-fit: contain; }
.highlightsList > li { border: 1px solid rgb(var(--color-gold-rgb) / 0.35); }
@media (max-width: 767px) {
  #highlightsCaption { display: grid; gap: 6px; }
  #highlightsCaption > li { margin: 0; padding: 10px 12px; border-radius: 8px; line-height: 1.4; }
  main.ig-shell #m-amenities .ig-carousel-slide,
  main.ig-shell #m-gallery .ig-carousel-slide { height: auto; min-width: 0; overflow: hidden; }
  #m-amenities .ig-carousel-slide img,
  #m-gallery .ig-carousel-slide img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
  #m-amenities figcaption { display: block; padding: 10px 12px; color: var(--color-ink); font-size: 14px; font-weight: 600; line-height: 1.4; text-align: center; }
}
@media (max-width: 639px) { #floor-plan .grid { grid-template-columns: 1fr; } }
