/* Native sections and short, once-per-arrival animations. */
html{scroll-padding-top:0;scroll-snap-type:none}
html.story-snapping{scroll-snap-type:y mandatory}
html:has(.motion-reduced){scroll-snap-type:none!important;scroll-behavior:auto}
.section{scroll-margin-top:94px}
#header-marker{position:absolute;top:38px;left:0;height:1px;width:1px;pointer-events:none}
.slide-mode .cinema-journey{height:auto}
.slide-mode .cinema-stage{position:relative;top:auto;height:auto;min-height:0;overflow:visible;isolation:auto;transform:none;will-change:auto}
.slide-mode .cinema-canvas{height:auto}
.slide-mode .cinema-scene{position:relative;inset:auto;height:100svh;min-height:620px;scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:0;overflow:hidden;pointer-events:auto;contain:layout paint}
.slide-mode .scene-media{opacity:1;clip-path:none;transform:none;will-change:auto;inset:0}
.slide-mode .scene-media img,.slide-mode .scene-media video{inset:0;width:100%;height:100%;object-fit:cover}
.slide-mode .scene-copy{opacity:1;transform:none;pointer-events:auto;will-change:auto;padding:125px 7.5vw 125px}
.slide-mode .scene-copy .button{pointer-events:auto}
.slide-mode .kinetic-title>span>span,.slide-mode .kinetic-title>span>em{transform:none;will-change:auto}
.slide-mode .detail-layer,.slide-mode .cinema-aura,.slide-mode .experience-progress{display:none!important}
.slide-mode .experience-bottom{display:none;position:fixed;z-index:42;bottom:30px;left:7.5vw;right:7.5vw;gap:18px;pointer-events:none}
.slide-mode.story-in-view .experience-bottom{display:flex}
.experience-bottom>*{pointer-events:auto}
.scene-nav{margin-left:auto}
.scene-nav a{min-width:28px;min-height:46px;justify-content:center}
.scene-nav i{transition:width .2s}
.slide-mode .scroll-stem:after{animation:none;transform:none;height:14px;background:#f1c599}
.slide-controls{display:flex;gap:8px;align-items:center}
.slide-controls button{min-height:46px;padding:9px 15px;border:1px solid #ffffff55;background:#260f19d9;color:white;font-size:.875rem}
.slide-controls button:hover{background:var(--brand)}
.slide-controls button:disabled{opacity:.4}
.slide-mode .video-control{min-height:44px;width:44px;height:44px;background:#260f19d9}
.slide-mode .scene-media video{transition:opacity .35s}
.slide-mode .header-scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:#260f19f5}
.aruana-menu::backdrop{backdrop-filter:none;background:#170b10da}
.slide-mode .taste-image,.slide-mode .location-photo{clip-path:none;border-radius:0}
.slide-mode [data-reveal]{opacity:1;transform:none;will-change:auto}
#rodizio{scroll-snap-align:start;scroll-snap-stop:normal}
.intro-replay .scene-0 .scene-media,.intro-replay .scene-0 .scene-copy{animation:none!important}
@media(max-width:1100px){.slide-mode .experience-bottom{left:6vw;right:6vw;gap:12px}.scroll-invitation{display:none}.scene-nav a span{display:none!important}}
@media(max-width:820px){
 .slide-mode .cinema-scene{height:100svh;min-height:560px}
 .slide-mode .scene-copy{padding:115px 7vw 157px;justify-content:flex-end}
 .slide-mode .experience-bottom{left:7vw;right:7vw;bottom:calc(74px + env(safe-area-inset-bottom,0px));justify-content:space-between;gap:10px}
 .slide-mode .scene-nav{margin:0;gap:5px}
 .slide-mode .scene-nav a{min-width:24px;min-height:46px;padding:8px 2px}
 .slide-mode .scene-nav a[aria-current=step] i{width:16px}
 .slide-controls{gap:6px}.slide-controls button{padding:9px 12px}
 .slide-mode .video-control{position:fixed;top:106px;right:7vw;min-height:44px;width:44px}
 .slide-mode .scene-description{max-width:300px;line-height:1.55}
 .slide-mode .scene-copy .eyebrow{font-size:.875rem}
 .slide-mode .taste-image{height:340px}.slide-mode .location-photo{height:380px}
 .slide-mode .header,.slide-mode .header-scrolled{backdrop-filter:none;-webkit-backdrop-filter:none}
 .slide-mode .scene-copy .button{min-height:46px;margin-top:14px}
}
@media(max-width:380px){.slide-controls button{padding:9px 10px}.slide-mode .experience-bottom{gap:6px}.slide-mode .scene-nav{gap:2px}.slide-mode .scene-copy{padding-bottom:153px}.slide-mode .scene-description{font-size:1rem;line-height:1.5}.slide-mode .scene-1 .kinetic-title{font-size:clamp(2.8rem,12.4vw,3.4rem)}}
@media(max-height:650px) and (max-width:820px){.slide-mode .scene-copy{padding-top:100px;padding-bottom:145px}.slide-mode .kinetic-title{font-size:clamp(3.8rem,19vw,5rem)}.slide-mode .scene-2 .kinetic-title{font-size:clamp(3.1rem,15vw,4.4rem)}.slide-mode .scene-3 .kinetic-title{font-size:clamp(3rem,14vw,4.2rem)}.slide-mode .scene-description{margin-top:14px;line-height:1.45}.slide-mode .scene-copy .eyebrow{margin-bottom:13px}}
@media(max-height:480px) and (orientation:landscape){html.story-snapping{scroll-snap-type:y proximity}.slide-mode .cinema-scene{height:auto;min-height:580px}.slide-mode .scene-copy{padding-bottom:130px}.slide-mode .experience-bottom{bottom:76px}.slide-mode .video-control{top:88px}}
@media(prefers-reduced-motion:reduce){html.story-snapping{scroll-snap-type:none}.slide-mode .scene-nav i{transition:none}}
.slide-mode .css-arrival .scene-media{animation:aruana-arrival-photo 1.8s cubic-bezier(.2,.75,.2,1)}
.slide-mode .css-arrival .scene-copy{animation:aruana-arrival-copy 1s cubic-bezier(.2,.75,.2,1)}
.motion-reduced .css-arrival .scene-media,.motion-reduced .css-arrival .scene-copy{animation:none!important}
@keyframes aruana-arrival-photo{from{transform:scale(1.14);opacity:.75}to{transform:none;opacity:1}}
@keyframes aruana-arrival-copy{from{transform:translateY(36px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.slide-mode .css-arrival .scene-media,.slide-mode .css-arrival .scene-copy{animation:none!important}}
/* Food fills the viewport; only visible pictures move. */
.food-transition{position:fixed;inset:-16vh -25vw;width:150vw;height:132vh;z-index:46;pointer-events:none;opacity:0;background:linear-gradient(155deg,transparent 8%,#e6974544 34%,#78311ec7 52%,#260f19c9 66%,transparent 94%);transform:translateY(130%) rotate(-8deg)}
.slide-mode .ambient-picture{overflow:hidden}
.slide-mode .ambient-picture>img{animation:aruana-food-drift 12s ease-in-out infinite alternate;animation-play-state:paused;transform:scale(1.07);will-change:auto}
.slide-mode.motion-ready .ambient-picture.is-on-screen>img{animation-play-state:running}
.slide-mode .scene-media:has(video.playing)>img{animation-play-state:paused}
.slide-mode .page-paused .ambient-picture>img,.slide-mode.page-paused .ambient-picture>img{animation-play-state:paused!important}
.slide-mode.intro-started .header .official-logo{animation:aruana-logo-arrival 1.2s cubic-bezier(.2,.75,.2,1)}
.slide-mode .mobile-booking{overflow:hidden}
.slide-mode .mobile-booking:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,#fff3 50%,transparent 75%);transform:translateX(-115%);animation:aruana-booking-glint 6s ease-in-out infinite;pointer-events:none}
.slide-mode .taste-tab .tab-number{display:inline-block;transition:transform .35s}
.slide-mode .taste-tab[aria-selected=true] .tab-number{transform:translateY(-3px)}
.slide-mode .reservation{overflow:hidden}
.slide-mode .reservation-photo img{opacity:.65}
.slide-mode .reservation-shade{background:linear-gradient(#260f19a8,#260f1980 40%,#260f19df)}
.slide-mode .section-heading .display em,.slide-mode .reservation h2 em{color:#f4c09b}
@keyframes aruana-food-drift{from{transform:scale(1.07) translate3d(-1%,.5%,0)}to{transform:scale(1.16) translate3d(1%,-.5%,0)}}
@keyframes aruana-logo-arrival{from{transform:translateY(-18px) scale(.85);opacity:0}to{transform:none;opacity:1}}
@keyframes aruana-booking-glint{0%,68%{transform:translateX(-115%)}95%,100%{transform:translateX(115%)}}
@media(max-width:820px){
 .slide-mode .taste-image{height:65svh;min-height:380px;margin:0 -7vw;width:100vw}
 .slide-mode .taste-copy{padding:36px 0 45px}
 .slide-mode .location-photo{height:70svh;min-height:420px;max-width:none;width:100vw;margin-left:-7vw}
 .slide-mode .location-copy{padding-top:34px}
 .slide-mode .reservation{min-height:100svh;display:flex;align-items:center}
 .slide-mode .reservation-content{width:100%}
 .slide-mode .taste-tabs-list{position:sticky;top:84px;z-index:24;background:#260f19f5;padding-top:10px;padding-bottom:10px}
}
.motion-reduced .ambient-picture>img,.motion-reduced .header .official-logo,.motion-reduced .mobile-booking:before,.page-paused .mobile-booking:before{animation:none!important;transform:none}
@media(prefers-reduced-motion:reduce){.slide-mode .ambient-picture>img,.slide-mode .header .official-logo,.slide-mode .mobile-booking:before{animation:none!important;transform:none}}
