/* One continuous, silent space scene behind every page. */
.has-space-background {
  isolation: isolate;
  background: #03080e;
  --bg: #050b12;
  --deep: #04090f;
  --secondary: #b2c1c8;
  --muted: #899ca6;
  --line: #91dff223;
}
.space-background {
  position: fixed;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: #03080e url('assets/omrx-orbit-poster.jpg') center / cover no-repeat;
}
.space-background-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
  opacity: .72;
  filter: saturate(1.3);
}
.space-nebula {
  position: absolute;
  inset: -15%;
  background: radial-gradient(ellipse at 15% 68%, #006b9140, transparent 40%), radial-gradient(ellipse at 84% 16%, #002f6a66, transparent 44%), radial-gradient(ellipse at 55% 88%, #00bfcc19, transparent 36%);
  animation: nebula-drift 42s ease-in-out infinite alternate;
  animation-play-state: paused;
}
.space-stars {
  position: absolute;
  inset: -12%;
  background: url('assets/omrx-starfield.svg') repeat;
  animation: stars-drift 110s linear infinite alternate;
  animation-play-state: paused;
}
.space-stars-distant { background-size: 1000px 714px; opacity: .52; }
.space-stars-near { background-size: 1800px 1286px; opacity: .75; transform: rotate(-14deg); animation-duration: 76s; animation-direction: alternate-reverse; }
.space-background.is-playing .space-nebula, .space-background.is-playing .space-stars { animation-play-state: running; }
.space-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #01050bd9 0%, #02070c8a 43%, #02070c45 75%, #01050b80 100%), linear-gradient(0deg, #02060a73, transparent 35%, #02060a22), radial-gradient(ellipse at center, transparent 24%, #01050b99 100%);
}
.has-space-background .site-header { background: #040a12c9; border-color: #86deed20; backdrop-filter: blur(20px); }
.has-space-background .hero::before { background: none; }
.has-space-background main > section { background-color: transparent; }
.has-space-background .companion-section { background: transparent; }
.has-space-background .hero-copy { text-shadow: 0 2px 24px #0008; }
.has-space-background .hero-foot { padding-right: 132px; }
.has-space-background .founder-page-hero { overflow: clip; }
.has-space-background .desktop-preview-open { box-shadow: 0 30px 85px #000b, 0 0 45px #00d9ff15; }
.has-space-background .site-footer { background: #03080e9c; }
.space-motion-control {
  position: fixed;
  z-index: 95;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid #80e4f42e;
  border-radius: 24px;
  background: #050e18e8;
  color: #bcd0d8;
  backdrop-filter: blur(12px);
  box-shadow: 0 5px 30px #0005;
  font: 10px/1.4 var(--mono);
}
.space-motion-control:hover { border-color: var(--aqua); color: var(--text); }
.space-motion-icon { width: 10px; color: var(--aqua); font-size: 10px; text-align: center; }
@keyframes stars-drift { from { translate: -1% -1%; } to { translate: 5% 4%; } }
@keyframes nebula-drift { from { transform: translate(-2%, 1%) rotate(-4deg); } to { transform: translate(3%, -2%) rotate(4deg); } }
@media (max-width: 800px) {
  .has-space-background .hero-foot { padding-right: 0; }
  .space-background-video { object-position: 65% center; }
  .space-shade { background: linear-gradient(0deg, #02070c9c, #02070c9c), radial-gradient(ellipse at 60% 40%, transparent, #01050b80); }
  .space-motion-control { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); min-height: 42px; }
  .has-space-background .primary-nav { background: #040b13f7; }
}
@media (prefers-reduced-motion: reduce) {
  .space-stars, .space-nebula { animation: none; }
}
