/* One film stage under the entire homepage. The page itself scrolls normally. */
html { scroll-behavior: auto; }
.movie-home-v5 {
  --movie-ivory: #f4f0e4;
  --movie-gutter: clamp(25px, 7vw, 130px);
  color: var(--movie-ivory);
  background: #0c1b15;
}
.movie-home-v5 .site-header {
  background: linear-gradient(#071b16c7, #071b1612);
  border: 0;
  backdrop-filter: none;
}
.movie-home-v5 .header-inner { border-bottom: 1px solid #fff3; }
.movie-home-v5 .brand span { color: var(--movie-ivory); }
.movie-home-v5 .site-header a, .movie-home-v5 .menu-button { color: var(--movie-ivory); }
.movie-home-v5 .desktop-nav a { font-size:var(--type-caption); }
.movie-home-v5 .desktop-nav a[aria-current] { border-color: #e2cfaa; }
.movie-home-v5 .header-reserve span { border-color: #eee4c440; }
.movie-home-v5 main { position: relative; isolation: isolate; }
.movie-anchor { position: absolute; inset: 0 auto auto 0; }
.movie-stage { position: fixed; inset: 0; z-index: -1; background: #0c1b15; }
.movie-stage video, .movie-stage > img {
  position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover;
  object-position: var(--movie-position, 50% 50%);
}
#movie-film { z-index: 0; }
#movie-poster { z-index: 1; transition: opacity 250ms ease; }
[data-frame-ready="true"] #movie-poster { opacity: 0; }
.movie-shade {
  position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(90deg, #06150fcc 0%, #081b1459 52%, #081b140a 100%),
              linear-gradient(0deg, #061810b0 0%, transparent 40%, #06181028 100%);
}
.movie-chapter {
  position: relative; min-height: 160svh; box-sizing: border-box;
  padding: 26svh var(--movie-gutter) 26svh; scroll-margin-top: 0;
}
.movie-chapter-arrival { min-height: 135svh; padding-top: 22svh; }
.movie-chapter-response { min-height: 155svh; }
.movie-static-image { display: none; }
.movie-copy { position: sticky; top: 28svh; max-width: 740px; padding-right: 60px; }
.movie-chapter-arrival .movie-copy { top: 22svh; }
.movie-copy h1, .movie-copy h2 {
  color: var(--movie-ivory); font-family: var(--serif); font-weight: 400;
  font-size:var(--type-page); line-height: .99; letter-spacing: -.035em;
  margin: 0 0 30px; text-wrap: balance;
}
.movie-copy h1 { font-size:var(--type-page); }
.movie-copy > p { max-width: 450px; color: #f1eedee6; font-size:var(--type-body); line-height: 1.8; margin: 0 0 24px; }
.movie-copy .movie-overline { font-size:var(--type-caption); letter-spacing: .16em; text-transform: uppercase; margin-bottom: 24px; }
.movie-copy .movie-scene-label {
  display: flex; gap: 18px; align-items: center; font-size:var(--type-caption);
  letter-spacing: .15em; text-transform: uppercase; margin-bottom: 25px; color: #e6ddc8;
}
.movie-scene-label > span { font-size:var(--type-caption); opacity: .65; }
.movie-chapter-arrival .movie-scene-label { display: none; }
.movie-copy .movie-opening-meta { font-size:var(--type-caption); line-height: 1.9; margin-top: 30px; }
.movie-opening-meta span { display: block; color: #e8e8d5bf; }
.movie-scroll-cue {
  display: inline-flex; gap: 35px; justify-content: space-between; align-items: center;
  color: #fff; font-size:var(--type-caption); border-bottom: 1px solid #efefdb6b;
  padding: 16px 0; text-decoration: none; margin-top: 18px;
}
.movie-scroll-cue .movie-cue-arrow { font-size:var(--type-card); font-weight: 300; }
.movie-static-cue { display: none; }
.movie-static .movie-static-cue { display: inline; }
.movie-static .movie-motion-cue { display: none; }
#movie-journey[data-state="poster"] ~ .movie-controls [data-film-mode] { display: none; }
.movie-copy .movie-fine { font-size:var(--type-caption); line-height: 1.8; max-width: 445px; color: #ece5d3d6; }
.movie-link {
  display: inline-flex; align-items: center; gap: 40px; padding: 15px 0;
  border: 0; border-bottom: 1px solid #ece6d4a1; background: none;
  color: #f8f5e9; font:var(--type-caption)/1.5 var(--sans); text-decoration: none;
}
.movie-link span { font-size:var(--type-card); line-height: 1; }
.movie-link:hover, .movie-link:focus-visible { color: #fff; border-color: #fff; }
.movie-prices { max-width: 430px; margin: 4px 0 23px; }
.movie-prices > div { display: flex; justify-content: space-between; gap: 24px; padding: 12px 0; border-bottom: 1px solid #ece8d842; }
.movie-prices dt { font-size:var(--type-caption); line-height: 1.7; }
.movie-prices dd { font-family: var(--serif); font-size:var(--type-card); line-height: 1; margin: 0; }
.movie-chapter-rooms .movie-copy { top: 15svh; }
.movie-chapter-rooms h2 { font-size:var(--type-section); }
.movie-chapter-rooms .movie-copy > p { margin-bottom: 17px; }
.movie-chapter-response .movie-copy { max-width: 870px; top: 18svh; }
.movie-chapter-response h2 { font-size:var(--type-section); }
.movie-final-actions { display: flex; gap: 35px; flex-wrap: wrap; margin-top: 28px; }
.movie-primary { min-width: 210px; justify-content: space-between; }
.movie-controls {
  position: fixed; bottom: 30px; right: var(--movie-gutter); left: var(--movie-gutter);
  z-index: 35; display: flex; gap: 36px; justify-content: space-between;
  align-items: flex-end; pointer-events: none;
}
.movie-controls > * { pointer-events: auto; }
.movie-controls[hidden], .movie-progress[hidden] { display: none; }
.movie-location { font-size:var(--type-caption); line-height: 1.8; letter-spacing: .08em; color: #f5ebd6b8; }
.movie-location span { display: block; }
.movie-chapter-nav { display: flex; align-items: flex-end; gap: 8px; }
.movie-chapter-nav a {
  min-width: 32px; height: 37px; padding: 6px; color: #f6f1dd80;
  font-size:var(--type-caption); display: flex; flex-direction: column; align-items: center;
  gap: 8px; text-decoration: none; border-bottom: 1px solid #f9f0d54d;
}
.movie-chapter-nav a:hover, .movie-chapter-nav a[aria-current] { color: #fff; border-color: #fff; }
.movie-nav-label { display: none; }
[data-film-mode] {
  padding: 11px 14px; background: #0d221e8f; color: #f9f3df;
  border: 1px solid #f0e9d565; font:var(--type-caption)/1.5 var(--sans); white-space: nowrap;
}
#movie-status:empty { display: none; }
#movie-status { position: absolute; bottom: 56px; right: 0; max-width: 280px; padding: 14px; background: #132b21; font-size:var(--type-caption); }
.movie-progress { position: fixed; left: 0; bottom: 0; z-index: 45; width: 100%; height: 2px; background: #fff1; pointer-events: none; }
.movie-progress > span { display: block; height: 100%; width: calc(var(--movie-progress, 0) * 100%); background: #e4d6b4; }
.movie-home-v5 .preview-control { top: 104px; bottom: auto; left: auto; right: 23px; border: 0; padding: 5px 7px; background: #132b2170; color: #f4ebd194; font-size:var(--type-caption); }
.movie-home-v5 .site-footer {
  position: relative; z-index: 1; background: #081c13; padding: 64px 0 40px;
  border-top: 1px solid #dbe3ca24; color: var(--movie-ivory);
}
.movie-home-v5 .footer-wordmark { display: none; }
.movie-home-v5 .footer-meta { font-size:var(--type-caption); }
.movie-home-v5 .footer-conditions { margin-top: 30px; font-size:var(--type-caption); }
.movie-home-v5 .footer-end { font-size:var(--type-caption); border-color: #dbe3ca38; }
.movie-home-v5 .footer-meta, .movie-home-v5 .footer-conditions, .movie-home-v5 .footer-end { color: #d5dccb; }
.movie-home-v5 .footer-meta a, .movie-home-v5 .footer-meta button { color: #f5eedb; }
.movie-home-v5 .site-footer .footer-preview { opacity: 1; }
.movie-home-v5 .review-signout {
  max-width: calc(var(--max) + var(--gutter) * 2); padding-inline: var(--gutter); margin-inline: auto;
}
.movie-home-v5 dialog { color: var(--ink); }
.movie-home-v5 dialog .button { color: #fff; }
.movie-home-v5 dialog .dialog-close { color: var(--ink); }
.movie-static .movie-stage { display: none; }
.movie-static .movie-chapter { min-height: 100svh; padding-block: 160px 120px; overflow: hidden; }
.movie-static .movie-chapter .movie-copy { position: relative; top: auto; }
.movie-static .movie-static-image { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.movie-static .movie-chapter::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #061b14dd, #061b1459), linear-gradient(0deg, #061b14b0, transparent); }
.movie-static .movie-controls { background: #0d241dd9; padding: 8px 12px; bottom: 15px; }
.movie-static .movie-chapter-nav { display: none; }
.movie-static .movie-progress { display: none; }
@media (max-width: 1050px) {
  .movie-home-v5 { --movie-gutter: 42px; }
  .movie-copy { max-width: 640px; padding-right: 0; }
  .movie-copy h1 { font-size:var(--type-page); }
  .movie-copy h2 { font-size:var(--type-section); }
  .movie-copy > p { font-size:var(--type-body); }
  .movie-chapter-rooms h2 { font-size:var(--type-section); }
  .movie-chapter-response h2 { font-size:var(--type-section); }
  .movie-controls { gap: 24px; }
}
@media (max-width: 700px) {
  .movie-home-v5 { --movie-gutter: 26px; }
  .movie-home-v5 .site-footer { padding-block: 48px 32px; }
  .movie-copy { max-width: 100%; top: 28svh; }
  .movie-copy h1 { font-size:var(--type-page); }
  .movie-copy h2 { font-size:var(--type-section); }
  .movie-copy > p { font-size:var(--type-body); line-height: 1.8; max-width: 365px; }
  .movie-copy .movie-overline { font-size:var(--type-caption); margin-bottom: 25px; letter-spacing: .11em; }
  .movie-copy .movie-scene-label { font-size:var(--type-caption); margin-bottom: 22px; }
  .movie-copy .movie-opening-meta { font-size:var(--type-caption); margin-top: 22px; }
  .movie-copy .movie-fine { font-size:var(--type-caption); }
  .movie-chapter { min-height: 150svh; padding-top: 25svh; padding-bottom: 24svh; }
  .movie-chapter-arrival { min-height: 135svh; }
  .movie-chapter-rooms { min-height: 180svh; }
  .movie-chapter-rooms .movie-copy { top: 14svh; }
  .movie-chapter-rooms h2 { font-size:var(--type-section); }
  .movie-chapter-response .movie-copy { top: 17svh; }
  .movie-chapter-response h2 { font-size:var(--type-section); }
  .movie-prices > div { padding-block: 11px; gap: 16px; }
  .movie-prices dt { font-size:var(--type-caption); }
  .movie-prices dd { font-size:var(--type-card); }
  .movie-prices { margin-bottom: 20px; }
  .movie-controls { left: 20px; right: 20px; bottom: 20px; gap: 8px; align-items: center; }
  .movie-location { display: none; }
  .movie-chapter-nav { gap: 3px; }
  .movie-chapter-nav a { min-width: 21px; padding: 5px 3px; height: 30px; font-size:var(--type-caption); }
  [data-film-mode] { padding: 10px 9px; font-size:var(--type-caption); }
  .movie-home-v5 .preview-control { top: 88px; right: 20px; }
  .movie-final-actions { gap: 14px; margin-top: 20px; }
  .movie-link { font-size:var(--type-caption); padding-block: 13px; }
  .movie-scroll-cue { font-size:var(--type-caption); gap: 25px; margin-top: 10px; }
  .movie-shade { background: linear-gradient(90deg, #06170fb0, #06170f26), linear-gradient(0deg, #06170fb0, #06170f15 65%, #06170f3d); }
  .movie-static .movie-chapter { padding-top: 140px; padding-bottom: 110px; }
  .movie-static .movie-controls { justify-content: flex-end; left: auto; padding: 0; background: transparent; }
}
@media (prefers-reduced-motion: reduce) { #movie-poster { transition: none; } }
