.mobile-scene-navigation {
  display: none;
}

@media (max-width: 900px) {
  html,
  body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
  }

  .spatial-page.orbital-app {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100svh;
    min-height: 0;
    overflow: hidden;
    background: #05070d;
  }

  .spatial-page .site-header {
    height: 76px;
    padding-inline: 20px;
    background: linear-gradient(180deg, rgba(5, 7, 13, 0.88), rgba(5, 7, 13, 0.44) 70%, transparent);
  }

  .spatial-page .scene-stage {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100svh;
    perspective: none;
  }

  .spatial-page .scene,
  .spatial-page .scene[data-index="2"],
  .spatial-page .scene[data-index="3"],
  .spatial-page .scene[data-index="4"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100svh;
    min-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, 0, 0);
    filter: none;
  }

  .spatial-page .scene.scene--active,
  .spatial-page .scene.scene--previous {
    visibility: visible;
  }

  .spatial-page .scene--active {
    z-index: 3;
    opacity: 1;
    pointer-events: auto !important;
    animation: r24MobileSceneForward 220ms ease-out both !important;
  }

  .spatial-page .scene--active .scene__content {
    pointer-events: auto !important;
    touch-action: pan-y;
  }

  .spatial-page[data-direction="-1"] .scene--active {
    animation-name: r24MobileSceneBack !important;
  }

  .spatial-page .scene--previous {
    z-index: 2;
    opacity: 1;
    animation: r24MobileSceneExit 180ms ease-in both !important;
  }

  .spatial-page[data-direction="-1"] .scene--previous {
    animation-name: r24MobileSceneExitBack !important;
  }

  .spatial-page.is-ready:not(.is-transitioning) .scene--active {
    animation-duration: 1ms !important;
  }

  .spatial-page .scene-art {
    position: absolute;
    inset: -4%;
    width: auto;
    height: auto;
    transform: none;
  }

  .spatial-page .scene-art__image,
  .spatial-page .scene-art__echo {
    object-position: 68% center;
  }

  .spatial-page .scene-art__echo {
    opacity: 0.11;
  }

  .spatial-page .scene-art__shade,
  .spatial-page .scene[data-index="3"] .scene-art__shade,
  .spatial-page .scene[data-index="4"] .scene-art__shade {
    background:
      linear-gradient(180deg, rgba(5, 7, 13, 0.08) 0%, rgba(5, 7, 13, 0.16) 30%, rgba(5, 7, 13, 0.58) 57%, rgba(5, 7, 13, 0.86) 82%, rgba(5, 7, 13, 0.92) 100%),
      linear-gradient(90deg, rgba(5, 7, 13, 0.56), rgba(5, 7, 13, 0.12) 76%);
  }

  .spatial-page .scene-art__scan {
    display: none;
  }

  .spatial-page .scene::after {
    box-shadow: inset 0 0 18vw 3vw rgba(5, 7, 13, 0.36);
  }

  .spatial-page .scene__content,
  .spatial-page .spatial-copy,
  .spatial-page .scene[data-index="2"] .spatial-copy,
  .spatial-page .scene[data-index="3"] .spatial-copy,
  .spatial-page .scene[data-index="4"] .spatial-copy {
    position: relative;
    top: 76px;
    z-index: 12;
    display: block;
    width: 100%;
    height: calc(100svh - 160px - env(safe-area-inset-bottom));
    min-height: 0;
    padding: clamp(100px, calc(32svh - 76px), 210px) 24px 26px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    opacity: 1;
    transform: none;
    animation: none !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(97, 230, 255, 0.58) transparent;
  }

  .spatial-page .scene__content::-webkit-scrollbar {
    width: 3px;
  }

  .spatial-page .scene__content::-webkit-scrollbar-thumb {
    background: rgba(97, 230, 255, 0.58);
    border-radius: 3px;
  }

  .spatial-page .spatial-copy .eyebrow {
    margin-bottom: 15px;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.72);
  }

  .spatial-page .spatial-copy h1,
  .spatial-page .spatial-copy h2 {
    max-width: 640px;
    font-size: 32px;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-shadow: 0 3px 22px rgba(0, 0, 0, 0.82);
  }

  .spatial-page .spatial-copy__body {
    max-width: 640px;
    margin-top: 20px;
    color: rgba(235, 241, 251, 0.82);
    font-size: 16px;
    line-height: 1.54;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.88);
  }

  .spatial-page .spatial-copy__body p:first-child {
    color: rgba(248, 250, 255, 0.94);
  }

  .spatial-page .spatial-copy__body p + p {
    margin-top: 14px;
  }

  .spatial-page .spatial-action,
  .spatial-page .proposal-trigger {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    align-self: auto;
    width: fit-content;
    min-width: 0;
    max-width: 100%;
    margin-top: 24px;
    padding-inline: 17px;
  }

  .spatial-page .scene-index,
  .spatial-page .scene-navigation,
  .spatial-page > .scene-counter,
  .spatial-page > .scroll-cue,
  .spatial-page .transition-lens {
    display: none;
  }

  .spatial-page .mobile-scene-navigation {
    position: fixed;
    z-index: 28;
    right: 20px;
    bottom: calc(14px + env(safe-area-inset-bottom));
    left: 20px;
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 52px;
    color: rgba(224, 234, 248, 0.76);
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.9);
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.44));
  }

  .spatial-page .mobile-scene-navigation .scene-counter {
    position: static;
    display: flex;
    align-items: center;
    gap: 8px;
    width: auto;
    height: 44px;
    opacity: 1;
    transform: none;
  }

  .spatial-page .mobile-scene-navigation .scene-counter strong,
  .spatial-page .mobile-scene-navigation .scene-counter small {
    color: rgba(224, 234, 248, 0.7);
    font-family: "Space Grotesk", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
  }

  .spatial-page .mobile-scene-navigation .scene-counter strong {
    color: var(--ink);
  }

  .spatial-page .mobile-scene-navigation .scene-counter span {
    width: 20px;
    height: 1px;
    background: linear-gradient(90deg, var(--cyan), rgba(97, 230, 255, 0.16));
  }

  .spatial-page .mobile-scene-navigation__arrows {
    display: flex;
    align-items: center;
  }

  .spatial-page .mobile-scene-navigation__arrow {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: rgba(238, 243, 255, 0.86);
    cursor: pointer;
    transition: color 220ms ease, opacity 180ms ease, transform 220ms ease;
  }

  .spatial-page .mobile-scene-navigation__arrow span {
    width: 10px;
    height: 10px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
  }

  .spatial-page .mobile-scene-navigation__arrow--previous span {
    transform: rotate(-135deg);
  }

  .spatial-page .mobile-scene-navigation__arrow--next span {
    transform: rotate(45deg);
  }

  .spatial-page .mobile-scene-navigation__arrow:focus-visible {
    outline: 1px solid var(--cyan);
    outline-offset: -5px;
  }

  .spatial-page .mobile-scene-navigation__arrow:disabled {
    opacity: 0.2;
  }

  .spatial-page .mobile-scene-navigation__instruction {
    justify-self: end;
    max-width: 112px;
    color: rgba(224, 234, 248, 0.7);
    font-family: "Space Grotesk", sans-serif;
    font-size: 14px;
    line-height: 1.25;
    text-align: right;
  }

  .proposal-panel {
    position: fixed;
    inset: 0;
    z-index: 140;
    width: 100%;
    max-width: none;
    height: 100dvh;
    min-height: 0;
    max-height: none;
    margin: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(18px);
  }

  .proposal-panel.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .proposal-panel::backdrop {
    background: rgba(2, 4, 8, 0.38);
    backdrop-filter: blur(3px);
  }

  .proposal-panel__surface {
    display: block;
    width: 100%;
    height: 100dvh;
    min-height: 0;
    padding: calc(24px + env(safe-area-inset-top)) 22px calc(36px + env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    border-top: 0;
    border-left: 0;
    background: rgba(5, 10, 18, 0.93);
    box-shadow: none;
    backdrop-filter: blur(18px) saturate(1.08);
  }

  .proposal-panel__header h2 {
    font-size: 32px;
  }
}

