:root {
  color-scheme: dark;
  --bg: #020309;
  --text: #eceaf4;
  --muted: #aaa7b8;
  --violet: #8b35ff;
  --magenta: #ff2bd6;
  --cyan: #27dcff;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.warp-intro {
  position: fixed;
  z-index: 5000;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(78, 16, 153, .18), transparent 22%),
    #010106;
  animation: warp-intro-release 1.65s cubic-bezier(.65, 0, .25, 1) both;
}

.warp-field {
  position: absolute;
  inset: -70vmax;
  opacity: 0;
  background: repeating-conic-gradient(
    from 8deg at 50% 50%,
    transparent 0 3.4deg,
    rgba(255, 255, 255, .82) 3.58deg 3.66deg,
    rgba(118, 219, 255, .38) 3.72deg 3.82deg,
    transparent 4deg 8.2deg
  );
  -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent 0 8%, #000 22% 68%, transparent 88%);
  mask-image: radial-gradient(circle at 50% 50%, transparent 0 8%, #000 22% 68%, transparent 88%);
  transform-origin: 50% 50%;
  animation: warp-field-flight 1.3s cubic-bezier(.12, .72, .18, 1) both;
}

.warp-field--far {
  filter: blur(1.8px);
  animation-delay: .08s;
}

.warp-field--near {
  background: repeating-conic-gradient(
    from 4deg at 50% 50%,
    transparent 0 6.8deg,
    rgba(212, 151, 255, .92) 7.05deg 7.15deg,
    rgba(255, 255, 255, .7) 7.22deg 7.3deg,
    transparent 7.5deg 14deg
  );
  filter: blur(.6px);
  animation-delay: .2s;
  animation-duration: 1.18s;
}

.warp-flare {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8vmax;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0 4%, #d7b4ff 9%, rgba(126, 49, 255, .72) 23%, rgba(39, 220, 255, .16) 42%, transparent 70%);
  box-shadow: 0 0 8vmax rgba(139, 53, 255, .65);
  transform: translate(-50%, -50%) scale(.02);
  animation: warp-flare-bloom 1.45s cubic-bezier(.2, .75, .2, 1) .08s both;
}

.warp-flare::before,
.warp-flare::after {
  position: absolute;
  inset: -45%;
  content: "";
  border: 1px solid rgba(210, 173, 255, .5);
  border-radius: 50%;
  box-shadow: 0 0 2rem rgba(113, 38, 255, .34);
}

.warp-flare::after {
  inset: -110%;
  border-color: rgba(76, 219, 255, .24);
}

.is-warping .landing {
  animation: warp-scene-arrival 1.65s cubic-bezier(.2, .82, .2, 1) both;
}

@keyframes warp-field-flight {
  0% {
    opacity: 0;
    transform: scale(.025) rotate(-5deg);
  }

  18% {
    opacity: .2;
  }

  72% {
    opacity: .94;
  }

  100% {
    opacity: 0;
    transform: scale(2.3) rotate(3deg);
  }
}

@keyframes warp-flare-bloom {
  0%,
  42% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.02);
  }

  68% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(2.4);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(18);
  }
}

@keyframes warp-intro-release {
  0%,
  68% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes warp-scene-arrival {
  0%,
  48% {
    opacity: 0;
    filter: blur(18px) brightness(1.8);
    transform: scale(.68);
  }

  76% {
    opacity: .7;
    filter: blur(4px) brightness(1.3);
    transform: scale(1.045);
  }

  100% {
    opacity: 1;
    filter: none;
    transform: scale(1);
  }
}

.skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 100;
  padding: .65rem .9rem;
  color: #fff;
  background: #120526;
  border: 1px solid #b36cff;
  border-radius: .35rem;
  transform: translateY(-180%);
  transition: transform .2s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.landing {
  --focus-x: 87.5%;
  --focus-y: 52%;
  --story-focus-x: 50%;
  --story-focus-y: 48%;
  --story-scale: 1.65;
  position: relative;
  width: 100%;
  height: 100svh;
  min-height: 34rem;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 52% 48%, rgba(104, 0, 255, .13), transparent 32%),
    radial-gradient(circle at 86% 35%, rgba(255, 43, 214, .06), transparent 24%),
    #020309;
}

