@font-face {
  font-family: "D-DIN";
  src: url("fonts/D-DIN.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "D-DIN";
  src: url("fonts/D-DIN-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --background: #020609;
  --foreground: #f3f7f7;
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--background);
}

.seoBody {
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
}

body {
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: rgba(104, 202, 225, 0.28);
  color: #fff;
}

.landing {
  position: relative;
  width: 100%;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: var(--background);
}

.sceneLayers {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 420ms ease;
}

.earth-ready .sceneLayers {
  opacity: 1;
}

.originNature {
  position: absolute;
  inset: 0;
  z-index: 2;
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    visibility 0s linear 240ms,
    opacity 240ms ease;
}

.originNature::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 5, 9, 0.6) 0%, rgba(0, 5, 9, 0.2) 42%, transparent 70%),
    linear-gradient(180deg, rgba(0, 3, 6, 0.18), transparent 52%, rgba(0, 2, 4, 0.52));
  content: "";
}

.originNature img {
  display: block;
  width: 100%;
  height: 100%;
}

.originNature img {
  opacity: 0;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.88) contrast(1.05) brightness(0.88);
  transition: opacity 420ms ease;
}

.nature-ready .originNature img {
  opacity: 1;
}

.origin-active .originNature {
  visibility: visible;
  opacity: 1;
  transition-delay: 80ms;
}

.partnershipBackdrop {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: 68%;
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    visibility 0s linear 240ms,
    opacity 240ms ease;
}

.partnershipBackdrop img {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  object-fit: cover;
  object-position: center bottom;
  filter: saturate(0.82) contrast(1.08) brightness(0.72);
  transition: opacity 420ms ease;
}

.partnershipBackdrop::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 4, 7, 0.6) 0%, rgba(0, 4, 7, 0.22) 48%, transparent 76%),
    linear-gradient(180deg, rgba(0, 3, 5, 0.08) 0%, rgba(0, 3, 5, 0.12) 44%, #020609 100%);
  content: "";
}

.partnership-image-ready .partnershipBackdrop img {
  opacity: 1;
}

.partnership-active .partnershipBackdrop {
  visibility: visible;
  opacity: 1;
  transition-delay: 80ms;
}

.researchBackdrop {
  position: absolute;
  inset: 0;
  z-index: 2;
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    visibility 0s linear 240ms,
    opacity 240ms ease;
}

.researchBackdrop img {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.88) contrast(1.08) brightness(0.9);
  transition: opacity 420ms ease;
}

.researchBackdrop::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 2, 4, 0.54) 0%, rgba(0, 2, 4, 0.18) 42%, transparent 70%),
    linear-gradient(180deg, rgba(0, 2, 4, 0.08) 0%, transparent 52%, rgba(0, 2, 4, 0.76) 100%);
  content: "";
}

.research-image-ready .researchBackdrop img {
  opacity: 1;
}

.research-active .researchBackdrop {
  visibility: visible;
  opacity: 1;
  transition-delay: 80ms;
}

.contactBackdrop {
  position: absolute;
  inset: 0;
  z-index: 2;
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    visibility 0s linear 240ms,
    opacity 240ms ease;
}

.infinityCanvas {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.92;
}

.contactBackdrop::after {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 58% 48%, transparent 8%, rgba(2, 6, 9, 0.08) 44%, rgba(2, 6, 9, 0.56) 100%),
    linear-gradient(90deg, rgba(2, 6, 9, 0.48) 0%, rgba(2, 6, 9, 0.1) 35%, rgba(2, 6, 9, 0.16) 72%, rgba(2, 6, 9, 0.5) 100%),
    linear-gradient(180deg, rgba(2, 6, 9, 0.36) 0%, transparent 28%, rgba(2, 6, 9, 0.12) 60%, rgba(2, 6, 9, 0.72) 86%, #020609 100%);
  content: "";
}

.contact-active .contactBackdrop {
  visibility: visible;
  opacity: 1;
  transition-delay: 80ms;
}

.earthBackground {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--background);
  object-fit: cover;
  object-position: center;
  filter: brightness(0.96) saturate(1.06) contrast(1.14);
  transform: scale(1);
  animation: orbitalDrift 26s ease-in-out infinite alternate;
}

.nightTransition {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse 86% 70% at 100% 100%, rgba(0, 2, 4, 0.9) 0%, rgba(0, 3, 5, 0.7) 27%, rgba(1, 4, 7, 0.3) 54%, rgba(1, 5, 8, 0) 79%),
    linear-gradient(180deg, rgba(1, 5, 9, 0.02) 0%, rgba(1, 5, 9, 0.03) 52%, rgba(1, 5, 9, 0.2) 72%, rgba(0, 3, 5, 0.68) 100%),
    linear-gradient(108deg, rgba(1, 5, 8, 0.95) 0%, rgba(1, 5, 8, 0.76) 30%, rgba(1, 5, 8, 0.38) 50%, rgba(1, 5, 8, 0.07) 70%, rgba(1, 5, 8, 0) 100%);
  pointer-events: none;
}

.atmosphericGlow {
  position: absolute;
  z-index: 2;
  top: -48%;
  right: -9%;
  width: 72vw;
  height: 72vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(71, 178, 215, 0.13), transparent 64%);
  pointer-events: none;
}

.stars {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  border-radius: 50%;
  background: #fff;
  pointer-events: none;
}

