/* T112 — One continuous cinematic background below the live hero video. */

/* One fixed scene powers every homepage section and the footer together. */
body.nile-home-active {
  --home-scene-veil: rgba(2, 11, 25, 0.82);
  background:
    linear-gradient(var(--home-scene-veil), var(--home-scene-veil)),
    #020713 url("assets/home-policy-scene-desktop.jpg") center 56% / cover fixed no-repeat !important;
}

#home .home-page {
  gap: 0 !important;
}

#home .hero-bottom-blend {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: clamp(160px, 25vh, 280px);
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, rgba(2, 7, 18, 0.30) 38%, #020713 100%);
}

#home .home-after-hero-content {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin: 0;
  padding: clamp(78px, 7vw, 108px) 0 0;
  background: transparent;
}

/* The picture remains in the HTML as an accessible responsive fallback; the fixed body scene is the visible layer. */
#home .home-after-hero-media {
  display: none;
}

#home .home-after-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 56%;
  transform: scale(1.018);
  filter: brightness(0.56) saturate(0.80) contrast(1.04);
}

#home .home-after-hero-content::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg,
      rgba(2, 11, 25, .58) 0%,
      rgba(2, 11, 25, .20) 3.4%,
      transparent 7%,
      transparent 100%);
}

#home .home-after-hero-content::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  opacity: 0.24;
  background: repeating-linear-gradient(135deg, rgba(212, 175, 55, 0.035) 0 1px, transparent 1px 76px);
  background-attachment: fixed;
  background-position: 0 0;
}

#home .home-after-hero-content > :not(.home-after-hero-media) {
  position: relative;
  z-index: 3;
}

#home .home-after-hero-content .booking-policies-lux {
  margin: 0 auto 42px !important;
}

/* The footer uses the same fixed body image and the same mesh — no second crop or brightness. */
body.nile-home-active .site-footer-open {
  position: relative;
  isolation: isolate;
  margin-top: 0 !important;
  padding-top: 62px !important;
  background: transparent !important;
}

body.nile-home-active .site-footer-open::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: 0.24 !important;
  background: repeating-linear-gradient(135deg, rgba(212, 175, 55, 0.035) 0 1px, transparent 1px 76px) !important;
  background-attachment: fixed !important;
  background-position: 0 0 !important;
}

body.nile-home-active .site-footer-open > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 920px) {
  body.nile-home-active {
    --home-scene-veil: rgba(2, 11, 25, 0.88);
    background:
      linear-gradient(var(--home-scene-veil), var(--home-scene-veil)),
      #020713 url("assets/home-policy-scene-mobile.jpg") center 72% / auto 138% fixed no-repeat !important;
  }

  #home .hero-bottom-blend {
    height: clamp(92px, 13vh, 122px);
    background: linear-gradient(180deg, transparent 0%, rgba(2, 11, 25, .18) 54%, rgba(2, 11, 25, .66) 100%);
  }

  #home .hero > .primary-actions,
  #home .hero > .mobile-carousel-controls {
    z-index: 4 !important;
  }

  #home .home-after-hero-content {
    padding: 64px 0 0;
    box-shadow: none !important;
  }

  #home .home-after-hero-content::before {
    background:
      linear-gradient(180deg,
        rgba(2, 11, 25, .48) 0%,
        rgba(2, 11, 25, .14) 2.4%,
        transparent 5.2%,
        transparent 100%);
  }

  #home .home-after-hero-content .booking-policies-lux {
    margin: 0 auto 30px !important;
  }

  body.nile-home-active .site-footer-open {
    padding-top: 54px !important;
    box-shadow: none !important;
  }

}

@media (prefers-reduced-motion: reduce) {
  #home .home-after-hero-media img {
    transform: none;
  }
}
