:root {
  color-scheme: dark;
  --background: #080c14;
  --surface: #0c1320;
  --line: #263248;
  --muted: #9aa8bc;
  --accent: #3b82f6;
  --cobalt: #2563eb;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --font-family: 'Outfit', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body.site {
  margin: 0;
  background: var(--background);
  color: #e8edf5;
  font-family: var(--font-family);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
::selection { background: var(--cobalt); color: #fff; }
a, button, input, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible {
  outline: 2px solid #93b9ff;
  outline-offset: 5px;
}
button, a { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .6; }
button, input, textarea { font: inherit; }
.font-arabic, [lang="ar"] { font-family: var(--font-family); }
.site .font-display, .site h1, .site h2, .site h3 {
  font-family: var(--font-family);
}
.site .font-mono, .eyebrow, .assembly-readout, .scene-caption {
  font-family: var(--font-family);
}
.site .animate-pulse, .site .animate-bounce { animation: none; }
.site [class*="drop-shadow-"], .site [class*="shadow-[0_0"] { filter: none; box-shadow: none; }
.site .rounded-full { border-radius: 2px; }
.no-scrollbar { scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--background); }
::-webkit-scrollbar-thumb { background: #34445f; }
::-webkit-scrollbar-thumb:hover { background: var(--cobalt); }

#webgl-canvas {
  position: fixed;
  z-index: 2;
  top: 150px;
  right: 0;
  width: 68vw;
  height: calc(100svh - 225px);
  pointer-events: none;
  opacity: var(--scene-opacity, 1);
  transform-origin: top left;
  transform: translate3d(var(--hardware-x, 0px), var(--hardware-y, 0px), 0) scale(var(--hardware-scale, 1));
}
#living-background {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.site.background-static {
  background-image: radial-gradient(ellipse at 72% 35%, #15316255, transparent 55%), radial-gradient(ellipse at 25% 80%, #17294766, transparent 65%);
  background-attachment: fixed;
}
.site.error-page > div { position: relative; z-index: 2; }
.site.error-page #living-background { z-index: 0; }
.site::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(90deg, #080c1466, transparent 60%);
}
.blueprint-overlay {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(ellipse at 70% 40%, transparent 30%, #080c1440);
}
.blueprint-overlay::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #080c1400 60%, #080c1440);
  opacity: .4;
}
.assembly-fallback {
  position: fixed;
  top: 26%;
  right: 12%;
  width: 260px;
  height: 260px;
  border: 1px solid var(--cobalt);
  transform: rotate(-30deg) skew(15deg, 15deg);
  pointer-events: none;
}
.assembly-fallback::before, .assembly-fallback::after {
  content: '';
  position: absolute;
  inset: 35px;
  border: 1px solid #57749f;
}
.assembly-fallback::after { inset: 70px; background: #2563eb22; }
.scene-unavailable {
  position: fixed;
  z-index: 2;
  bottom: 20px;
  right: 24px;
  font: 10px var(--font-family);
  letter-spacing: .08em;
  color: var(--muted);
}

.site .site-header-shell {
  background: linear-gradient(180deg, #ffffff05, #17223818 46%, #080c144d);
  border: 0;
  border-bottom: 1px solid #d4e4ff2b;
  box-shadow: inset 0 1px 0 #ffffff09, inset 0 -1px 0 #74a4ed1c, 0 16px 32px -22px #000b;
  -webkit-backdrop-filter: blur(8px) saturate(155%) brightness(1.04);
  backdrop-filter: blur(8px) saturate(155%) brightness(1.04);
  transform: none;
}
.glass-filter-defs { position: absolute; pointer-events: none; overflow: hidden; }
.site .site-header-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: var(--glass-reflection-image, linear-gradient(transparent, transparent)),
    radial-gradient(ellipse 230px 110px at var(--glass-light-x, 65%) var(--glass-light-y, 0%), rgb(220 235 255 / var(--glass-light-strength, .015)), transparent 75%),
    linear-gradient(110deg, #ffffff04, transparent 40%, #72a7ff06);
  background-size: 100% 100%;
}
.site .site-header-shell::after {
  content: '';
  position: absolute;
  inset: 0;
  padding: 0 0 1px;
  pointer-events: none;
  z-index: 3;
  background: linear-gradient(110deg, #ffffff66, #a4c9ff12 22%, #ffffff0a 48%, #a5cbff55 76%, #ffffff26);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-backdrop-filter: brightness(1.35) saturate(170%);
  backdrop-filter: brightness(1.35) saturate(170%);
}
.site-header-shell > * { position: relative; z-index: 1; }
.site .site-nav {
  max-width: 1440px;
  min-height: 76px;
  padding: 0 48px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.site-nav .nav-brand { display: flex; flex-shrink: 0; align-items: center; gap: 18px; }
.site-nav .nav-brand img { width: 152px; height: auto; }
.site-nav .desktop-nav { display: flex; align-items: center; gap: 6px; }
.site-nav .desktop-nav a, .mobile-nav a {
  font: 10px var(--font-family);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #a9b5c7;
  padding: 9px 0;
  transition: color .18s;
}
.site-nav .desktop-nav a:hover, .site-nav .desktop-nav a[aria-current="location"] { color: #fff; }
.site-nav .nav-contact {
  border: 0;
  padding: 10px 14px;
  color: #fff;
  font: 10px var(--font-family);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.menu-toggle { display: none; }
.mobile-nav[hidden] { display: none; }
.mobile-nav {
  padding: 10px 24px 24px;
  border-top: 1px solid #c5dbff1c;
  background: linear-gradient(180deg, #101c3020, #080c1480);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 24px;
}
.site #intro-stage {
  min-height: max(780px, 100svh);
  padding: 160px 48px 116px;
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  position: relative;
}
.intro-copy { width: 54%; position: relative; z-index: 2; }
.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #94a5c0;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.eyebrow::before { content: ''; width: 22px; height: 2px; background: var(--cobalt); flex-shrink: 0; }
.intro-wordmark {
  display: block;
  width: min(100%, 470px);
  height: auto;
  overflow: visible;
  margin: 28px 0 36px;
  filter: none;
}
.site .intro-statement {
  font-size: clamp(44px, 4.8vw, 70px);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.06em;
  margin: 0;
}
.intro-statement span { color: #6199fa; }
.intro-description { max-width: 340px; font-size: 13px; line-height: 1.8; color: var(--muted); margin: 24px 0 30px; }
.intro-actions { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.site .intro-actions .action-primary { padding: 14px 20px; font-size: 10px; }
.scene-caption {
  position: absolute;
  right: 48px;
  top: 146px;
  width: 35%;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #7a8da9;
  font-size: 9px;
  letter-spacing: .08em;
}
.scene-caption span:last-child { color: #83aef5; }
.assembly-readout {
  position: absolute;
  bottom: 146px;
  right: 48px;
  width: 30%;
  border-left: 2px solid var(--cobalt);
  padding-left: 16px;
  color: #778cae;
  font-size: 9px;
  line-height: 1.9;
  letter-spacing: .08em;
}
.assembly-readout strong { color: #d5e2f8; font-weight: 400; display: block; }
.assembly-meter { display: block; height: 2px; background: #263248; margin-top: 10px; }
.assembly-meter::after {
  content: '';
  display: block;
  height: 100%;
  background: var(--cobalt);
  transform: scaleX(var(--assembly-progress, .08));
  transform-origin: left;
}

.assembly-story { position: relative; border-bottom: 1px solid var(--line); scroll-margin-top: -24px; }
.story-enabled .assembly-story { height: 560vh; }
.story-sticky { padding: 36px 48px; max-width: 1440px; margin: auto; }
.story-enabled .story-sticky {
  position: sticky;
  top: 76px;
  height: calc(100svh - 76px);
  min-height: 540px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.story-skip { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); font: 12px var(--font-family); color: #c7d8f0; white-space: nowrap; }
.story-skip:focus { width: auto; height: auto; clip-path: none; top: 16px; right: 24px; padding: 10px 14px; background: var(--surface); z-index: 5; }
.story-skip:hover { color: white; }
.story-narrative { position: relative; z-index: 2; }
.story-enabled .story-narrative { width: 33%; max-width: 390px; }
.story-chapters { position: relative; }
.story-enabled .story-chapters { height: 330px; }
.story-chapter { padding: 36px 0; max-width: 640px; }
.story-enabled .story-chapter {
  position: absolute;
  inset: 0;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px);
  transition: opacity .35s ease, transform .45s var(--ease), visibility .35s;
}
.story-enabled .story-chapter.is-active { opacity: 1; visibility: visible; transform: none; }
.story-phase { font: 10px var(--font-family); color: #83acfa; letter-spacing: .1em; margin: 0 0 24px; }
.site .story-chapter h3 { font-size: clamp(32px, 3.2vw, 46px); font-weight: 500; letter-spacing: -.055em; line-height: 1.07; margin: 0 0 24px; }
.story-chapter > p:not(.story-phase) { font-size: 13px; line-height: 1.9; color: #9badc6; max-width: 310px; }
.story-detail { display: flex; flex-direction: column; gap: 7px; padding-top: 22px; margin-top: 22px; border-top: 1px solid #25324a; font: 10px var(--font-family); }
.story-detail span { color: #536b90; font-size: 8px; letter-spacing: .1em; }
.story-detail strong { color: #bfd0e9; font-weight: 400; }
.story-concept { font: 9px/1.8 var(--font-family); color: #586e8c; margin-top: 38px; }
.story-figure-label {
  display: none;
  position: absolute;
  top: 110px;
  right: 48px;
  width: 50%;
  justify-content: space-between;
  color: #5f799e;
  font: 8px var(--font-family);
  letter-spacing: .1em;
}
.story-enabled .story-figure-label { display: flex; }
.story-bottom { padding-top: 28px; }
.story-enabled .story-bottom { position: absolute; bottom: 30px; left: 48px; right: 48px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.story-steps { display: none; gap: 28px; }
.story-enabled .story-steps { display: flex; }
.story-steps button { display: flex; align-items: center; gap: 10px; padding: 12px 0; background: none; border: 0; color: #7386a2; font: 10px var(--font-family); transition: color .2s; }
.story-steps button > span:first-child { color: #496286; font-size: 9px; }
.story-steps button[aria-current="step"], .story-steps button[aria-current="step"] > span:first-child { color: #9bbeff; }
.story-steps button:hover { color: white; }
.story-telemetry { display: none; align-items: center; gap: 24px; font: 9px var(--font-family); color: #7188a8; }
.story-enabled .story-telemetry { display: flex; }
.story-telemetry strong { font-weight: 400; color: #b5cefc; font-size: 12px; }
.story-track { display: none; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: #1e2e47; }
.story-enabled .story-track { display: block; }
.story-track span { display: block; height: 100%; background: #3979ed; transform: scaleX(var(--story-progress, 0)); transform-origin: left; }
.story-active .assembly-fallback { top: 35%; right: 18%; }

@keyframes assembleLetter {
  from { opacity: 0; transform: translateX(-20px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes alignContent {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.anim-logo-char { transform-box: fill-box; transform-origin: center; }
.intro-animate .anim-logo-char {
  animation: assembleLetter .5s var(--ease) both;
  animation-delay: calc(var(--char-i, 0) * 90ms);
}
.intro-animate .anim-intro-btn { animation: alignContent .55s var(--ease) .85s both; }

.site #hero-section { max-width: 1344px; padding-top: 80px; }
.site #hero-section > div:first-child {
  max-width: none;
  border-left: 2px solid var(--cobalt);
  padding-left: 30px;
}
.site #hero-section > div:first-child > h2 { max-width: 900px; font-size: clamp(30px, 3.6vw, 48px); font-weight: 500; line-height: 1.15; letter-spacing: -.045em; }
.site #hero-section > div:first-child > p { font-size: 15px; }
.site main > section { padding-top: 96px; }
.site main > section > div:first-child h2 { font-size: clamp(28px, 3vw, 40px); font-weight: 500; letter-spacing: -.045em; }
.site main > section > div:first-child { border-color: var(--line); }
.site main > section > div:first-child .uppercase {
  font-family: var(--font-family);
  font-size: 10px;
  letter-spacing: .1em;
}
.site .precision-panel, .site .instrument-panel:not(header) {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: #0c1320f5;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  overflow: hidden;
  transition: border-color .25s, background-color .25s, opacity .6s var(--ease), transform .6s var(--ease);
}
.site .precision-panel:hover, .site .instrument-panel:not(header):hover {
  background: #101b2d;
  border-color: #4f6e9e;
  box-shadow: none;
  transform: none;
}
.site .instrument-panel::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--cobalt);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .25s var(--ease);
  pointer-events: none;
}
.site .instrument-panel:hover::before, .site .instrument-panel:focus-within::before { transform: scaleY(1); }
.site .hairline-sheen { display: none; }
.site .instrument-panel h3 { font-weight: 500; letter-spacing: -.035em; }
.site .instrument-panel p { color: #a4b2c8; font-weight: 400; }
.site .instrument-panel .text-white\/10 { color: #415576; font: 12px var(--font-family); padding-top: 5px; }
.site .instrument-panel .rounded-lg, .site .instrument-panel .rounded-2xl { border-radius: 2px; }
.site #zfoundry-parent-card { background: #0c1320d9; }
.site #zfoundry-parent-card > .relative { max-width: none; }
.site #zfoundry-parent-card > .relative > p { max-width: 760px; }
.site #systems-carousel > div { min-height: 310px; }
.site #systems-carousel > div > div:last-child { gap: 12px; }
.site #journey .space-y-5 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.site #journey .space-y-5 > * { margin: 0; min-height: 220px; }
.site #capabilities .instrument-panel { padding: 24px; }
.site #capabilities .instrument-panel h3 { font-size: 19px; }
.site #capabilities .instrument-panel .flex-wrap > span { font-size: 10px; padding: 7px 8px; border-color: #263248; background: transparent; }
.site .action-primary, .site .action-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid var(--cobalt);
  border-radius: 2px;
  padding: 11px 16px;
  color: #fff;
  background: var(--cobalt);
  box-shadow: none;
  text-decoration: none;
  font-family: var(--font-family);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .025em;
  transition: background-color .2s, border-color .2s;
}
.site .action-primary:hover { background: #1d4ed8; border-color: #598cff; }
.site .action-primary > span:last-child { color: inherit; }
.site .action-secondary { background: transparent; border-color: #34445f; color: #b7c4d8; }
.site .action-secondary:hover { background: #17243a; border-color: #52729f; color: #fff; }
.site .site-header-shell :is(.header-control, nav a, .nav-contact, .menu-toggle, .action-primary) {
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 12px;
  border: 0;
  border-radius: 0;
  background: none;
  color: #e5edf9;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  text-shadow: none;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s;
}
.site .site-header-shell .header-control::before {
  content: none;
}
.site .site-header-shell :is(.header-control, nav a, .nav-contact, .menu-toggle, .action-primary):hover,
.site .site-header-shell :is(.header-control, nav a, .nav-contact, .menu-toggle, .action-primary):focus-visible {
  color: #fff;
}
.site .site-header-shell .header-control[aria-current],
.site .site-header-shell .menu-toggle[aria-expanded="true"] {
  color: #a9cdff;
}
.site .site-header-shell[data-glass-refraction="true"] {
  backdrop-filter: var(--glass-optics);
}
.site input, .site textarea {
  border-radius: 2px;
  background: #080e19;
  border-color: #34445f;
  transition: border-color .2s;
}
.site input:focus, .site textarea:focus { border-color: #699ef8; outline: 1px solid #699ef8; outline-offset: 2px; }
.site label { font-family: var(--font-family); font-size: 10px; letter-spacing: .07em; }
.site label + input, .site label + textarea { margin-top: 4px; }
.site .workflow-tab { border: 1px solid #34445f; border-radius: 2px; padding: 10px 13px; font: 10px var(--font-family); }
.site .workflow-tab.active { background: var(--cobalt); border-color: var(--cobalt); color: #fff; }
.site #workflow-step-title { font-weight: 500; font-size: clamp(25px, 3vw, 38px); letter-spacing: -.04em; }
.site #workflow-step-impact { font-size: 20px; font-weight: 500; }
.site #workflow-step-desc { min-height: 5em; }
.workflow-controls { display: flex; align-items: center; gap: 16px; }
.workflow-controls button { color: #90b5f5; padding: 8px 0; font-family: var(--font-family); font-size: 10px; text-transform: uppercase; }
.site .carousel-dot {
  width: 24px;
  height: 3px;
  border: 0;
  border-radius: 0;
  padding: 10px 0;
  background: linear-gradient(#35445e, #35445e) center / 100% 3px no-repeat;
}
.site .carousel-dot.active { background-image: linear-gradient(var(--cobalt), var(--cobalt)); }
.site #toast { border-radius: 2px; background: #1d4ed8; color: white; max-width: min(420px, calc(100vw - 32px)); box-shadow: none; font-weight: 400; }
.site footer {
  position: relative;
  z-index: 10;
  border-top: 1px solid var(--line);
  background: var(--background);
  padding-top: 40px;
  padding-bottom: 40px;
}
.site footer > div { gap: 32px; }
.site footer a { font-size: 10px; }
.site footer .flex.items-center.gap-6 { flex-wrap: wrap; justify-content: center; row-gap: 16px; }
.content-page main { padding-top: 170px; }
.content-page main > div:first-child { border-left: 2px solid var(--cobalt); padding-left: 28px; }
.content-page main > div:first-child h1 { font-weight: 500; line-height: 1.1; letter-spacing: -.045em; }
.content-page .site-header-shell nav { font-size: 11px; gap: 18px; }
.content-page .site-header-shell .font-mono { font-size: 9px; }
.content-page main > section { padding-top: 0; }
.content-page .badge-built { color: #9fc1ff; background: #2563eb1a; border: 1px solid #3b82f655; }
.badge-prototype, .badge-experimental, .badge-concept, .badge-discontinued { border: 1px solid var(--line); background: #17243a; color: #b7c4d8; }
.error-page > div { padding: 40px 24px; border: 1px solid var(--line); border-top: 3px solid var(--cobalt); background: var(--surface); }
.error-page h1 { font-weight: 500; letter-spacing: -.055em; }
.error-page a[href="/"] { border-radius: 2px; box-shadow: none; }

.motion-ready .story-reveal { opacity: 0; transform: translateY(20px); }
.motion-ready .story-reveal.revealed {
  opacity: 1;
  transform: none;
  transition: opacity .65s var(--ease), transform .65s var(--ease), border-color .25s, background-color .25s;
}
.story-delay-1 { transition-delay: 40ms; }
.story-delay-2 { transition-delay: 80ms; }
.story-delay-3 { transition-delay: 120ms; }

@media (min-width: 768px) and (max-width: 1180px) {
  .site .site-nav { padding: 0 24px; gap: 16px; }
  .site-nav .nav-brand img { width: 136px; }
  .site-nav .desktop-nav { gap: 4px; }
  .site-nav .desktop-nav a { font-size: 9px; }
  .site .site-header-shell .desktop-nav a { padding: 9px 10px; }
  .site-nav .nav-contact { display: none; }
  .content-page #site-header > div:first-child { flex-wrap: wrap; justify-content: space-between; gap: 12px; }
  .content-page #site-header nav { order: 3; width: 100%; justify-content: center; padding-top: 10px; }
  .story-steps { gap: 16px; }
  .story-steps button { font-size: 8px; gap: 6px; }
  .story-telemetry span { display: none; }
  .story-enabled .story-narrative { width: 36%; }
  .story-enabled .story-chapters { height: 350px; }
  .story-chapter > p:not(.story-phase) { font-size: 12px; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 90px; }
  .site .site-nav { padding: 0 24px; min-height: 68px; }
  .site-nav .nav-brand { gap: 12px; }
  .site-nav .nav-brand img { width: 136px; }
  .site-nav .desktop-nav, .site-nav .nav-contact { display: none; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 12px; border: 0; background: transparent; padding: 9px 12px; font: 10px var(--font-family); text-transform: uppercase; color: #d5e2f8; }
  .menu-toggle span:last-child { color: #639bff; }
  .site .site-header-shell .menu-toggle { min-height: 44px; }
  .site #intro-stage { min-height: max(880px, 100svh); padding: 122px 24px 110px; display: block; }
  .intro-copy { width: 100%; }
  .eyebrow { font-size: 8px; letter-spacing: .1em; }
  .intro-wordmark { width: min(82%, 360px); margin: 22px 0 28px; }
  .site .intro-statement { font-size: clamp(42px, 9vw, 60px); line-height: 1.06; }
  .intro-description { max-width: 300px; font-size: 12px; margin: 18px 0 24px; }
  .intro-actions { gap: 18px; }
  .site .intro-actions .action-primary { font-size: 9px; padding: 12px 14px; }
  .site .intro-actions .action-secondary { font-size: 9px; }
  #webgl-canvas { top: 366px; right: 0; width: 100vw; height: calc(100svh - 490px); min-height: 150px; }
  .scene-caption { position: relative; top: auto; right: auto; width: 100%; font-size: 8px; margin-top: 32px; }
  .assembly-readout { position: relative; bottom: auto; right: auto; width: 50%; font-size: 8px; margin: 300px 0 0 auto; }
  .site #hero-section { padding-top: 48px; }
  .site #hero-section > div:first-child { padding-left: 20px; }
  .site #hero-section > div:first-child > h2 { font-size: 30px; }
  .site #hero-section > div:first-child > p { font-size: 13px; }
  .site #hero-section > div:first-child > p img { height: 18px; }
  .site main > section { padding-top: 72px; }
  .site #journey .space-y-5 { grid-template-columns: 1fr; }
  .site #journey .space-y-5 > * { min-height: auto; }
  .site #zfoundry-carousel { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 0; }
  .site #zfoundry-carousel > div { flex: 0 0 90%; scroll-snap-align: start; }
  .site #systems-carousel > div { width: min(85vw, 360px); scroll-snap-align: start; }
  .site #zfoundry-carousel .story-reveal, .site #systems-carousel .story-reveal { opacity: 1; transform: none; }
  .site #capabilities .instrument-panel { padding: 24px; }
  .content-page .site-header-shell { padding-left: 16px; padding-right: 16px; }
  .content-page .site-header-shell > div:first-child { gap: 12px; }
  .content-page .site-header-shell .action-primary { font-size: 8px; padding: 8px 10px; }
  .content-page .site-header-shell > div:last-child { font-family: var(--font-family); font-size: 8px; gap: 12px; overflow-x: auto; justify-content: flex-start; white-space: nowrap; padding-bottom: 4px; }
  .content-page main { padding-top: 160px; }
  .content-page main > div:first-child { padding-left: 18px; }
  .site footer > div { flex-direction: column; }
  .assembly-fallback { top: calc(var(--mobile-scene-top, 490px) + 50px); right: 22%; width: 150px; height: 150px; }
  .story-enabled .assembly-story { height: 520vh; }
  .assembly-story { scroll-margin-top: -22px; }
  .story-sticky { padding: 24px; }
  .story-enabled .story-sticky { top: 68px; height: calc(100svh - 68px); min-height: 550px; justify-content: flex-start; padding-top: 32px; }
  .story-enabled .story-narrative { width: 100%; max-width: none; }
  .story-enabled .story-chapters { height: 210px; }
  .story-phase { font-size: 8px; margin-bottom: 12px; }
  .site .story-chapter h3 { font-size: 30px; margin-bottom: 12px; }
  .site .story-chapter h3 br { display: none; }
  .story-chapter > p:not(.story-phase) { font-size: 11px; line-height: 1.7; max-width: 360px; }
  .story-detail { flex-direction: row; align-items: center; gap: 12px; padding-top: 10px; margin-top: 12px; font-size: 8px; }
  .story-detail span { font-size: 7px; }
  .story-concept { display: none; }
  .story-enabled .story-figure-label { top: auto; bottom: 102px; left: 24px; right: 24px; width: auto; font-size: 7px; }
  .story-enabled .story-bottom { bottom: 20px; left: 24px; right: 24px; gap: 8px; padding-top: 14px; }
  .story-steps { width: 100%; justify-content: space-between; gap: 10px; }
  .story-steps button { flex-direction: column; gap: 8px; font-size: 7px; padding: 8px 0; }
  .story-steps button > span:first-child { font-size: 9px; }
  .story-enabled .story-telemetry { display: none; }
  .story-active .assembly-fallback { top: 390px; right: 28%; }
}
@media (max-height: 720px) and (min-width: 768px) {
  .story-enabled .story-sticky { min-height: 460px; }
  .story-enabled .story-chapters { height: 290px; }
  .site .story-chapter h3 { font-size: 32px; }
  .story-chapter > p:not(.story-phase) { font-size: 11px; }
  .story-concept { margin-top: 12px; font-size: 8px; }
}
@media (max-height: 640px) and (max-width: 767px) {
  .story-enabled .story-sticky { min-height: 0; padding-top: 24px; }
  .story-enabled .story-chapters { height: 160px; }
  .story-phase { margin-bottom: 8px; font-size: 7px; }
  .site .story-chapter h3 { font-size: 24px; margin-bottom: 8px; }
  .story-chapter > p:not(.story-phase) { font-size: 9px; line-height: 1.6; }
  .story-detail { margin-top: 8px; padding-top: 8px; font-size: 7px; }
  #webgl-canvas { top: 305px; height: calc(100svh - 410px); min-height: 95px; }
  .story-enabled .story-figure-label { bottom: 86px; font-size: 6px; }
  .story-enabled .story-bottom { bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html, .site .scroll-smooth { scroll-behavior: auto; }
  .site *, .site *::before, .site *::after { animation: none !important; transition: none !important; }
  .site .story-reveal, .site .anim-logo-char, .site .anim-intro-btn { opacity: 1; transform: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site .site-header-shell { background: #0c1422f5; }
}
@media (prefers-contrast: more) {
  .site .site-header-shell { background: #0c1422; }
  .site .site-header-shell,
  .site .site-header-shell::after {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .site .site-header-shell::before,
  .site .site-header-shell::after { display: none; }
}
@media (forced-colors: active) {
  .site .site-header-shell {
    background: Canvas;
    color: LinkText;
    border: 1px solid ButtonText;
    box-shadow: none;
    text-shadow: none;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .site .site-header-shell .header-control { color: LinkText; }
  .site .site-header-shell::before,
  .site .site-header-shell::after { display: none; }
}
