/* One layered reveal at the hero and one at the footer. The content between
   them remains a single natural document flow. */
body.lv-home{background:#071f3a}
body.lv-home main{position:relative;z-index:2;background:#f8f6f0}
body.lv-home main>section{position:relative;z-index:2}
/* Keep the hero and the following content in normal flow. A sticky hero makes
   the second section paint over it and exposes that section's background
   behind the hero while scrolling. */
body.lv-home main>.lv-hero{position:relative;top:auto;z-index:2}
body.lv-home main>.lv-trust{margin-top:0;background:#eee8dc;isolation:isolate}
body.lv-home footer.lv-footer{position:sticky;bottom:0;z-index:1}
body.lv-home .lv-header,body.lv-home .lv-announcement{position:relative;z-index:30}
body.lv-home .lv-whatsapp{z-index:1000}
body.lv-home .lv-lightbox{z-index:2000}
body.lv-home.lv-booking-open .lv-booking-panel,body.lv-home .lv-mobile-book{z-index:1500}

/* Section backgrounds stay in normal flow; only their inner content animates. */
body.lv-home main>section{opacity:1!important;transform:none!important}
body.lv-home .lv-element-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
body.lv-home .lv-element-reveal.lv-in-view{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){body.lv-home .lv-element-reveal{opacity:1;transform:none;transition:none}}
@media(max-width:600px){body.lv-home footer.lv-footer{position:relative;bottom:auto}}
