:root {
  color-scheme: dark;
  --hub-space: #030a0f;
  --hub-ground: #000101;
  --hub-ink: #edf3f2;
  --hub-muted: #9fb0b5;
  --hub-dim: #6f8289;
  --hub-cyan: #73e7ee;
  --hub-teal: #2cc6b7;
  --hub-green: #7edc9d;
  --hub-gold: #f5c400;
  --hub-blue: #5A8FFF;
  --hub-blue-card: #176BDB;
  --hub-proof-tone: #92E5EC;
  --hub-proof-tone-soft: #92E5EC;
  --hub-line: rgba(115, 231, 238, .25);
  --hub-font-sans: Hind, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --hub-font-display: "Crimson Pro", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --hub-display: clamp(2.4rem, min(5.6vw, 8vh), 4.4rem);
  --hub-chrome-h: 40px;
}

* { box-sizing: border-box; }
html { background: var(--hub-ground); scrollbar-width: thin; scrollbar-color: #1c2830 #000101; }
html, body { margin: 0; min-height: 100%; }
body.hub-cinema {
  background: var(--hub-ground);
  color: var(--hub-ink);
  font-family: var(--hub-font-sans);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
::selection { background: rgba(115,231,238,.2); color: #fff; }

.skip-link {
  position: fixed;
  z-index: 9999;
  top: 12px;
  left: 12px;
  transform: translateY(-160%);
  padding: .7rem .9rem;
  border-radius: 10px;
  color: #041013;
  background: var(--hub-cyan);
  font-size: .82rem;
  font-weight: 750;
  text-decoration: none;
  transition: transform .18s ease;
}
.skip-link:focus { transform: none; }

.hub-root {
  --scene-progress: 0;
  position: relative;
  min-height: 100vh;
  background: var(--hub-ground);
  isolation: isolate;
}

.hub-canvas {
  position: fixed;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: 0;
  transition: opacity .9s ease, filter .34s ease, transform .64s cubic-bezier(.14,.7,.2,1);
  pointer-events: none;
}
.hub-canvas.is-ready { opacity: 1; }

.hub-header {
  position: fixed;
  z-index: 80;
  top: 0;
  left: 0;
  right: 0;
  min-height: 76px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 19px 26px;
  pointer-events: none;
}
.hub-home,
.hub-header-right,
.hub-header-cta,
.hub-header-link { pointer-events: auto; }
.hub-home {
  min-height: var(--hub-chrome-h);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  border-radius: 10px;
  color: var(--hub-ink);
  outline: none;
}
.hub-home img { width: 116px; height: auto; display: block; }
.hub-home span {
  padding-left: 11px;
  border-left: 1px solid rgba(237,243,242,.22);
  color: rgba(237,243,242,.68);
  font-size: .67rem;
  font-weight: 650;
  letter-spacing: .13em;
  text-transform: uppercase;
  white-space: nowrap;
}
.hub-header-right { display: flex; align-items: center; gap: 8px; }
.hub-header-link,
.hub-header-cta {
  min-height: var(--hub-chrome-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 10px;
  padding: .48rem .88rem;
  font-size: .77rem;
  font-weight: 650;
  letter-spacing: .025em;
  text-decoration: none;
  outline: none;
  transition: background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease, opacity .3s ease;
}
.hub-header-link {
  color: rgba(237,243,242,.78);
  background: rgba(5,14,19,.34);
  border: 1px solid rgba(237,243,242,.11);
  backdrop-filter: blur(10px);
}
.hub-header-link:hover { background: rgba(255,255,255,.08); color: #fff; }
.hub-header-link__spark { color: var(--hub-cyan); font-size: .66rem; }
.hub-header-cta {
  color: var(--hub-ink);
  background: rgba(6,16,22,.56);
  border: 1px solid rgba(115,231,238,.34);
  backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.hub-header-cta:hover {
  background: rgba(0,82,87,.54);
  border-color: rgba(115,231,238,.65);
  box-shadow: 0 0 24px rgba(115,231,238,.1);
}
.hub-cta-short { display: none; }
.hub-home:focus-visible,
.hub-header-link:focus-visible,
.hub-header-cta:focus-visible,
.hub-sticky-cta:focus-visible,
.halo-star:focus-visible,
.sound-toggle:focus-visible,
.hub-scroll-hint:focus-visible {
  outline: 2px solid rgba(115,231,238,.9);
  outline-offset: 4px;
}

.hub-ui {
  position: fixed;
  z-index: 10;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.hub-scrim {
  position: fixed;
  z-index: 1;
  inset: 0;
  opacity: 0;
  background:
    radial-gradient(70% 60% at 50% 48%, rgba(3,10,15,.18), rgba(3,10,15,.82) 66%, rgba(3,10,15,.96)),
    linear-gradient(rgba(0,1,1,.2), rgba(0,1,1,.5));
  pointer-events: none;
  will-change: opacity;
}

.hub-copy { position: static; }
.story-block {
  position: fixed;
  z-index: 14;
  top: 50%;
  left: 50%;
  width: min(91vw, 960px);
  margin: 0;
  transform: translate(-50%, -44%) scale(.985);
  opacity: 0;
  visibility: hidden;
  color: var(--hub-ink);
  text-align: center;
  text-wrap: balance;
  pointer-events: none;
  will-change: transform, opacity, filter;
  filter: blur(10px);
  font-family: var(--hub-font-display);
  font-weight: 400;
  letter-spacing: -.025em;
  text-shadow: 0 2px 20px rgba(0,0,0,.44);
}
.story-block::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -3em -5em;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(3,10,15,.78), rgba(3,10,15,0));
  pointer-events: none;
}
.story-block.is-visible { visibility: visible; }
.story-block em { color: var(--hub-cyan); font-style: normal; text-shadow: 0 0 38px rgba(115,231,238,.2); }
.story-block--hero {
  top: 44%;
  font-size: var(--hub-display);
  line-height: 1.07;
  letter-spacing: -.032em;
  max-width: 1020px;
}
.story-block--hero::after {
  content: attr(data-echo);
}
.story-block--xl {
  font-size: clamp(2.55rem, min(5.3vw, 7.2vh), 4.65rem);
  line-height: 1.08;
}
.story-block--lg {
  max-width: min(90vw, 31ch);
  font-size: clamp(2rem, min(4.1vw, 6vh), 3.5rem);
  line-height: 1.16;
  letter-spacing: -.02em;
}
.story-block--duo { display: flex; flex-direction: column; gap: .08em; }
.story-block--duo span { display: block; }
.story-block--brand {
  top: 44%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  font-family: var(--hub-font-sans);
  letter-spacing: normal;
}
.story-block--brand strong {
  margin-top: .1rem;
  font-family: var(--hub-font-display);
  font-size: clamp(4.8rem, 12.5vw, 10rem);
  font-weight: 400;
  line-height: .84;
  letter-spacing: -.065em;
  color: #fff;
  text-shadow: 0 0 60px rgba(115,231,238,.1);
}
.story-block--brand > span:nth-of-type(2) {
  font-family: var(--hub-font-display);
  font-size: clamp(1.75rem, 4vw, 3.2rem);
  line-height: 1;
  color: rgba(237,243,242,.76);
}
.story-block--brand small {
  margin-top: 1.25rem;
  font-size: clamp(.82rem, 1.1vw, .98rem);
  color: var(--hub-muted);
  letter-spacing: .03em;
}
.story-kicker {
  color: rgba(237,243,242,.55);
  font-family: var(--hub-font-sans);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .23em;
  text-transform: uppercase;
}
.story-block--light {
  color: #f7fbfc;
  text-shadow:
    0 2px 3px rgba(0,0,0,.62),
    0 0 18px rgba(0,0,0,.38),
    0 0 34px rgba(146,229,236,.12);
}
.story-block--light::before {
  display: block;
  inset: -1.65em -2.8em;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(2,10,13,.62) 0%, rgba(2,10,13,.42) 50%, rgba(2,10,13,0) 100%);
  filter: blur(2px);
}
.story-block--left {
  left: 28%;
  width: min(37vw, 19ch);
  max-width: none;
  text-align: left;
  line-height: 1.18;
}
.story-block--left::before {
  inset: -1.4em -2em;
  background: radial-gradient(closest-side, rgba(3,10,15,.95), rgba(3,10,15,.64) 55%, transparent);
}
.story-block--xl2 {
  top: 42%;
  width: min(92vw, 70rem);
  max-width: none;
  font-size: clamp(2.35rem, 6.3vw, 5.2rem);
  line-height: 1.04;
}
.story-block--xl2 span {
  display: block;
  margin-top: .6em;
  font-family: var(--hub-font-sans);
  font-size: .24em;
  font-weight: 650;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--hub-muted);
}
.story-block--final {
  top: 43%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.15rem;
}
.story-block--final strong {
  font-size: clamp(3.2rem, 7.4vw, 6.4rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.05em;
}
.story-block--final p {
  margin: 0;
  max-width: 44rem;
  color: var(--hub-muted);
  font-family: var(--hub-font-sans);
  font-size: clamp(.9rem, 1.3vw, 1.08rem);
  line-height: 1.6;
  letter-spacing: 0;
}

.hub-lightpanel {
  --fog-solid: 0%;
  --fog-edge: 46%;
  position: fixed;
  z-index: 6;
  inset: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  will-change: opacity;
}
.hub-lightpanel.is-visible { visibility: visible; }
.hub-lightpanel__fog {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 44%, rgba(146,229,236,.96) 0%, rgba(122,215,223,.88) 28%, rgba(55,145,156,.62) 58%, rgba(8,38,45,.98) 100%);
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 var(--fog-solid), transparent var(--fog-edge));
  mask-image: radial-gradient(circle at 50% 50%, #000 var(--fog-solid), transparent var(--fog-edge));
  will-change: mask-image;
}
.hub-lightpanel::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: radial-gradient(76% 66% at 50% 50%, transparent 38%, rgba(0,0,0,.2) 72%, rgba(0,0,0,.54));
  pointer-events: none;
}
.hub-proof-field {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr minmax(0, min(38rem, 62vw)) 1fr;
  grid-template-rows: 1fr min(15rem, 42vh) 1fr;
  grid-template-areas:
    "top top top"
    "left copy right"
    "bottom bottom bottom";
  padding-block: 3.8rem;
  opacity: 0;
  will-change: opacity, transform;
}
.proof-band { display: flex; gap: clamp(.55rem, 1.3vw, 1.25rem); min-width: 0; min-height: 0; }
.proof-band--top,
.proof-band--bottom {
  flex-direction: row;
  justify-content: space-between;
  height: min(100%, 12.5rem);
  padding-inline: clamp(.75rem, 17vw, 17rem);
}
.proof-band--top { grid-area: top; align-self: end; align-items: flex-start; }
.proof-band--bottom { grid-area: bottom; align-self: start; align-items: flex-end; }
.proof-band--left,
.proof-band--right {
  flex-direction: column;
  justify-content: center;
  padding-inline: clamp(.7rem, 3vw, 4rem);
}
.proof-band--left { grid-area: left; align-items: flex-start; }
.proof-band--right { grid-area: right; align-items: flex-end; }
.proof-band > *:nth-child(odd) { transform: rotate(-.45deg); }
.proof-band > *:nth-child(even) { transform: rotate(.35deg); }

.mission-card,
.signal-card,
.portrait-card {
  color: #edf7f8;
  background:
    linear-gradient(180deg, rgba(7,25,30,.76), rgba(3,15,19,.84));
  border: 1px solid rgba(146,229,236,.30);
  border-radius: 19px;
  box-shadow:
    0 18px 48px rgba(0,8,12,.30),
    inset 0 1px 0 rgba(255,255,255,.045),
    0 0 28px rgba(146,229,236,.045);
  backdrop-filter: blur(18px) saturate(115%);
  -webkit-backdrop-filter: blur(18px) saturate(115%);
}
.mission-card {
  width: clamp(160px, 16vw, 235px);
  padding: .85rem .95rem;
  font-size: .76rem;
  line-height: 1.42;
}
.mission-card--compact { width: clamp(148px, 15vw, 215px); }
.mission-card__index,
.mission-card__eyebrow {
  display: block;
  margin-bottom: .4rem;
  color: rgba(146,229,236,.80);
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.mission-card strong,
.signal-card strong { display: block; font-size: .82rem; }
.mission-card p { margin: .5rem 0 0; color: rgba(225,240,242,.74); }
.mission-card small,
.signal-card small { display: block; margin-top: .3rem; color: rgba(188,221,225,.76); line-height: 1.35; }
.signal-card {
  position: relative;
  min-width: clamp(150px, 15vw, 220px);
  padding: 1rem 1rem .85rem 2.55rem;
}
.signal-card__pulse {
  position: absolute;
  left: 1rem;
  top: 1.18rem;
  width: .62rem;
  height: .62rem;
  border-radius: 50%;
  background: #92E5EC;
  box-shadow: 0 0 0 .35rem rgba(146,229,236,.10), 0 0 20px rgba(146,229,236,.40);
}
.signal-card--cyan .signal-card__pulse {
  background: #92E5EC;
  box-shadow: 0 0 0 .35rem rgba(146,229,236,.10), 0 0 20px rgba(146,229,236,.40);
}
.portrait-card {
  width: clamp(145px, 14vw, 210px);
  padding: .62rem;
  text-align: center;
}
.portrait-card img {
  aspect-ratio: 1;
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  filter: saturate(.88) contrast(1.02);
}
.portrait-card span {
  display: block;
  padding: .65rem .25rem .25rem;
  color: rgba(207,232,235,.76);
  font-size: .68rem;
  line-height: 1.35;
}

.mission-console {
  position: fixed;
  z-index: 12;
  top: 50%;
  left: 68%;
  width: clamp(250px, 25vw, 380px);
  aspect-ratio: .62;
  transform: translate(-50%, -44%) translateY(55px) rotateY(-8deg) scale(.92);
  transform-style: preserve-3d;
  perspective: 1100px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  will-change: transform, opacity;
}
.mission-console.is-visible { visibility: visible; }
.mission-console__body {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(115,231,238,.35);
  border-radius: clamp(27px, 3vw, 42px);
  background:
    radial-gradient(circle at 50% 40%, rgba(115,231,238,.09), transparent 26%),
    linear-gradient(160deg, rgba(24,52,60,.84), rgba(3,10,15,.98) 32%, #020608 72%, rgba(20,66,73,.8));
  box-shadow:
    inset 0 0 18px rgba(115,231,238,.08),
    0 0 0 1px rgba(3,10,15,.92),
    0 38px 100px rgba(0,0,0,.56),
    0 0 70px rgba(115,231,238,.12);
}
.mission-console__body::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(118deg, transparent 34%, rgba(255,255,255,.055) 47%, transparent 58%);
}
.mission-console__island {
  position: absolute;
  z-index: 4;
  top: 13px;
  left: 50%;
  width: 28%;
  height: 9px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(0,1,1,.78);
  border: 1px solid rgba(115,231,238,.16);
}
.mission-console__head {
  position: absolute;
  z-index: 5;
  top: 36px;
  left: 22px;
  right: 22px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.mission-console__head div { display: grid; gap: .22rem; }
.mission-console__head span { color: rgba(159,176,181,.72); font-size: .55rem; letter-spacing: .14em; }
.mission-console__head strong { font-size: .92rem; }
.mission-console__status {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding-top: 2px;
  color: rgba(237,243,242,.68) !important;
}
.mission-console__status i { width: 6px; height: 6px; border-radius: 50%; background: var(--hub-green); box-shadow: 0 0 14px rgba(126,220,157,.9); }
.mission-orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 73%;
  aspect-ratio: 1;
  transform: translate(-50%, -54%);
}
.orbit-ring {
  position: absolute;
  border: 1px solid rgba(115,231,238,.18);
  border-radius: 50%;
  animation: orbitSpin 26s linear infinite;
}
.orbit-ring--a { inset: 3%; }
.orbit-ring--b { inset: 19%; border-color: rgba(126,220,157,.16); animation-direction: reverse; animation-duration: 18s; }
.orbit-line {
  position: absolute;
  top: 50%;
  left: 11%;
  right: 11%;
  height: 1px;
  transform-origin: center;
  background: linear-gradient(90deg, transparent, rgba(115,231,238,.28), transparent);
}
.orbit-line--1 { transform: rotate(31deg); }
.orbit-line--2 { transform: rotate(-46deg); }
.orbit-node {
  position: absolute;
  z-index: 3;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #b9fbff;
  box-shadow: 0 0 8px #b9fbff, 0 0 24px rgba(115,231,238,.7);
}
.orbit-node::after {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid rgba(115,231,238,.17);
  border-radius: 50%;
}
.orbit-node--core { top: 50%; left: 50%; width: 14px; height: 14px; transform: translate(-50%,-50%); background: #fff; }
.orbit-node--1 { top: 13%; left: 47%; }
.orbit-node--2 { top: 41%; right: 2%; }
.orbit-node--3 { bottom: 10%; left: 30%; }
.orbit-node--4 { top: 49%; left: 5%; }
.orbit-label {
  position: absolute;
  color: rgba(237,243,242,.62);
  font-size: .48rem;
  letter-spacing: .05em;
  white-space: nowrap;
}
.orbit-label--core { top: 54%; left: 52%; color: #fff; }
.orbit-label--1 { top: 7%; left: 53%; }
.orbit-label--2 { top: 42%; right: -15%; }
.orbit-label--3 { bottom: 3%; left: 28%; }
.orbit-label--4 { top: 52%; left: -7%; }
.mission-console__readout {
  position: absolute;
  z-index: 5;
  left: 20px;
  right: 20px;
  bottom: 26px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(115,231,238,.14);
}
.mission-console__readout div { padding: .9rem .4rem 0; text-align: center; }
.mission-console__readout span { display: block; color: rgba(159,176,181,.58); font-size: .47rem; letter-spacing: .08em; text-transform: uppercase; }
.mission-console__readout strong { display: block; margin-top: .26rem; font-size: .75rem; font-weight: 680; }
.mission-console__aurora {
  position: absolute;
  left: -20%;
  right: -20%;
  bottom: -18%;
  height: 36%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(44,198,183,.26), rgba(115,231,238,.06) 42%, transparent 72%);
  filter: blur(15px);
}
@keyframes orbitSpin { to { transform: rotate(360deg); } }

.evidence-stage {
  position: fixed;
  z-index: 11;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  will-change: opacity, transform;
}
.evidence-stage.is-visible { visibility: visible; }
.evidence-device {
  width: min(76vw, 840px);
  aspect-ratio: 16 / 9.6;
  padding: 8px;
  border: 1px solid rgba(115,231,238,.32);
  border-radius: 29px;
  background: linear-gradient(145deg, rgba(104,195,205,.26), rgba(17,47,55,.34) 18%, rgba(3,10,15,.95) 40%, rgba(40,91,98,.25));
  box-shadow: inset 0 0 12px rgba(115,231,238,.08), 0 40px 110px rgba(0,0,0,.65), 0 0 70px rgba(115,231,238,.09);
  transform: perspective(1400px) rotateX(5deg) scale(.91);
}
.evidence-device__chrome {
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  color: rgba(237,243,242,.5);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.evidence-device__media {
  position: relative;
  height: calc(100% - 38px);
  overflow: hidden;
  border: 1px solid rgba(115,231,238,.12);
  border-radius: 20px;
  background: #020608;
}
.evidence-device__media::after {
  content: "";
  position: absolute;
  z-index: 6;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0,0,0,.02), transparent 52%, rgba(0,1,1,.72));
}
.evidence-frame {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transform: scale(1.045);
  transition: opacity .7s ease, transform 1.4s ease;
}
.evidence-frame.is-active { opacity: 1; transform: scale(1); }
.evidence-frame img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; filter: saturate(.75) contrast(1.03) brightness(.75); }
.evidence-frame figcaption {
  position: absolute;
  z-index: 8;
  left: clamp(18px, 4vw, 44px);
  right: clamp(18px, 4vw, 44px);
  bottom: clamp(18px, 3vw, 34px);
  display: grid;
  grid-template-columns: .62fr 1fr;
  gap: clamp(16px, 4vw, 52px);
  align-items: end;
  color: #fff;
}
.evidence-frame figcaption strong { font-family: var(--hub-font-display); font-size: clamp(1.65rem, 3.4vw, 3.2rem); font-weight: 400; line-height: 1; letter-spacing: -.025em; }
.evidence-frame figcaption span { max-width: 34rem; color: rgba(237,243,242,.72); font-size: clamp(.72rem, 1.1vw, .92rem); line-height: 1.5; }

.system-halo {
  position: fixed;
  z-index: 12;
  top: 50%;
  left: 50%;
  width: min(88vw, 820px);
  aspect-ratio: 1.45;
  transform: translate(-50%, -48%) scale(.78);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  will-change: opacity, transform;
}
.system-halo.is-visible { visibility: visible; pointer-events: auto; }
.halo-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34%;
  aspect-ratio: 1;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(115,231,238,.08), transparent 68%);
  filter: blur(12px);
}
.halo-line {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: 43%;
  height: 1px;
  transform-origin: 0 50%;
  background: linear-gradient(90deg, rgba(115,231,238,.38), rgba(115,231,238,.06) 74%, transparent);
}
.halo-line--1 { transform: rotate(-160deg); }
.halo-line--2 { transform: rotate(-124deg); }
.halo-line--3 { transform: rotate(-82deg); }
.halo-line--4 { transform: rotate(-39deg); }
.halo-line--5 { transform: rotate(10deg); }
.halo-line--6 { transform: rotate(52deg); }
.halo-line--7 { transform: rotate(103deg); }
.halo-line--8 { transform: rotate(145deg); }
.halo-star {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  gap: .38rem;
  min-width: 94px;
  min-height: 82px;
  padding: .5rem .4rem;
  border: 1px solid transparent;
  border-radius: 14px;
  text-decoration: none;
  color: rgba(237,243,242,.68);
  font-size: .56rem;
  font-weight: 650;
  letter-spacing: .06em;
  text-align: center;
  text-shadow: 0 2px 11px #000;
  pointer-events: auto;
  cursor: pointer;
  transition: color .2s ease, text-shadow .2s ease;
}
.halo-star i {
  position: relative;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c9fcff;
  box-shadow: 0 0 8px #c9fcff, 0 0 20px rgba(115,231,238,.75), 0 0 40px rgba(115,231,238,.36);
  animation: halo-star-twinkle 8.1s ease-in-out infinite;
  animation-delay: var(--halo-twinkle-delay, 0s);
  transition: transform .24s cubic-bezier(.2,.8,.2,1), opacity .26s ease, box-shadow .24s ease, background-color .24s ease, filter .24s ease;
}
.halo-star i::before,
.halo-star i::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: linear-gradient(90deg, transparent, rgba(201,252,255,.72), transparent);
  transform: translate(-50%,-50%);
  opacity: .72;
  transition: width .24s ease, height .24s ease, opacity .24s ease;
}
.halo-star i::before { width: 29px; height: 1px; }
.halo-star i::after { width: 1px; height: 29px; background: linear-gradient(transparent, rgba(201,252,255,.72), transparent); }
.halo-star:hover,
.halo-star:focus-visible {
  color: #fff;
  text-shadow: 0 0 10px rgba(222,254,255,.92), 0 0 24px rgba(115,231,238,.6);
}
.halo-star:hover i,
.halo-star:focus-visible i {
  animation: halo-star-hover-core .34s cubic-bezier(.16,.82,.22,1) forwards;
  opacity: 1;
  transform: scale(2.25);
  background: radial-gradient(circle, #fff 0 28%, #f7ffff 38%, #c9fcff 72%, rgba(201,252,255,.9) 100%);
  filter: brightness(1.8) saturate(1.16);
  box-shadow: 0 0 15px #fff, 0 0 40px rgba(115,231,238,1), 0 0 88px rgba(115,231,238,.82), 0 0 140px rgba(115,231,238,.42);
}
.halo-star:hover i::before,
.halo-star:focus-visible i::before { width: 68px; opacity: 1; }
.halo-star:hover i::after,
.halo-star:focus-visible i::after { height: 68px; opacity: 1; }
.halo-star.is-entering { color: #fff; z-index: 5; }
.halo-star.is-entering i {
  animation: none;
  transform: scale(6.4);
  background: #fff;
  filter: brightness(1.75);
  box-shadow: 0 0 18px #fff, 0 0 52px rgba(115,231,238,1), 0 0 110px rgba(115,231,238,.96), 0 0 180px rgba(115,231,238,.58);
}
.halo-star.is-entering i::before { width: 140px; opacity: 1; }
.halo-star.is-entering i::after { height: 140px; opacity: 1; }
.halo-star--hub {
  --halo-twinkle-delay: 0s;
  top: 50%;
  left: 50%;
  width: 128px;
  height: 86px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  transform: translate(-50%,-50%);
  color: #fff;
  font-size: .64rem;
}
.halo-star--hub i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #fff;
  transform: translate(-50%,-50%) scale(1);
}
.halo-star--hub span {
  position: absolute;
  top: calc(50% + 19px);
  left: 50%;
  white-space: nowrap;
  transform: translateX(-50%);
}
.halo-star--hub:hover i,
.halo-star--hub:focus-visible i { transform: translate(-50%,-50%) scale(2.25); }
.halo-star--hub.is-entering i { transform: translate(-50%,-50%) scale(6.4); }
.halo-star--1 { --halo-twinkle-delay: -.9s; top: 63%; left: 5%; }
.halo-star--2 { --halo-twinkle-delay: -1.8s; top: 20%; left: 12%; }
.halo-star--3 { --halo-twinkle-delay: -2.7s; top: 3%; left: 42%; }
.halo-star--4 { --halo-twinkle-delay: -3.6s; top: 17%; right: 8%; }
.halo-star--5 { --halo-twinkle-delay: -4.5s; top: 59%; right: 3%; }
.halo-star--6 { --halo-twinkle-delay: -5.4s; bottom: 1%; right: 20%; }
.halo-star--7 { --halo-twinkle-delay: -6.3s; bottom: 1%; left: 26%; }
.halo-star--8 { --halo-twinkle-delay: -7.2s; top: 45%; left: 19%; }

@keyframes halo-star-twinkle {
  0%, 100% { opacity: .58; filter: brightness(1); }
  2.5%, 6% { opacity: 1; filter: brightness(1.85); }
  9% { opacity: .66; filter: brightness(1.06); }
}
@keyframes halo-star-hover-core {
  from { opacity: .66; }
  to { opacity: 1; }
}

.hub-star-jump {
  position: fixed;
  z-index: 95;
  inset: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}
.hub-star-jump::before,
.hub-star-jump::after {
  content: "";
  position: absolute;
  inset: 0;
  transform-origin: var(--star-ingress-x) var(--star-ingress-y);
  opacity: 0;
  pointer-events: none;
}
.hub-star-jump::before {
  background:
    radial-gradient(circle at var(--star-ingress-x) var(--star-ingress-y), #fff 0 .05%, rgba(218,254,255,.98) .16%, rgba(115,231,238,.88) .52%, rgba(17,92,111,.46) 2.5%, rgba(3,13,18,.9) 8%, rgba(0,1,2,.98) 25%, #000 60%);
  clip-path: circle(0 at var(--star-ingress-x) var(--star-ingress-y));
}
.hub-star-jump::after {
  background:
    repeating-conic-gradient(from 0deg at var(--star-ingress-x) var(--star-ingress-y), transparent 0deg 6deg, rgba(186,247,252,.38) 6.7deg 7.2deg, transparent 8deg 16deg),
    radial-gradient(circle at var(--star-ingress-x) var(--star-ingress-y), rgba(255,255,255,.96), rgba(115,231,238,.48) 1%, transparent 9%);
  mix-blend-mode: screen;
  filter: blur(.4px);
  transform: scale(.06);
}
.hub-star-jump.is-active { visibility: visible; }
.hub-star-jump.is-active::before { animation: star-ingress-core .64s cubic-bezier(.14,.68,.16,1) forwards; }
.hub-star-jump.is-active::after { animation: star-ingress-rays .59s cubic-bezier(.1,.7,.18,1) .05s forwards; }
.hub-root.is-entering-star .hub-canvas { filter: brightness(1.45) contrast(1.24); transform: scale(1.025); }
.hub-root.is-entering-star .system-halo,
.hub-root.is-entering-star .hub-header,
.hub-root.is-entering-star .hub-sticky-cta,
.hub-root.is-entering-star .sound-toggle,
.hub-root.is-entering-star .sirius-nav { opacity: 0 !important; }
@keyframes star-ingress-core {
  0% { clip-path: circle(0 at var(--star-ingress-x) var(--star-ingress-y)); opacity: 0; }
  11% { clip-path: circle(8px at var(--star-ingress-x) var(--star-ingress-y)); opacity: 1; }
  64% { clip-path: circle(104vmax at var(--star-ingress-x) var(--star-ingress-y)); opacity: 1; }
  100% { clip-path: circle(150vmax at var(--star-ingress-x) var(--star-ingress-y)); opacity: 1; }
}
@keyframes star-ingress-rays {
  0% { opacity: 0; transform: scale(.06); }
  18% { opacity: .95; }
  100% { opacity: 0; transform: scale(2.2); }
}

.hub-sticky-cta {
  position: fixed;
  z-index: 40;
  left: 50%;
  bottom: 20px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  transform: translate(-50%, 16px);
  padding: .72rem 1.45rem;
  overflow: hidden;
  border: 1px solid rgba(115,231,238,.34);
  border-radius: 13px;
  background: rgba(6,16,22,.62);
  color: var(--hub-ink);
  font-size: clamp(.72rem, .5rem + .68vw, .92rem);
  font-weight: 650;
  letter-spacing: .03em;
  text-decoration: none;
  backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.hub-sticky-cta.is-visible { visibility: visible; pointer-events: auto; }
.hub-sticky-cta:hover {
  background: rgba(0,82,87,.55);
  border-color: rgba(115,231,238,.65);
  box-shadow: 0 0 30px rgba(115,231,238,.14);
}
.hub-sticky-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg, transparent 32%, rgba(115,231,238,.18) 48%, rgba(237,243,242,.25) 52%, transparent 68%);
  transform: translateX(-130%);
  animation: ctaShimmer 5.6s ease-in-out 2.4s infinite;
  pointer-events: none;
}
@keyframes ctaShimmer { 0% { transform: translateX(-130%); } 16%, 100% { transform: translateX(130%); } }

.hub-scroll-hint {
  position: fixed;
  z-index: 45;
  left: 50%;
  bottom: 23px;
  transform: translateX(-50%) translateY(-8px);
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(217,230,232,.9);
  padding: 0 0 24px;
  font-size: .63rem;
  font-weight: 650;
  letter-spacing: .34em;
  text-transform: uppercase;
  cursor: pointer;
  pointer-events: auto;
  opacity: .78;
  animation: hintFloat 2.6s ease-in-out 1.3s infinite both;
}
.hub-scroll-hint::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 1.5px solid rgba(217,230,232,.9);
  border-bottom: 1.5px solid rgba(217,230,232,.9);
  transform: translateX(-50%) rotate(45deg);
}
@keyframes hintFloat { 0%,100% { opacity: .48; transform: translateX(-50%) translateY(-9px); } 50% { opacity: 1; transform: translateX(-50%) translateY(3px); } }

