/* Shared, quiet story controls. Native scrolling remains the sole film clock. */
.chapter-controls[hidden],.chapter-rail[hidden]{display:none!important}
.chapter-controls{position:fixed;z-index:70;left:clamp(32px,7vw,132px);right:clamp(32px,7vw,132px);bottom:36px;display:flex;align-items:center;gap:var(--mg-space-16);pointer-events:none;font-family:var(--mg-font)}
.chapter-apply{pointer-events:auto;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--mg-space-24);min-height:48px;padding:0 var(--mg-space-20);border-radius:30px;border:1px solid color-mix(in srgb,var(--mg-white) 40%,transparent);background:color-mix(in srgb,var(--mg-black-4) 74%,transparent);backdrop-filter:blur(12px);color:var(--mg-ink)!important;font:650 13px/1.3 var(--mg-font);text-decoration:none;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--mg-white) 13%,transparent)}
.chapter-apply>span{font-size:var(--mg-fs-xl)}
.story-scroll-hint{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:var(--mg-space-12);margin:0;color:var(--mg-ink);font:var(--mg-weight-medium) var(--mg-fs-2xs)/var(--mg-leading-snug) var(--mg-font);letter-spacing:.12em;white-space:nowrap;text-shadow:0 1px 8px color-mix(in srgb,var(--mg-black) 73%,transparent);opacity:.8;transition:opacity var(--mg-dur-base) var(--mg-ease)}
.story-scroll-hint.is-hidden{opacity:0}
.story-scroll-hint>span{display:block;flex:none;width:1px;height:28px;background:linear-gradient(transparent,var(--mg-ink),transparent);transform-origin:top;animation:story-scroll-cue 2s ease-in-out infinite}
@keyframes story-scroll-cue{0%,100%{transform:scaleY(.55);opacity:.5}50%{transform:scaleY(1);opacity:1}}
.chapter-rail{position:fixed;z-index:60;right:28px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:var(--mg-space-2);color:var(--mg-ink);font-family:var(--mg-font)}
.chapter-rail button{display:flex;align-items:center;gap:var(--mg-space-10);min-height:44px;padding:0;border:0;color:inherit;background:transparent;font:var(--mg-weight-medium) var(--mg-fs-2xs)/var(--mg-leading-snug) var(--mg-font);text-align:left;cursor:pointer;opacity:.65;text-shadow:0 1px 7px var(--mg-black),0 0 16px color-mix(in srgb,var(--mg-black) 53%,transparent);transition:opacity var(--mg-dur-fast) var(--mg-ease)}
.chapter-rail button::before{content:'';width:14px;height:1px;background:currentColor;opacity:.35;transition:opacity var(--mg-dur-fast) var(--mg-ease),transform var(--mg-dur-fast) var(--mg-ease);transform:scaleX(.4);transform-origin:right}
.chapter-rail button>span{font-size:var(--mg-fs-2xs);font-variant-numeric:tabular-nums}
.chapter-rail button[aria-current],.chapter-rail button:hover{opacity:1}
.chapter-rail button[aria-current]::before{opacity:1;transform:scaleX(1)}
.chapter-rail button[aria-current]{font-weight:var(--mg-weight-bold)}
.chapter-story .scene-index,.chapter-story .film-bottom,.chapter-story .scroll-hint{display:none!important}
.chapter-controls a:focus-visible,.chapter-rail button:focus-visible{outline:2px solid var(--mg-focus-ring);outline-offset:4px}
@media(max-width:1024px){
  .chapter-rail{display:none}
  .chapter-controls{left:22px;right:76px;bottom:calc(64px + var(--ln-dock-bottom,12px) + 12px);min-height:44px;gap:var(--mg-space-12)}
  body[data-page="brand"] .chapter-controls{right:22px}
  .story-scroll-hint{font-size:var(--mg-fs-2xs);letter-spacing:.04em;gap:var(--mg-space-8)}
  body[data-page="booking"] .story-scroll-hint{position:static;transform:none;white-space:nowrap;flex-shrink:0;font-size:var(--mg-fs-2xs)}
  .chapter-controls .chapter-apply{min-height:44px;flex:1;max-width:210px;padding:0 var(--mg-space-12);gap:var(--mg-space-8);font-size:var(--mg-fs-2xs);white-space:nowrap}
  body.chapter-story .scene-copy,body.chapter-story .scene--copy-right .scene-copy,body.chapter-story .film-copy{bottom:calc(64px + var(--ln-dock-bottom,12px) + 78px + var(--ln-stage-overflow,0px))!important;right:76px!important}
  body.chapter-story .scene-copy h1,body.chapter-story .scene-copy h2,body.chapter-story .film-copy h1,body.chapter-story .film-copy h2{font-size:clamp(27px,7.3vw,44px)!important;line-height:var(--mg-leading-tight)!important}
  body.chapter-story .scene-body,body.chapter-story .film-copy .body-copy{font-size:var(--mg-fs-2xs);line-height:var(--mg-leading-body)}
  body.chapter-story .film-copy h1 br,body.chapter-story .film-copy h2 br,body.chapter-story .film-copy .body-copy br{display:initial}
}
@media(max-width:380px){.chapter-controls{left:18px;right:72px;gap:var(--mg-space-8)}body[data-page="booking"] .story-scroll-hint{font-size:var(--mg-fs-2xs)}.chapter-controls .chapter-apply{padding-inline:var(--mg-space-10);font-size:var(--mg-fs-2xs)}body.chapter-story .scene-copy,body.chapter-story .scene--copy-right .scene-copy,body.chapter-story .film-copy{left:18px!important;right:66px!important}body.chapter-story .scene-copy h1,body.chapter-story .scene-copy h2,body.chapter-story .film-copy h1,body.chapter-story .film-copy h2{font-size:var(--mg-fs-2xl)!important}}
@media(max-width:1024px) and (max-height:640px){body.chapter-story .scene-kicker,body.chapter-story .film-copy .eyebrow{margin-bottom:var(--mg-space-12)!important}body.chapter-story .scene-body,body.chapter-story .film-copy .body-copy{font-size:var(--mg-fs-2xs);line-height:var(--mg-leading-body)}body.chapter-story .scene-copy h1,body.chapter-story .scene-copy h2,body.chapter-story .film-copy h1,body.chapter-story .film-copy h2{font-size:var(--mg-fs-2xl)!important;margin-bottom:var(--mg-space-12)!important}}
@media(min-width:1025px) and (max-width:1200px){.chapter-rail{right:18px}.chapter-rail button{font-size:var(--mg-fs-2xs);gap:var(--mg-space-8)}.chapter-story .scene--copy-right .scene-copy{right:170px;width:46vw}.chapter-story .film-copy{max-width:calc(100vw - 250px)}}
@media(prefers-reduced-motion:reduce){.story-scroll-hint>span{animation:none}.story-scroll-hint,.chapter-rail button,.chapter-rail button::before{transition:none}}
/* One warm editorial palette and type hierarchy for both authored endings. */
.story-afterglow{--ink:var(--mg-black-4);--muted:#68594b;--copper:#906348;color:var(--ink);background:#e5dace;font-family:var(--mg-font)}
.story-afterglow>.light-art{background:radial-gradient(ellipse at 50% 35%,#fff9eb 0,#eddfcc 40%,#c9beae 100%)}
.story-afterglow .review-intro h2,.story-afterglow .final-apply h2{font-family:inherit;font-weight:var(--mg-weight-medium);letter-spacing:-.055em;line-height:var(--mg-leading-tight)}
.story-afterglow .review-intro h2{font-size:clamp(32px,3.4vw,50px)}
.story-afterglow .final-apply h2{font-size:clamp(38px,5.7vw,80px)}
.story-afterglow em{color:var(--copper)}
.story-afterglow .body-copy,.story-afterglow .review-intro-side p{color:var(--muted);font-size:var(--mg-fs-sm);line-height:var(--mg-leading-body);font-weight:var(--mg-weight-regular)}
.story-afterglow .final-apply .free-promise{border-color:#9c7251;background:color-mix(in srgb,var(--mg-ink) 35%,transparent)}
.story-afterglow .free-promise strong,.story-afterglow .promise-mark{color:#68594b}
.story-afterglow .apply{min-height:60px;padding:var(--mg-space-8) var(--mg-space-10) var(--mg-space-8) var(--mg-space-24);gap:var(--mg-space-32);font-size:var(--mg-fs-xs);font-weight:var(--mg-weight-bold);color:#37291d;border:1px solid color-mix(in srgb,var(--mg-ink) 75%,transparent);border-radius:45px;background:linear-gradient(125deg,color-mix(in srgb,var(--mg-white) 60%,transparent),color-mix(in srgb,var(--mg-white) 15%,transparent) 42%,color-mix(in srgb,var(--mg-ink) 49%,transparent));box-shadow:inset 0 1px 1px color-mix(in srgb,var(--mg-white) 93%,transparent),inset 0 -1px 1px #ad98803b,var(--mg-shadow-3);backdrop-filter:blur(16px)}
.story-afterglow .apply>span{width:42px;height:42px;flex-basis:42px;border:1px solid color-mix(in srgb,var(--mg-white) 80%,transparent);background:color-mix(in srgb,var(--mg-white) 47%,transparent);color:#37291d;box-shadow:none}
.story-afterglow .apply:hover{background:color-mix(in srgb,var(--mg-white) 60%,transparent);color:#37291d;border-color:var(--mg-white)}
.story-afterglow .album-caption b{font-family:inherit}
.chapter-story #review-dialog .detail-copy h3{font-family:var(--mg-font);font-weight:var(--mg-weight-medium);color:var(--mg-black-4)}
@media(min-width:1025px){.story-afterglow .reviews{padding-inline:10%}}
@media(max-width:1024px){.story-afterglow .reviews{padding-inline:var(--mg-space-24)}.story-afterglow .album-grid{gap:var(--mg-space-16)}}
@media(max-width:700px){.story-afterglow .final-apply .apply{min-height:54px;font-size:var(--mg-fs-2xs);padding:var(--mg-space-8) var(--mg-space-8) var(--mg-space-8) var(--mg-space-20);gap:var(--mg-space-20)}.story-afterglow .body-copy,.story-afterglow .review-intro-side p{font-size:var(--mg-fs-2xs);line-height:var(--mg-leading-body)}}