@media (max-width: 374px) {
  .spatial-page .scene__content,
  .spatial-page .spatial-copy,
  .spatial-page .scene[data-index="2"] .spatial-copy,
  .spatial-page .scene[data-index="3"] .spatial-copy,
  .spatial-page .scene[data-index="4"] .spatial-copy {
    padding-top: clamp(72px, calc(27svh - 76px), 114px);
    padding-inline: 20px;
  }

  .spatial-page .spatial-copy h1,
  .spatial-page .spatial-copy h2 {
    font-size: 29px;
  }

  .spatial-page .mobile-scene-navigation {
    right: 16px;
    left: 16px;
    gap: 4px;
  }

  .spatial-page .mobile-scene-navigation__instruction {
    max-width: 86px;
  }
}

@media (min-width: 700px) and (max-width: 900px) {
  .spatial-page .scene__content,
  .spatial-page .spatial-copy,
  .spatial-page .scene[data-index="2"] .spatial-copy,
  .spatial-page .scene[data-index="3"] .spatial-copy,
  .spatial-page .scene[data-index="4"] .spatial-copy {
    padding: clamp(154px, calc(34svh - 76px), 264px) 54px 30px;
  }

  .spatial-page .spatial-copy h1,
  .spatial-page .spatial-copy h2 {
    font-size: 38px;
  }

  .spatial-page .spatial-copy__body {
    font-size: 17px;
  }

  .spatial-page .mobile-scene-navigation {
    right: 54px;
    left: 54px;
  }
}