.hub-rail {
  position: fixed;
  z-index: 60;
  right: 12px;
  top: 23vh;
  bottom: 23vh;
  width: 1px;
  background: rgba(237,243,242,.07);
  pointer-events: none;
}
.hub-rail__fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 0;
  background: linear-gradient(var(--hub-cyan), rgba(115,231,238,.15));
  box-shadow: 0 0 8px rgba(115,231,238,.35);
}
.hub-chapter {
  position: fixed;
  z-index: 60;
  top: 50%;
  right: 22px;
  transform: translateY(-50%) rotate(90deg) translateX(50%);
  transform-origin: right center;
  display: flex;
  align-items: center;
  gap: .6rem;
  color: rgba(159,176,181,.44);
  font-size: .48rem;
  letter-spacing: .17em;
  text-transform: uppercase;
  pointer-events: none;
}
.hub-chapter span { color: rgba(115,231,238,.55); }
.hub-chapter strong { font-weight: 650; }

.sound-toggle {
  position: fixed;
  z-index: 60;
  left: 23px;
  bottom: 21px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: .45rem .6rem;
  border: 1px solid transparent;
  border-radius: 8px;
  background: rgba(3,10,15,.08);
  color: rgba(237,243,242,.46);
  font-size: .58rem;
  font-weight: 650;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  pointer-events: auto;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.sound-toggle:hover,
.sound-toggle[aria-pressed="true"] { color: rgba(237,243,242,.86); background: rgba(3,10,15,.46); border-color: rgba(115,231,238,.12); }
.sound-toggle__bars { display: flex; align-items: end; gap: 2px; width: 15px; height: 11px; }
.sound-toggle__bars i { width: 2px; height: 35%; border-radius: 99px; background: currentColor; transition: height .16s ease; }
.sound-toggle[aria-pressed="true"] .sound-toggle__bars i:nth-child(1) { animation: soundbar .8s ease-in-out infinite alternate; }
.sound-toggle[aria-pressed="true"] .sound-toggle__bars i:nth-child(2) { animation: soundbar .56s ease-in-out .1s infinite alternate; }
.sound-toggle[aria-pressed="true"] .sound-toggle__bars i:nth-child(3) { animation: soundbar .72s ease-in-out .18s infinite alternate; }
.sound-toggle[aria-pressed="true"] .sound-toggle__bars i:nth-child(4) { animation: soundbar .62s ease-in-out .06s infinite alternate; }
@keyframes soundbar { from { height: 25%; } to { height: 100%; } }

.hub-grain {
  position: fixed;
  z-index: 70;
  inset: -50%;
  width: 200%;
  height: 200%;
  pointer-events: none;
  opacity: .04;
  mix-blend-mode: screen;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
  animation: grainShift .28s steps(2) infinite;
}
@keyframes grainShift {
  0% { transform: translate3d(-2%, 1%, 0); }
  25% { transform: translate3d(1%, -2%, 0); }
  50% { transform: translate3d(2%, 2%, 0); }
  75% { transform: translate3d(-1%, -1%, 0); }
  100% { transform: translate3d(0, 1%, 0); }
}

.hub-track { pointer-events: none; height: 2000vh; }

.hub-noscript {
  min-height: 100svh;
  display: grid;
  place-content: center;
  gap: 1rem;
  width: min(90vw, 760px);
  margin: auto;
  text-align: center;
}
.hub-noscript img { width: 140px; margin: auto; }
.hub-noscript h1 { font-family: var(--hub-font-display); font-size: clamp(3rem, 8vw, 6rem); margin: 0; }
.hub-noscript p { color: var(--hub-muted); line-height: 1.6; }
.hub-noscript a { justify-self: center; padding: .8rem 1rem; border: 1px solid var(--hub-line); border-radius: 12px; text-decoration: none; }

@media (max-width: 900px) {
  :root { --hub-display: clamp(2.75rem, 8vw, 4.7rem); }
  .hub-header { padding: 17px 18px; }
  .hub-home img { width: 104px; }
  .hub-home span { display: none; }
  .hub-header-link { display: none; }
  .story-block--left { left: 31%; width: min(47vw, 18ch); }
  .mission-console { left: 72%; width: clamp(235px, 33vw, 335px); }
  .evidence-device { width: min(88vw, 780px); }
  .hub-proof-field { grid-template-columns: 1fr minmax(0, 62vw) 1fr; }
  .proof-band--top, .proof-band--bottom { padding-inline: 1rem; }
  .proof-band--left, .proof-band--right { padding-inline: .75rem; }
  .proof-wide-only { display: none; }
  .system-halo { width: 94vw; }
  .hub-rail, .hub-chapter { display: none; }
}

@media (max-width: 640px) {
  :root { --hub-display: clamp(2.65rem, 12vw, 4.1rem); }
  .hub-header { min-height: 66px; padding: 14px; }
  .hub-home img { width: 91px; }
  .hub-header-cta { min-width: 66px; min-height: 36px; padding: .42rem .7rem; font-size: .68rem; }
  .hub-cta-full { display: none; }
  .hub-cta-short { display: inline; }
  .story-block { width: min(91vw, 590px); }
  .story-block::before { inset: -2em -2.7em; }
  .story-block--hero { top: 43%; font-size: var(--hub-display); line-height: 1.04; }
  .story-block--xl { font-size: clamp(2.4rem, 11vw, 3.7rem); }
  .story-block--lg { font-size: clamp(2rem, 9.7vw, 3.15rem); line-height: 1.11; }
  .story-block--brand strong { font-size: clamp(4.4rem, 23vw, 7.3rem); }
  .story-block--brand > span:nth-of-type(2) { font-size: clamp(1.5rem, 8vw, 2.35rem); }
  .story-block--left { top: 32%; left: 50%; width: 88vw; text-align: center; }
  .story-block--xl2 { font-size: clamp(2.5rem, 12.3vw, 4rem); }
  .story-block--xl2 span { font-size: .21em; line-height: 1.7; }
  .story-block--final { top: 39%; gap: .9rem; }
  .story-block--final strong { font-size: clamp(3rem, 14vw, 4.5rem); }
  .story-block--final p { max-width: 86vw; font-size: .82rem; }

  .hub-lightpanel__fog {
    background: radial-gradient(circle at 50% 45%, rgba(146,229,236,.96), rgba(105,198,208,.86) 38%, rgba(8,38,45,.98) 100%);
  }
  .hub-proof-field {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr min(17rem, 45vh) 1fr;
    grid-template-areas: "top" "copy" "bottom";
    padding: 3.5rem .75rem;
  }
  .proof-band--left, .proof-band--right { display: none; }
  .proof-band--top, .proof-band--bottom { padding-inline: 0; justify-content: space-between; height: auto; gap: .5rem; }
  .mission-card--compact, .signal-card { min-width: 0; width: calc(50% - .25rem); }
  .mission-card, .signal-card { font-size: .64rem; }
  .signal-card { padding: .8rem .65rem .65rem 1.9rem; }
  .signal-card__pulse { left: .7rem; top: 1rem; }
  .mission-card strong, .signal-card strong { font-size: .7rem; }

  .mission-console {
    top: 62%;
    left: 50%;
    width: min(62vw, 245px);
    transform: translate(-50%, -50%) translateY(40px) scale(.86);
  }
  .mission-console__head { top: 30px; left: 16px; right: 16px; }
  .mission-console__head strong { font-size: .72rem; }
  .mission-console__head span { font-size: .45rem; }
  .mission-console__readout { left: 14px; right: 14px; bottom: 18px; }
  .mission-console__readout span { font-size: .39rem; }
  .mission-console__readout strong { font-size: .62rem; }

  .evidence-device { width: 91vw; aspect-ratio: .78; border-radius: 24px; }
  .evidence-device__media { border-radius: 17px; }
  .evidence-frame figcaption { grid-template-columns: 1fr; gap: 10px; }
  .evidence-frame figcaption strong { font-size: clamp(1.75rem, 8.5vw, 2.55rem); }
  .evidence-frame figcaption span { font-size: .72rem; }

  .system-halo { top: 53%; width: 117vw; aspect-ratio: 1; transform: translate(-50%,-50%) scale(.72); }
  .halo-star { min-width: 76px; min-height: 72px; padding: .4rem .25rem; font-size: .48rem; }
  .halo-star small { font-size: .39rem; }
  .halo-star--1 { left: 7%; top: 66%; }
  .halo-star--2 { left: 12%; top: 22%; }
  .halo-star--3 { left: 43%; top: 3%; }
  .halo-star--4 { right: 5%; top: 20%; }
  .halo-star--5 { right: 1%; top: 64%; }
  .halo-star--6 { right: 19%; bottom: 2%; }
  .halo-star--7 { left: 22%; bottom: 4%; }
  .halo-star--8 { left: 18%; top: 47%; }

  .hub-scroll-hint { bottom: 18px; }
  .hub-sticky-cta { bottom: 18px; max-width: 80vw; white-space: nowrap; }
  .sound-toggle { left: 9px; bottom: 12px; padding: .42rem; }
  .sound-toggle > span:last-child { display: none; }
  .hub-grain { opacity: .028; }
  .hub-track { height: 1700vh; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hub-track { height: auto; }
  .hub-root { min-height: 100%; }
  .hub-ui { position: relative; inset: auto; overflow: visible; }
  .hub-canvas, .hub-scrim, .hub-lightpanel, .mission-console, .evidence-stage, .system-halo, .hub-scroll-hint, .hub-rail, .hub-chapter, .hub-grain { display: none !important; }
  .hub-header { position: sticky; background: rgba(0,1,1,.82); backdrop-filter: blur(15px); }
  .hub-copy { padding: 5rem 1rem 9rem; display: grid; gap: 7rem; }
  .story-block {
    position: relative;
    top: auto !important;
    left: auto !important;
    width: min(92vw, 900px) !important;
    margin: auto;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }
  .story-block--left { text-align: center; }
  .story-block--light { color: var(--hub-ink); }
  .hub-sticky-cta { position: sticky; bottom: 16px; margin: 0 auto 16px; transform: none !important; opacity: 1 !important; visibility: visible; pointer-events: auto; }
  .sound-toggle { display: none; }
  .orbit-ring, .hub-sticky-cta::after, .hub-scroll-hint, .sound-toggle__bars i { animation: none !important; }
}


/* --- v2.3 Sirius flight overlay --- */
.ship-view {
  position: fixed;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: .95;
  mix-blend-mode: screen;
  will-change: transform, opacity;
}
.ship-view__glass,
.ship-view__ring,
.ship-view__brace,
.ship-view__hud,
.ship-view__panel { position: absolute; }
.ship-view__glass {
  inset: 3.5vh 3.2vw 5.8vh;
  border-radius: 2.5rem 2.5rem 7rem 7rem;
  border: 1px solid rgba(120, 230, 238, .07);
  background:
    radial-gradient(80% 80% at 50% 30%, rgba(115,231,238,.045), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 22%, transparent 78%, rgba(115,231,238,.04));
  box-shadow:
    inset 0 0 120px rgba(115,231,238,.03),
    inset 0 -18px 80px rgba(115,231,238,.03),
    0 0 100px rgba(2,8,12,.18);
}
.ship-view__ring {
  left: 50%;
  top: 49%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(115,231,238,.12);
  box-shadow: 0 0 32px rgba(115,231,238,.04), inset 0 0 22px rgba(115,231,238,.02);
}
.ship-view__ring--outer {
  width: min(72vw, 60rem);
  aspect-ratio: 1;
  opacity: .42;
}
.ship-view__ring--inner {
  width: min(38vw, 31rem);
  aspect-ratio: 1;
  opacity: .24;
}
.ship-view__ring--inner::before,
.ship-view__ring--inner::after,
.ship-view__ring--outer::before,
.ship-view__ring--outer::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: rgba(240,252,255,.45);
}
.ship-view__ring--inner::before,
.ship-view__ring--outer::before { width: 2px; height: 2.8rem; }
.ship-view__ring--inner::after,
.ship-view__ring--outer::after { width: 2.8rem; height: 2px; }
.ship-view__brace {
  top: -4vh;
  width: 18vw;
  min-width: 10rem;
  max-width: 19rem;
  height: 76vh;
  border-top: 1px solid rgba(115,231,238,.18);
  border-left: 1px solid rgba(115,231,238,.08);
  border-right: 1px solid rgba(115,231,238,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(115,231,238,.02) 8%, transparent 18%, transparent 80%, rgba(115,231,238,.04));
  clip-path: polygon(14% 0, 100% 0, 86% 100%, 0 100%);
  opacity: .25;
}
.ship-view__brace--left { left: -3vw; transform: rotate(-6deg); }
.ship-view__brace--right { right: -3vw; transform: scaleX(-1) rotate(-6deg); }
.ship-view__hud {
  inset: 0;
  font-family: var(--hub-font-sans);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(220, 245, 248, .58);
}
.ship-view__caption {
  position: absolute;
  top: 4.3rem;
  padding: .75rem 1rem;
  border: 1px solid rgba(115,231,238,.08);
  background: rgba(2,7,10,.14);
  backdrop-filter: blur(8px);
}
.ship-view__caption--left { left: 4.5vw; border-radius: .2rem 1rem 1rem 1rem; }
.ship-view__caption--right { right: 4.5vw; border-radius: 1rem .2rem 1rem 1rem; text-align: right; }
.ship-view__panel {
  left: 50%;
  bottom: 2.2rem;
  width: min(64vw, 54rem);
  height: 7.6rem;
  transform: translateX(-50%);
  border: 1px solid rgba(115,231,238,.08);
  border-radius: 2rem 2rem 3.5rem 3.5rem;
  background: linear-gradient(180deg, rgba(4,12,16,.14), rgba(1,3,5,.44));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), inset 0 0 50px rgba(115,231,238,.03);
  opacity: .4;
}
.ship-view__panel::before {
  content: "SIRIUS FLIGHT / NAVIGATION";
  position: absolute;
  top: .82rem;
  left: 1.2rem;
  font-family: var(--hub-font-sans);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .24em;
  color: rgba(217,243,246,.48);
}
.ship-view__panel-line {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(115,231,238,.35), transparent);
}
.ship-view__panel-line--a { left: 8%; right: 8%; top: 2.5rem; }
.ship-view__panel-line--b { left: 20%; right: 20%; top: 4.15rem; }
.ship-view__panel-line--c { left: 30%; right: 30%; top: 5.35rem; }
.ship-view__panel-dot {
  position: absolute;
  top: 50%;
  width: .56rem;
  height: .56rem;
  border-radius: 50%;
  background: rgba(255,255,255,.88);
  box-shadow: 0 0 10px rgba(255,255,255,.6), 0 0 24px rgba(115,231,238,.35);
}
.ship-view__panel-dot--1 { left: 16%; top: 2.22rem; }
.ship-view__panel-dot--2 { left: calc(50% - .28rem); top: 3.88rem; }
.ship-view__panel-dot--3 { right: 16%; top: 5.08rem; }

