/* Atmospheric movement preserves the existing gate scene and its travellers. */
.hero-scene{--camera-x:0px;--camera-y:0px;transform:translate3d(var(--camera-x),var(--camera-y),0) scale(1.035);will-change:transform}
.hero-atmosphere{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;opacity:.46;visibility:hidden;mask-image:linear-gradient(transparent 12%,#000 40%,#000 72%,transparent 95%)}
.motion-enabled .hero-atmosphere{visibility:visible}
.hero-atmosphere i{position:absolute;left:-30%;top:18%;width:160%;height:65%;background:radial-gradient(ellipse at 20% 62%,#b0b8a822,transparent 42%),radial-gradient(ellipse at 66% 48%,#d0cbb51b,transparent 39%);animation:realm-mist 32s ease-in-out infinite alternate;will-change:transform}
.hero-atmosphere i+i{top:33%;opacity:.65;animation-duration:43s;animation-direction:alternate-reverse;background:radial-gradient(ellipse at 55% 70%,#acb5a52b,transparent 49%)}
@keyframes realm-mist{from{transform:translate3d(-4%,2%,0)}to{transform:translate3d(7%,-4%,0) scale(1.07)}}
.motion-toggle{position:absolute;right:5%;bottom:24px;z-index:2;min-height:44px;padding:10px 14px;background:#11120f85;color:#c9bea7;border:1px solid #c9b48b40;font:11px 'Open Sans',sans-serif;cursor:pointer;backdrop-filter:blur(8px)}
.motion-toggle:hover{border-color:#c9b48b;color:#eee5d2}.motion-toggle[hidden]{display:none}
.reading-progress{position:fixed;left:0;top:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:#c6ac80;z-index:30;pointer-events:none}
.chapter-rail{position:fixed;right:14px;top:50%;transform:translateY(-50%);display:grid;gap:9px;z-index:4;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.chapter-rail.is-visible{opacity:1;visibility:visible}.chapter-rail a{display:grid;place-items:center;width:36px;height:36px;border:1px solid #c6ac8030;background:#11120fcc;color:#898575;font:11px Cinzel,serif;transition:color .25s,border-color .25s}
.chapter-rail a[aria-current="step"]{color:#f2dbab;border-color:#c6ac80;background:#363023}.chapter-rail a:hover{color:#f2dbab;border-color:#c6ac80}
.motion-enabled .reveal-item{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.25,1)}
.motion-enabled .reveal-pending{opacity:0;transform:translateY(24px)}
.motion-enabled .fine-rule{transform:scaleX(.35);transform-origin:left;transition:transform 1.2s ease}.motion-enabled .is-revealed .fine-rule{transform:scaleX(1)}
.motion-paused .hero-atmosphere,.hero-out-of-view .hero-atmosphere,.page-hidden .hero-atmosphere{visibility:hidden}
.motion-paused .hero-atmosphere i,.hero-out-of-view .hero-atmosphere i,.page-hidden .hero-atmosphere i{animation-play-state:paused}
.motion-paused .hero-scene{transform:none;will-change:auto}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 37%;opacity:0;transition:opacity .8s}.hero-video.is-ready{opacity:1}
@media(max-width:900px){.chapter-rail{display:none}}
@media(max-width:650px){.motion-toggle{right:14px;bottom:15px;font-size:10px;padding:8px 10px}.hero-atmosphere{opacity:.3}.hero-scene{transform:translate3d(0,var(--camera-y),0) scale(1.02)}}
@media(prefers-reduced-motion:reduce){.hero-atmosphere,.hero-video{display:none}.hero-scene{transform:none!important;will-change:auto}.reveal-item{opacity:1!important;transform:none!important;transition:none!important}.chapter-rail{transition:none}.fine-rule{transform:none!important}}