.starsFar {
  width: 1px;
  height: 1px;
  box-shadow:
    3vw 8vh rgba(255, 255, 255, 0.26),
    7vw 18vh rgba(208, 235, 244, 0.42),
    11vw 31vh rgba(255, 255, 255, 0.18),
    14vw 6vh rgba(255, 255, 255, 0.5),
    17vw 42vh rgba(206, 231, 241, 0.22),
    20vw 14vh rgba(255, 255, 255, 0.34),
    23vw 27vh rgba(218, 241, 248, 0.16),
    26vw 4vh rgba(255, 255, 255, 0.42),
    29vw 37vh rgba(255, 255, 255, 0.28),
    32vw 19vh rgba(207, 236, 246, 0.2),
    35vw 9vh rgba(255, 255, 255, 0.56),
    38vw 46vh rgba(218, 239, 246, 0.24),
    41vw 25vh rgba(255, 255, 255, 0.38),
    44vw 3vh rgba(213, 238, 246, 0.2),
    47vw 34vh rgba(255, 255, 255, 0.17),
    50vw 13vh rgba(208, 235, 244, 0.46),
    53vw 43vh rgba(255, 255, 255, 0.26),
    56vw 23vh rgba(255, 255, 255, 0.19),
    59vw 7vh rgba(206, 231, 241, 0.52),
    62vw 38vh rgba(255, 255, 255, 0.23),
    65vw 17vh rgba(218, 241, 248, 0.36),
    68vw 30vh rgba(255, 255, 255, 0.18),
    71vw 4vh rgba(255, 255, 255, 0.44),
    74vw 44vh rgba(207, 236, 246, 0.21),
    77vw 21vh rgba(255, 255, 255, 0.32),
    80vw 10vh rgba(218, 239, 246, 0.17),
    83vw 36vh rgba(255, 255, 255, 0.48),
    86vw 15vh rgba(213, 238, 246, 0.2),
    89vw 47vh rgba(255, 255, 255, 0.3),
    92vw 27vh rgba(208, 235, 244, 0.16),
    96vw 6vh rgba(255, 255, 255, 0.4),
    5vw 53vh rgba(255, 255, 255, 0.22),
    9vw 67vh rgba(213, 238, 246, 0.36),
    13vw 84vh rgba(255, 255, 255, 0.18),
    16vw 57vh rgba(208, 235, 244, 0.46),
    19vw 76vh rgba(255, 255, 255, 0.24),
    22vw 93vh rgba(206, 231, 241, 0.17),
    25vw 64vh rgba(255, 255, 255, 0.38),
    28vw 82vh rgba(218, 241, 248, 0.2),
    31vw 51vh rgba(255, 255, 255, 0.52),
    34vw 72vh rgba(255, 255, 255, 0.19),
    37vw 90vh rgba(207, 236, 246, 0.28),
    40vw 61vh rgba(255, 255, 255, 0.16),
    43vw 79vh rgba(218, 239, 246, 0.42),
    46vw 55vh rgba(255, 255, 255, 0.22),
    49vw 87vh rgba(213, 238, 246, 0.18),
    52vw 69vh rgba(255, 255, 255, 0.34),
    55vw 96vh rgba(208, 235, 244, 0.24),
    58vw 58vh rgba(255, 255, 255, 0.46),
    61vw 77vh rgba(206, 231, 241, 0.2),
    64vw 89vh rgba(255, 255, 255, 0.17),
    67vw 54vh rgba(218, 241, 248, 0.38),
    70vw 72vh rgba(255, 255, 255, 0.21),
    73vw 94vh rgba(255, 255, 255, 0.28),
    76vw 63vh rgba(207, 236, 246, 0.18),
    79vw 84vh rgba(255, 255, 255, 0.44),
    82vw 51vh rgba(218, 239, 246, 0.22),
    85vw 75vh rgba(213, 238, 246, 0.16),
    88vw 91vh rgba(255, 255, 255, 0.36),
    91vw 59vh rgba(208, 235, 244, 0.19),
    94vw 81vh rgba(255, 255, 255, 0.48),
    97vw 69vh rgba(206, 231, 241, 0.2);
  animation: farTwinkle 7.8s ease-in-out infinite;
}

.starsNear {
  width: 1.5px;
  height: 1.5px;
  box-shadow:
    6vw 24vh rgba(255, 255, 255, 0.72),
    12vw 12vh rgba(226, 247, 252, 0.56),
    18vw 35vh rgba(255, 255, 255, 0.82),
    24vw 8vh rgba(207, 239, 248, 0.48),
    30vw 29vh rgba(255, 255, 255, 0.68),
    36vw 16vh rgba(255, 255, 255, 0.5),
    42vw 41vh rgba(219, 242, 249, 0.76),
    48vw 10vh rgba(255, 255, 255, 0.54),
    54vw 31vh rgba(226, 247, 252, 0.86),
    60vw 19vh rgba(255, 255, 255, 0.46),
    66vw 43vh rgba(207, 239, 248, 0.7),
    72vw 11vh rgba(255, 255, 255, 0.58),
    78vw 32vh rgba(219, 242, 249, 0.8),
    84vw 18vh rgba(255, 255, 255, 0.44),
    90vw 39vh rgba(226, 247, 252, 0.66),
    95vw 14vh rgba(255, 255, 255, 0.52),
    10vw 62vh rgba(207, 239, 248, 0.74),
    21vw 79vh rgba(255, 255, 255, 0.5),
    33vw 56vh rgba(219, 242, 249, 0.84),
    45vw 88vh rgba(255, 255, 255, 0.46),
    57vw 66vh rgba(226, 247, 252, 0.7),
    69vw 83vh rgba(255, 255, 255, 0.54),
    81vw 61vh rgba(207, 239, 248, 0.78),
    93vw 76vh rgba(255, 255, 255, 0.48);
  filter: drop-shadow(0 0 1.5px rgba(188, 232, 244, 0.48));
  animation: nearTwinkle 6.2s 1.1s ease-in-out infinite;
}