.story-brandmark {
  display: block;
  width: min(86vw, 43rem);
  margin-inline: auto;
}
.story-brandmark__logo {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 28px rgba(255,255,255,.06)) drop-shadow(0 0 55px rgba(115,231,238,.12));
}
.story-block--brand > span:not(.story-kicker) {
  margin-top: .45rem;
  font-size: clamp(2.2rem, 5vw, 4.1rem);
  line-height: 1;
}
.story-block--brand small {
  margin-top: 1rem;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.sound-toggle {
  transition: opacity .4s ease, transform .4s ease, background-color .4s ease;
}
.sound-toggle.is-playing {
  background: rgba(7,24,28,.8);
  border-color: rgba(115,231,238,.26);
  box-shadow: 0 0 30px rgba(115,231,238,.08);
}
body.audio-entering .sound-toggle,
body.audio-exiting .sound-toggle {
  opacity: .92;
}

@media (max-width: 960px) {
  .ship-view__caption { top: 4rem; font-size: .52rem; letter-spacing: .17em; }
  .ship-view__caption--left { left: 3vw; }
  .ship-view__caption--right { right: 3vw; }
  .ship-view__panel { width: min(78vw, 54rem); height: 6.6rem; bottom: 1.7rem; }
  .ship-view__panel::before { font-size: .5rem; top: .72rem; }
  .ship-view__brace { opacity: .18; height: 68vh; }
  .story-block--brand > span:not(.story-kicker) { font-size: clamp(1.8rem, 5vw, 3.6rem); }
}

@media (max-width: 720px) {
  .ship-view__glass { inset: 5vh 2vw 7.4rem; border-radius: 1.4rem 1.4rem 3rem 3rem; }
  .ship-view__ring--outer { width: 86vw; }
  .ship-view__ring--inner { width: 52vw; }
  .ship-view__caption--right { display: none; }
  .ship-view__caption { top: auto; bottom: 8.65rem; left: 50%; transform: translateX(-50%); text-align: center; border-radius: 999px; }
  .ship-view__brace { display: none; }
  .ship-view__panel { width: calc(100vw - 1.25rem); bottom: .6rem; height: 5.9rem; border-radius: 1.1rem 1.1rem 2.4rem 2.4rem; }
  .ship-view__panel::before { top: .6rem; left: .9rem; }
  .ship-view__panel-line--a { top: 2rem; }
  .ship-view__panel-line--b { top: 3.2rem; }
  .ship-view__panel-line--c { top: 4.2rem; }
  .ship-view__panel-dot--1 { top: 1.72rem; }
  .ship-view__panel-dot--2 { top: 2.95rem; }
  .ship-view__panel-dot--3 { top: 3.98rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ship-view { display: none; }
}

/* --- v2.4 Sirius orbit: shipless flight, entry fade, stronger space navigation --- */
body.hub-cinema--sirius {
  background: #000101;
}

.hub-entry {
  position: fixed;
  inset: 0;
  z-index: 75;
  display: grid;
  place-items: center;
  pointer-events: none;
  opacity: 1;
  background:
    radial-gradient(circle at 50% 50%, rgba(115,231,238,.08), rgba(1,5,8,.18) 28%, rgba(0,0,0,.78) 58%, rgba(0,0,0,.96) 100%);
  will-change: opacity, transform;
}
.hub-entry__vignette {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.06), transparent 14%),
    radial-gradient(circle at 50% 50%, rgba(115,231,238,.12), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.84), rgba(0,0,0,.18) 30%, rgba(0,0,0,.18) 70%, rgba(0,0,0,.88));
}
.hub-entry__mark {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 1rem;
  width: min(82vw, 34rem);
  text-align: center;
  opacity: .96;
  transform: translateY(0) scale(1);
}
.hub-entry__mark img {
  display: block;
  width: min(100%, 28rem);
  height: auto;
  filter: drop-shadow(0 0 16px rgba(255,255,255,.08)) drop-shadow(0 0 34px rgba(115,231,238,.28));
}
.hub-entry__mark span {
  color: rgba(231, 243, 245, .76);
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .32em;
  text-transform: uppercase;
}

