/* Two-scene hotel hero: measured cross-dissolve, slow camera movement. */
.hero:not(.short) .hero-slider{position:absolute;inset:0;z-index:0;overflow:hidden;background:#1d2428}
.hero-slider .hero-frame{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.45s cubic-bezier(.25,.46,.28,1),visibility 1.45s;will-change:opacity}
.hero-slider .hero-frame.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slider .hero-frame img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.09);transition:transform 9s cubic-bezier(.12,.18,.36,1);will-change:transform}
.hero-slider .hero-frame.is-active img{transform:scale(1)}
.hero-slider .hero-frame:first-child img{object-position:center 45%}
.hero-slider .hero-frame:last-child img{object-position:center 26%}
.hero-slider .hero-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,248,226,.09) 50%,transparent 65%);opacity:0;transform:translateX(-30%);pointer-events:none}
.hero-slider .hero-frame.is-active::after{animation:hero-light-sweep 1.65s ease-out both}
.hero:not(.short) .hero-slider~.veil{pointer-events:none}
.hero-slide-controls{position:absolute;z-index:4;right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));bottom:31px;display:flex;align-items:center;gap:10px}
.hero-slide-controls button{position:relative;display:flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;padding:9px 9px 15px;border:0;background:transparent;color:rgba(255,253,250,.72);font:500 .69rem/1 var(--sans);letter-spacing:.13em;cursor:pointer;transition:color .3s ease}
.hero-slide-controls button:hover,.hero-slide-controls button:focus-visible,.hero-slide-controls button[aria-current="true"]{color:#fffdfa}
.hero-slide-controls button:focus-visible{outline:2px solid var(--brass-soft);outline-offset:3px}
.hero-slide-controls button::before,.hero-slide-controls button::after{content:"";position:absolute;left:8px;right:8px;bottom:6px;height:1px;background:rgba(255,253,250,.45)}
.hero-slide-controls button::after{right:auto;width:0;background:var(--brass-soft)}
.hero-slide-controls button[aria-current="true"]::after{width:calc(100% - 16px)}
.hero-slide-controls.is-playing button[aria-current="true"]::after{animation:hero-progress 8s linear both}
.hero-slide-controls.is-paused button[aria-current="true"]::after{animation-play-state:paused}
@keyframes hero-progress{from{width:0}to{width:calc(100% - 16px)}}
@keyframes hero-light-sweep{0%{opacity:0;transform:translateX(-30%)}30%{opacity:.35}100%{opacity:0;transform:translateX(30%)}}
@media(max-width:640px){.hero-slider .hero-frame:first-child img{object-position:57% center}.hero-slider .hero-frame:last-child img{object-position:27% center}.hero-slide-controls{right:var(--gutter);bottom:18px;gap:3px}.hero-scroll{bottom:22px}.hero-scroll span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.hero-slider .hero-frame,.hero-slider .hero-frame img,.hero-slide-controls button{transition:none!important;animation:none!important;transform:none!important}.hero-slider .hero-frame::after,.hero-slide-controls button::after{animation:none!important}.hero-slide-controls button[aria-current="true"]::after{width:calc(100% - 16px)}}