.techGrid {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
}

.orbitArc {
  position: absolute;
  right: -9vw;
  bottom: 2vh;
  width: 56vw;
  height: 25vw;
  border: 1px solid rgba(146, 224, 238, 0.14);
  border-radius: 50%;
  opacity: 0.7;
  transform: rotate(-8deg);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 30%, #000 76%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 30%, #000 76%, transparent 100%);
}

.orbitArc::before {
  position: absolute;
  inset: 8%;
  border: 1px solid rgba(146, 224, 238, 0.07);
  border-radius: inherit;
  content: "";
}

.pixelGrid {
  position: absolute;
  top: 17%;
  right: clamp(16px, 2.2vw, 38px);
  width: 56px;
  height: min(52vh, 460px);
  opacity: 0;
  background-image:
    radial-gradient(circle, rgba(160, 235, 246, 0.48) 0 1px, transparent 1.3px),
    radial-gradient(circle, rgba(92, 192, 211, 0.2) 0 1px, transparent 1.3px);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px, 16px 16px;
  filter: drop-shadow(0 0 4px rgba(78, 197, 218, 0.18));
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 78%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 78%, transparent 100%);
  animation: digitalReveal 1.8s 0.45s ease-out forwards;
}

.pixelGrid::after {
  position: absolute;
  top: 19%;
  right: 8px;
  width: 3px;
  height: 3px;
  background: rgba(200, 248, 255, 0.9);
  box-shadow:
    -24px 40px rgba(128, 224, 239, 0.72),
    0 88px rgba(173, 239, 249, 0.62),
    -40px 136px rgba(112, 211, 229, 0.66),
    -16px 200px rgba(190, 244, 251, 0.68),
    -32px 264px rgba(112, 211, 229, 0.56);
  content: "";
}

.bottomBlackout {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(ellipse 82% 70% at 100% 100%, #000 0%, rgba(0, 0, 0, 0.98) 27%, rgba(0, 0, 0, 0.66) 52%, rgba(0, 0, 0, 0) 78%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 54%, rgba(0, 0, 0, 0.28) 68%, rgba(0, 0, 0, 0.78) 81%, #000 91%, #000 100%);
  pointer-events: none;
}

.siteHeader {
  position: absolute;
  z-index: 5;
  top: clamp(24px, 3vw, 42px);
  left: clamp(40px, 6vw, 96px);
  display: flex;
  align-items: center;
  gap: clamp(34px, 4vw, 64px);
}

.brandMark {
  display: block;
  width: clamp(56px, 5.2vw, 72px);
  height: auto;
  opacity: 1;
  filter: drop-shadow(0 3px 16px rgba(0, 0, 0, 0.34));
  pointer-events: none;
  user-select: none;
}

.brandHome {
  display: block;
  border-radius: 2px;
  color: #fff;
  text-decoration: none;
}

.brandText,
.menuToggle {
  display: none;
}

.brandHome:focus-visible {
  outline: 1px solid rgba(247, 250, 250, 0.72);
  outline-offset: 7px;
}

.primaryNav {
  display: flex;
  align-items: center;
  gap: clamp(24px, 2.8vw, 44px);
}

.primaryNav a {
  position: relative;
  color: rgba(247, 250, 250, 0.94);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(0.72rem, 0.8vw, 0.84rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.7);
  white-space: nowrap;
}

.primaryNav a::after {
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 220ms ease;
}

.primaryNav a:hover::after,
.primaryNav a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.primaryNav a:focus-visible {
  outline: 1px solid rgba(247, 250, 250, 0.72);
  outline-offset: 7px;
}

.topActions {
  position: absolute;
  z-index: 5;
  top: clamp(24px, 3vw, 42px);
  right: clamp(40px, 6vw, 96px);
  display: flex;
  align-items: center;
  gap: 18px;
}

.languageToggle {
  position: relative;
  display: grid;
  width: 72px;
  height: 40px;
  box-sizing: border-box;
  padding: 3px;
  border: 0;
  border-radius: 999px;
  background: rgba(247, 250, 250, 0.18);
  align-items: center;
  grid-template-columns: 1fr 1fr;
  color: rgba(247, 250, 250, 0.76);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  transition: background-color 180ms ease;
}

.languageToggle::before {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.38);
  content: "";
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.languageToggle[aria-checked="true"]::before {
  transform: translateX(32px);
}

.languageToggle span {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  transition: color 180ms ease;
}

.languageToggle[aria-checked="false"] span:first-child,
.languageToggle[aria-checked="true"] span:last-child {
  color: #020609;
}

.languageToggle:hover {
  background: rgba(247, 250, 250, 0.26);
}

.languageToggle:focus-visible {
  outline: 1px solid rgba(247, 250, 250, 0.72);
  outline-offset: 5px;
}

.partnershipCta {
  position: relative;
  display: inline-flex;
  overflow: hidden;
  width: 172px;
  min-height: 40px;
  box-sizing: border-box;
  padding: 0 20px;
  border: 1px solid #fff;
  background: #fff;
  align-items: center;
  justify-content: center;
  color: #020609;
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(0.72rem, 0.8vw, 0.84rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
  text-shadow: none;
  white-space: nowrap;
}

.partnershipCta::before,
.partnershipCta::after {
  position: absolute;
  content: attr(data-text);
  opacity: 0;
  pointer-events: none;
}

.partnershipCtaLabel {
  position: relative;
}

.partnershipCta:hover,
.partnershipCta:focus-visible {
  border-color: #fff;
  background: #fff;
  color: #020609;
}

.partnershipCta:hover .partnershipCtaLabel {
  animation: ctaSignalBreak 420ms steps(2, end) both;
}

.partnershipCta:hover::before,
.partnershipCta:hover::after {
  opacity: 0.72;
}

.partnershipCta:hover::before {
  color: #00d8ff;
  animation: ctaGlitchTop 420ms steps(2, end) both;
  clip-path: inset(12% 0 55% 0);
}

.partnershipCta:hover::after {
  color: #ff3158;
  animation: ctaGlitchBottom 420ms steps(2, end) both;
  clip-path: inset(56% 0 10% 0);
}

.partnershipCta:focus-visible {
  outline: 1px solid #fff;
  outline-offset: 4px;
}

.partnershipCtaIcon {
  display: none;
}

.grain {
  position: absolute;
  inset: 0;
  z-index: 4;
  opacity: 0.03;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}

.identity {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: clamp(40px, 6vw, 96px);
  width: min(50vw, 680px);
  text-align: left;
  opacity: 1;
  transform: translateY(-50%);
  transition: opacity 240ms ease;
}

.identity h1 {
  margin: 0;
  color: rgba(247, 250, 250, 0.96);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: 5rem;
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.025em;
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.34);
}

.identity p {
  margin: 15px 0 0;
  color: #fff;
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.035em;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.58);
}