.sirius-nav {
  position: fixed;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  opacity: .7;
  will-change: opacity, transform;
}
.sirius-nav__label,
.sirius-nav__coords {
  position: absolute;
  color: rgba(219, 244, 247, .44);
  font-size: .58rem;
  font-weight: 650;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-shadow: 0 0 14px rgba(115,231,238,.08);
}
.sirius-nav__label--left {
  top: 4.2rem;
  left: 4vw;
}
.sirius-nav__label--right {
  top: 4.2rem;
  right: 4vw;
  text-align: right;
}
.sirius-nav__reticle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(18vw, 9rem);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(115,231,238,.14);
  box-shadow: 0 0 0 1px rgba(255,255,255,.02), 0 0 28px rgba(115,231,238,.04), inset 0 0 22px rgba(115,231,238,.03);
}
.sirius-nav__reticle::before,
.sirius-nav__reticle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: rgba(226, 248, 250, .46);
  transform: translate(-50%, -50%);
}
.sirius-nav__reticle::before { width: 1px; height: 2.2rem; }
.sirius-nav__reticle::after { width: 2.2rem; height: 1px; }
.sirius-nav__coords {
  left: 50%;
  bottom: 2rem;
  transform: translateX(-50%);
  width: min(56vw, 34rem);
  display: grid;
  gap: .75rem;
}
.sirius-nav__coords i {
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(115,231,238,.22), transparent);
}

.story-brandmark {
  width: min(90vw, 46rem);
}
.story-brandmark__logo {
  filter: drop-shadow(0 0 26px rgba(255,255,255,.08)) drop-shadow(0 0 66px rgba(115,231,238,.16));
}
.story-block--brand small {
  color: rgba(232,243,244,.66);
}

body.audio-entering .hub-entry__mark,
body.audio-entering .sound-toggle,
body.audio-exiting .sound-toggle {
  filter: drop-shadow(0 0 22px rgba(115,231,238,.16));
}

@media (max-width: 720px) {
  .hub-entry__mark img { width: min(78vw, 21rem); }
  .hub-entry__mark span { font-size: .6rem; letter-spacing: .24em; }
  .sirius-nav__label--right { display: none; }
  .sirius-nav__label--left {
    top: auto;
    left: 50%;
    bottom: 7.2rem;
    transform: translateX(-50%);
    text-align: center;
    width: max-content;
  }
  .sirius-nav__reticle { width: min(34vw, 8rem); }
  .sirius-nav__coords { width: calc(100vw - 1.25rem); bottom: .65rem; }
}
