/* Scoped to the homepage: the opaque page rises over the opening slideshow. */
.home-scroll-scene{position:relative;isolation:isolate}.home-scroll-content{position:relative;z-index:2;background:var(--cream)}.home-scroll-scene.scroll-motion-enabled>.hero{position:sticky;top:100px;z-index:0}.scroll-motion-enabled .hero-images{inset:-65px 0;height:calc(100% + 130px);will-change:translate}.scroll-motion-enabled .hero-content{will-change:translate}.scroll-motion-enabled .intro>div,.scroll-motion-enabled .experience .photo-frame,.scroll-motion-enabled .experience-copy{will-change:translate}.home-scroll-content>.welcome-strip{position:relative;box-shadow:0 -14px 35px #10201912}.scroll-motion-enabled .intro .reveal{transition:opacity 1s ease,transform 1s cubic-bezier(.2,.65,.3,1)}.scroll-motion-enabled .experience .photo-frame.reveal:not(.visible){transform:translateY(55px)}.scroll-motion-enabled .experience-copy.reveal:not(.visible){transform:translateY(35px)}@media(max-width:850px){.home-scroll-scene.scroll-motion-enabled>.hero{top:80px}}@media(prefers-reduced-motion:reduce){.home-scroll-scene>.hero{position:relative!important;top:auto!important}.home-scroll-scene .hero-images{inset:0;height:100%}.home-scroll-scene .hero-images,.home-scroll-scene .hero-content,.home-scroll-scene .intro>div,.home-scroll-scene .experience .photo-frame,.home-scroll-scene .experience-copy{translate:none!important;will-change:auto}}
/* Apply scroll drift equally to restaurant and room photographs. */
.scroll-motion-enabled .experience .photo-frame .food-photo,.scroll-motion-enabled .experience .photo-frame .room-photo{top:-22px;height:calc(100% + 44px);translate:0 var(--scroll-photo-y,0px);will-change:translate}.scroll-motion-enabled .intro>div,.scroll-motion-enabled .experience-copy{transition:opacity .85s ease,transform .85s ease}@media(prefers-reduced-motion:reduce){.home-scroll-scene .experience .photo-frame .food-photo,.home-scroll-scene .experience .photo-frame .room-photo{top:0;height:100%;translate:none;will-change:auto}}
/* Below the hero, entrance only: the visible state remains until refresh. */
.home-scroll-scene .intro>div,.home-scroll-scene .experience .photo-frame,.home-scroll-scene .experience-copy{translate:none!important;will-change:auto}.home-scroll-scene .experience .photo-frame .food-photo,.home-scroll-scene .experience .photo-frame .room-photo{top:0;height:100%;translate:none!important;will-change:auto;animation:none!important;transform:none!important}.home-scroll-scene .experience .photo-frame:hover img{transform:none!important}.scroll-motion-enabled .intro .reveal,.scroll-motion-enabled .experience .reveal{transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.65,.3,1)}.scroll-motion-enabled .intro .reveal:not(.visible),.scroll-motion-enabled .experience-copy.reveal:not(.visible){transform:translateY(45px)}.scroll-motion-enabled .experience .photo-frame.reveal:not(.visible){transform:translateY(65px)}.scroll-motion-enabled .intro .reveal.visible,.scroll-motion-enabled .experience .reveal.visible{transform:none}
/* Slower first entrance for the restaurant and hotel sections. */
.scroll-motion-enabled .experience .reveal{transition:opacity 1.55s ease,transform 1.55s cubic-bezier(.2,.65,.3,1)}
/* Three illustrative hospitality concepts beside the introduction. */
.home-scroll-content .intro{grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}.intro-gallery{height:auto;aspect-ratio:4/3}.intro-gallery .intro-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.25s ease;transform:none!important}.intro-gallery .intro-photo.active{opacity:1}.intro-gallery .photo-caption{bottom:70px;letter-spacing:.08em}.intro-controls{position:absolute;bottom:18px;left:25px;display:flex;gap:10px;z-index:2}.intro-controls button{background:#13261ec9;border:1px solid #ffffff70;color:white;padding:7px 13px;font-size:11px}.intro-controls button[aria-pressed=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}.intro-concept-note{font-size:11px;color:var(--muted);margin:8px 0 0}.intro-welcome-copy .intro-copy{max-width:none}@media(max-width:750px){.home-scroll-content .intro{grid-template-columns:1fr;gap:30px}.intro-visual{width:100%}}
/* Intro photo enters once with the same rise and timing as restaurant/hotel. */
.scroll-motion-enabled .intro .intro-visual.reveal{transition:opacity 1.55s ease,transform 1.55s cubic-bezier(.2,.65,.3,1)}.scroll-motion-enabled .intro .intro-visual.reveal:not(.visible){transform:translateY(65px)}.scroll-motion-enabled .intro .intro-visual.reveal.visible{transform:none}
/* Text blocks enter horizontally once; photographs keep their upward entrance. */
.scroll-motion-enabled .intro .intro-welcome-copy.reveal{transition:opacity 1.55s ease,transform 1.55s cubic-bezier(.2,.65,.3,1)}.scroll-motion-enabled .intro .intro-welcome-copy.reveal:not(.visible){transform:translateX(-60px)}.scroll-motion-enabled #restaurant .experience-copy.reveal:not(.visible){transform:translateX(60px)}.scroll-motion-enabled #hotel .experience-copy.reveal:not(.visible){transform:translateX(-60px)}.scroll-motion-enabled .intro .intro-welcome-copy.reveal.visible,.scroll-motion-enabled #restaurant .experience-copy.reveal.visible,.scroll-motion-enabled #hotel .experience-copy.reveal.visible{transform:none}@media(max-width:600px){.scroll-motion-enabled .intro .intro-welcome-copy.reveal:not(.visible),.scroll-motion-enabled #hotel .experience-copy.reveal:not(.visible){transform:translateX(-22px)}.scroll-motion-enabled #restaurant .experience-copy.reveal:not(.visible){transform:translateX(22px)}}@media(prefers-reduced-motion:reduce){.home-scroll-scene .intro .intro-welcome-copy.reveal,.home-scroll-scene #restaurant .experience-copy.reveal,.home-scroll-scene #hotel .experience-copy.reveal{transform:none!important;transition:none!important;opacity:1}}


/* Mobile: photo and title stay together while the following content covers them. */
@media(max-width:850px){
 .home-scroll-scene.scroll-motion-enabled>.hero{position:sticky;top:80px;isolation:isolate}
 .home-scroll-scene .hero-images,.home-scroll-scene .hero-content{translate:none!important;will-change:auto}
 .home-scroll-scene .hero-images{overflow:hidden}
 .home-scroll-content{isolation:isolate}
}

@media(max-width:700px){
 body .hero .hero-content{padding:16px 0 20px}
 body .hero h1{font-size:clamp(28px,4.4svh,38px);line-height:1.04;margin-bottom:12px}
 body .hero .hero-intro{font-size:12px;line-height:1.5;margin:8px 0}
 body .hero .hero-actions{margin-top:14px;gap:10px}
 body .hero .hero-actions .button{min-height:42px;padding:10px 18px;font-size:11px}
}
@media(max-width:700px) and (max-height:700px){
 body .hero .hero-images{height:24svh;aspect-ratio:auto}
 body .hero .hero-bottom{height:24svh;aspect-ratio:auto}
 body .hero h1{font-size:28px;line-height:1;margin-bottom:8px}
 body .hero .hero-content{padding:12px 0}
 body .hero .hero-intro{font-size:11px;margin:6px 0}
 body .hero .hero-actions{margin-top:8px;gap:6px}
 body .hero .hero-actions .button{min-height:36px;padding:7px 14px}
}

@media(max-width:700px){body .hero .slide-controls{max-width:100%;min-width:0;overflow-x:auto;flex-wrap:nowrap}}
