.room-hero{position:relative;background:#272727;color:#fff}
html.home-loading{overflow:hidden}
.home-loader{position:fixed;inset:0;z-index:100;background:#f7f5f0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 550ms ease,visibility 0s 550ms}
.home-loading .home-loader{opacity:1;visibility:visible;pointer-events:auto;transition:none}
.home-loader img{width:clamp(180px,32vw,260px);height:auto}
.home-loader-track{width:96px;height:2px;background:#d8d3c9;overflow:hidden}
.home-loader-track::after{content:"";display:block;width:40%;height:100%;background:#aa8959;animation:loading-pass 1.4s ease-in-out infinite}
.home-loader p{font-size:13px;letter-spacing:.02em;color:#65645f;margin:0}
.home-loader button{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));border:0;background:none;color:#65645f;font:inherit;font-size:12px;min-height:44px;padding:12px 20px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.home-loader button:focus-visible{outline:2px solid #82653d;outline-offset:3px}
@keyframes loading-pass{from{transform:translateX(-110%)}to{transform:translateX(360%)}}
@media(prefers-reduced-motion:reduce){.home-loader{transition:none}.home-loader-track::after{animation:none;width:100%}}
.home-page .site-header{position:fixed;inset:0 0 auto;z-index:20;transform:none;opacity:1;background:rgba(247,245,240,.94);border-bottom:1px solid rgba(170,137,89,.22);transition:background-color 450ms ease}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .home-page .site-header{background:rgba(247,245,240,.78);-webkit-backdrop-filter:blur(20px) saturate(125%);backdrop-filter:blur(20px) saturate(125%)}
}
.room-hero.is-scrubbing{height:310svh}
.room-stage{position:sticky;top:0;height:100svh;min-height:420px;overflow:hidden;background:#272727}
.room-stage picture,.room-stage picture img,.room-stage .room-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.room-stage .room-video{opacity:0}
.room-hero.has-frame .room-video{opacity:1}
.room-stage::after{content:"";position:absolute;z-index:1;bottom:0;left:0;width:100%;height:8px;background:rgba(39,39,39,.65);pointer-events:none}
.room-progress{position:absolute;z-index:2;bottom:0;left:0;height:8px;width:100%;background:#ddc69e;transform-origin:left;transform:scaleX(var(--room-progress,0));pointer-events:none}
@media(max-width:900px) and (orientation:portrait){.room-hero.is-scrubbing{height:290svh}.room-stage{min-height:400px}.room-stage picture img,.room-stage .room-video{object-position:75% center}}
@media(max-height:500px){.room-stage{min-height:320px}}
.home-page .site-header.over-room-animation{background:rgba(247,245,240,.42)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .home-page .site-header.over-room-animation{-webkit-backdrop-filter:blur(12px) saturate(115%);backdrop-filter:blur(12px) saturate(115%)}
}
@media(prefers-reduced-motion:reduce){.home-page .site-header{transition:none}}
/* Leave more of the room visible while the header overlays the animation. */
.home-page .header-inner{transition:min-height 450ms var(--ease-settle)}
.home-page .brand{transition:width 450ms var(--ease-settle),padding 450ms var(--ease-settle)}
.home-page .brand img{transition:width 450ms var(--ease-settle),height 450ms var(--ease-settle)}
.home-page .over-room-animation .header-inner{min-height:76px}
.home-page .over-room-animation .brand{width:100px;padding-block:8px}
.home-page .over-room-animation .brand img{width:100px;height:60px}
@media(max-width:760px){.home-page .over-room-animation .header-inner{min-height:64px}.home-page .over-room-animation .brand{width:80px;padding-block:8px}.home-page .over-room-animation .brand img{width:80px;height:48px}}
@media(prefers-reduced-motion:reduce){.home-page .header-inner,.home-page .brand,.home-page .brand img{transition:none}}
