/* The reference site's palette, type, content, and chapter layouts are retained. */
html { overflow-x: clip; }
.fluid-ascent-site .fluid-ascent-orb {
  z-index: 25;
  width: 57vw;
  height: 57vw;
  top: calc(max(720px, 100svh) / 2);
  right: -3vw;
  left: auto;
  transform: translateY(-57%);
  isolation: isolate;
  contain: layout style;
}
.fluid-ascent-site.orb-positioned .fluid-ascent-orb {
  position: fixed;
  inset: 0 auto auto 0;
  width: 640px;
  height: 640px;
  transform-origin: 0 0;
  will-change: transform;
}
.fluid-ascent-orb > .orb-network,
.fluid-ascent-orb > .orb-poster,
.fluid-ascent-orb > .orb-film {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  pointer-events: none;
}
.fluid-ascent-orb > .orb-network,
.fluid-ascent-orb > .orb-film { visibility: hidden; }
.fluid-ascent-orb > .orb-poster { visibility: visible; }
.fluid-ascent-orb.formation-pending > .orb-poster { visibility: hidden; }
.fluid-ascent-orb.formation-pending > .orb-network { visibility: visible; }
.fluid-ascent-orb.media-ready > .orb-poster { visibility: hidden; }
.fluid-ascent-orb.media-ready > .orb-network {
  visibility: visible;
  opacity: calc(1 - var(--glass-presence, 0));
}
.fluid-ascent-orb.media-ready > .orb-film {
  visibility: visible;
  opacity: var(--glass-presence, 0);
}
.motion-control {
  position: fixed;
  z-index: 51;
  top: 92px;
  right: 3.6%;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 7px 13px;
  border: 1px solid #b5e0ca35;
  border-radius: 24px;
  background: #071a13d9;
  color: #c8dcd2;
  font-size: 14px;
  cursor: pointer;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.motion-control[hidden] { display: none; }
.motion-symbol { width: 16px; text-align: center; font-size: 16px; }
.motion-control:hover { background: #173a2e; }
.motion-paused .reveal,
.motion-paused.motion-ready .reveal { opacity: 1; transform: none; transition: none; }
.motion-paused * { animation-play-state: paused !important; }
.motion-paused { scroll-behavior: auto; }
.fluid-mobile-menu {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(90vw, 400px);
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 28px;
  border: 0;
  background: #0a241b;
  color: var(--paper);
}
.fluid-mobile-menu::backdrop { background: #03100bc9; backdrop-filter: blur(7px); }
.mobile-menu-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.mobile-menu-heading button { min-width: 44px; min-height: 44px; border: 0; background: transparent; color: inherit; font-size: 32px; cursor: pointer; }
.fluid-mobile-menu nav { display: flex; flex-direction: column; margin-top: 54px; }
.fluid-mobile-menu nav a { display: flex; justify-content: space-between; padding: 22px 0; border-bottom: 1px solid #b5e4cd25; font-family: Display, sans-serif; font-size: 26px; letter-spacing: -.04em; }
.fluid-ascent-site .chapter-markers a { min-width: 18px; min-height: 32px; }
@media (min-width: 1800px) {
  .fluid-ascent-site .fluid-ascent-orb { width: 53vw; height: 53vw; right: 0; }
}
@media (max-width: 800px) {
  .fluid-ascent-site .fluid-ascent-orb {
    width: 80vw;
    height: 80vw;
    top: calc(max(810px, 100svh) - 65px - 80vw);
    right: -13vw;
    transform: none;
    opacity: 1;
  }
  .motion-control { top: 83px; right: 6%; width: 44px; padding: 0; justify-content: center; }
  .motion-label { display: none; }
  .fluid-ascent-site .chapter-markers a { min-width: 14px; }
  .fluid-ascent-site .journey-progress { right: 86px; }
}
@media (prefers-reduced-motion: reduce) {
  .fluid-ascent-orb { will-change: auto !important; }
}