.landing::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: .34;
  background-image:
    radial-gradient(circle at 8% 16%, #fff 0 1px, transparent 1.4px),
    radial-gradient(circle at 21% 74%, #7cecff 0 1px, transparent 1.5px),
    radial-gradient(circle at 36% 12%, #fff 0 .8px, transparent 1.3px),
    radial-gradient(circle at 47% 82%, #c98cff 0 1px, transparent 1.4px),
    radial-gradient(circle at 62% 18%, #fff 0 .8px, transparent 1.2px),
    radial-gradient(circle at 74% 73%, #ff8ce7 0 1px, transparent 1.5px),
    radial-gradient(circle at 89% 17%, #fff 0 1px, transparent 1.3px),
    radial-gradient(circle at 95% 63%, #81eaff 0 .8px, transparent 1.2px);
  background-size: 31rem 29rem, 37rem 33rem, 43rem 39rem, 47rem 41rem;
}

.landing::after {
  position: absolute;
  z-index: 50;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0;
  background:
    radial-gradient(circle at var(--focus-x) var(--focus-y), rgba(255, 255, 255, .98) 0 1.5%, rgba(202, 129, 255, .9) 4%, rgba(111, 30, 255, .48) 11%, transparent 28%),
    #020309;
}

.chapter-index {
  position: absolute;
  z-index: 40;
  top: clamp(1.35rem, 2.7vw, 2.35rem);
  left: clamp(1.35rem, 3.2vw, 3.75rem);
  color: #777282;
  font: 650 clamp(.54rem, .62vw, .66rem)/1.3 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .16em;
  pointer-events: none;
  text-transform: uppercase;
}

.chapter-index::before {
  display: inline-block;
  width: 1.5rem;
  height: 1px;
  margin-right: .65rem;
  content: "";
  vertical-align: middle;
  background: linear-gradient(90deg, #7540ad, rgba(117, 64, 173, .15));
}

.language-switch {
  position: absolute;
  z-index: 40;
  top: clamp(1.15rem, 2.5vw, 2.15rem);
  right: clamp(1.25rem, 3vw, 3.5rem);
  display: flex;
  align-items: center;
  gap: .42rem;
  padding: .42rem .62rem;
  border: 1px solid rgba(211, 177, 255, .13);
  border-radius: 999px;
  color: #686475;
  background: rgba(3, 4, 12, .28);
  box-shadow: inset 0 0 1.4rem rgba(139, 53, 255, .025);
  font-size: .6rem;
  font-weight: 680;
  letter-spacing: .14em;
  backdrop-filter: blur(10px);
}

.language-switch button {
  padding: .18rem .12rem .18rem .24rem;
  border: 0;
  color: #777282;
  background: transparent;
  font: inherit;
  letter-spacing: inherit;
  cursor: pointer;
  transition: color .2s ease, text-shadow .2s ease;
}

.language-switch button:hover,
.language-switch button:focus-visible {
  color: #d7cde2;
}

.language-switch button:focus-visible {
  outline: 1px solid rgba(216, 178, 255, .68);
  outline-offset: .22rem;
  border-radius: .2rem;
}

.language-switch button[aria-pressed="true"] {
  color: #f5edff;
  text-shadow: 0 0 12px rgba(185, 112, 255, .72);
}

.landing-header {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: clamp(1.25rem, 2.6vw, 2.25rem) clamp(1.35rem, 3.2vw, 3.75rem);
  pointer-events: none;
}

.wordmark,
.company {
  margin: 0;
  font-size: clamp(.64rem, .7vw, .78rem);
  font-weight: 700;
  letter-spacing: .3em;
  text-transform: uppercase;
}

.company {
  color: #c5bed7;
  font-weight: 550;
  letter-spacing: .2em;
}

.hero-intro {
  position: absolute;
  z-index: 8;
  top: clamp(1.35rem, 2.7vw, 2.35rem);
  left: 50%;
  width: min(46rem, 70vw);
  opacity: 1;
  transform: translateX(-50%);
  text-align: center;
  pointer-events: none;
  transition: opacity .35s ease, transform .5s cubic-bezier(.2, .8, .2, 1);
}

.landing.is-story-open .hero-intro {
  opacity: 0;
  transform: translate(-50%, -.55rem);
}

.hero-intro h1 {
  margin: 0;
  color: #f2eff8;
  font-size: clamp(1.55rem, 2.3vw, 2.55rem);
  font-weight: 520;
  line-height: 1.05;
  letter-spacing: .035em;
  text-shadow: 0 0 35px rgba(159, 85, 255, .35);
}

.hero-intro p {
  max-width: 42rem;
  margin: .55rem auto 0;
  color: #a9a5b7;
  font-size: clamp(.62rem, .72vw, .78rem);
  line-height: 1.55;
  letter-spacing: .055em;
}

.universe {
  position: absolute;
  z-index: 0;
  inset: 0;
}

.universe::after {
  position: absolute;
  z-index: 20;
  inset: -35%;
  pointer-events: none;
  content: "";
  opacity: 0;
  transform: scale(.35);
  transform-origin: 72% 51.2%;
  background: repeating-conic-gradient(
    from 0deg at 72% 51.2%,
    transparent 0 5deg,
    rgba(221, 177, 255, .58) 5.15deg 5.35deg,
    transparent 5.55deg 11deg
  );
  -webkit-mask-image: radial-gradient(circle at 72% 51.2%, transparent 0 8%, #000 16% 66%, transparent 82%);
  mask-image: radial-gradient(circle at 72% 51.2%, transparent 0 8%, #000 16% 66%, transparent 82%);
}

.scene {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.scene-mobile {
  display: none;
}

.scene text {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.nebula path {
  fill: #4e159a;
  opacity: .13;
  filter: blur(24px);
}

.nebula path + path {
  fill: #0b8dc3;
  opacity: .07;
}

.stars circle {
  fill: #f8f5ff;
  opacity: .56;
}

.stars circle:nth-child(3n) {
  fill: #8eeaff;
  opacity: .72;
}

.stars circle:nth-child(4n) {
  fill: #e79aff;
}

.earth-atmosphere {
  fill: none;
  stroke: var(--cyan);
}

.earth-atmosphere.outer {
  stroke-width: 3;
  opacity: .16;
  filter: url(#glow-lg);
}

.earth-atmosphere.inner {
  stroke-width: 1.5;
  opacity: .42;
  filter: url(#glow-sm);
}

.earth-body {
  fill: #01040b;
  filter: url(#glow-lg);
}

.realistic-earth-image {
  filter: saturate(1.04) contrast(1.08) drop-shadow(0 0 18px rgba(63, 172, 255, .28));
}

.realistic-core-sphere {
  filter: saturate(1.08) contrast(1.08) drop-shadow(0 0 20px rgba(139, 53, 255, .35));
  transform-box: fill-box;
  transform-origin: center;
  animation: core-sphere-turn 240s linear infinite;
}

.earth-turning {
  transform-box: fill-box;
  transform-origin: center;
  animation: earth-axis 900s linear infinite;
}

.continent {
  fill: #39a1bb;
  opacity: .38;
}

.continent-two {
  fill: #62bed0;
  opacity: .34;
}

.continent-three {
  fill: #2d7fa4;
  opacity: .32;
}

.earth-cloud {
  fill: none;
  stroke: #d7f8ff;
  stroke-width: 7;
  stroke-linecap: round;
  opacity: .08;
  filter: blur(3px);
}

.earth-grid {
  fill: none;
  stroke: #a8edff;
  stroke-width: 1;
  opacity: .13;
}

.city-lights circle {
  fill: #bff8ff;
  filter: url(#glow-sm);
  opacity: .9;
  animation: light-pulse 4s ease-in-out infinite;
}

.capture-pulses path {
  fill: none;
  stroke: #f2dcff;
  stroke-width: 1.35;
  stroke-linecap: round;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, .95)) drop-shadow(0 0 7px rgba(155, 72, 255, .8));
  opacity: 0;
}

.city-lights circle:nth-child(2n) {
  animation-delay: -1.8s;
}

.world-caption,
.insight-caption {
  fill: #f2eff8;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .18em;
}

.world-caption.muted {
  fill: #8f8a9f;
  font-size: 10px;
  font-weight: 550;
}

.legacy-particle-stream {
  display: none;
}

.energy-bridge {
  pointer-events: none;
}

.energy-bridge.flow-story-trigger {
  pointer-events: auto;
}

.energy-bridge path {
  fill: none;
  stroke-linecap: round;
}

.energy-bridge__hit {
  stroke: transparent;
  stroke-width: 42;
  pointer-events: stroke;
  cursor: pointer;
}

.energy-bridge--mobile-world .energy-bridge__hit,
.energy-bridge--mobile-labs .energy-bridge__hit {
  stroke-width: 32;
}

.energy-bridge__aura {
  stroke: #36cfff;
  stroke-width: 22;
  opacity: .1;
  filter: blur(10px) drop-shadow(0 0 16px rgba(42, 190, 255, .42));
  animation: energy-bridge-pulse 6.8s ease-in-out infinite;
}

.energy-bridge__strand {
  stroke: #8eeaff;
  stroke-width: 1.35;
  stroke-dasharray: 2 6 30 9;
  opacity: .72;
  filter: drop-shadow(0 0 2px rgba(218, 249, 255, .95))
          drop-shadow(0 0 8px rgba(44, 193, 255, .7));
  animation: energy-bridge-flow 7.6s linear infinite;
}

.energy-bridge__strand--wide {
  stroke: #d8faff;
  stroke-width: 3.4;
  stroke-dasharray: 5 5 42 9;
  opacity: .9;
  animation-duration: 6.2s;
}

.energy-bridge__strand--fine {
  stroke-width: .7;
  stroke-dasharray: 1 8 18 12;
  opacity: .5;
  animation-duration: 9.4s;
}

.energy-bridge--labs .energy-bridge__aura {
  stroke: #a943ff;
  stroke-width: 19;
  opacity: .12;
  filter: blur(9px) drop-shadow(0 0 18px rgba(177, 57, 255, .46));
}

.energy-bridge--labs .energy-bridge__strand {
  stroke: #c573ff;
  filter: drop-shadow(0 0 2px rgba(249, 227, 255, .95))
          drop-shadow(0 0 9px rgba(176, 59, 255, .76));
}

.energy-bridge--labs .energy-bridge__strand:nth-of-type(4),
.energy-bridge--labs .energy-bridge__strand:nth-of-type(6) {
  stroke: #f36edc;
}

.energy-bridge--labs .energy-bridge__strand--wide {
  stroke: #f0cfff;
}

.flow-story-trigger .energy-bridge__aura,
.flow-story-trigger .energy-bridge__strand {
  transition: opacity .28s ease, stroke-width .28s ease, filter .28s ease;
}

.flow-story-trigger:hover .energy-bridge__aura,
.flow-story-trigger:focus-visible .energy-bridge__aura {
  opacity: .24;
}

.flow-story-trigger:hover .energy-bridge__strand,
.flow-story-trigger:focus-visible .energy-bridge__strand {
  stroke-width: 2;
  opacity: 1;
}

.flow-story-trigger:hover .energy-bridge__strand--fine,
.flow-story-trigger:focus-visible .energy-bridge__strand--fine {
  stroke-width: 1.15;
  opacity: .82;
}

.flow-story-trigger:focus-visible .energy-bridge__hit {
  stroke: rgba(213, 171, 255, .12);
}

.exchange-loop {
  pointer-events: none;
}

.customer-request-route,
.product-delivery-route {
  fill: none;
  stroke-linecap: round;
}

.customer-request-route {
  stroke: #78c9dc;
  stroke-width: .8;
  stroke-dasharray: 2 10;
  opacity: .18;
  filter: drop-shadow(0 0 4px rgba(54, 205, 231, .26));
}

.product-delivery-route {
  stroke: #b352db;
  stroke-width: .75;
  stroke-dasharray: 1 13;
  opacity: .12;
}

.customer-request-packet {
  opacity: .64;
  filter: drop-shadow(0 0 4px rgba(112, 226, 246, .8));
}

.customer-request-packet rect {
  fill: #07131a;
  stroke: #8eeaff;
  stroke-width: .75;
}

.customer-request-packet path {
  fill: none;
  stroke: #c7f7ff;
  stroke-width: .65;
  stroke-linecap: round;
}

.product-module {
  pointer-events: auto;
  cursor: pointer;
  outline: none;
}

.product-module--static {
  display: none;
}

.product-module__hit {
  fill: rgba(255, 255, 255, .001);
  stroke: none;
}

.product-module__frame {
  fill: rgba(8, 10, 23, .9);
  stroke: #da91ff;
  stroke-width: 1.05;
  filter: drop-shadow(0 0 4px rgba(193, 83, 255, .76))
          drop-shadow(0 0 10px rgba(100, 195, 235, .18));
}

.product-module__header,
.product-module__fold,
.product-module__symbol {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.product-module__header,
.product-module__fold {
  stroke: #7ed8ea;
  stroke-width: .9;
  opacity: .72;
}

.product-module__symbol {
  stroke: #f4dcff;
  stroke-width: 1.15;
  opacity: .92;
  filter: drop-shadow(0 0 3px rgba(220, 151, 255, .72));
}

.product-module__bit {
  fill: #b884ff;
  stroke: #d8c7ff;
  stroke-width: .45;
  filter: drop-shadow(0 0 4px rgba(145, 88, 255, .85));
  transform-box: fill-box;
  transform-origin: center;
  animation: product-module-bit 3.8s ease-in-out infinite;
}

.product-module__bit--two {
  fill: #74d9ed;
  animation-delay: -1.7s;
}

.product-module--file .product-module__frame {
  stroke: #86dff0;
}

.product-module--file .product-module__symbol {
  stroke: #e7faff;
}

.product-module:hover .product-module__frame,
.product-module:focus-visible .product-module__frame {
  stroke: #ffffff;
  stroke-width: 1.55;
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, .9))
          drop-shadow(0 0 13px rgba(200, 79, 255, .92));
}

.product-module:hover .product-module__symbol,
.product-module:focus-visible .product-module__symbol {
  stroke: #ffffff;
}

.product-module:focus-visible .product-module__hit {
  fill: rgba(199, 121, 255, .08);
  stroke: rgba(234, 203, 255, .76);
  stroke-width: 1;
}

.product-module__frame,
.product-module__header,
.product-module__fold,
.product-module__symbol,
.product-module__bit {
  transition: stroke .2s ease, fill .2s ease, filter .2s ease;
}

@keyframes product-module-bit {
  50% {
    opacity: .42;
    transform: scale(.72);
  }
}

.signal-path {
  fill: none;
  stroke: url(#signal-gradient);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-dasharray: 3 10;
  opacity: .68;
  animation: signal-flow 8s linear infinite;
}

.signal-path:nth-child(2n) {
  animation-duration: 10s;
  animation-direction: reverse;
}

.signal-orbs circle {
  fill: #fffaff;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, .98)) drop-shadow(0 0 8px rgba(157, 77, 255, .72));
  opacity: .88;
}

.input-orbs circle:nth-child(3n) {
  fill: #dcb8ff;
  filter: drop-shadow(0 0 2px rgba(239, 212, 255, .98)) drop-shadow(0 0 9px rgba(126, 40, 255, .75));
}

.input-orbs circle:nth-child(5n) {
  fill: #a965ff;
  filter: drop-shadow(0 0 2px rgba(210, 161, 255, .95)) drop-shadow(0 0 10px rgba(105, 23, 255, .82));
}

.signal-aura {
  fill: #7928ff;
  opacity: .085;
  filter: blur(22px) drop-shadow(0 0 24px rgba(112, 34, 255, .3));
  animation: signal-aura-breathe 8s ease-in-out infinite;
  pointer-events: none;
}

.photon-streaks path {
  fill: none;
  stroke: #fffaff;
  stroke-width: 1;
  stroke-linecap: round;
  opacity: .9;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, .98)) drop-shadow(0 0 8px rgba(140, 62, 255, .85));
}

.insight-orbs circle {
  fill: #ffffff;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, 1)) drop-shadow(0 0 9px rgba(178, 93, 255, .82));
}

.feedback-orbs circle {
  fill: #ff48d8;
  filter: drop-shadow(0 0 2px rgba(255, 198, 242, .98)) drop-shadow(0 0 9px rgba(255, 31, 198, .88));
  opacity: .94;
}

.feedback-orbs circle:nth-child(2n) {
  fill: #ff9aeb;
}

.core-activity {
  pointer-events: none;
}

.activity-item {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: activity-cycle 18s ease-in-out infinite;
}

.activity-item text {
  fill: #e9d9ff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .13em;
  filter: drop-shadow(0 0 5px rgba(143, 59, 255, .72));
}

.activity-2 { animation-delay: 3s; }
.activity-3 { animation-delay: 6s; }
.activity-4 { animation-delay: 9s; }
.activity-5 { animation-delay: 12s; }
.activity-6 { animation-delay: 15s; }

.core-halo {
  fill: #6512dd;
  opacity: .07;
  filter: url(#glow-lg);
}

.core-ring {
  fill: none;
  stroke: #ad5cff;
  stroke-width: 1;
  opacity: .42;
  transform-box: fill-box;
  transform-origin: center;
}

.ring-one {
  stroke-dasharray: 2 10;
  animation: orbit 42s linear infinite;
}

.ring-two {
  stroke: var(--cyan);
  stroke-dasharray: 1 14;
  opacity: .25;
  animation: orbit 34s linear infinite reverse;
}

.ring-three {
  stroke: #ff7be6;
  stroke-dasharray: 5 8;
  opacity: .38;
  animation: orbit 29s linear infinite;
}

.ring-four {
  stroke-width: 1.5;
  opacity: .62;
  animation: orbit 25s linear infinite reverse;
}

.core-energy,
.core-light {
  filter: url(#glow-lg);
  transform-box: fill-box;
  transform-origin: center;
  animation: core-breathe 5s ease-in-out infinite;
}

.core-light {
  fill: #fff;
}

.core-axis,
.core-connection {
  fill: none;
  stroke: #c893ff;
  stroke-width: .75;
  opacity: .22;
}

.core-connection {
  opacity: .12;
}

.core-node {
  fill: #f2d8ff;
  filter: url(#glow-sm);
  animation: light-pulse 4.6s ease-in-out infinite;
}

.core-node:nth-of-type(2n) {
  fill: var(--cyan);
  animation-delay: -2s;
}

.core-logo-image {
  opacity: 1;
}

.core-orbit-layer {
  pointer-events: none;
}

.core-occluder {
  fill: #010107;
}

.core-orbit-arc {
  fill: none;
  stroke: #b36cff;
  stroke-width: 1.15;
  stroke-linecap: round;
  opacity: .2;
  filter: url(#glow-sm);
}

.core-orbit-arc--back {
  opacity: .1;
}

.core-orbit-particles circle {
  fill: #fdf8ff;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, .98))
          drop-shadow(0 0 10px rgba(155, 72, 255, .92));
}

.core-orbit-particles .orbit-cyan {
  fill: #c7f8ff;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, .98))
          drop-shadow(0 0 10px rgba(0, 224, 255, .88));
}

.core-orbit-particles .orbit-violet {
  fill: #e3c3ff;
}

.core-orbit-particles .orbit-white {
  fill: #ffffff;
}

.mobile-core-orbit-layer .core-orbit-arc {
  stroke-width: .8;
  opacity: .18;
  filter: url(#mobile-glow);
}

.core-label {
  fill: #150625;
  font-size: 16px;
  font-weight: 850;
  letter-spacing: .18em;
}

.core-process {
  fill: #9b8aaa;
  font-size: 10px;
  font-weight: 620;
  letter-spacing: .16em;
}

.insight-path {
  fill: none;
  stroke: url(#insight-gradient);
  stroke-width: .85;
  stroke-linecap: round;
  filter: drop-shadow(0 0 3px rgba(215, 164, 255, .58));
  opacity: .52;
  animation: none;
}

.insight-path:nth-child(2n) {
  stroke-width: 1.15;
  opacity: .68;
}

.insight-caption {
  fill: #cda1d4;
  font-size: 9px;
  opacity: .7;
}

.labs-station-halo {
  fill: #8d24a7;
  opacity: .085;
  filter: url(#glow-lg);
  transform-box: fill-box;
  transform-origin: center;
  animation: labs-station-breathe 7.8s ease-in-out infinite;
}

.labs-station-image {
  filter: saturate(.92) contrast(1.06)
          drop-shadow(0 0 12px rgba(52, 165, 255, .18))
          drop-shadow(0 10px 22px rgba(0, 0, 0, .72));
}

.labs-ring-rail,
.labs-ring-segment {
  fill: none;
  stroke-linecap: round;
  transform-box: fill-box;
  transform-origin: center;
}

.labs-ring-rail {
  stroke: #111827;
  opacity: .62;
  filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .88));
}

.labs-ring-rail--outer {
  stroke-width: 3.4;
}

.labs-ring-rail--inner {
  stroke: #102033;
  stroke-width: 2.8;
}

.labs-ring-segment--metal {
  stroke: #060a13;
  filter: drop-shadow(0 4px 3px rgba(0, 0, 0, .94))
          drop-shadow(0 0 5px rgba(54, 66, 94, .38));
}

.labs-ring-segment--edge {
  stroke: #3e485b;
  opacity: .96;
}

.labs-ring-segment--outer.labs-ring-segment--metal {
  stroke-width: 12;
}

.labs-ring-segment--outer.labs-ring-segment--edge {
  stroke: #49364f;
  stroke-width: 7;
}

.labs-ring-segment--inner.labs-ring-segment--metal {
  stroke-width: 10;
}

.labs-ring-segment--inner.labs-ring-segment--edge {
  stroke: #314c5b;
  stroke-width: 5.6;
}

.labs-ring-segment--light {
  stroke-width: 1.25;
  opacity: .94;
}

.labs-ring-segment--inner.labs-ring-segment--light {
  stroke: #73dff2;
  filter: drop-shadow(0 0 3px rgba(130, 233, 250, .95))
          drop-shadow(0 0 8px rgba(48, 160, 224, .62));
}

.labs-ring-segment--outer.labs-ring-segment--light {
  stroke: #dc64d7;
  filter: drop-shadow(0 0 3px rgba(237, 111, 227, .96))
          drop-shadow(0 0 9px rgba(157, 48, 181, .66));
}

.labs-ring-segment--inner {
  stroke-dasharray: 29 21;
  animation: labs-inner-segments 29s linear infinite;
}

.labs-ring-segment--outer {
  stroke-dasharray: 20 13.333;
  animation: labs-outer-segments 37s linear infinite reverse;
}

.labs-ring-rail,
.labs-ring-segment {
  transition: opacity .3s ease, stroke .3s ease, filter .3s ease;
}

.labs-trigger:hover .labs-ring-rail,
.labs-trigger:focus-visible .labs-ring-rail {
  opacity: .86;
}

.labs-trigger:hover .labs-ring-segment--light,
.labs-trigger:focus-visible .labs-ring-segment--light {
  opacity: 1;
  stroke-width: 1.65;
}

.labs-trigger:hover .labs-ring-segment--inner.labs-ring-segment--light,
.labs-trigger:focus-visible .labs-ring-segment--inner.labs-ring-segment--light {
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, .92))
          drop-shadow(0 0 11px rgba(62, 205, 255, .92));
}

.labs-trigger:hover .labs-ring-segment--outer.labs-ring-segment--light,
.labs-trigger:focus-visible .labs-ring-segment--outer.labs-ring-segment--light {
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, .92))
          drop-shadow(0 0 11px rgba(220, 76, 209, .92));
}

.labs-logo,
.mobile-labs-logo {
  filter: drop-shadow(0 0 10px rgba(255, 95, 220, .34));
}

.labs-trigger {
  cursor: pointer;
  outline: none;
  touch-action: manipulation;
}

.labs-trigger .labs,
.labs-trigger .mobile-labs,
.labs-trigger .labs-logo,
.labs-trigger .mobile-labs-logo {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .45s cubic-bezier(.2, .75, .25, 1), filter .45s ease;
}

.labs-trigger:hover .labs,
.labs-trigger:hover .mobile-labs,
.labs-trigger:focus-visible .labs,
.labs-trigger:focus-visible .mobile-labs {
  transform: scale(1.045);
}

.labs-trigger:hover .labs-logo,
.labs-trigger:hover .mobile-labs-logo,
.labs-trigger:focus-visible .labs-logo,
.labs-trigger:focus-visible .mobile-labs-logo {
  transform: scale(1.035);
  filter: drop-shadow(0 0 16px rgba(255, 111, 226, .7));
}

.labs-trigger:focus-visible .labs-station-halo,
.labs-trigger:focus-visible .labs-ring-segment--light {
  opacity: .9;
}

.story-trigger {
  cursor: pointer;
  outline: none;
}

.story-trigger[data-story="earth"] .earth-atmosphere,
.story-trigger[data-story="core"] .core-ring,
.story-trigger[data-story="core"] .core-logo-image,
.story-trigger[data-story="core"] .core-halo,
.story-trigger[data-story="core"] .core-energy,
.story-trigger[data-story="core"] .core-orbit-arc,
.story-trigger[data-story="core"] .core-node {
  transition: opacity .4s ease, stroke .4s ease, filter .4s ease;
}

.story-trigger[data-story="earth"]:hover .earth-atmosphere,
.story-trigger[data-story="earth"]:focus-visible .earth-atmosphere {
  opacity: .9;
  filter: drop-shadow(0 0 12px rgba(62, 205, 255, .72));
}

.story-trigger[data-story="core"]:hover .core-ring,
.story-trigger[data-story="core"]:focus-visible .core-ring {
  opacity: .96;
  stroke: #f0d6ff;
  stroke-width: 1.55;
  filter: drop-shadow(0 0 4px rgba(244, 215, 255, .88))
          drop-shadow(0 0 12px rgba(156, 61, 255, .82));
}

.core-story-trigger:hover .ring-one,
.core-story-trigger:focus-visible .ring-one {
  animation-duration: 8s;
}

.core-story-trigger:hover .ring-two,
.core-story-trigger:focus-visible .ring-two {
  stroke: #aaf6ff;
  animation-duration: 6.5s;
}

.core-story-trigger:hover .ring-three,
.core-story-trigger:focus-visible .ring-three {
  stroke: #ffb0ef;
  animation-duration: 5.5s;
}

.core-story-trigger:hover .ring-four,
.core-story-trigger:focus-visible .ring-four {
  animation-duration: 7s;
}

.core-story-trigger:hover .core-energy,
.core-story-trigger:focus-visible .core-energy {
  opacity: 1;
  filter: brightness(1.45) saturate(1.2)
          drop-shadow(0 0 10px rgba(162, 74, 255, .88))
          drop-shadow(0 0 22px rgba(81, 213, 244, .34));
  animation-duration: 1.8s;
}

.core-story-trigger:hover .core-orbit-arc,
.core-story-trigger:focus-visible .core-orbit-arc {
  stroke: #e9c7ff;
  stroke-width: 1.7;
  opacity: .72;
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, .78))
          drop-shadow(0 0 13px rgba(145, 67, 255, .92));
}

.core-story-trigger:hover .core-orbit-particles circle,
.core-story-trigger:focus-visible .core-orbit-particles circle {
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, 1))
          drop-shadow(0 0 15px rgba(164, 83, 255, 1));
}

.core-story-trigger:hover .core-logo-image,
.core-story-trigger:focus-visible .core-logo-image {
  filter: brightness(1.12)
          drop-shadow(0 0 8px rgba(255, 255, 255, .35))
          drop-shadow(0 0 18px rgba(177, 70, 255, .62));
}

.core-story-trigger:hover .core-node,
.core-story-trigger:focus-visible .core-node {
  opacity: 1;
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, .95));
}

.orbiter-trigger {
  position: absolute;
  z-index: 28;
  top: 24%;
  right: 34%;
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #eee0ff;
  background: radial-gradient(circle, rgba(149, 81, 224, .17), transparent 66%);
  opacity: .82;
  cursor: pointer;
  touch-action: manipulation;
  transition: opacity .35s ease, filter .35s ease;
}

.orbiter-trigger__visual {
  position: relative;
  display: block;
  width: 2.05rem;
  height: 2.05rem;
  filter:
    drop-shadow(0 0 4px rgba(224, 201, 255, .32))
    drop-shadow(0 0 9px rgba(154, 92, 221, .52));
  animation: orbiter-drift 9s ease-in-out infinite;
  transition: transform .4s cubic-bezier(.2, .8, .2, 1);
}

.orbiter-trigger svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.orbiter-wing {
  fill: rgba(129, 78, 187, .56);
  stroke: #dbc4f5;
  stroke-width: 1.4;
}

.orbiter-body {
  fill: rgba(11, 11, 28, .95);
  stroke: #eedaff;
  stroke-width: 1.65;
}

.orbiter-lens {
  fill: #9eeeff;
  stroke: #e9fbff;
  stroke-width: .75;
  filter: drop-shadow(0 0 4px rgba(39, 220, 255, .8));
  transform-box: fill-box;
  transform-origin: center;
  animation: orbiter-beacon 3.6s ease-in-out infinite;
}

.orbiter-antenna,
.orbiter-signal {
  stroke: #eadcf8;
  stroke-width: 1.3;
}

.orbiter-signal {
  opacity: .32;
  animation: orbiter-signal 4.8s ease-in-out infinite;
}

.orbiter-trigger__pulse {
  position: absolute;
  inset: 32%;
  border: 1px solid rgba(126, 222, 255, .55);
  border-radius: 50%;
  opacity: 0;
  animation: orbiter-pulse 3.6s ease-out infinite;
}

.orbiter-trigger:hover,
.orbiter-trigger:focus-visible {
  opacity: .98;
  filter: drop-shadow(0 0 10px rgba(154, 85, 230, .6));
}

.orbiter-trigger:hover .orbiter-trigger__visual,
.orbiter-trigger:focus-visible .orbiter-trigger__visual {
  transform: scale(1.12);
}

.orbiter-trigger:focus-visible {
  outline: 1px solid rgba(188, 137, 255, .8);
  outline-offset: .18rem;
}

.landing.is-easter-approaching .scene {
  transform-origin: 70% 30%;
  animation: easter-scene-approach .9s cubic-bezier(.2, .8, .2, 1) forwards;
}

.landing.is-easter-approaching .orbiter-trigger {
  z-index: 75;
  opacity: 1;
  animation: orbiter-approach .9s cubic-bezier(.25, .78, .2, 1) forwards;
}

.landing.is-easter-open .scene {
  transform: scale(1.055);
  filter: brightness(.42) saturate(1.16) blur(1px);
}

.landing.is-easter-open .orbiter-trigger {
  opacity: 0;
  pointer-events: none;
}

.landing.is-easter-returning .scene {
  animation: easter-scene-return .78s cubic-bezier(.4, 0, .2, 1) forwards;
}

.core-terminal {
  position: absolute;
  z-index: 90;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 48%, rgba(65, 21, 126, .2), transparent 35%),
    rgba(1, 2, 8, .72);
  backdrop-filter: blur(9px) saturate(1.12);
  transition: opacity .45s ease, visibility 0s linear .45s;
}

.core-terminal[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.core-terminal__shell {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(44rem, calc(100vw - 2rem));
  height: min(29rem, calc(100svh - 2rem));
  max-height: min(47rem, calc(100svh - 2rem));
  overflow: hidden;
  opacity: 0;
  border: 1px solid rgba(159, 110, 222, .38);
  border-radius: 1rem;
  background:
    linear-gradient(rgba(113, 68, 169, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(113, 68, 169, .025) 1px, transparent 1px),
    linear-gradient(155deg, rgba(11, 12, 30, .97), rgba(3, 5, 16, .94));
  background-size: 1.4rem 1.4rem, 1.4rem 1.4rem, auto;
  box-shadow:
    0 2.5rem 8rem rgba(0, 0, 0, .7),
    0 0 4rem rgba(99, 35, 183, .12),
    inset 0 0 4rem rgba(90, 39, 155, .05);
  transform: translateY(1.25rem) scale(.965);
}

.core-terminal[aria-hidden="false"] .core-terminal__shell {
  animation: terminal-arrival .7s cubic-bezier(.18, .82, .2, 1) .08s forwards;
}

.core-terminal__shell::before,
.core-terminal__shell::after {
  position: absolute;
  z-index: 2;
  content: "";
  pointer-events: none;
}

.core-terminal__shell::before {
  top: 0;
  left: 1.2rem;
  width: 5.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, #a36aff, transparent);
  box-shadow: 0 0 10px rgba(163, 106, 255, .65);
}

.core-terminal__shell::after {
  right: 1.2rem;
  bottom: 0;
  width: 3.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, #47dfff);
}

.core-terminal__scan {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  opacity: .13;
  background: linear-gradient(180deg, transparent, rgba(117, 217, 255, .3), transparent);
  background-repeat: no-repeat;
  background-position: 0 -25%;
  background-size: 100% 20%;
  animation: terminal-scan 8s linear infinite;
}

.core-terminal__header {
  position: relative;
  z-index: 3;
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  border-bottom: 1px solid rgba(144, 100, 204, .16);
}

.core-terminal__identity {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.core-terminal__mark {
  display: grid;
  flex: 0 0 2.7rem;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  padding: .2rem;
  overflow: hidden;
  border: 1px solid rgba(173, 113, 244, .48);
  border-radius: 50%;
  background: #000;
  box-shadow: inset 0 0 1rem rgba(139, 53, 255, .12), 0 0 1rem rgba(126, 52, 216, .12);
}

.core-terminal__mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 5px rgba(139, 76, 255, .3));
}

.core-terminal__identity p {
  margin: 0 0 .45rem;
  color: #907aa7;
  font: 600 .57rem/1.3 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .14em;
}

.core-terminal__identity h2 {
  margin: 0;
  color: #f4eefc;
  font-size: clamp(1.2rem, 2.6vw, 1.75rem);
  font-weight: 520;
  letter-spacing: -.015em;
}

.core-terminal__close {
  display: grid;
  flex: 0 0 2.4rem;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: 1px solid rgba(184, 139, 234, .24);
  border-radius: 50%;
  color: #b9aec8;
  background: rgba(8, 8, 22, .5);
  font: 300 1.35rem/1 sans-serif;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, transform .3s ease;
}

.core-terminal__close:hover,
.core-terminal__close:focus-visible {
  transform: rotate(90deg);
  border-color: rgba(203, 167, 245, .7);
  color: #fff;
}

.core-terminal__body {
  position: relative;
  z-index: 3;
  flex: 1 1 auto;
  min-height: 0;
  padding: clamp(1.5rem, 4vw, 2.6rem);
  overflow-y: auto;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(166, 101, 237, .38) transparent;
}

.core-terminal__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.3rem 1.1rem;
}

.core-terminal__field {
  display: grid;
  gap: .55rem;
  color: #a89ab8;
  font: 600 .62rem/1.3 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.core-terminal__field input {
  width: 100%;
  height: 3.3rem;
  padding: 0 1rem;
  border: 1px solid rgba(155, 111, 210, .26);
  border-radius: .45rem;
  outline: none;
  color: #eee5f8;
  background: rgba(2, 4, 13, .72);
  box-shadow: inset 0 0 1.4rem rgba(86, 37, 145, .045);
  font: 500 .88rem/1 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .07em;
  transition: border-color .25s ease, box-shadow .25s ease;
}

#core-terminal-key {
  -webkit-text-security: disc;
}

.core-terminal__field input:focus {
  border-color: rgba(177, 116, 247, .68);
  box-shadow: 0 0 0 2px rgba(139, 53, 255, .08), inset 0 0 1.5rem rgba(86, 37, 145, .08);
}

.core-terminal__initialize {
  grid-column: 1 / -1;
  justify-self: end;
  width: min(19rem, 100%);
  min-height: 3rem;
  padding: .75rem 1rem;
  border: 1px solid rgba(167, 104, 240, .58);
  border-radius: .45rem;
  color: #ede1fa;
  background: linear-gradient(135deg, rgba(117, 42, 203, .45), rgba(39, 17, 77, .55));
  box-shadow: inset 0 0 1.5rem rgba(171, 92, 255, .06);
  font: 650 .64rem/1.25 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color .25s ease, background .25s ease, opacity .25s ease;
}

.core-terminal__initialize:disabled {
  border-color: rgba(122, 103, 144, .18);
  color: #5f586a;
  background: rgba(18, 15, 29, .45);
  opacity: .72;
  cursor: not-allowed;
}

.core-terminal__initialize:not(:disabled):hover,
.core-terminal__initialize:not(:disabled):focus-visible {
  border-color: rgba(210, 168, 255, .88);
  background: linear-gradient(135deg, rgba(134, 48, 230, .62), rgba(52, 21, 97, .68));
}

.core-terminal__sequence {
  display: grid;
  gap: 1.2rem;
  outline: none;
}

.core-terminal__telemetry {
  display: flex;
  justify-content: space-between;
  color: #88779a;
  font: 600 .58rem/1 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .14em;
}

.core-terminal__progress {
  height: 2px;
  overflow: hidden;
  background: rgba(143, 110, 181, .13);
}

.core-terminal__progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #6931b1, #bd78ff, #77e8ff);
  box-shadow: 0 0 12px rgba(160, 91, 240, .55);
  transition: width .65s cubic-bezier(.2, .8, .2, 1);
}

.core-terminal__log {
  display: grid;
  align-content: end;
  gap: .6rem;
  min-height: 12rem;
  padding: 1rem;
  border-left: 1px solid rgba(153, 105, 211, .19);
  background: linear-gradient(90deg, rgba(83, 36, 136, .05), transparent 60%);
}

.core-terminal__log-line {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: baseline;
  margin: 0;
  color: #bcb0c9;
  font: 500 .7rem/1.45 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  opacity: 0;
  transform: translateY(.3rem);
  animation: terminal-line-in .35s ease forwards;
}

.core-terminal__log-code {
  color: #725f88;
  font-size: .58rem;
  letter-spacing: .08em;
  white-space: nowrap;
}

.core-terminal.is-warp-building .core-terminal__shell {
  opacity: 1;
  animation: terminal-warp-build 1.2s ease-in-out both;
}

.core-terminal.is-warp-building .core-terminal__progress span {
  background: linear-gradient(90deg, #7d39d0, #e6c0ff, #d9fbff);
  box-shadow: 0 0 18px rgba(189, 120, 255, .78);
}

.core-terminal__result {
  max-width: 35rem;
  margin: 0 auto;
  padding: clamp(1rem, 2vw, 1.8rem) 0;
}

.core-terminal__error-code {
  margin: 0 0 1rem;
  color: #a97ad5;
  font: 650 .6rem/1.4 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .15em;
}

.core-terminal__result h3 {
  margin: 0 0 1.5rem;
  outline: none;
  color: #f0e5f9;
  font: 620 clamp(1.35rem, 3vw, 2rem)/1.1 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .08em;
}

.core-terminal__result > p:not(.core-terminal__error-code) {
  margin: .55rem 0;
  color: #aaa0b7;
  font-size: .84rem;
  line-height: 1.55;
}

.core-terminal__actions {
  display: flex;
  gap: .75rem;
  margin-top: 2rem;
}

.core-terminal__actions button {
  min-height: 2.8rem;
  padding: .7rem 1rem;
  border: 1px solid rgba(161, 112, 218, .34);
  border-radius: .4rem;
  color: #cfc2db;
  background: rgba(40, 23, 62, .42);
  font: 620 .62rem/1.25 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .09em;
  cursor: pointer;
}

.core-terminal__actions button:first-child {
  border-color: rgba(179, 113, 249, .62);
  color: #eadcf8;
  background: rgba(99, 37, 164, .42);
}

.core-terminal__actions button:hover,
.core-terminal__actions button:focus-visible {
  border-color: rgba(212, 179, 250, .78);
  color: #fff;
}

.core-terminal__footer {
  position: relative;
  z-index: 3;
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  gap: 1rem;
  padding: .7rem clamp(1.4rem, 3vw, 2rem);
  border-top: 1px solid rgba(144, 100, 204, .12);
  color: #4d4657;
  font: 600 .48rem/1.3 "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  letter-spacing: .13em;
}

@keyframes orbiter-drift {
  0%,
  100% { transform: translate3d(0, 0, 0) rotate(-3deg); }
  38% { transform: translate3d(.35rem, -.48rem, 0) rotate(2deg); }
  72% { transform: translate3d(-.25rem, .24rem, 0) rotate(-1deg); }
}

@keyframes orbiter-signal {
  0%,
  68%,
  100% { opacity: .08; }
  78% { opacity: .45; }
}

@keyframes orbiter-pulse {
  0%,
  70% { opacity: 0; transform: scale(.5); }
  74% { opacity: .5; }
  88% { opacity: 0; transform: scale(4.6); }
  100% { opacity: 0; }
}

@keyframes orbiter-beacon {
  0%,
  70%,
  84%,
  100% {
    fill: #79cfdf;
    opacity: .48;
    filter: drop-shadow(0 0 3px rgba(39, 220, 255, .55));
    transform: scale(.9);
  }

  74% {
    fill: #ffffff;
    opacity: 1;
    filter:
      drop-shadow(0 0 4px rgba(255, 255, 255, 1))
      drop-shadow(0 0 12px rgba(39, 220, 255, .95))
      drop-shadow(0 0 22px rgba(139, 83, 255, .72));
    transform: scale(1.45);
  }
}

@keyframes orbiter-approach {
  0% { transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
  58% { transform: translate3d(-12vw, 10vh, 0) scale(2.4); filter: blur(0); }
  100% { transform: translate3d(-22vw, 19vh, 0) scale(7); filter: blur(2px); opacity: 0; }
}

@keyframes easter-scene-approach {
  from { transform: scale(1); filter: brightness(1) blur(0); }
  to { transform: scale(1.055); filter: brightness(.42) saturate(1.16) blur(1px); }
}

@keyframes easter-scene-return {
  from { transform: scale(1.055); filter: brightness(.42) saturate(1.16) blur(1px); }
  to { transform: scale(1); filter: brightness(1) saturate(1) blur(0); }
}

@keyframes terminal-arrival {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes terminal-scan {
  0% { background-position: 0 -25%; }
  100% { background-position: 0 125%; }
}

@keyframes terminal-line-in {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes terminal-warp-build {
  0%,
  100% { transform: translate3d(0, 0, 0) scale(1); filter: brightness(1); }
  35% { transform: translate3d(.7px, -.4px, 0) scale(1.003); filter: brightness(1.08); }
  68% { transform: translate3d(-.8px, .5px, 0) scale(1.006); filter: brightness(1.16); }
}

.story-panel {
  position: absolute;
  z-index: 60;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at var(--story-focus-x) var(--story-focus-y), transparent 0 18%, rgba(2, 3, 9, .22) 42%, rgba(2, 3, 9, .72) 100%);
  transition: opacity .48s ease;
}

.story-window {
  position: absolute;
  top: 50%;
  right: clamp(2rem, 6vw, 7rem);
  width: min(31rem, 38vw);
  max-height: min(34rem, 72vh);
  padding: clamp(2rem, 3vw, 3.25rem);
  overflow: hidden;
  opacity: 0;
  transform: translateY(-46%) scale(.94);
  border: 1px solid rgba(196, 139, 255, .24);
  border-radius: 1.2rem;
  background: linear-gradient(145deg, rgba(11, 8, 26, .91), rgba(3, 4, 12, .82));
  box-shadow: 0 2rem 7rem rgba(0, 0, 0, .58), inset 0 0 3rem rgba(133, 44, 255, .07);
  backdrop-filter: blur(22px) saturate(1.15);
  transition: opacity .48s ease .2s, transform .7s cubic-bezier(.2, .8, .2, 1) .12s;
}

@media (min-width: 761px) {
  .story-earth .story-window {
    right: auto;
    left: 50%;
    transform: translate(-50%, -46%) scale(.94);
  }

  .landing.story-earth.is-story-open .story-window {
    transform: translate(-50%, -50%) scale(1);
  }

  .landing.story-earth.is-story-closing .story-window {
    transform: translate(-50%, -46%) scale(.96);
  }
}

.story-core .story-window {
  right: auto;
  left: clamp(2rem, 5vw, 6rem);
  max-height: min(42rem, 82vh);
}

.story-products .story-window {
  right: auto;
  left: clamp(2rem, 5vw, 6rem);
  max-height: min(40rem, 80vh);
}

.story-flow .story-window {
  max-height: min(40rem, 80vh);
}

.story-eyebrow {
  margin: 0 0 .9rem;
  color: #b878ff;
  font-size: .65rem;
  font-weight: 750;
  letter-spacing: .23em;
}

.story-window h2 {
  max-width: 12em;
  margin: 0 0 1.4rem;
  color: #faf6ff;
  font-size: clamp(1.65rem, 2.5vw, 2.65rem);
  font-weight: 520;
  line-height: 1.08;
  letter-spacing: -.025em;
  text-shadow: 0 0 30px rgba(166, 83, 255, .2);
}

.story-copy {
  display: grid;
  gap: .9rem;
}

.story-copy p {
  margin: 0;
  color: #bbb5c9;
  font-size: clamp(.82rem, .95vw, .98rem);
  line-height: 1.72;
}

.story-earth .story-copy {
  gap: .28rem;
}

.story-earth .story-copy p:nth-child(7),
.story-earth .story-copy p:nth-child(8) {
  margin-top: .65rem;
}

.story-core .story-copy {
  gap: .7rem;
}

.story-products .story-copy {
  gap: .7rem;
}

.story-flow .story-copy {
  gap: .72rem;
}

.story-keywords {
  display: grid;
  gap: .55rem;
  margin: .15rem 0 .25rem;
}

.story-keyword {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-height: 2.75rem;
}

.story-keyword__icon {
  display: grid;
  flex: 0 0 2.65rem;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border: 1px solid rgba(195, 113, 255, .35);
  border-radius: .55rem;
  color: #c176ff;
  background: linear-gradient(145deg, rgba(151, 62, 255, .08), rgba(8, 7, 20, .32));
  box-shadow: inset 0 0 1.4rem rgba(139, 53, 255, .06);
}

.story-keyword__icon svg {
  width: 1.25rem;
  height: 1.25rem;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 5px rgba(179, 95, 255, .4));
}

.story-keyword__text {
  color: #c989ff;
  font-size: .67rem;
  font-weight: 720;
  letter-spacing: .14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.story-flow .story-keywords {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.story-flow .story-keyword {
  gap: .65rem;
  padding: .65rem;
  border: 1px solid rgba(190, 126, 255, .12);
  border-radius: .75rem;
  background: rgba(8, 8, 20, .3);
}

.story-flow .story-keyword--incoming .story-keyword__icon {
  border-color: rgba(82, 220, 244, .38);
  color: #74e6f8;
  background: linear-gradient(145deg, rgba(46, 199, 228, .1), rgba(8, 7, 20, .32));
  box-shadow: inset 0 0 1.4rem rgba(43, 202, 231, .07);
}

.story-flow .story-keyword--incoming .story-keyword__text {
  color: #8fe9f6;
}

.story-flow .story-keyword--filtered .story-keyword__icon {
  border-color: rgba(235, 91, 220, .38);
  color: #f07edf;
  background: linear-gradient(145deg, rgba(225, 63, 206, .1), rgba(8, 7, 20, .32));
  box-shadow: inset 0 0 1.4rem rgba(226, 64, 210, .07);
}

.story-flow .story-keyword--filtered .story-keyword__text {
  color: #ee9ee2;
}

.story-close {
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  display: flex;
  gap: .7rem;
  align-items: center;
  padding: .5rem .65rem;
  border: 0;
  color: #a9a2b7;
  background: transparent;
  font: inherit;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .18em;
  cursor: pointer;
}

.story-close__icon {
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border: 1px solid rgba(216, 178, 255, .25);
  border-radius: 50%;
  color: #f5eaff;
  font-size: 1.05rem;
  font-weight: 350;
  letter-spacing: 0;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}

.story-close:hover .story-close__icon,
.story-close:focus-visible .story-close__icon {
  transform: rotate(90deg);
  border-color: rgba(226, 190, 255, .72);
  background: rgba(151, 62, 255, .15);
}

.landing.story-earth {
  --focus-x: 4%;
  --focus-y: 60%;
  --story-focus-x: 4%;
  --story-focus-y: 60%;
  --story-scale: 1.72;
}

.landing.story-core {
  --focus-x: 50%;
  --focus-y: 45%;
  --story-focus-x: 50%;
  --story-focus-y: 45%;
  --story-scale: 1.58;
}

.landing.story-flow {
  --story-focus-x: 50%;
  --story-focus-y: 48%;
  --story-scale: 1.22;
}

.landing.story-products {
  --story-focus-x: 67%;
  --story-focus-y: 72%;
  --story-scale: 1.34;
}

.landing.is-story-open .story-panel {
  pointer-events: auto;
  opacity: 1;
}

.landing.is-story-open .story-window {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.landing.is-story-open .scene-desktop {
  transform-origin: var(--story-focus-x) var(--story-focus-y);
  animation: story-scene-in .9s cubic-bezier(.18, .82, .2, 1) forwards;
}

.landing.is-story-open::after {
  animation: story-focus-flash .9s ease-out forwards;
}

.landing.is-story-closing .story-panel {
  pointer-events: none;
  opacity: 0;
}

.landing.is-story-closing .story-window {
  opacity: 0;
  transform: translateY(-46%) scale(.96);
  transition-delay: 0s;
}

.landing.is-story-closing .scene-desktop {
  animation: story-scene-out .72s cubic-bezier(.4, 0, .2, 1) forwards;
}

.landing.is-warping {
  pointer-events: none;
}

.landing.is-warping .scene-desktop {
  transform-origin: 87.5% 52%;
  animation: warp-scene-desktop 1.1s cubic-bezier(.72, 0, .96, .48) forwards;
}

.landing.is-warping .scene-mobile {
  transform-origin: 50% 84%;
  animation: warp-scene-mobile 1.1s cubic-bezier(.72, 0, .96, .48) forwards;
}

.landing.is-warping .universe::after {
  animation: warp-lines 1.1s cubic-bezier(.3, 0, .8, 1) forwards;
}

.landing.is-warping::after {
  animation: warp-flash 1.1s ease-in forwards;
}

.labs-label {
  fill: #f0eaf3;
  font-size: 25px;
  font-weight: 650;
  letter-spacing: .14em;
}

.labs-label.small {
  fill: #ef55d1;
  font-size: 10px;
  font-weight: 780;
  letter-spacing: .48em;
}

.story-strip {
  position: absolute;
  z-index: 9;
  right: clamp(1.5rem, 4vw, 4.5rem);
  bottom: clamp(1rem, 2.2vh, 1.8rem);
  left: clamp(1.5rem, 4vw, 4.5rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  pointer-events: none;
}

.mobile-story-rail {
  display: none;
}

.story-strip p {
  margin: 0;
  color: #898595;
  font-size: clamp(.58rem, .67vw, .72rem);
  font-weight: 570;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}

.story-strip span {
  color: #c575ff;
}

.story-strip .story-lead {
  color: inherit;
}

.story-strip p:last-child span {
  color: #fa6cdb;
}

.story-strip p:last-child .story-lead {
  color: inherit;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@keyframes signal-flow {
  to { stroke-dashoffset: -104; }
}

@keyframes energy-bridge-flow {
  to { stroke-dashoffset: -116; }
}

@keyframes energy-bridge-pulse {
  50% { opacity: .18; }
}

@keyframes insight-flow {
  to { stroke-dashoffset: -80; }
}

@keyframes orbit {
  to { transform: rotate(360deg); }
}

@keyframes earth-axis {
  to { transform: rotate(360deg); }
}

@keyframes core-sphere-turn {
  to { transform: rotate(360deg); }
}

@keyframes core-breathe {
  50% { transform: scale(1.08); opacity: .82; }
}

@keyframes signal-pulse {
  50% { transform: scale(1.65); opacity: .52; }
}

@keyframes signal-aura-breathe {
  50% { opacity: .14; }
}

@keyframes warp-scene-desktop {
  0% { transform: scale(1); filter: blur(0); opacity: 1; }
  38% { transform: scale(1.06); filter: blur(0); opacity: 1; }
  100% { transform: scale(6.5); filter: blur(2.5px); opacity: .08; }
}

@keyframes warp-scene-mobile {
  0% { transform: scale(1); filter: blur(0); opacity: 1; }
  38% { transform: scale(1.05); filter: blur(0); opacity: 1; }
  100% { transform: scale(7); filter: blur(2.5px); opacity: .08; }
}

@keyframes warp-lines {
  0% { transform: scale(.35); opacity: 0; filter: blur(0); }
  25% { opacity: .62; }
  78% { opacity: .9; }
  100% { transform: scale(3.8); opacity: 0; filter: blur(3px); }
}

@keyframes warp-flash {
  0%, 42% { opacity: 0; }
  72% { opacity: .2; }
  100% { opacity: 1; }
}

@keyframes story-scene-in {
  from { transform: scale(1); filter: brightness(1) saturate(1); }
  to { transform: scale(var(--story-scale)); filter: brightness(.56) saturate(1.12); }
}

@keyframes story-scene-out {
  from { transform: scale(var(--story-scale)); filter: brightness(.56) saturate(1.12); }
  to { transform: scale(1); filter: brightness(1) saturate(1); }
}

@keyframes story-focus-flash {
  0% { opacity: 0; }
  34% { opacity: .26; }
  100% { opacity: 0; }
}

@keyframes light-pulse {
  50% { opacity: .35; }
}

@keyframes activity-cycle {
  0%, 2%, 100% { transform: translateY(4px); opacity: 0; }
  5%, 13% { transform: translateY(0); opacity: .92; }
  16.66% { transform: translateY(-3px); opacity: 0; }
}

@keyframes labs-station-breathe {
  50% { transform: scale(1.06); opacity: .13; }
}

@keyframes labs-inner-segments {
  to { stroke-dashoffset: -100; }
}

@keyframes labs-outer-segments {
  to { stroke-dashoffset: -100; }
}

@media (max-width: 760px), (min-width: 761px) and (max-width: 1100px) and (orientation: portrait) {
  .landing {
    min-height: 0;
  }

  .language-switch {
    top: .8rem;
    right: .85rem;
    gap: .34rem;
    padding: .36rem .5rem;
    font-size: .56rem;
  }

  .chapter-index {
    top: .95rem;
    left: .9rem;
    max-width: 13rem;
    font-size: .49rem;
    letter-spacing: .11em;
  }

  .chapter-index::before {
    width: .85rem;
    margin-right: .4rem;
  }

  .landing.story-earth {
    --focus-x: 50%;
    --focus-y: 7%;
    --story-focus-x: 50%;
    --story-focus-y: 7%;
    --story-scale: 1.5;
  }

  .landing.story-core {
    --focus-x: 50%;
    --focus-y: 52%;
    --story-focus-x: 50%;
    --story-focus-y: 52%;
    --story-scale: 1.42;
  }

  .landing.story-flow {
    --story-focus-x: 50%;
    --story-focus-y: 47%;
    --story-scale: 1.14;
  }

  .landing.story-products {
    --story-focus-x: 50%;
    --story-focus-y: 68%;
    --story-scale: 1.22;
  }

  .landing-header {
    padding: 1.15rem 1.2rem;
  }

  .wordmark,
  .company {
    font-size: .61rem;
  }

  .scene-desktop,
  .story-strip {
    display: none;
  }

  .hero-intro {
    top: 2.8rem;
    width: calc(100% - 2rem);
  }

  .hero-intro h1 {
    font-size: clamp(1.2rem, 6.2vw, 1.55rem);
    letter-spacing: .02em;
  }

  .hero-intro p {
    max-width: 22rem;
    margin-top: .42rem;
    font-size: .58rem;
    line-height: 1.5;
    letter-spacing: .025em;
  }

  .scene-mobile {
    display: block;
  }

  .mobile-story-rail {
    position: absolute;
    z-index: 7;
    top: 50%;
    left: 50%;
    display: block;
    width: min(100vw, 51.22svh);
    height: min(100svh, 195.24vw);
    pointer-events: none;
    transform: translate(-50%, -50%);
  }

  .mobile-story-rail__item {
    position: absolute;
    width: min(38%, 9rem);
    margin: 0;
    color: rgba(191, 187, 204, .76);
    font-size: clamp(.5rem, 2.05vw, .67rem);
    font-weight: 590;
    letter-spacing: .075em;
    line-height: 1.38;
    text-transform: uppercase;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .94);
  }

  .mobile-story-rail__item::before {
    display: block;
    width: 1.7rem;
    height: 1px;
    margin-bottom: .38rem;
    content: "";
    opacity: .72;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
  }

  .mobile-story-rail__lead,
  .mobile-story-rail__accent {
    display: block;
  }

  .mobile-story-rail__accent {
    margin-top: .08rem;
    color: #c984ff;
    font-weight: 720;
  }

  .mobile-story-rail__item--world {
    top: 27%;
    left: .8rem;
  }

  .mobile-story-rail__item--world::before {
    color: #63dbf4;
  }

  .mobile-story-rail__item--core {
    top: 52.5%;
    right: .8rem;
    text-align: right;
  }

  .mobile-story-rail__item--core::before {
    margin-left: auto;
    color: #b879ff;
  }

  .mobile-story-rail__item--labs {
    top: 68.5%;
    left: .8rem;
  }

  .mobile-story-rail__item--labs::before,
  .mobile-story-rail__item--labs .mobile-story-rail__accent {
    color: #fa6cdb;
  }

  .story-window,
  .story-core .story-window,
  .story-products .story-window {
    top: auto;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    width: auto;
    max-height: min(29rem, 58vh);
    padding: 2rem 1.5rem 1.65rem;
    overflow: auto;
    scrollbar-width: none;
    transform: translateY(1rem) scale(.97);
    border-radius: 1rem;
  }

  .story-window::-webkit-scrollbar {
    display: none;
  }

  .story-window h2 {
    padding-right: 2.5rem;
    font-size: clamp(1.45rem, 7vw, 2rem);
  }

  .story-copy p {
    font-size: .82rem;
    line-height: 1.58;
  }

  .story-keywords {
    gap: .45rem;
  }

  .story-flow .story-keywords {
    grid-template-columns: 1fr;
  }

  .story-keyword {
    min-height: 2.35rem;
  }

  .story-keyword__icon {
    flex-basis: 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
  }

  .story-keyword__icon svg {
    width: 1.05rem;
    height: 1.05rem;
  }

  .story-keyword__text {
    font-size: .61rem;
  }

  .story-close {
    top: .7rem;
    right: .7rem;
  }

  .landing.is-story-open .story-window {
    transform: translateY(0) scale(1);
  }

  .landing.is-story-open .scene-mobile {
    transform-origin: var(--story-focus-x) var(--story-focus-y);
    animation: story-scene-in .9s cubic-bezier(.18, .82, .2, 1) forwards;
  }

  .landing.is-story-closing .story-window {
    transform: translateY(1rem) scale(.97);
  }

  .landing.is-story-closing .scene-mobile {
    animation: story-scene-out .72s cubic-bezier(.4, 0, .2, 1) forwards;
  }

  .mobile-earth .earth-atmosphere {
    filter: url(#mobile-glow);
  }

  .mobile-earth .earth-body {
    filter: url(#mobile-glow);
  }

  .mobile-earth .continent {
    fill: #43a8c1;
    opacity: .38;
  }

  .mobile-earth .earth-grid {
    opacity: .18;
  }

  .mobile-stage-label {
    fill: #a9a3b7;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .13em;
  }

  .mobile-input-orbs circle {
    fill: #fffaff;
    filter: drop-shadow(0 0 2px rgba(255, 255, 255, .98)) drop-shadow(0 0 6px rgba(145, 58, 255, .78));
  }

  .mobile-input-orbs circle:nth-child(3n) {
    fill: #c98cff;
    filter: drop-shadow(0 0 2px rgba(230, 194, 255, .95)) drop-shadow(0 0 6px rgba(118, 32, 255, .78));
  }

  .mobile-signal-aura {
    opacity: .1;
    filter: blur(12px) drop-shadow(0 0 14px rgba(112, 34, 255, .34));
  }

  .mobile-core-system .core-halo {
    filter: url(#mobile-glow);
  }

  .mobile-core-system .core-energy,
  .mobile-core-system .core-light {
    filter: url(#mobile-glow);
  }

  .mobile-core-label {
    fill: #170526;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .14em;
  }

  .mobile-core-activity .activity-item text {
    font-size: 13.5px;
    letter-spacing: .11em;
  }

  .mobile-outputs > path {
    fill: none;
    stroke: #d8b8ff;
    stroke-width: .8;
    stroke-linecap: round;
    opacity: .5;
    filter: drop-shadow(0 0 4px rgba(168, 91, 255, .58));
    animation: none;
  }

  .mobile-output-orbs circle {
    fill: #fffaff;
    filter: url(#mobile-glow);
  }

  .mobile-labs .labs-station-halo,
  .mobile-labs .labs-ring-segment--light {
    filter: url(#mobile-glow);
  }

  .mobile-labs .labs-station-image {
    filter: saturate(.9) contrast(1.05)
            drop-shadow(0 0 6px rgba(72, 158, 255, .2));
  }

  .mobile-labs .labs-ring-rail--outer {
    stroke-width: 2.2;
  }

  .mobile-labs .labs-ring-rail--inner {
    stroke-width: 1.7;
  }

  .mobile-labs .labs-ring-segment--outer.labs-ring-segment--metal {
    stroke-width: 7;
  }

  .mobile-labs .labs-ring-segment--outer.labs-ring-segment--edge {
    stroke-width: 4.1;
  }

  .mobile-labs .labs-ring-segment--inner.labs-ring-segment--metal {
    stroke-width: 6;
  }

  .mobile-labs .labs-ring-segment--inner.labs-ring-segment--edge {
    stroke-width: 3.5;
  }

  .mobile-labs .labs-ring-segment--light {
    stroke-width: .8;
  }

  .orbiter-trigger {
    top: 39%;
    right: 30%;
    width: 3.5rem;
    height: 3.5rem;
  }

  .orbiter-trigger__visual {
    width: 1.9rem;
    height: 1.9rem;
  }

  .landing.is-easter-approaching .scene {
    transform-origin: 82% 58%;
  }

  .core-terminal {
    align-items: end;
    padding: .65rem;
  }

  .core-terminal__shell {
    width: 100%;
    height: calc(100svh - 1.3rem);
    max-height: calc(100svh - 1.3rem);
    border-radius: .8rem;
  }

  .core-terminal__header {
    gap: 1rem;
    padding: 1.15rem;
  }

  .core-terminal__mark {
    flex-basis: 2.35rem;
    width: 2.35rem;
    height: 2.35rem;
  }

  .core-terminal__identity {
    gap: .7rem;
  }

  .core-terminal__identity p {
    max-width: 17rem;
    font-size: .49rem;
  }

  .core-terminal__identity h2 {
    font-size: 1.12rem;
  }

  .core-terminal__body {
    min-height: 0;
    padding: 1.25rem 1.1rem 1.4rem;
  }

  .core-terminal__form {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .core-terminal__field input {
    height: 3rem;
  }

  .core-terminal__initialize {
    width: 100%;
  }

  .core-terminal__telemetry {
    font-size: .53rem;
  }

  .core-terminal__log {
    min-height: 14rem;
    padding: .8rem;
  }

  .core-terminal__log-line {
    grid-template-columns: 1fr;
    gap: .15rem;
    font-size: .64rem;
  }

  .core-terminal__log-code {
    font-size: .5rem;
  }

  .core-terminal__actions {
    flex-direction: column;
  }

  .core-terminal__actions button {
    width: 100%;
  }

  .core-terminal__footer {
    padding: .65rem 1.1rem;
    font-size: .43rem;
  }
}

@media (min-width: 761px) and (max-width: 1100px) and (orientation: portrait) {
  .chapter-index {
    top: 1.25rem;
    left: 1.4rem;
    font-size: .58rem;
  }

  .language-switch {
    top: 1.05rem;
    right: 1.35rem;
    font-size: .62rem;
  }

  .hero-intro {
    top: 3.5rem;
    width: min(82vw, 36rem);
  }

  .hero-intro h1 {
    font-size: clamp(1.65rem, 4vw, 2.2rem);
  }

  .hero-intro p {
    max-width: 31rem;
    font-size: .72rem;
  }

  .story-window,
  .story-core .story-window,
  .story-products .story-window {
    right: auto;
    left: 50%;
    width: min(calc(100% - 3rem), 42rem);
    max-height: min(34rem, 56vh);
    transform: translate(-50%, 1rem) scale(.97);
  }

  .landing.is-story-open .story-window {
    transform: translate(-50%, 0) scale(1);
  }

  .landing.is-story-closing .story-window {
    transform: translate(-50%, 1rem) scale(.97);
  }

  .core-terminal {
    align-items: center;
  }

  .core-terminal__shell {
    width: min(100%, 48rem);
    height: min(46rem, calc(100svh - 2.5rem));
    max-height: calc(100svh - 2.5rem);
  }
}

@media (max-height: 680px) and (min-width: 761px) {
  .hero-intro {
    top: 1.35rem;
  }

  .hero-intro p {
    margin-top: .45rem;
  }

  .story-strip {
    bottom: .65rem;
  }
}

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

  .is-warping .landing {
    animation: none !important;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }

  .signal-path,
  .insight-path,
  .energy-bridge__strand,
  .mobile-inputs path,
  .mobile-outputs path {
    stroke-dasharray: none;
  }

  .signal-orbs,
  .capture-pulses,
  .photon-streaks,
  .core-orbit-particles,
  .ambient-motion,
  .product-module--moving {
    display: none;
  }

  .product-module--static {
    display: block;
  }

  .earth-turning {
    animation: none;
  }

  .realistic-core-sphere {
    animation: none;
  }

  .labs-station-halo,
  .labs-ring-segment,
  .energy-bridge__aura,
  .energy-bridge__strand,
  .product-module__bit {
    animation: none;
  }

  .activity-item {
    animation: none;
  }

  .activity-item.activity-1 {
    transform: none;
    opacity: .78;
  }

  .orbiter-trigger__visual,
  .orbiter-lens,
  .orbiter-signal,
  .orbiter-trigger__pulse,
  .core-terminal__scan {
    animation: none;
  }

  .landing.is-easter-approaching .scene,
  .landing.is-easter-returning .scene,
  .core-terminal[aria-hidden="false"] .core-terminal__shell,
  .core-terminal.is-warp-building .core-terminal__shell {
    animation: none !important;
  }

  .landing.is-easter-open .scene {
    transform: none;
    filter: brightness(.5);
  }
}

@media (forced-colors: active) {
  .landing {
    background: Canvas;
    color: CanvasText;
  }

  .scene {
    forced-color-adjust: none;
  }
}