.originContent,
.researchContent {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: clamp(40px, 6vw, 96px);
  width: min(52vw, 720px);
  visibility: hidden;
  opacity: 0;
  transform: translateY(-50%);
  transition:
    visibility 0s linear 240ms,
    opacity 240ms ease;
}

.sectionLabel {
  margin: 0 0 18px;
  color: rgba(160, 225, 239, 0.82);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.originContent h2,
.originContent h1,
.researchContent h2 {
  margin: 0;
  color: rgba(247, 250, 250, 0.96);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.originBody {
  max-width: 620px;
  margin: 24px 0 0;
  color: rgba(238, 244, 245, 0.78);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.partnershipContent {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: clamp(40px, 6vw, 96px);
  left: clamp(40px, 6vw, 96px);
  visibility: hidden;
  opacity: 0;
  transform: translateY(-50%);
  transition:
    visibility 0s linear 240ms,
    opacity 240ms ease;
}

.partnershipIntro {
  max-width: 760px;
  margin-bottom: clamp(38px, 6vh, 70px);
}

.partnershipIntro h2,
.partnershipIntro h1 {
  max-width: 720px;
  margin: 0;
  color: rgba(247, 250, 250, 0.96);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(2.4rem, 4.2vw, 4.4rem);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.partnershipSummary {
  max-width: 620px;
  margin: 22px 0 0;
  color: rgba(238, 244, 245, 0.74);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(1rem, 1.2vw, 1.14rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.partnershipColumns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(171, 218, 227, 0.2);
}

.partnershipColumn {
  min-height: 210px;
  padding: 24px clamp(24px, 3vw, 48px) 0;
  border-left: 1px solid rgba(171, 218, 227, 0.14);
}

.partnershipColumn:first-child {
  padding-left: 0;
  border-left: 0;
}

.columnNumber {
  margin: 0 0 24px;
  color: rgba(136, 211, 226, 0.62);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}

.partnershipColumn h3,
.partnershipColumn h2 {
  margin: 0 0 16px;
  color: rgba(247, 250, 250, 0.94);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(1.18rem, 1.7vw, 1.65rem);
  line-height: 1.08;
  letter-spacing: -0.01em;
}

.partnershipColumn > p:last-child {
  max-width: 390px;
  margin: 0;
  color: rgba(226, 236, 238, 0.66);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(0.9rem, 1vw, 1.02rem);
  line-height: 1.5;
}

.contactContent {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: clamp(40px, 6vw, 96px);
  left: clamp(40px, 6vw, 96px);
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(420px, 1.2fr);
  gap: clamp(56px, 8vw, 140px);
  visibility: hidden;
  align-items: start;
  opacity: 0;
  transform: translateY(-50%);
  transition:
    visibility 0s linear 240ms,
    opacity 240ms ease;
}

.contactIntro h2 {
  margin: 0;
  color: rgba(247, 250, 250, 0.96);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(2.8rem, 5vw, 5rem);
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.025em;
}

.contactSummary {
  max-width: 470px;
  margin: 24px 0 0;
  color: rgba(238, 244, 245, 0.76);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.55;
}

.contactEmail {
  display: inline-block;
  margin-top: 30px;
  color: #fff;
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(0.9rem, 1.05vw, 1.02rem);
  letter-spacing: 0.035em;
  text-decoration: none;
}

.contactEmail:hover,
.contactEmail:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.contactEmail:focus-visible {
  outline: 1px solid rgba(247, 250, 250, 0.72);
  outline-offset: 6px;
}

.contactForm {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 22px;
  padding-top: 3px;
}

.contactTrap {
  position: fixed !important;
  top: -10000px !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.contactVerification {
  width: 240px;
  height: 52px;
  min-width: 0;
}

.contactVerification .cf-turnstile {
  width: 300px;
  height: 65px;
  transform: scale(0.8);
  transform-origin: top right;
}

.contactStatus {
  min-height: 1.4em;
  margin: -14px 0 0;
  color: rgba(247, 250, 250, 0.72);
  font-size: 0.82rem;
  letter-spacing: 0.025em;
}

.contactStatus[data-state="success"] {
  color: #fff;
}

.contactStatus[data-state="error"] { color: #ff8e8e; }

.contactField {
  display: grid;
  gap: 10px;
}

.contactFieldWide {
  grid-column: 1 / -1;
}

.contactField label {
  color: rgba(255, 255, 255, 0.96);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: 0.94rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.contactField input,
.contactField textarea {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 2px;
  outline: 0;
  background: rgba(0, 0, 0, 0.78);
  color: #f3f7f7;
  font: 400 1rem/1.4 "D-DIN", Arial, Helvetica, sans-serif;
}

.contactField input {
  height: 44px;
  padding: 0 12px;
}

.contactField textarea {
  min-height: 116px;
  padding: 12px;
  resize: none;
}

.contactField input:focus,
.contactField textarea:focus {
  border-color: rgba(255, 255, 255, 0.62);
  background: #000;
}

.contactSubmitRow {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 18px;
}

.contactSubmitRow button {
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid #fff;
  background: #fff;
  color: #020609;
  cursor: pointer;
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.contactSubmitRow button:hover,
.contactSubmitRow button:focus-visible {
  background: rgba(255, 255, 255, 0.84);
}

.contactSubmitRow button:focus-visible {
  outline: 1px solid #fff;
  outline-offset: 4px;
}

.contactSubmitRow button:disabled {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.42);
  cursor: not-allowed;
}

.contactSubmitRow button:disabled:hover {
  background: rgba(255, 255, 255, 0.12);
}

.privacyDisclaimer {
  margin: -4px 0 0;
  color: rgba(226, 236, 238, 0.56);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: 0.76rem;
  line-height: 1.5;
  letter-spacing: 0.025em;
  text-align: right;
}

.privacyDisclaimer a {
  color: rgba(255, 255, 255, 0.88);
  text-underline-offset: 3px;
}

.privacyDisclaimer a:hover,
.privacyDisclaimer a:focus-visible {
  color: #fff;
}

.privacyContent {
  position: absolute;
  z-index: 6;
  inset: 0;
  visibility: hidden;
  overflow-y: auto;
  background: #000;
  opacity: 0;
  transition:
    visibility 0s linear 240ms,
    opacity 240ms ease;
}

.privacyShell {
  width: min(100% - 80px, 860px);
  margin: 0 auto;
  padding: clamp(54px, 8vh, 92px) 0 96px;
}

.privacyBack {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  cursor: pointer;
  font: 700 0.76rem/1 "D-DIN", Arial, Helvetica, sans-serif;
  letter-spacing: 0.14em;
}

.privacyBack:hover,
.privacyBack:focus-visible {
  color: #fff;
}

.privacyBack:focus-visible {
  outline: 1px solid rgba(255, 255, 255, 0.72);
  outline-offset: 7px;
}

.privacyHeader {
  padding: clamp(58px, 9vh, 96px) 0 42px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.privacyHeader h2 {
  margin: 0;
  color: #fff;
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(2.7rem, 6vw, 5.4rem);
  line-height: 0.96;
  letter-spacing: -0.025em;
}

.privacyMeta {
  margin: 22px 0 0;
  color: rgba(226, 236, 238, 0.58);
  font: 400 0.86rem/1.5 "D-DIN", Arial, Helvetica, sans-serif;
  letter-spacing: 0.04em;
}

.privacyNotice {
  color: rgba(238, 244, 245, 0.78);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(0.98rem, 1.25vw, 1.08rem);
  line-height: 1.68;
}

.privacyNotice > p {
  margin: 34px 0 0;
}

.privacyClause {
  padding: 42px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.privacyClause h3 {
  margin: 0 0 22px;
  color: rgba(255, 255, 255, 0.96);
  font-size: clamp(1.1rem, 1.6vw, 1.28rem);
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.privacyClause p {
  margin: 0 0 16px;
}

.privacyClause p:last-child {
  margin-bottom: 0;
}

.privacyClause ul {
  margin: 18px 0 0;
  padding-left: 1.3em;
}

.privacyClause li {
  margin-top: 9px;
  padding-left: 0.35em;
}

.content-active .sceneLayers,
.content-active .identity {
  opacity: 0;
}

.content-active .identity {
  pointer-events: none;
}

.origin-active .originContent {
  visibility: visible;
  opacity: 1;
  transition-delay: 80ms;
}

.origin-active .primaryNav a[href="#origin"]::after,
.origin-active .primaryNav a[data-section="origin"]::after {
  transform: scaleX(1);
}

.partnership-active .partnershipContent {
  visibility: visible;
  opacity: 1;
  transition-delay: 80ms;
}

.partnership-active .primaryNav a[href="#partnership"]::after,
.partnership-active .primaryNav a[data-section="partnership"]::after {
  transform: scaleX(1);
}

.research-active .researchContent {
  visibility: visible;
  opacity: 1;
  transition-delay: 80ms;
}

.research-active .primaryNav a[href="#research"]::after {
  transform: scaleX(1);
}

.contact-active .contactContent {
  visibility: visible;
  opacity: 1;
  transition-delay: 80ms;
}

.privacy-active .privacyContent {
  visibility: visible;
  opacity: 1;
  transition-delay: 80ms;
}

.copyright {
  position: absolute;
  z-index: 3;
  right: clamp(28px, 4vw, 64px);
  bottom: clamp(24px, 3vw, 40px);
  margin: 0;
  color: rgba(238, 241, 241, 0.68);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(0.65rem, 0.7vw, 0.75rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.14em;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.72);
  white-space: nowrap;
}

@keyframes orbitalDrift {
  from {
    transform: scale(1) translate3d(0, 0, 0);
  }

  to {
    transform: scale(1.025) translate3d(-0.25%, -0.15%, 0);
  }
}

@keyframes farTwinkle {
  0%, 100% {
    opacity: 0.52;
  }

  50% {
    opacity: 0.82;
  }
}

@keyframes nearTwinkle {
  0%, 100% {
    opacity: 0.68;
  }

  50% {
    opacity: 1;
  }
}

@keyframes digitalReveal {
  from {
    opacity: 0;
    transform: translateX(8px);
  }

  to {
    opacity: 0.34;
    transform: translateX(0);
  }
}

@keyframes ctaSignalBreak {
  0%, 100% {
    opacity: 1;
    transform: translate(0);
  }

  18% {
    opacity: 0.62;
    transform: translateX(-1px);
  }

  34% {
    opacity: 0.88;
    transform: translateX(1px);
  }

  52% {
    opacity: 0.48;
    transform: translateX(0);
  }

  72% {
    opacity: 0.9;
    transform: translateX(-0.5px);
  }
}

@keyframes ctaGlitchTop {
  0%, 100% {
    opacity: 0;
    transform: translate(0);
  }

  20% {
    opacity: 0.7;
    transform: translate(-2px, -1px);
  }

  46% {
    opacity: 0.45;
    transform: translate(2px, 0);
  }

  70% {
    opacity: 0.62;
    transform: translate(-1px, 1px);
  }
}

@keyframes ctaGlitchBottom {
  0%, 100% {
    opacity: 0;
    transform: translate(0);
  }

  16% {
    opacity: 0.55;
    transform: translate(2px, 1px);
  }

  42% {
    opacity: 0.68;
    transform: translate(-2px, 0);
  }

  76% {
    opacity: 0.42;
    transform: translate(1px, -1px);
  }
}

.errorBody {
  min-height: 100svh;
  overflow: hidden;
  background: #000;
}

.errorPage {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 48%, rgba(19, 67, 79, 0.16), transparent 34%),
    #000;
}

.errorContent {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: min(100% - 48px, 760px);
  text-align: center;
  transform: translate(-50%, -50%);
}

.errorCode {
  position: relative;
  display: inline-block;
  margin: 0;
  color: #fff;
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(8rem, 24vw, 18rem);
  font-weight: 700;
  line-height: 0.75;
  letter-spacing: -0.07em;
  text-shadow:
    0 0 28px rgba(255, 255, 255, 0.08),
    0 0 72px rgba(81, 206, 232, 0.08);
  animation: errorSignal 4.8s steps(1, end) infinite;
}

.errorCode::before,
.errorCode::after {
  position: absolute;
  inset: 0;
  overflow: hidden;
  content: attr(data-text);
  pointer-events: none;
}

.errorCode::before {
  color: rgba(255, 48, 55, 0.8);
  clip-path: inset(18% 0 60% 0);
  transform: translate(-3px, 0);
  animation: errorGlitchRed 2.2s steps(1, end) infinite;
}

.errorCode::after {
  color: rgba(122, 232, 255, 0.82);
  clip-path: inset(62% 0 15% 0);
  transform: translate(3px, 0);
  animation: errorGlitchCyan 1.7s steps(1, end) infinite;
}

.errorMessage {
  margin: clamp(34px, 6vh, 58px) 0 0;
  color: rgba(247, 250, 250, 0.9);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.4;
  letter-spacing: 0.045em;
}

.errorFlag {
  display: block;
  width: fit-content;
  margin: 13px auto 0;
  padding: 5px 8px;
  border: 1px solid rgba(122, 232, 255, 0.12);
  border-radius: 2px;
  background: rgba(122, 232, 255, 0.045);
  color: rgba(164, 229, 242, 0.58);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: clamp(0.61rem, 0.9vw, 0.7rem);
  line-height: 1.4;
  letter-spacing: 0.035em;
  overflow-wrap: anywhere;
}

.errorReturn {
  display: flex;
  width: fit-content;
  gap: 12px;
  align-items: center;
  margin: 30px auto 0;
  color: rgba(255, 255, 255, 0.64);
  font-family: "D-DIN", Arial, Helvetica, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-decoration: none;
  transition: color 160ms ease;
}

.errorReturn:hover,
.errorReturn:focus-visible {
  color: #fff;
}

.errorReturn:focus-visible {
  outline: 1px solid rgba(255, 255, 255, 0.72);
  outline-offset: 7px;
}

.errorGrid {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: 0.12;
  background:
    repeating-linear-gradient(0deg, transparent 0 4px, rgba(120, 221, 240, 0.1) 5px),
    linear-gradient(90deg, transparent, rgba(116, 218, 238, 0.07), transparent);
  background-size: auto, 240% 100%;
  pointer-events: none;
  animation: errorScan 7s linear infinite;
  mask-image: radial-gradient(ellipse at center, #000 0%, transparent 72%);
}

@keyframes errorSignal {
  0%, 7%, 9%, 42%, 44%, 72%, 74%, 100% { transform: translate(0); }
  8% { transform: translate(-2px, 1px) skewX(-1deg); }
  43% { transform: translate(2px, -1px); }
  73% { transform: translate(-1px, 0) skewX(1deg); }
}

@keyframes errorGlitchRed {
  0%, 12%, 15%, 48%, 53%, 78%, 82%, 100% { clip-path: inset(18% 0 60% 0); transform: translate(-3px); }
  13% { clip-path: inset(72% 0 8% 0); transform: translate(5px, -2px); }
  14% { clip-path: inset(38% 0 42% 0); transform: translate(-7px, 1px); }
  49% { clip-path: inset(8% 0 77% 0); transform: translate(6px); }
  50%, 52% { clip-path: inset(55% 0 24% 0); transform: translate(-4px, 2px); }
  79% { clip-path: inset(28% 0 54% 0); transform: translate(8px, -1px); }
  80%, 81% { clip-path: inset(82% 0 4% 0); transform: translate(-5px); }
}

@keyframes errorGlitchCyan {
  0%, 21%, 25%, 56%, 59%, 88%, 91%, 100% { clip-path: inset(62% 0 15% 0); transform: translate(3px); }
  22% { clip-path: inset(12% 0 69% 0); transform: translate(-6px, 1px); }
  23%, 24% { clip-path: inset(44% 0 36% 0); transform: translate(7px, -1px); }
  57%, 58% { clip-path: inset(76% 0 7% 0); transform: translate(-5px, 2px); }
  89% { clip-path: inset(25% 0 58% 0); transform: translate(8px); }
  90% { clip-path: inset(6% 0 81% 0); transform: translate(-4px, -2px); }
}

@keyframes errorScan {
  from { background-position: 0 0, 100% 0; }
  to { background-position: 0 30px, -140% 0; }
}

@media (max-width: 680px) {
  .earthBackground {
    object-position: 58% center;
  }

  .nightTransition {
    background:
      radial-gradient(ellipse 105% 68% at 100% 100%, rgba(0, 2, 4, 0.92) 0%, rgba(0, 3, 5, 0.68) 30%, rgba(1, 4, 7, 0.24) 58%, rgba(1, 5, 8, 0) 82%),
      linear-gradient(180deg, rgba(1, 5, 9, 0.03) 0%, rgba(1, 5, 9, 0.08) 46%, rgba(0, 3, 5, 0.76) 100%),
      linear-gradient(100deg, rgba(1, 5, 8, 0.9) 0%, rgba(1, 5, 8, 0.6) 38%, rgba(1, 5, 8, 0.08) 78%, rgba(1, 5, 8, 0) 100%);
  }

  .identity {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 24px;
    width: calc(100% - 48px);
    transform: translateY(-50%);
  }

  .originContent,
  .researchContent {
    left: 24px;
    width: calc(100% - 48px);
  }

  .partnershipContent {
    top: 116px;
    right: 24px;
    bottom: 54px;
    left: 24px;
    overflow-y: auto;
    transform: none;
  }

  .contactContent {
    top: 116px;
    right: 24px;
    bottom: 54px;
    left: 24px;
    display: block;
    overflow-y: auto;
    transform: none;
  }

  .contactIntro h2 {
    font-size: clamp(2.4rem, 11vw, 3.3rem);
  }

  .contactSummary {
    margin-top: 18px;
    font-size: 0.98rem;
  }

  .contactEmail {
    margin-top: 20px;
  }

  .contactForm {
    grid-template-columns: 1fr;
    margin-top: 38px;
  }

  .contactFieldWide {
    grid-column: auto;
  }

  .contactSubmitRow {
    align-items: flex-start;
    flex-direction: column;
  }

  .privacyDisclaimer {
    text-align: left;
  }

  .privacyShell {
    width: calc(100% - 48px);
    padding: 34px 0 72px;
  }

  .privacyHeader {
    padding: 54px 0 32px;
  }

  .privacyClause {
    padding: 34px 0;
  }

  .partnershipIntro {
    margin-bottom: 34px;
  }

  .partnershipIntro h2,
  .partnershipIntro h1 {
    font-size: clamp(2rem, 9vw, 2.8rem);
  }

  .partnershipSummary {
    margin-top: 18px;
    font-size: 0.98rem;
  }

  .partnershipColumns {
    grid-template-columns: 1fr;
  }

  .partnershipColumn,
  .partnershipColumn:first-child {
    min-height: 0;
    padding: 22px 0 26px;
    border-bottom: 1px solid rgba(171, 218, 227, 0.14);
    border-left: 0;
  }

  .columnNumber {
    margin-bottom: 16px;
  }

  .originNature img {
    object-position: 64% center;
  }

  .originNature::after {
    background: linear-gradient(90deg, rgba(1, 6, 9, 0.72), rgba(1, 6, 9, 0.24));
  }

  .partnershipBackdrop {
    height: 58%;
  }

  .partnershipBackdrop img {
    object-position: 68% center;
  }

  .partnershipBackdrop::after {
    background:
      linear-gradient(90deg, rgba(0, 4, 7, 0.62), rgba(0, 4, 7, 0.14)),
      linear-gradient(180deg, transparent 20%, #020609 100%);
  }

  .researchBackdrop img {
    object-position: 62% center;
  }

  .researchBackdrop::after {
    background:
      linear-gradient(90deg, rgba(0, 2, 4, 0.56) 0%, rgba(0, 2, 4, 0.18) 58%, transparent 86%),
      linear-gradient(180deg, rgba(0, 2, 4, 0.12) 0%, transparent 42%, rgba(0, 2, 4, 0.78) 100%);
  }

  .contactBackdrop::after {
    background:
      radial-gradient(ellipse at 52% 42%, transparent 5%, rgba(2, 6, 9, 0.16) 48%, rgba(2, 6, 9, 0.58) 100%),
      linear-gradient(180deg, rgba(2, 6, 9, 0.34) 0%, transparent 30%, rgba(2, 6, 9, 0.28) 64%, #020609 96%, #020609 100%);
  }

  .originContent h2,
  .originContent h1,
  .researchContent h2 {
    font-size: clamp(2.2rem, 10vw, 3.2rem);
  }

  .originBody {
    margin-top: 20px;
    font-size: 0.98rem;
    line-height: 1.48;
  }

  .identity h1 {
    font-size: clamp(2.6rem, 12vw, 3.5rem);
    letter-spacing: -0.025em;
  }

  .identity p {
    margin-top: 15px;
    font-size: clamp(0.92rem, 4vw, 1.08rem);
    letter-spacing: 0.025em;
  }

  .siteHeader {
    top: 22px;
    right: 24px;
    left: 24px;
    justify-content: space-between;
    gap: 10px;
  }

  .brandMark {
    display: block;
    width: 44px;
  }

  .brandText {
    display: none;
  }

  .primaryNav {
    gap: clamp(7px, 2.4vw, 14px);
  }

  .primaryNav a {
    font-size: clamp(0.56rem, 2.4vw, 0.66rem);
    letter-spacing: 0.035em;
  }

  .menuToggle {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
  }

  .menuToggle span {
    position: absolute;
    right: 0;
    width: 22px;
    height: 1px;
    background: currentColor;
    transition:
      top 180ms ease,
      transform 180ms ease;
  }

  .menuToggle span:first-child {
    top: 10px;
  }

  .menuToggle span:last-child {
    top: 19px;
  }

  .menu-open .menuToggle span:first-child {
    top: 15px;
    transform: rotate(45deg);
  }

  .menu-open .menuToggle span:last-child {
    top: 15px;
    transform: rotate(-45deg);
  }

  .partnershipCta {
    width: 100%;
    min-height: 36px;
    padding: 0 16px;
    font-size: 0.7rem;
    letter-spacing: 0.07em;
  }

  .topActions {
    position: fixed;
    top: 68px;
    right: 24px;
    display: none;
    min-width: 174px;
    padding: 14px;
    border: 1px solid rgba(247, 250, 250, 0.2);
    border-radius: 2px;
    background: rgba(2, 6, 9, 0.94);
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(16px);
  }

  .menu-open .topActions {
    display: flex;
  }

  .languageToggle {
    align-self: flex-start;
    width: 64px;
    height: 36px;
    font-size: 0.62rem;
  }

  .languageToggle::before {
    width: 30px;
    height: 30px;
  }

  .languageToggle[aria-checked="true"]::before {
    transform: translateX(28px);
  }

  .partnershipCtaLabel {
    display: block;
  }

  .partnershipCta::before,
  .partnershipCta::after {
    display: none;
  }

  .partnershipCtaIcon {
    display: none;
  }

  .copyright {
    right: 24px;
    bottom: 20px;
    font-size: 0.65rem;
    letter-spacing: 0.12em;
  }

  .errorCode {
    font-size: clamp(7rem, 42vw, 11rem);
  }

  .errorMessage {
    margin-top: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .earthBackground {
    animation: none;
  }

  .stars {
    animation: none;
  }

  .pixelGrid {
    opacity: 0.34;
    animation: none;
  }

  .primaryNav a::after {
    transition: none;
  }

  .partnershipCta:hover .partnershipCtaLabel,
  .partnershipCta:hover::before,
  .partnershipCta:hover::after {
    animation: none;
  }

  .partnershipCta:hover::before,
  .partnershipCta:hover::after {
    opacity: 0;
  }

  .sceneLayers,
  .identity,
  .originContent,
  .researchContent,
  .partnershipContent,
  .contactContent,
  .originNature,
  .partnershipBackdrop,
  .researchBackdrop,
  .contactBackdrop {
    transition-duration: 0.01s;
  }

  .privacyContent {
    transition-duration: 0.01s;
  }

  .errorCode,
  .errorCode::before,
  .errorCode::after,
  .errorGrid {
    animation: none;
  }
}