@keyframes r24MobileSceneForward {
  from {
    opacity: 0;
    transform: translate3d(28px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes r24MobileSceneBack {
  from {
    opacity: 0;
    transform: translate3d(-28px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes r24MobileSceneExit {
  to {
    opacity: 0;
    transform: translate3d(-18px, 0, 0);
  }
}

@keyframes r24MobileSceneExitBack {
  to {
    opacity: 0;
    transform: translate3d(18px, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .spatial-page .scene--active,
  .spatial-page .scene--previous,
  .spatial-page .mobile-scene-navigation__arrow,
  .proposal-panel {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
    transform: none !important;
  }
}

/* Mobile motion — r33 */
@media (max-width: 900px) {
  .spatial-page .scene-art__image,
  .spatial-page .scene-art__echo {
    object-position: 74% center !important;
  }

  .spatial-page .scene-art__shade,
  .spatial-page .scene[data-index="3"] .scene-art__shade,
  .spatial-page .scene[data-index="4"] .scene-art__shade {
    background:
      linear-gradient(rgba(5, 7, 13, 0.2), rgba(5, 7, 13, 0.2)),
      linear-gradient(180deg, rgba(5, 7, 13, 0.12) 0%, rgba(5, 7, 13, 0.3) 34%, rgba(5, 7, 13, 0.74) 62%, rgba(5, 7, 13, 0.94) 100%),
      linear-gradient(90deg, rgba(5, 7, 13, 0.78), rgba(5, 7, 13, 0.52) 58%, rgba(5, 7, 13, 0.18));
  }

  .spatial-page.is-page-transitioning .scene--active {
    transition-duration: 420ms !important;
  }
}

@media (max-width: 900px) and (prefers-reduced-motion: no-preference) {
  .spatial-page.is-transitioning .scene--active {
    animation-duration: 680ms !important;
    animation-timing-function: var(--ease-orbit) !important;
  }

  .spatial-page.is-transitioning .scene--previous {
    animation-duration: 520ms !important;
    animation-timing-function: var(--ease-orbit) !important;
  }

  .spatial-page.is-mobile-entering .scene--active .scene__content,
  .spatial-page.is-transitioning .scene--active .scene__content {
    animation: r33MobileContentIn 680ms 90ms var(--ease-orbit) both !important;
    will-change: transform, opacity;
  }

  .spatial-page.is-transitioning .scene--previous .scene__content {
    animation: r33MobileContentOut 260ms ease-in both !important;
  }

  .spatial-page .scene--active .scene-art__echo {
    animation: r33MobileEcho 8s ease-in-out infinite alternate;
    will-change: transform, opacity;
  }

  .spatial-page .mobile-scene-navigation__arrow--next:not(:disabled) {
    animation: r33MobileNextCue 3.2s ease-in-out infinite;
  }

  .spatial-page .mobile-menu {
    transition: opacity 240ms ease, visibility 240ms ease;
  }

  .spatial-page .mobile-menu__inner > a {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    transition: opacity 220ms ease, transform 420ms var(--ease-orbit);
  }

  .spatial-page .mobile-menu.is-open .mobile-menu__inner > a {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  .spatial-page .mobile-menu.is-open .mobile-menu__inner > a:nth-child(1) {
    transition-delay: 50ms;
  }

  .spatial-page .mobile-menu.is-open .mobile-menu__inner > a:nth-child(2) {
    transition-delay: 90ms;
  }

  .spatial-page .mobile-menu.is-open .mobile-menu__inner > a:nth-child(3) {
    transition-delay: 130ms;
  }

  .spatial-page .mobile-menu.is-open .mobile-menu__inner > a:nth-child(4) {
    transition-delay: 170ms;
  }

  .spatial-page .mobile-menu.is-open .mobile-menu__inner > a:nth-child(5) {
    transition-delay: 210ms;
  }
}

@keyframes r33MobileContentIn {
  from {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes r33MobileContentOut {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -12px, 0);
  }
}

@keyframes r33MobileEcho {
  from {
    opacity: 0.07;
    transform: translate3d(-6px, 3px, 0) scale(1.025);
  }
  to {
    opacity: 0.14;
    transform: translate3d(7px, -5px, 0) scale(1.045);
  }
}

@keyframes r33MobileNextCue {
  0%,
  100% {
    color: rgba(238, 243, 255, 0.72);
    transform: translateX(0);
  }
  50% {
    color: var(--cyan);
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .spatial-page .scene__content,
  .spatial-page .scene-art__echo,
  .spatial-page .mobile-menu,
  .spatial-page .mobile-menu__inner > a,
  .spatial-page .mobile-scene-navigation__arrow {
    animation: none !important;
    transition-duration: 1ms !important;
    transform: none !important;
  }
}
