/* Firebrick scroll-film hero — "Scrubbed". Desktop landscape only; portrait/mobile
   and reduced-motion get the poster hero (film stage hidden by .film-off). */
#film-scroll{position:relative;height:850vh;background:#171310}
#film-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#171310}
#film-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#film-grain{position:absolute;inset:0;pointer-events:none;opacity:.035;mix-blend-mode:overlay;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
#film-fade{position:absolute;left:0;right:0;bottom:0;height:38vh;pointer-events:none;opacity:0;
 background:linear-gradient(180deg,rgba(23,19,16,0),#171310)}
#film-vignette{position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(ellipse at center,transparent 58%,rgba(23,19,16,.55) 100%)}
.film-beat{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;flex-direction:column;
 justify-content:center;align-items:flex-start;padding:0 8vw;opacity:0;pointer-events:none}
.film-beat::before{content:"";position:absolute;z-index:-1;inset:-30% -30% -30% -12%;
 background:radial-gradient(55% 55% at 26% 50%,rgba(13,10,8,.66),rgba(13,10,8,.36) 48%,transparent 76%)}
.film-beat .fb-eyebrow{color:var(--brass,#B08D57);font-size:12px;font-weight:600;
 letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.film-beat h1,.film-beat h2{font-family:var(--font-display,Fraunces,Georgia,serif);font-weight:500;
 color:#F1E9D8;margin:0;max-width:14ch;line-height:1.08;letter-spacing:-.01em;
 font-size:clamp(40px,6vw,92px);text-shadow:0 2px 40px rgba(23,19,16,.65)}
.film-beat .fb-eyebrow{font-size:13px}
.film-beat p{color:rgba(241,233,216,.86);font-size:clamp(16px,1.4vw,21px);max-width:44ch;
 margin:20px 0 0;text-shadow:0 1px 24px rgba(23,19,16,.7)}
#film-brand{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;align-items:center;
 gap:10px;padding:20px 24px;pointer-events:none}
#film-brand::before{content:"";position:absolute;inset:0 0 auto 0;height:190%;z-index:-1;
 background:linear-gradient(to bottom,rgba(13,10,8,.55),rgba(13,10,8,0))}
#film-brand img{height:76px;width:auto;filter:drop-shadow(0 1px 10px rgba(0,0,0,.5))}
#film-brand .fb-word{font-family:var(--font-display,Fraunces,Georgia,serif);font-weight:500;
 font-size:34px;color:#F1E9D8;letter-spacing:.01em;text-shadow:0 1px 22px rgba(0,0,0,.55)}
#film-brand .fb-sub{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
 color:rgba(176,141,87,.95);margin-top:10px;text-shadow:0 1px 16px rgba(0,0,0,.6)}
@media (max-width:900px){#film-brand{padding:14px 14px;gap:7px}#film-brand img{height:62px}
 #film-brand .fb-word{font-size:25px}#film-brand .fb-sub{display:none}
 /* phone beats: sit low in frame, above the scroll cue */
 .film-beat{justify-content:flex-end;padding:0 7vw 22vh}
 .film-beat h1,.film-beat h2{font-size:clamp(32px,8.4vw,44px);max-width:13ch}
 .film-beat p{font-size:15.5px;max-width:32ch;margin-top:14px}
 .film-beat .fb-eyebrow{font-size:11px;margin-bottom:12px}
 .film-beat .film-cta{padding:14px 26px;font-size:11.5px;margin-top:22px}
 #film-cta{right:auto;left:7vw;bottom:12vh;padding:14px 26px;font-size:11.5px}
 #film-hint{bottom:3.5vh}#film-hint .fb-arrow{width:34px;height:34px}}
.film-beat .film-cta{pointer-events:auto;display:inline-block;margin-top:30px;padding:16px 34px;
 background:#B08D57;color:#171310;font-size:13px;font-weight:600;letter-spacing:.14em;
 text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;text-decoration:none}
#film-loader{position:absolute;inset:0;display:flex;flex-direction:column;gap:18px;align-items:center;
 justify-content:center;background:#171310;z-index:5;transition:opacity .6s ease}
#film-loader.done{opacity:0;pointer-events:none}
#film-loader .film-logo-load{height:120px;width:auto;opacity:.9}
#film-bar{width:180px;height:1px;background:rgba(176,141,87,.25);position:relative;overflow:hidden}
#film-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:#B08D57;display:block}
#film-hint{position:absolute;bottom:4.5vh;left:50%;transform:translateX(-50%);display:flex;
 flex-direction:column;align-items:center;gap:10px;color:#F1E9D8;font-size:11px;letter-spacing:.24em;
 text-transform:uppercase;text-shadow:0 1px 18px rgba(0,0,0,.7);pointer-events:none;
 animation:fbHintPulse 2.4s ease-in-out infinite}
#film-hint .fb-arrow{width:38px;height:38px;border:1px solid rgba(176,141,87,.75);border-radius:50%;
 display:flex;align-items:center;justify-content:center;background:rgba(23,19,16,.4);
 animation:fbHintDrop 2.4s ease-in-out infinite}
#film-hint svg{width:15px;height:15px;stroke:#B08D57;stroke-width:2;fill:none}
@keyframes fbHintPulse{0%,100%{opacity:.62}50%{opacity:1}}
@keyframes fbHintDrop{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
/* floating booking CTA over the film */
#film-cta{position:absolute;right:28px;bottom:5vh;z-index:5;pointer-events:auto;opacity:0;
 display:inline-block;padding:15px 30px;background:#B08D57;color:#171310;font-size:12px;font-weight:600;
 letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;
 box-shadow:0 10px 40px rgba(23,19,16,.55);transition:opacity .4s ease,transform .25s ease}
#film-cta:active{transform:scale(.975)}
/* poster fallback hero (mobile / portrait / reduced motion) */
#film-poster{display:none;position:relative;min-height:92vh;background:#171310 90% 50%/cover no-repeat;
 align-items:flex-end;padding:0 8vw 12vh}
#film-poster::before{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(23,19,16,.25),rgba(23,19,16,.88) 85%)}
#film-poster .fp-inner{position:relative}
html.film-off #film-scroll{display:none}
html.film-off #film-poster{display:flex}
@media (prefers-reduced-motion: reduce){
 #film-scroll{display:none}
 #film-poster{display:flex}
}
