/* Native paper curtain. These rules are inert until the enhancement is ready. */
.curtain-scene{position:relative;isolation:isolate}
.curtain-enabled>.curtain-hero{position:sticky;top:var(--curtain-sticky-top,var(--nav-height,88px));z-index:0}
.curtain-enabled>.curtain-hero:after{content:"";position:absolute;inset:0;z-index:10;pointer-events:none;background:#1b2a1e;opacity:calc(var(--curtain-progress,0)*.1)}
.curtain-enabled>.curtain-sheet{position:relative;z-index:1;display:flow-root;background:var(--cream,#fcf9f2);border-radius:clamp(24px,3.5vw,56px) clamp(24px,3.5vw,56px) 0 0;border-top:1px solid #344e4129;padding-top:clamp(20px,2.5vw,36px);box-shadow:0 -18px 50px #1b2a1e1c,0 -2px 9px #1b2a1e12}
.curtain-enabled.scroll-home>.curtain-sheet{margin-top:var(--curtain-home-runway,0px)}
/* Content pages: a deeper shadow gradient along the rounded top edge lifts the
   paper sheet off the cover photograph. box-shadow follows the corner radius. */
.curtain-page.curtain-enabled>.curtain-sheet{box-shadow:0 -34px 70px -12px #1b2a1e73,0 -14px 30px -8px #1b2a1e47,0 -2px 8px #1b2a1e24}
/* Tuck the sheet up by its corner radius so the rounded corners sit over the
   hero instead of exposing the page background as square corners. */
.curtain-page.curtain-enabled>.curtain-sheet{margin-top:calc(-1 * clamp(24px,3.5vw,56px))}
/* Keep the original hero's complete content and responsive art composition,
   while removing its former empty scroll runway and nested sticky context. */
.curtain-enabled.scroll-home>.hero-journey{height:auto!important;min-height:0!important;--hero-progress:var(--curtain-progress,0)!important;--rear-progress:var(--curtain-rear,0)!important;--rear-lift:var(--curtain-lift,0)!important}
.curtain-enabled.scroll-home>.hero-journey>.scroll-hero{position:relative!important;top:auto!important;height:auto!important;max-height:none!important}
.curtain-enabled.scroll-home .hero-stage .depth-sheet-back{z-index:0!important}
.curtain-enabled.scroll-home .hero-stage.curtain-rear-in-front .depth-sheet-back{z-index:3!important}
.curtain-enabled .curtain-sheet>:first-child{margin-top:0}
.curtain-enabled .curtain-sheet .detail-aside,.curtain-enabled .curtain-sheet .booking-summary{top:calc(var(--nav-height,88px) + 20px)}
.curtain-enabled .curtain-reveal{opacity:.78;transform:translate3d(0,18px,0);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.curtain-enabled .curtain-reveal.curtain-arrived,.curtain-enabled .curtain-reveal:focus-within{opacity:1;transform:none}
/* The pinned home hero fills the space between the header and the dock. Otherwise a hero shorter
   than the screen (tablets in portrait) leaves an empty band below it for the whole card runway. */
.curtain-enabled.scroll-home>.hero-journey>.scroll-hero{min-height:calc(100svh - var(--nav-height,88px) - var(--dock-height,0px))}

@media(min-width:1100px) and (min-height:760px){
 .curtain-enabled.scroll-home>.hero-journey>.scroll-hero{min-height:calc(100svh - var(--nav-height,88px));padding-top:35px;padding-bottom:60px}
}
@media(max-width:600px){
 .curtain-enabled>.curtain-sheet{border-radius:28px 28px 0 0;padding-top:20px;box-shadow:0 -12px 32px #1b2a1e20}
 .curtain-page.curtain-enabled>.curtain-sheet{box-shadow:0 -22px 44px -10px #1b2a1e66,0 -8px 18px -6px #1b2a1e40,0 -2px 6px #1b2a1e1f;margin-top:-28px}
 .curtain-enabled .curtain-reveal{transform:translate3d(0,12px,0)}
 .curtain-enabled .curtain-reveal.curtain-arrived,.curtain-enabled .curtain-reveal:focus-within{transform:none}
}
/* The motion preference can change while the page is open. Both the device
   setting and the footer control restore ordinary, uninterrupted flow. */
html.reduce-motion .curtain-scene>.curtain-hero{position:relative!important;top:auto!important}
html.reduce-motion .curtain-scene>.curtain-hero:after{display:none}
html.reduce-motion .curtain-scene>.curtain-sheet{padding-top:0;border:0;border-radius:0;box-shadow:none}
html.reduce-motion .curtain-reveal{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
 .curtain-scene>.curtain-hero{position:relative!important;top:auto!important}
 .curtain-scene>.curtain-hero:after{display:none}
 .curtain-scene>.curtain-sheet{padding-top:0;border:0;border-radius:0;box-shadow:none}
 .curtain-reveal{opacity:1!important;transform:none!important;transition:none!important}
}
@media print{
 .curtain-scene{isolation:auto}
 .curtain-scene>.curtain-hero{position:relative!important;top:auto!important}
 .curtain-scene>.curtain-hero:after{display:none}
 .curtain-scene>.curtain-sheet{padding-top:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 .curtain-reveal{opacity:1!important;transform:none!important}
}
