:root {
  color-scheme: light;
  --paper: #fbfbf8;
  --white: #fff;
  --ink: #292f29;
  --muted: #626a67;
  --quiet: #939d97;
  --line: #c9d0ca;
  --line-soft: rgba(113, 130, 125, 0.18);
  --blue: #2864c7;
  --blue-soft: rgba(40, 100, 199, 0.11);
  --blue-faint: rgba(40, 100, 199, 0.045);
  --headline: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --body: "Manrope", ui-sans-serif, system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-width: 320px; min-height: 100%; background: #faf9f4; }
body {
  min-height: 100svh;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #faf9f4;
  color: var(--ink);
  font-family: var(--body);
}
button, a { font: inherit; }
button { color: inherit; }
a { color: inherit; text-underline-offset: 0.22em; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }

.skip-link {
  position: fixed;
  z-index: 200;
  top: 10px;
  left: 12px;
  padding: 10px 14px;
  background: var(--ink);
  color: var(--white);
  font: 600 10px/1 var(--headline);
  transform: translateY(-180%);
}
.skip-link:focus { transform: none; }

.site-topbar {
  position: relative;
  z-index: 100;
  width: 100%;
  flex: 0 0 auto;
  border-bottom: 0;
  background: rgba(250, 249, 244, 0.85);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
}
.site-topbar__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  padding: 12px 24px;
}
.site-brand {
  justify-self: start;
  color: #2f342d;
  font: 700 18px/28px "Space Grotesk";
  letter-spacing: -0.05em;
  text-decoration: none;
  text-transform: uppercase;
}
.site-nav {
  align-items: center;
  font-family: var(--headline);
  font-weight: 500;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}
.site-nav--desktop {
  display: flex;
  justify-self: center;
  gap: 24px;
  font-size: 12px;
  line-height: 16px;
}
.site-nav--mobile { display: none; }
.site-nav-link {
  flex: 0 0 auto;
  color: #5a5f65;
  text-decoration: none;
  transition: color 150ms ease;
}
.site-nav-link:hover { color: #2f342d; }
.site-nav-link[aria-current="page"] {
  padding-bottom: 4px;
  border-bottom: 2px solid #1f5cba;
  color: #1f5cba;
}
.site-status {
  justify-self: end;
  color: #5a5f65;
  font: 400 10px/15px var(--headline);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.orbital-landing {
  --focus-shift-x: 0px;
  --focus-shift-y: 0px;
  position: relative;
  height: auto;
  flex: 1 1 auto;
  min-height: 0;
  margin: 0 clamp(8px, 1.1vw, 18px);
  overflow: hidden;
  border: 0;
  isolation: isolate;
  background:
    radial-gradient(circle at 24% 22%, rgba(40, 100, 199, 0.07), transparent 25%),
    linear-gradient(126deg, transparent 0 41%, rgba(40, 100, 199, 0.04) 41.1% 41.2%, transparent 41.3% 100%),
    rgba(255, 255, 255, 0.28);
}

.overview-layer { position: absolute; z-index: 1; inset: 0; overflow: hidden; transition: opacity 480ms ease, transform 760ms cubic-bezier(.16,1,.3,1); }
.scene-scaffold { display:none; }
.scene-scaffold i { position: absolute; width: 42px; height: 42px; border-color: var(--line); }
.scene-scaffold i:nth-child(1) { top: 0; left: 0; border-style: solid; border-width: 1px 0 0 1px; }
.scene-scaffold i:nth-child(2) { top: 0; right: 0; border-style: solid; border-width: 1px 1px 0 0; }
.scene-scaffold i:nth-child(3) { right: 0; bottom: 0; border-style: solid; border-width: 0 1px 1px 0; }
.scene-scaffold i:nth-child(4) { bottom: 0; left: 0; border-style: solid; border-width: 0 0 1px 1px; }

.scene-identity {
  position: absolute;
  z-index: 12;
  top: clamp(46px, 9vh, 98px);
  left: clamp(30px, 5.5vw, 92px);
  width: min(38vw, 600px);
  pointer-events: auto;
  transition: opacity 380ms ease, transform 650ms cubic-bezier(.16,1,.3,1);
}
.eyebrow { margin: 0 0 16px; color: var(--blue); font: 600 10px/1.2 var(--headline); letter-spacing: 0.13em; }
.scene-identity h1 {
  margin: 0;
  font: 700 clamp(44px, 5vw, 84px)/0.93 var(--headline);
  letter-spacing: -0.065em;
}
.scene-identity h1 em { color: var(--blue); font-style: normal; }
.scene-identity > p:not(.eyebrow) { max-width: 600px; margin: 22px 0 0; color: var(--muted); font-size: clamp(12px, 1vw, 16px); line-height: 1.65; }
.identity-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.identity-actions a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  padding: 0 15px;
  border: 1px solid var(--line);
  background: rgba(250,249,244,.42);
  backdrop-filter: blur(4px);
  font: 600 10px/1 var(--headline);
  letter-spacing: .05em;
  text-decoration: none;
  text-transform: uppercase;
}
.identity-actions a:first-child { border-color: var(--blue); background: var(--blue); color: var(--white); }

.scene-controls {
  position: absolute;
  z-index: 16;
  top: 24px;
  right: 26px;
  display: flex;
  min-height: 44px;
  background: transparent;
  transition: opacity 320ms ease, transform 600ms cubic-bezier(.16,1,.3,1);
}
.scene-controls button { min-width: 74px; min-height: 44px; padding: 0 11px; border: 0; background: transparent; cursor: pointer; color: var(--muted); font: 600 8px/1.2 var(--headline); letter-spacing: .06em; text-transform: uppercase; }
.scene-controls button:hover, .scene-controls button[aria-pressed="true"] { color: var(--blue); background:rgba(247,249,255,.62); }
.scene-controls .view-toggle { min-width: 154px; display: flex; gap: 11px; align-items: center; text-align: left; }
.view-toggle small, .view-toggle strong { display: block; }
.view-toggle small { margin-bottom: 4px; color: var(--quiet); font-size: 7px; }
.view-toggle strong { color: var(--ink); font-size: 9px; }
.view-icon { position: relative; width: 31px; height: 24px; flex: 0 0 auto; }
.view-icon i { position: absolute; inset: 5px 0; border: 1px solid var(--blue); border-radius: 50%; transform: rotateX(62deg); transition: transform 900ms cubic-bezier(.18,.82,.2,1); }
.view-icon i:last-child { inset: 8px 7px; border-color: var(--quiet); }
[data-view="top"] .view-icon i { transform: rotateX(0); }

.camera-window { position: absolute; z-index: 13; top: -4%; right: -2%; bottom: -2%; left: 35%; display: grid; place-items: center; perspective: 1450px; pointer-events: none; transform-origin: 62% 50%; transition: transform 760ms cubic-bezier(.16,1,.3,1), opacity 420ms ease; }
.camera-rig {
  width: min(76vw, 1180px);
  aspect-ratio: 1.18;
  transform: rotateX(56deg) rotateZ(-7deg) translateZ(-35px);
  transform-style: preserve-3d;
  transition: transform 1100ms cubic-bezier(.16,.84,.2,1);
}
[data-view="top"] .camera-rig { transform: rotateX(0) rotateZ(0) translateZ(0); }
.orbit-plane { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; }
.datum { position: absolute; z-index: 0; background: var(--line-soft); }
.datum--x { top: 52%; left: -14%; width: 128%; height: 1px; transform: rotate(-3deg); }
.datum--y { top: -11%; left: 54%; width: 1px; height: 124%; transform: rotate(7deg); }
.track { position: absolute; z-index: 1; left: calc(50% + var(--ox)); top: calc(50% + var(--oy)); width: var(--tw); height: var(--th); border: 1px solid rgba(145,157,149,.52); border-radius: 50%; transform: translate(-50%,-50%) rotate(var(--tr)); }
.track i { position:absolute; top:4.18%; left:70%; padding:2px 5px; background:rgba(255,255,255,.92); color:var(--quiet); font:500 7px/1 var(--headline); letter-spacing:.08em; transform:translate(-50%,-50%); }
.track--about { --tw:38%; --th:25%; --ox:3%; --oy:2%; --tr:-8deg; }
.track--profile { --tw:51%; --th:34%; --ox:6.5%; --oy:-2.5%; --tr:13deg; border-style:dashed; }
.track--work { --tw:63%; --th:43%; --ox:2%; --oy:2.5%; --tr:-17deg; }
.track--projects { --tw:74%; --th:51%; --ox:8%; --oy:-3.5%; --tr:7deg; border-style:dashed; }
.track--threads { --tw:84%; --th:58%; --ox:11%; --oy:-1%; --tr:19deg; }
.track--contact { --tw:94%; --th:65%; --ox:6.5%; --oy:3.5%; --tr:-11deg; }
.field-origin { position: absolute; z-index: 4; top: 52%; left: 54%; width: 78px; height: 78px; display: grid; place-content: center; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.93); transform: translate(-50%,-50%) translateZ(5px); }
.field-origin::after { content: ""; position: absolute; inset: 9px; border: 1px dashed var(--line); border-radius: 50%; }
.field-origin b { color: var(--blue); font: 700 22px/1 var(--headline); }
.field-origin small { margin-top: 5px; color: var(--quiet); font: 600 6px/1 var(--headline); letter-spacing: .14em; }

.orbit-node {
  --x: 0px;
  --y: 0px;
  --depth: 1;
  --layer: 1;
  --orbit-icon-half:38px;
  --orbit-anchor-x:calc(0px - var(--orbit-icon-half));
  --orbit-transform-origin-x:var(--orbit-icon-half);
  position: absolute;
  z-index: calc(6 + var(--layer));
  top: 50%;
  left: 50%;
  width: 205px;
  min-height: 92px;
  display: grid;
  grid-template-columns: 78px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),0);
  transform-origin:var(--orbit-transform-origin-x) 50%;
  transform-style: preserve-3d;
  opacity:1;
}
.orbit-node > * { transform: rotateZ(7deg) rotateX(-56deg); transition: transform 1100ms cubic-bezier(.16,.84,.2,1), opacity 220ms, color 220ms; }
[data-view="top"] .orbit-node > * { transform: none; }
.node-label { padding: 7px 7px 8px 10px; border-left: 1px solid var(--line); background: rgba(250,249,244,.35); backdrop-filter: blur(3px); text-align: left; box-shadow: 5px 6px 0 rgba(79,91,83,.025); }
.node-label small, .node-label strong, .node-label span { display: block; }
.node-label small { color: var(--blue); font: 600 7px/1 var(--headline); letter-spacing: .08em; }
.node-label strong { margin-top: 6px; font: 700 11px/1.02 var(--headline); text-transform: uppercase; }
.node-label span { margin-top: 5px; color: var(--muted); font-size: 7px; line-height: 1.35; }
.orbit-node:hover .node-label, .orbit-node:focus-visible .node-label, .orbit-node[aria-pressed="true"] .node-label { border-color: var(--blue); color: var(--blue); }
.orbit-node:focus-visible { outline: 0; }
.orbit-node:focus-visible .node-label { outline: 2px solid var(--blue); outline-offset: 3px; }
.orbit-node[aria-pressed="true"] { z-index: 30; }
.orbit-node--threads, .orbit-node--contact {
  --orbit-anchor-x:calc(-100% + var(--orbit-icon-half));
  --orbit-transform-origin-x:calc(100% - var(--orbit-icon-half));
  grid-template-columns:minmax(0,1fr) 78px;
}
.orbit-node--threads .sculpture, .orbit-node--contact .sculpture { grid-column:2; grid-row:1; }
.orbit-node--threads .node-label, .orbit-node--contact .node-label { grid-column:1; grid-row:1; border-right:1px solid var(--line); border-left:0; padding-right:10px; padding-left:7px; text-align:right; }

.sculpture { position: relative; display: block; width: 76px; height: 76px; color: var(--ink); transform-style: preserve-3d; }
.sculpture i, .sculpture b { position: absolute; display: block; box-sizing: border-box; }
.orbit-node:hover .sculpture, .orbit-node:focus-visible .sculpture { color: var(--blue); }
.sculpture--range { border: 1px solid currentColor; transform: rotate(45deg); }
.sculpture--range i { inset: calc(12% * var(--n,1)); border: 1px solid currentColor; }
.sculpture--range i:nth-child(1) { inset: 10%; animation: range-shift 12s ease-in-out infinite alternate; }
.sculpture--range i:nth-child(2) { inset: 23%; animation: range-shift 16s -4s ease-in-out infinite alternate-reverse; }
.sculpture--range i:nth-child(3) { inset: 36%; }
.sculpture--range i:nth-child(4) { top: 50%; left: -12%; width: 124%; height: 1px; background: currentColor; border: 0; }
.sculpture--range b { width: 7px; height: 7px; border: 1px solid var(--blue); background: var(--white); }
.sculpture--range b:nth-of-type(1) { top: -4px; left: -4px; }.sculpture--range b:nth-of-type(2) { top: -4px; right: -4px; }.sculpture--range b:nth-of-type(3) { right: -4px; bottom: -4px; }.sculpture--range b:nth-of-type(4) { bottom: -4px; left: -4px; }
.sculpture--production { border: 1px solid currentColor; border-radius: 50%; }
.sculpture--production::before, .sculpture--production::after { content:""; position:absolute; border:1px solid currentColor; border-radius:50%; }
.sculpture--production::before { inset: 10%; transform: rotateX(64deg); animation: gyro-a 9s linear infinite; }
.sculpture--production::after { inset: 10%; transform: rotateY(64deg); animation: gyro-b 12s linear infinite reverse; }
.sculpture--production i { top: 50%; left: 50%; width: 1px; height: 44%; background: currentColor; transform-origin: 0 0; }
.sculpture--production i:nth-child(1) { transform: rotate(0); }.sculpture--production i:nth-child(2) { transform: rotate(120deg); }.sculpture--production i:nth-child(3) { transform: rotate(240deg); }
.sculpture--production b { width: 7px; height: 7px; border: 1px solid var(--blue); border-radius: 50%; background: var(--white); animation: node-pulse 3s ease-in-out infinite alternate; }
.sculpture--production b:nth-of-type(1) { top: 7%; left: 47%; }.sculpture--production b:nth-of-type(2) { right: 8%; bottom: 19%; }.sculpture--production b:nth-of-type(3) { left: 7%; bottom: 19%; }
.sculpture--opensource { border: 1px solid currentColor; border-radius: 50%; }
.sculpture--opensource::before { content:""; position:absolute; inset:16%; border:1px dashed var(--blue); border-radius:50%; animation: flat-spin 18s linear infinite; }
.sculpture--opensource i { top: 50%; left: 50%; width: 49%; height: 1px; background: currentColor; transform-origin: left; }
.sculpture--opensource i:nth-child(1) { transform:rotate(18deg); }.sculpture--opensource i:nth-child(2) { transform:rotate(108deg); }.sculpture--opensource i:nth-child(3) { transform:rotate(198deg); }.sculpture--opensource i:nth-child(4) { transform:rotate(288deg); }
.sculpture--opensource b { width: 9px; height: 9px; border:1px solid currentColor; background:var(--white); transform:rotate(45deg); }
.sculpture--opensource b:nth-of-type(1) { top:9%; right:13%; }.sculpture--opensource b:nth-of-type(2) { right:9%; bottom:14%; }.sculpture--opensource b:nth-of-type(3) { bottom:9%; left:14%; }.sculpture--opensource b:nth-of-type(4) { top:13%; left:9%; }
.sculpture--practice::before, .sculpture--practice::after { content:""; position:absolute; width:54%; height:54%; border:1px solid currentColor; }
.sculpture--practice::before { top:12%; left:12%; animation:cube-front 11s ease-in-out infinite alternate; }
.sculpture--practice::after { right:10%; bottom:10%; border-color:var(--blue); animation:cube-back 11s ease-in-out infinite alternate; }
.sculpture--practice i { width:28%; height:1px; background:currentColor; transform:rotate(45deg); }
.sculpture--practice i:nth-child(1) { top:12%; left:12%; }.sculpture--practice i:nth-child(2) { top:12%; right:0; }.sculpture--practice i:nth-child(3) { bottom:10%; left:12%; }
.sculpture--practice b { width:8px; height:8px; border:1px solid currentColor; border-radius:50%; background:var(--white); }
.sculpture--practice b:nth-of-type(1) { top:8%; right:4%; }.sculpture--practice b:nth-of-type(2) { bottom:6%; left:7%; }
.sculpture--questions { border-block:1px solid currentColor; }
.sculpture--questions::before, .sculpture--questions::after { content:""; position:absolute; top:-8%; bottom:-8%; width:1px; background:currentColor; }
.sculpture--questions::before { left:10%; }.sculpture--questions::after { right:10%; }
.sculpture--questions i { left:10%; right:10%; height:1px; background:currentColor; transform-origin:left; }
.sculpture--questions i:nth-child(1) { top:20%; transform:rotate(9deg); }.sculpture--questions i:nth-child(2) { top:42%; transform:rotate(-7deg); }.sculpture--questions i:nth-child(3) { top:64%; transform:rotate(5deg); }.sculpture--questions i:nth-child(4) { top:82%; transform:rotate(-3deg); }
.sculpture--questions b { width:8px; height:8px; border:1px solid var(--blue); border-radius:50%; background:var(--white); animation:loom-shuttle 7s ease-in-out infinite alternate; }
.sculpture--questions b:nth-of-type(1) { top:16%; }.sculpture--questions b:nth-of-type(2) { top:39%; animation-delay:-2s; }.sculpture--questions b:nth-of-type(3) { top:61%; animation-delay:-4s; }
.sculpture--life { border:1px solid currentColor; border-radius:50%; }
.sculpture--life::before, .sculpture--life::after { content:""; position:absolute; inset:8% 28%; border:1px solid currentColor; border-radius:50%; animation:sphere-breathe 10s ease-in-out infinite alternate; }
.sculpture--life::after { inset:28% 8%; animation-delay:-5s; }
.sculpture--life i { top:50%; left:3%; width:94%; height:1px; background:currentColor; }
.sculpture--life i:nth-child(2) { transform:rotate(45deg); }.sculpture--life i:nth-child(3) { transform:rotate(-45deg); }
.sculpture--life b { width:7px; height:7px; border:1px solid var(--blue); border-radius:50%; background:var(--white); }
.sculpture--life b:nth-of-type(1) { top:8%; left:47%; }.sculpture--life b:nth-of-type(2) { right:8%; bottom:25%; }.sculpture--life b:nth-of-type(3) { left:8%; bottom:25%; }

.dashboard-preview {
  --preview-x: 50%;
  --preview-y: 50%;
  position: absolute;
  z-index: 13;
  top: var(--preview-y);
  left: var(--preview-x);
  width: clamp(238px, 22vw, 320px);
  min-height: 116px;
  padding: 12px 14px 14px;
  border: 0;
  background: rgba(250,249,244,.78);
  backdrop-filter: blur(7px);
  box-shadow:none;
  opacity: 0;
  transform: translateY(8px) scale(.98);
  pointer-events: none;
  transition: left 320ms cubic-bezier(.16,1,.3,1), top 320ms cubic-bezier(.16,1,.3,1), opacity 180ms ease, transform 320ms cubic-bezier(.16,1,.3,1);
}
.dashboard-preview::before { content:""; position:absolute; top:50%; left:-17px; width:16px; height:1px; background:var(--blue); }
.dashboard-preview[data-side="left"]::before { right:-17px; left:auto; }
.dashboard-preview.is-active { opacity: 1; transform: none; }
.dashboard-preview__status { display:flex; justify-content:space-between; gap:15px; margin:0 0 12px; color:var(--blue); font:600 7px/1 var(--headline); letter-spacing:.09em; }
.dashboard-preview__status span:last-child { color:var(--quiet); }
.dashboard-preview article { display:none; }
.dashboard-preview article.is-active { display:block; animation:preview-in 300ms ease both; }
.dashboard-preview article small { color:var(--blue); font:600 7px/1 var(--headline); letter-spacing:.08em; }
.dashboard-preview article h2 { margin:7px 0 0; font:600 clamp(17px,1.45vw,22px)/1 var(--headline); letter-spacing:-.045em; }
.dashboard-preview article p { max-width:480px; margin:8px 0 0; color:var(--muted); font-size:9px; line-height:1.5; }

.field-map { position:absolute; z-index:55; left:clamp(22px,3.4vw,56px); bottom:18px; width:min(430px,38vw); height:166px; border:0; background:transparent; transition:opacity 320ms ease; }
[data-phase="focusing"] .field-map, [data-phase="focused"] .field-map { background:transparent; }
.field-map svg { position:absolute; inset:4px 12px 6px; width:calc(100% - 24px); height:calc(100% - 10px); }
.field-map .field-map__compact-lines { display:none; }
.field-map path { fill:none; stroke:var(--line); stroke-width:1; stroke-dasharray:2 3; vector-effect:non-scaling-stroke; }
.field-map button { position:absolute; z-index:2; left:var(--mx); top:var(--my); width:62px; min-height:44px; padding:0; border:0; background:transparent; cursor:pointer; transform:translate(-50%,-50%); color:var(--muted); text-align:center; }
.field-map button::before { content:""; position:absolute; z-index:-1; top:3px; left:50%; width:27px; height:27px; border:1px solid var(--line); border-radius:50%; background:rgba(250,249,244,.68); transform:translateX(-50%); }
.field-map button span, .field-map button strong { display:block; }
.field-map button span { height:33px; padding-top:12px; font:700 7px/1 var(--headline); }
.field-map button strong { overflow:hidden; font:600 7.5px/1 var(--headline); letter-spacing:.03em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.field-map button:hover::before, .field-map button:focus-visible::before, .field-map button[aria-pressed="true"]::before { border-color:var(--blue); background:var(--blue); }
.field-map button:hover span, .field-map button:focus-visible span, .field-map button[aria-pressed="true"] span { color:var(--white); }
.field-map button:hover strong, .field-map button:focus-visible strong, .field-map button[aria-pressed="true"] strong { color:var(--blue); }
.field-map .map-home::before { border-style:dashed; }
.scene-readout { position:absolute; z-index:14; right:28px; bottom:20px; display:flex; gap:18px; margin:0; color:var(--quiet); font:500 7px/1 var(--headline); letter-spacing:.09em; transition:opacity 320ms ease; }

[data-phase="focusing"] .scene-identity, [data-phase="focused"] .scene-identity { opacity:.11; transform:translateX(-18px); }
[data-phase="focusing"] .scene-controls, [data-phase="focused"] .scene-controls, [data-phase="focusing"] .scene-readout, [data-phase="focused"] .scene-readout, [data-phase="focusing"] .dashboard-preview, [data-phase="focused"] .dashboard-preview { opacity:0; pointer-events:none; }
[data-phase="focusing"] .camera-window, [data-phase="focused"] .camera-window { opacity:.48; transform:translate(var(--focus-shift-x),var(--focus-shift-y)) scale(1.1); }
[data-phase="focusing"] .orbit-node:not(.is-selected), [data-phase="focused"] .orbit-node:not(.is-selected) { opacity:.38; }
[data-phase="focusing"] .orbit-node.is-selected { z-index:40; }
[data-phase="focused"] .orbit-node.is-selected { opacity:0; transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),60px) scale(2.5); }

.spatial-detail { position:absolute; z-index:30; inset:0; overflow:hidden; background:linear-gradient(90deg, rgba(250,249,244,.84) 0 34%, rgba(250,249,244,.24) 57%, rgba(250,249,244,.05) 100%); opacity:0; pointer-events:none; transition:opacity 360ms ease; }
[data-phase="focused"] .spatial-detail { opacity:1; pointer-events:auto; }
.detail-backdrop { position:absolute; z-index:0; inset:0; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:zoom-out; }
.detail-close { position:absolute; z-index:20; top:22px; right:24px; min-width:74px; min-height:48px; display:flex; gap:8px; align-items:center; justify-content:center; border:0; background:transparent; cursor:pointer; }
.detail-close span { color:var(--blue); font:300 23px/1 var(--headline); }.detail-close small { font:600 8px/1 var(--headline); text-transform:uppercase; }
.detail-close:focus-visible { outline:0; color:var(--blue); background:var(--blue-faint); }
.facet-detail { position:absolute; z-index:3; inset:0; display:none; pointer-events:none; }
.facet-detail.is-active, [data-active="true"].facet-detail { display:block; }
.facet-detail > * { pointer-events:auto; }
.landing-object { position:absolute; z-index:4; top:50%; left:63%; width:min(40vw,560px); aspect-ratio:1; margin:0; display:grid; place-items:center; opacity:0; transform:translate(-50%,-50%) scale(.48); transition:opacity 420ms ease, transform 760ms cubic-bezier(.16,1,.3,1); }
[data-phase="focused"] .landing-object { opacity:1; transform:translate(-50%,-50%) scale(1); }
.landing-object::before { content:""; position:absolute; inset:5%; border:1px dashed rgba(113,130,125,.44); border-radius:50%; }
.landing-object::after { content:""; position:absolute; inset:-8%; border:1px solid var(--line-soft); border-radius:50%; }
.landing-object .sculpture { width:min(24vw,340px); height:min(24vw,340px); }
.landing-code { position:absolute; top:3%; left:2%; color:var(--blue); font:600 8px/1 var(--headline); letter-spacing:.1em; }
.landing-object figcaption { position:absolute; right:4%; bottom:1%; left:4%; padding-top:9px; border-top:1px solid var(--line); color:var(--quiet); font-size:9px; text-align:center; }
.landing-copy { position:absolute; z-index:8; top:clamp(54px,7vh,82px); left:clamp(42px,5vw,86px); width:min(37vw,540px); opacity:0; transform:translateY(22px); transition:opacity 360ms 120ms ease, transform 620ms 100ms cubic-bezier(.16,1,.3,1); }
[data-phase="focused"] .landing-copy { opacity:1; transform:none; }
.landing-copy h2 { margin:0; font:700 clamp(42px,4.7vw,76px)/.92 var(--headline); letter-spacing:-.06em; }
.landing-copy > p:not(.eyebrow) { max-width:500px; margin:22px 0 0; color:var(--muted); font-size:clamp(12px,1.05vw,16px); line-height:1.65; }
.landing-copy > a { width:max-content; max-width:100%; display:inline-flex; min-height:44px; align-items:center; gap:16px; margin-top:25px; padding:0 15px; border:1px solid var(--blue); background:var(--blue); color:var(--white); font:600 9px/1 var(--headline); letter-spacing:.06em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.focus-satellites { --sat-rx:clamp(240px,22vw,330px); --sat-hx:clamp(120px,11vw,165px); --sat-ry:clamp(175px,22vh,240px); --sat-hy:clamp(87px,11vh,120px); position:absolute; z-index:9; top:50%; left:65%; width:0; height:0; pointer-events:none; }
.focus-satellites::before { content:""; position:absolute; top:0; left:0; width:calc(var(--sat-rx) + var(--sat-rx)); height:calc(var(--sat-ry) + var(--sat-ry)); border:1px dashed var(--line-soft); border-radius:50%; transform:translate(-50%,-50%) rotate(-8deg); }
.focus-satellites > * { position:absolute; top:0; left:0; width:min(18vw,225px); min-height:76px; display:block; padding:12px 14px; border:0; background:rgba(250,249,244,.72); backdrop-filter:blur(7px); color:var(--ink); box-shadow:none; text-decoration:none; pointer-events:auto; opacity:0; transform:translate(-50%,-50%) translate3d(calc(-1 * var(--sat-rx)),calc(-1 * var(--sat-hy)),0); }
[data-phase="focused"] .focus-satellites > * { animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 240ms both,satellite-orbit 66s linear 0s infinite; }
[data-phase="focused"] .focus-satellites > *:nth-child(2){animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 340ms both,satellite-orbit 66s linear -22s infinite}
[data-phase="focused"] .focus-satellites > *:nth-child(3){animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 440ms both,satellite-orbit 66s linear -44s infinite}
.focus-satellites > *:hover, .focus-satellites > *:focus-visible { z-index:3; animation-play-state:running,paused; background:rgba(250,249,244,.92); }
.focus-satellites > *::after { display:none; }
.focus-satellites small, .focus-satellites strong, .focus-satellites em { display:block; }
.focus-satellites small { color:var(--blue); font:600 7px/1.25 var(--headline); letter-spacing:.07em; }
.focus-satellites strong { margin-top:7px; font:700 11px/1.15 var(--headline); text-transform:uppercase; }
.focus-satellites em { margin-top:7px; color:var(--muted); font-size:8px; font-style:normal; line-height:1.45; }
.focus-satellites a:hover { color:var(--blue); }
.focus-satellites .project-satellite--primary { width:min(22vw,280px); min-height:108px; background:rgba(240,244,251,.8); }
.focus-satellites .project-satellite--primary strong { color:var(--blue); font-size:14px; }

.project-app-orbits {
  position:relative;
  z-index:2;
  width:min(72%,340px);
  aspect-ratio:1;
  display:block;
}
.project-app-orbits::before,
.project-app-orbits::after {
  content:"";
  position:absolute;
  z-index:0;
  top:50%;
  left:8%;
  width:84%;
  height:1px;
  background:var(--line-soft);
}
.project-app-orbits::after { transform:rotate(90deg); }
.project-app-ring {
  position:absolute;
  z-index:2;
  border:1px solid rgba(145,157,149,.62);
  border-radius:50%;
  transform-origin:50% 50%;
}
.project-app-ring--outer { inset:5%; }
.project-app-ring--inner { inset:27%; border-color:rgba(40,100,199,.5); border-style:dashed; }
.project-app-logo {
  position:absolute;
  top:var(--logo-y);
  left:var(--logo-x);
  width:clamp(28px,4vw,48px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(250,249,244,.94);
  box-shadow:0 5px 14px rgba(55,65,58,.07);
  overflow:hidden;
  transform:translate(-50%,-50%);
}
.project-app-ring--inner .project-app-logo { width:clamp(22px,3.2vw,36px); }
.project-app-logo img {
  width:100%;
  height:100%;
  display:block;
  border-radius:50%;
  object-fit:cover;
}
.project-app-logo--contain img {
  box-sizing:border-box;
  padding:17%;
  background:rgba(250,249,244,.98);
  object-fit:contain;
}
.project-app-core {
  position:absolute;
  z-index:4;
  top:50%;
  left:50%;
  width:clamp(42px,5.4vw,64px);
  aspect-ratio:1;
  display:grid;
  place-content:center;
  border:1px solid var(--blue);
  border-radius:50%;
  background:rgba(250,249,244,.96);
  color:var(--blue);
  text-align:center;
  transform:translate(-50%,-50%);
}
.project-app-core b { font:700 clamp(13px,1.6vw,20px)/1 var(--headline); }
.project-app-core small { margin-top:4px; font:600 clamp(4px,.48vw,6px)/1 var(--headline); letter-spacing:.07em; }
[data-phase="focused"] [data-facet-detail="projects"].is-active .project-app-ring--outer { animation:project-app-ring-spin 58s linear infinite; }
[data-phase="focused"] [data-facet-detail="projects"].is-active .project-app-ring--inner { animation:project-app-ring-spin 41s linear infinite reverse; }
[data-phase="focused"] [data-facet-detail="projects"].is-active .project-app-ring--outer .project-app-logo img { animation:project-app-logo-counter 58s linear infinite reverse; }
[data-phase="focused"] [data-facet-detail="projects"].is-active .project-app-ring--inner .project-app-logo img { animation:project-app-logo-counter 41s linear infinite; }
[data-motion="paused"] .project-app-ring,
[data-motion="paused"] .project-app-logo img { animation-play-state:paused !important; }

@keyframes range-shift { to { transform:rotate(90deg) scale(.86); } }
@keyframes gyro-a { to { transform:rotateX(64deg) rotateZ(360deg); } }
@keyframes gyro-b { to { transform:rotateY(64deg) rotateZ(360deg); } }
@keyframes node-pulse { to { transform:scale(1.7); } }
@keyframes flat-spin { to { transform:rotate(360deg); } }
@keyframes cube-front { to { transform:translate(9%,9%) rotate(5deg); } }
@keyframes cube-back { to { transform:translate(-9%,-9%) rotate(-5deg); } }
@keyframes loom-shuttle { from { left:12%; } to { left:78%; } }
@keyframes sphere-breathe { to { transform:rotate(38deg) scaleX(.62); } }
@keyframes project-app-ring-spin { to { transform:rotate(360deg); } }
@keyframes project-app-logo-counter { to { transform:rotate(360deg); } }
@keyframes satellite-arrive { to { opacity:1; } }
@keyframes satellite-orbit {
  0%,100% { transform:translate(-50%,-50%) translate3d(calc(-1 * var(--sat-rx)),calc(-1 * var(--sat-hy)),0); }
  12.5% { transform:translate(-50%,-50%) translate3d(calc(-1 * var(--sat-hx)),calc(-1 * var(--sat-ry)),0); }
  25% { transform:translate(-50%,-50%) translate3d(0,calc(-1 * var(--sat-ry)),0); }
  37.5% { transform:translate(-50%,-50%) translate3d(var(--sat-hx),calc(-1 * var(--sat-ry)),0); }
  50% { transform:translate(-50%,-50%) translate3d(var(--sat-rx),calc(-1 * var(--sat-hy)),0); }
  62.5% { transform:translate(-50%,-50%) translate3d(var(--sat-rx),var(--sat-hy),0); }
  75% { transform:translate(-50%,-50%) translate3d(0,var(--sat-ry),0); }
  87.5% { transform:translate(-50%,-50%) translate3d(calc(-1 * var(--sat-rx)),var(--sat-hy),0); }
}
@keyframes preview-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }

@media (max-width: 1100px) {
  .scene-controls { right:16px; }
  .scene-identity { width:42vw; }
  .scene-identity h1 { font-size:clamp(40px,5.4vw,61px); }
  .camera-window { top:2%; right:0; bottom:0; left:10%; }
  .camera-rig { width:80vw; }
  .orbit-node { --orbit-icon-half:30px; width:176px; grid-template-columns:62px 1fr; }
  .orbit-node--threads, .orbit-node--contact { grid-template-columns:1fr 62px; }
  .orbit-node .sculpture { width:60px; height:60px; }
  .node-label span { display:none; }
  .field-map { width:min(390px,42vw); }
  .dashboard-preview { width:42vw; }
  .landing-copy { width:37vw; left:38px; }
  .landing-object { left:64%; }
}

@media (max-width: 767px) {
  .site-nav--desktop { display:none; }
  .site-nav--mobile {
    min-height:61px;
    display:flex;
    gap:16px;
    padding:8px 24px;
    overflow-x:auto;
    white-space:nowrap;
    font-size:10px;
    line-height:15px;
    scrollbar-width:none;
  }
  .site-nav--mobile::-webkit-scrollbar { display:none; }
  .site-nav--mobile .site-nav-link { min-height:44px; display:inline-flex; align-items:center; }
  .orbital-landing { height:auto; min-height:0; margin:0 6px; }
  .scene-scaffold { inset:9px; }
  .scene-identity { top:24px; left:18px; width:calc(100% - 36px); padding-right:5px; }
  .scene-identity .eyebrow { margin-bottom:10px; font-size:7px; }
  .scene-identity h1 { max-width:560px; font-size:clamp(31px,9vw,48px); line-height:.95; }
  .scene-identity > p:not(.eyebrow) { max-width:520px; margin-top:12px; font-size:11px; line-height:1.5; }
  .identity-actions { margin-top:12px; gap:8px; }
  .identity-actions a { min-height:44px; padding:0 11px; font-size:9px; }
  .scene-controls { top:clamp(252px,34vh,310px); right:12px; left:12px; justify-content:flex-end; background:transparent; box-shadow:none; backdrop-filter:none; }
  .scene-controls button { min-width:66px; background:rgba(250,249,244,.72); }
  .scene-controls .view-toggle { min-width:126px; }
  .view-icon { display:none; }
  .camera-window { top:39%; right:-7%; bottom:78px; left:-7%; }
  .camera-rig { width:min(108vw,580px); transform:rotateX(45deg) rotateZ(-7deg); }
  .orbit-node { width:142px; min-height:70px; grid-template-columns:48px 1fr; gap:6px; }
  .orbit-node--threads, .orbit-node--contact { grid-template-columns:1fr 48px; }
  .orbit-node .sculpture { width:46px; height:46px; }
  .orbit-node > * { transform:rotateZ(7deg) rotateX(-45deg); }
  .node-label { padding:6px 5px 7px 8px; }
  .node-label small { font-size:6px; }.node-label strong { margin-top:5px; font-size:9px; }.node-label span { display:none; }
  .field-origin { width:48px; height:48px; }.field-origin b { font-size:14px; }.field-origin small { font-size:4px; }
  .dashboard-preview { display:none; }
  .field-map { left:0; right:0; bottom:7px; width:auto; height:68px; display:grid; grid-template-columns:repeat(7,minmax(44px,1fr)); gap:0; padding:0; }
  .field-map svg { display:none; }
  .field-map button { position:relative; top:auto; left:auto; width:100%; min-width:0; min-height:46px; transform:none; }
  .field-map button::before { top:1px; width:25px; height:25px; }
  .field-map button span { height:30px; padding-top:10px; font-size:7px; }
  .field-map button strong { font-size:6.5px; }
  .scene-readout { display:none; }
  .detail-close { top:12px; right:12px; }
  [data-phase="focusing"] .camera-window, [data-phase="focused"] .camera-window { opacity:.24; transform:translate(var(--focus-shift-x),var(--focus-shift-y)) scale(1.04); }
  .spatial-detail { overflow-y:auto; overscroll-behavior:contain; background:linear-gradient(180deg,rgba(250,249,244,.9),rgba(250,249,244,.56) 62%,rgba(250,249,244,.35)); }
  .facet-detail.is-active, [data-active="true"].facet-detail { position:relative; min-height:100%; display:grid; grid-template-columns:1fr; align-content:start; padding:76px 18px 96px; overflow-y:auto; }
  .landing-copy, [data-phase="focused"] .landing-copy { position:relative; top:auto; left:auto; width:auto; opacity:1; transform:none; padding-right:12px; }
  .landing-copy h2 { max-width:620px; font-size:clamp(36px,11vw,58px); }
  .landing-copy > p:not(.eyebrow) { font-size:12px; margin-top:17px; }
  .landing-copy > a { margin-top:18px; }
  .landing-object, [data-phase="focused"] .landing-object { position:relative; top:auto; left:auto; width:min(84vw,460px); margin:28px auto 10px; opacity:1; transform:none; order:2; }
  .landing-object .sculpture { width:min(55vw,260px); height:min(55vw,260px); }
  .focus-satellites { position:relative; inset:auto; width:auto; height:auto; display:grid; gap:10px; margin-top:18px; order:3; }
  .focus-satellites::before { display:none; }
  .focus-satellites > *, [data-phase="focused"] .focus-satellites > * { position:relative; top:auto; left:auto; width:auto; min-height:0; opacity:1; transform:none; animation:none; }
  .focus-satellites > *::after { display:none; }
  .focus-satellites .project-satellite--primary { width:auto; }
}

@media (max-width: 480px) {
  .scene-identity h1 { font-size:clamp(30px,10.5vw,43px); }
  .scene-identity > p:not(.eyebrow) { max-width:95%; }
  .scene-controls .view-toggle { min-width:116px; }.scene-controls button { min-width:62px; padding-inline:7px; }
  .camera-window { top:39%; bottom:76px; }
  .orbit-node { width:132px; grid-template-columns:44px 1fr; }
  .orbit-node--threads, .orbit-node--contact { grid-template-columns:1fr 44px; }
  .orbit-node .sculpture { width:42px; height:42px; }
  .node-label strong { font-size:8.5px; }
}

@media (max-height: 680px) and (min-width: 768px) {
  .dashboard-preview { display:none; }
}

@media (orientation:landscape) and (max-height: 560px) and (max-width: 1000px) {
  .orbital-landing { height:auto; min-height:0; margin-inline:6px; }
  .scene-scaffold { inset:8px; }
  .scene-identity { top:16px; left:18px; width:38vw; }
  .scene-identity .eyebrow { margin-bottom:7px; font-size:6px; }
  .scene-identity h1 { font-size:clamp(24px,4.2vw,35px); line-height:.94; }
  .scene-identity > p:not(.eyebrow) { margin-top:9px; font-size:9px; line-height:1.4; }
  .identity-actions { margin-top:9px; gap:6px; }
  .identity-actions a { min-height:31px; padding-inline:9px; font-size:7px; }
  .dashboard-preview { display:none; }
  .scene-controls { top:8px; right:8px; }
  .scene-controls button { min-height:38px; }
  .camera-window { top:0; right:-2%; bottom:60px; left:35%; }
  .camera-rig { width:min(55vw,470px); }
  .orbit-node { width:132px; min-height:56px; grid-template-columns:42px 1fr; }
  .orbit-node--threads, .orbit-node--contact { grid-template-columns:1fr 42px; }
  .orbit-node .sculpture { width:40px; height:40px; }
  .node-label strong { font-size:8px; }
  .field-map { left:0; right:0; bottom:5px; width:auto; height:63px; display:grid; grid-template-columns:repeat(7,minmax(44px,1fr)); padding:0; }
  .field-map svg { display:none; }
  .field-map button { position:relative; top:auto; left:auto; width:100%; min-width:0; min-height:44px; transform:none; }
  .field-map button::before { top:0; width:22px; height:22px; }
  .field-map button span { height:26px; padding-top:8px; font-size:6px; }
  .field-map button strong { font-size:7px; }
  .scene-readout { display:none; }
  .spatial-detail { overflow-y:auto; background:linear-gradient(90deg,rgba(250,249,244,.92),rgba(250,249,244,.42)); }
  .facet-detail.is-active, [data-active="true"].facet-detail { position:relative; min-height:520px; display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:16px; padding:30px 14px 78px; }
  .landing-copy, [data-phase="focused"] .landing-copy { position:relative; top:auto; left:auto; width:auto; opacity:1; transform:none; }
  .landing-copy .eyebrow { margin-bottom:8px; }
  .landing-copy h2 { font-size:clamp(23px,3.8vw,30px); line-height:.94; }
  .landing-copy > p:not(.eyebrow) { margin-top:9px; font-size:9px; line-height:1.4; }
  .landing-copy > a { margin-top:9px; }
  .landing-object, [data-phase="focused"] .landing-object { position:relative; top:auto; left:auto; width:min(36vw,300px); opacity:1; transform:none; }
  .landing-object .sculpture { width:min(22vw,180px); height:min(22vw,180px); }
  .focus-satellites { position:relative; inset:auto; width:auto; height:auto; grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .focus-satellites::before { display:none; }
  .focus-satellites > *, [data-phase="focused"] .focus-satellites > * { position:relative; top:auto; left:auto; width:auto; min-height:76px; opacity:1; transform:none; animation:none; }
  .focus-satellites > *::after { display:none; }
}

/* Phones and short landscape screens use a swipeable orbital segment. This
   keeps every label readable while preserving the long structural track and
   animated geometry, instead of forcing six cards into the same small ring. */
@media (max-width: 767px), (orientation:landscape) and (max-height: 560px) and (max-width: 1000px) {
  .orbital-landing { --map-rail-size:75px; }
  .scene-controls { display:none; }
  .camera-window {
    pointer-events:auto;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    touch-action:pan-x;
    -webkit-overflow-scrolling:touch;
  }
  .camera-window::-webkit-scrollbar { display:none; }
  .camera-rig, [data-view="top"] .camera-rig {
    width:max-content;
    min-width:100%;
    height:100%;
    aspect-ratio:auto;
    transform:none;
  }
  .orbit-plane {
    width:max-content;
    min-width:100%;
    height:100%;
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 18px;
  }
  .orbit-node,
  [data-phase="focusing"] .orbit-node.is-selected,
  [data-phase="focused"] .orbit-node.is-selected {
    position:relative;
    top:auto;
    left:auto;
    flex:0 0 118px;
    min-height:70px;
    scroll-snap-align:center;
    transform:none !important;
  }
  .orbit-node > *, [data-view="top"] .orbit-node > * { transform:none; }
  [data-phase="focusing"] .orbit-node.is-selected { transform:scale(1.06) !important; }
  .field-map {
    right:env(safe-area-inset-right);
    bottom:0;
    left:env(safe-area-inset-left);
    height:calc(var(--map-rail-size) + env(safe-area-inset-bottom));
    padding-bottom:env(safe-area-inset-bottom);
    background:linear-gradient(180deg,rgba(250,249,244,0),rgba(250,249,244,.9) 24%,rgba(250,249,244,.96));
    -webkit-backdrop-filter:blur(7px);
    backdrop-filter:blur(7px);
  }
  .field-map .field-map__compact-lines {
    inset:4px 0 calc(11px + env(safe-area-inset-bottom));
    width:100%;
    height:54px;
    display:block;
    pointer-events:none;
  }
  .field-map .field-map__compact-lines path { stroke:rgba(39,102,203,.42); stroke-width:1.15; stroke-dasharray:3 4; }
  .field-map button { --map-y:8px; }
  .field-map button:nth-of-type(2) { --map-y:0px; }
  .field-map button:nth-of-type(3) { --map-y:10px; }
  .field-map button:nth-of-type(4) { --map-y:0px; }
  .field-map button:nth-of-type(5) { --map-y:10px; }
  .field-map button:nth-of-type(6) { --map-y:2px; }
  .field-map button::before { top:var(--map-y); }
  .field-map button span { height:32px; padding-top:calc(var(--map-y) + 8px); }
  .spatial-detail { bottom:calc(var(--map-rail-size) + env(safe-area-inset-bottom)); overflow:hidden; }
  .facet-detail.is-active, [data-active="true"].facet-detail { height:100%; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
  .detail-close {
    top:calc(12px + env(safe-area-inset-top));
    right:calc(12px + env(safe-area-inset-right));
  }
}

@media (max-width: 767px) and (min-height: 561px) {
  .camera-window {
    top:clamp(250px,58%,408px);
    right:0;
    bottom:calc(var(--map-rail-size) + env(safe-area-inset-bottom));
    left:0;
  }
}

@media (orientation:landscape) and (max-height: 560px) and (max-width: 1000px) {
  .orbital-landing { --map-rail-size:68px; }
  .scene-identity > p:not(.eyebrow) { display:none; }
  .scene-identity h1 { font-size:clamp(21px,3.7vw,30px); }
  .identity-actions { display:flex; margin-top:4px; }
  .identity-actions a { min-height:44px; }
  .camera-window { top:0; right:env(safe-area-inset-right); bottom:calc(var(--map-rail-size) + env(safe-area-inset-bottom)); left:44%; }
}

@media (min-width: 767px) and (max-width: 1100px) and (min-height: 561px) {
  .scene-controls { display:none; }
  .camera-window {
    left:44%;
    pointer-events:auto;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    touch-action:pan-x;
    -webkit-overflow-scrolling:touch;
  }
  .camera-window::-webkit-scrollbar { display:none; }
  .camera-rig, [data-view="top"] .camera-rig {
    width:max-content;
    min-width:100%;
    height:100%;
    aspect-ratio:auto;
    transform:none;
  }
  .orbit-plane {
    width:max-content;
    min-width:100%;
    height:100%;
    display:flex;
    align-items:center;
    gap:20px;
    padding:0 28px;
  }
  .orbit-node,
  [data-phase="focusing"] .orbit-node.is-selected,
  [data-phase="focused"] .orbit-node.is-selected {
    position:relative;
    top:auto;
    left:auto;
    flex:0 0 176px;
    min-height:82px;
    scroll-snap-align:center;
    transform:none !important;
  }
  .orbit-node > *, [data-view="top"] .orbit-node > * { transform:none; }
  [data-phase="focusing"] .orbit-node.is-selected { transform:scale(1.06) !important; }
}

@media (min-width: 767px) and (max-width: 1100px) and (min-height: 561px) {
  .landing-object { left:72%; }
  .focus-satellites {
    --sat-rx:clamp(140px,18vw,190px);
    --sat-hx:clamp(70px,9vw,95px);
    --sat-ry:clamp(160px,20vh,210px);
    --sat-hy:clamp(80px,10vh,105px);
    left:72%;
  }
  .focus-satellites > * { width:clamp(128px,18vw,200px); }
  .focus-satellites .project-satellite--primary { width:clamp(146px,19vw,200px); }
}

@media (max-width: 340px) and (min-height: 561px) {
  .facet-detail.is-active, [data-active="true"].facet-detail { padding-top:30px; }
  .landing-copy .eyebrow { margin-bottom:8px; }
  .landing-copy h2 { font-size:30px; line-height:.94; }
  .landing-copy > p:not(.eyebrow) { margin-top:10px; font-size:10.5px; line-height:1.4; }
  .landing-copy > a { margin-top:10px; }
}

@media (max-width: 340px) and (max-height: 560px) and (orientation:portrait) {
  .scene-identity { top:16px; }
  .scene-identity .eyebrow { margin-bottom:7px; font-size:6.5px; }
  .scene-identity h1 { font-size:28px; }
  .scene-identity > p:not(.eyebrow) { margin-top:8px; font-size:10px; line-height:1.4; }
  .identity-actions { margin-top:8px; gap:6px; }
  .identity-actions a { padding-inline:10px; font-size:8px; }
  .camera-window { top:auto; bottom:calc(var(--map-rail-size) + env(safe-area-inset-bottom)); height:86px; }
  .facet-detail.is-active, [data-active="true"].facet-detail { padding-top:22px; }
  .landing-copy .eyebrow { margin-bottom:7px; }
  .landing-copy h2 { font-size:28px; line-height:.94; }
  .landing-copy > p:not(.eyebrow) { margin-top:8px; font-size:10px; line-height:1.35; }
  .landing-copy > a { margin-top:8px; }
}

/* Compact screens keep the same spatial model as desktop. The field is
   scaled and clipped to a protected stage, but nodes remain absolute,
   parametric, animated, and responsive to the orbit/top-view controls. */
@media (max-width: 767px) {
  .site-topbar__inner {
    padding-right:calc(24px + env(safe-area-inset-right));
    padding-left:calc(24px + env(safe-area-inset-left));
  }
  .site-nav--mobile {
    padding-right:calc(24px + env(safe-area-inset-right));
    padding-left:calc(24px + env(safe-area-inset-left));
  }
  .orbital-landing { --map-rail-size:94px; }
  .scene-identity {
    top:calc(22px + env(safe-area-inset-top));
    left:calc(18px + env(safe-area-inset-left));
    width:calc(100% - 36px - env(safe-area-inset-left) - env(safe-area-inset-right));
  }
  .scene-controls {
    top:clamp(268px,40%,310px);
    right:calc(12px + env(safe-area-inset-right));
    left:auto;
    display:flex;
    background:rgba(250,249,244,.7);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
  }
  .scene-controls button { min-width:58px; min-height:44px; padding-inline:7px; }
  .scene-controls .view-toggle { min-width:112px; }
  .scene-controls .view-toggle small { font-size:6px; }
  .scene-controls .view-toggle strong { font-size:8px; }
  .camera-window {
    top:clamp(300px,46%,350px);
    right:env(safe-area-inset-right);
    bottom:calc(var(--map-rail-size) + env(safe-area-inset-bottom));
    left:env(safe-area-inset-left);
    display:grid;
    place-items:center;
    overflow:hidden;
    pointer-events:none;
    touch-action:manipulation;
  }
  .camera-rig,
  [data-view="top"] .camera-rig {
    width:min(104vw,440px);
    min-width:0;
    height:auto;
    aspect-ratio:1.18;
  }
  .camera-rig { transform:rotateX(38deg) rotateZ(-7deg) translateZ(-18px); }
  [data-view="top"] .camera-rig { transform:rotateX(0) rotateZ(0) translateZ(0); }
  .orbit-plane {
    position:relative;
    width:100%;
    min-width:0;
    height:100%;
    display:block;
    padding:0;
  }
  .track { --tw:74%; --th:82%; --ox:0%; --oy:0%; --tr:0deg; }
  .track i { display:none; }
  .orbit-node,
  [data-phase="focusing"] .orbit-node.is-selected,
  [data-phase="focused"] .orbit-node.is-selected {
    position:absolute;
    top:50%;
    left:50%;
    width:104px;
    min-height:60px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:5px;
    padding:0;
    touch-action:manipulation;
    --orbit-icon-half:18px;
    transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),0) !important;
  }
  .orbit-node--threads,
  .orbit-node--contact { grid-template-columns:minmax(0,1fr) 38px; }
  .orbit-node .sculpture { width:36px; height:36px; }
  .orbit-node > * { transform:rotateZ(7deg) rotateX(-38deg) !important; }
  [data-view="top"] .orbit-node > * { transform:none !important; }
  .node-label { padding:5px 4px 6px 6px; }
  .node-label small { font-size:6px; }
  .node-label strong { margin-top:4px; font-size:8.5px; line-height:1.05; }
  .node-label span { display:none; }
  [data-phase="focusing"] .orbit-node.is-selected {
    transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),30px) scale(1.12) !important;
  }
  [data-phase="focused"] .orbit-node.is-selected {
    opacity:0;
    transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),60px) scale(2) !important;
  }
  .field-origin { width:42px; height:42px; }
  .field-origin b { font-size:13px; }
  .field-origin small { font-size:4px; }
  .field-map {
    right:env(safe-area-inset-right);
    bottom:0;
    left:env(safe-area-inset-left);
    width:auto;
    height:calc(var(--map-rail-size) + env(safe-area-inset-bottom));
    display:block;
    padding:0 0 env(safe-area-inset-bottom);
    background:linear-gradient(180deg,rgba(250,249,244,0),rgba(250,249,244,.9) 24%,rgba(250,249,244,.97));
    -webkit-backdrop-filter:blur(7px);
    backdrop-filter:blur(7px);
  }
  .field-map svg:not(.field-map__compact-lines) {
    inset:0 10px calc(3px + env(safe-area-inset-bottom));
    width:calc(100% - 20px);
    height:calc(100% - 3px - env(safe-area-inset-bottom));
    display:block;
  }
  .field-map .field-map__compact-lines { display:none; }
  .field-map button {
    position:absolute;
    top:var(--mobile-my,var(--my));
    left:var(--mobile-mx,var(--mx));
    width:54px;
    min-width:44px;
    min-height:44px;
    transform:translate(-50%,-50%);
  }
  .field-map button:nth-of-type(1) { --mobile-mx:50%; --mobile-my:62%; }
  .field-map button:nth-of-type(2) { --mobile-mx:8%; --mobile-my:62%; }
  .field-map button:nth-of-type(3) { --mobile-mx:24%; --mobile-my:24%; }
  .field-map button:nth-of-type(4) { --mobile-mx:42%; --mobile-my:18%; }
  .field-map button:nth-of-type(5) { --mobile-mx:69%; --mobile-my:24%; }
  .field-map button:nth-of-type(6) { --mobile-mx:88%; --mobile-my:62%; }
  .field-map button:nth-of-type(7) { --mobile-mx:55%; --mobile-my:88%; }
  .field-map button::before { top:0; width:24px; height:24px; }
  .field-map button span { height:28px; padding-top:8px; font-size:6px; }
  .field-map button strong { font-size:6px; }
  .spatial-detail { bottom:calc(var(--map-rail-size) + env(safe-area-inset-bottom)); }
}

@media (max-width: 767px) and (min-height: 650px) {
  .spatial-detail { overflow:hidden; background:linear-gradient(180deg,rgba(250,249,244,.92),rgba(250,249,244,.44)); }
  .facet-detail.is-active,
  [data-active="true"].facet-detail {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    display:block;
    padding:0;
    overflow:hidden;
  }
  .landing-copy,
  [data-phase="focused"] .landing-copy {
    position:absolute;
    z-index:12;
    top:34px;
    left:18px;
    width:calc(100% - 36px);
    padding-right:64px;
    opacity:1;
    transform:none;
  }
  .landing-copy .eyebrow { margin-bottom:9px; font-size:7px; }
  .landing-copy h2 { max-width:100%; font-size:clamp(31px,9.3vw,40px); line-height:.92; }
  .landing-copy > p:not(.eyebrow) { max-width:100%; margin-top:11px; font-size:10px; line-height:1.42; }
  .landing-copy > a { min-height:44px; margin-top:12px; padding-inline:11px; font-size:7px; }
  .landing-object,
  [data-phase="focused"] .landing-object {
    position:absolute;
    z-index:5;
    top:72%;
    left:50%;
    width:min(62vw,240px);
    margin:0;
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
  }
  .landing-object .sculpture { width:min(31vw,126px); height:min(31vw,126px); }
  .landing-code { top:5%; font-size:6px; }
  .landing-object figcaption { display:none; }
  .focus-satellites {
    --sat-rx:clamp(92px,31vw,124px);
    --sat-hx:clamp(46px,15.5vw,62px);
    --sat-ry:clamp(78px,12vh,104px);
    --sat-hy:clamp(39px,6vh,52px);
    position:absolute;
    z-index:10;
    top:72%;
    left:50%;
    width:0;
    height:0;
    display:block;
    margin:0;
    pointer-events:none;
  }
  .focus-satellites::before { display:block; }
  .focus-satellites > *,
  [data-phase="focused"] .focus-satellites > * {
    position:absolute;
    top:0;
    left:0;
    width:clamp(96px,29vw,116px);
    max-width:none;
    min-height:62px;
    padding:8px 9px;
    opacity:0;
    transform:translate(-50%,-50%) translate3d(calc(-1 * var(--sat-rx)),calc(-1 * var(--sat-hy)),0);
  }
  [data-phase="focused"] .focus-satellites > * {
    animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 240ms both,satellite-orbit 88s linear 0s infinite;
  }
  [data-phase="focused"] .focus-satellites > *:nth-child(2) {
    animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 340ms both,satellite-orbit 88s linear -29.33s infinite;
  }
  [data-phase="focused"] .focus-satellites > *:nth-child(3) {
    animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 440ms both,satellite-orbit 88s linear -58.66s infinite;
  }
  .focus-satellites .project-satellite--primary { width:clamp(108px,32vw,128px); min-height:74px; }
  .focus-satellites small { font-size:5.5px; }
  .focus-satellites strong { margin-top:5px; font-size:8px; }
  .focus-satellites em { margin-top:5px; font-size:6px; line-height:1.3; }
  .focus-satellites .project-satellite--primary strong { font-size:9px; }
}

@media (max-width: 767px) and (max-height: 649px) and (orientation:portrait) {
  .scene-identity { top:14px; }
  .scene-identity .eyebrow { margin-bottom:7px; }
  .scene-identity h1 { font-size:clamp(27px,9.2vw,34px); }
  .scene-identity > p:not(.eyebrow) {
    display:-webkit-box;
    margin-top:8px;
    overflow:hidden;
    font-size:9px;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .identity-actions { margin-top:8px; }
  .scene-controls { top:190px; }
  .camera-window { top:228px; bottom:78px; }
  .orbital-landing { --map-rail-size:78px; }
}

@media (orientation:landscape) and (max-height: 560px) and (max-width: 1000px) {
  .orbital-landing { --map-rail-size:60px; }
  .scene-identity {
    top:8px;
    left:calc(12px + env(safe-area-inset-left));
    width:38%;
  }
  .scene-identity h1 { font-size:clamp(20px,3.5vw,28px); }
  .scene-identity > p:not(.eyebrow) { display:none; }
  .identity-actions { margin-top:5px; }
  .identity-actions a { min-height:44px; padding-inline:8px; font-size:7px; }
  .scene-controls {
    top:2px;
    right:calc(6px + env(safe-area-inset-right));
    display:flex;
  }
  .scene-controls .view-toggle { min-width:96px; }
  .scene-controls button { min-width:48px; }
  .camera-window {
    top:0;
    right:env(safe-area-inset-right);
    bottom:0;
    left:40%;
    overflow:hidden;
    overscroll-behavior-inline:auto;
    pointer-events:none;
    scroll-snap-type:none;
    touch-action:manipulation;
  }
  .camera-rig,
  [data-view="top"] .camera-rig {
    width:min(64vw,360px);
    min-width:0;
    height:auto;
    aspect-ratio:1.18;
  }
  .camera-rig { transform:rotateX(38deg) rotateZ(-7deg) translateZ(-18px); }
  [data-view="top"] .camera-rig { transform:rotateX(0) rotateZ(0) translateZ(0); }
  .orbit-plane {
    position:relative;
    width:100%;
    min-width:0;
    height:100%;
    display:block;
    padding:0;
  }
  .orbit-node,
  [data-phase="focusing"] .orbit-node.is-selected,
  [data-phase="focused"] .orbit-node.is-selected {
    position:absolute;
    top:50%;
    left:50%;
    width:92px;
    min-height:60px;
    display:grid;
    flex:none;
    grid-template-columns:32px minmax(0,1fr);
    scroll-snap-align:none;
    --orbit-icon-half:15px;
    transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),0) !important;
  }
  .orbit-node--threads,
  .orbit-node--contact { grid-template-columns:minmax(0,1fr) 32px; }
  .orbit-node .sculpture { width:30px; height:30px; }
  .orbit-node > * { transform:rotateZ(7deg) rotateX(-38deg) !important; }
  [data-view="top"] .orbit-node > * { transform:none !important; }
  [data-phase="focusing"] .orbit-node.is-selected {
    transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),30px) scale(1.1) !important;
  }
  [data-phase="focused"] .orbit-node.is-selected {
    opacity:0;
    transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),60px) scale(2) !important;
  }
  .node-label small { font-size:5px; }
  .node-label strong { font-size:7px; }
  .field-map {
    right:auto;
    bottom:8px;
    left:calc(12px + env(safe-area-inset-left));
    width:min(240px,36vw);
    height:104px;
    display:block;
    padding:0;
    background:transparent;
    transform:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .field-map svg:not(.field-map__compact-lines) {
    inset:4px 10px 6px;
    width:calc(100% - 20px);
    height:calc(100% - 10px);
    display:block;
  }
  .field-map .field-map__compact-lines { display:none; }
  .field-map button {
    position:absolute;
    top:var(--my);
    left:var(--mx);
    width:54px;
    min-width:44px;
    min-height:44px;
    transform:translate(-50%,-50%);
  }
  .field-map button::before { top:0; width:24px; height:24px; }
  .field-map button span { height:28px; padding-top:8px; font-size:6px; }
  .field-map button strong { font-size:6px; }
}

@media (min-width: 768px) and (max-width: 1100px) and (min-height: 561px) {
  .scene-controls { display:flex; }
  .camera-window {
    top:2%;
    right:-2%;
    bottom:0;
    left:36%;
    overflow:hidden;
    overscroll-behavior-inline:auto;
    pointer-events:none;
    scroll-snap-type:none;
    touch-action:manipulation;
  }
  .camera-rig,
  [data-view="top"] .camera-rig {
    width:min(72vw,790px);
    min-width:0;
    height:auto;
    aspect-ratio:1.18;
  }
  .camera-rig { transform:rotateX(45deg) rotateZ(-7deg) translateZ(-24px); }
  [data-view="top"] .camera-rig { transform:rotateX(0) rotateZ(0) translateZ(0); }
  .orbit-plane { position:relative; width:100%; min-width:0; height:100%; display:block; padding:0; }
  .orbit-node,
  [data-phase="focusing"] .orbit-node.is-selected,
  [data-phase="focused"] .orbit-node.is-selected {
    position:absolute;
    top:50%;
    left:50%;
    width:150px;
    min-height:76px;
    grid-template-columns:52px minmax(0,1fr);
    --orbit-icon-half:25px;
    transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),0) !important;
  }
  .orbit-node--threads,
  .orbit-node--contact { grid-template-columns:minmax(0,1fr) 52px; }
  .orbit-node .sculpture { width:50px; height:50px; }
  .orbit-node > * { transform:rotateZ(7deg) rotateX(-45deg) !important; }
  [data-view="top"] .orbit-node > * { transform:none !important; }
  [data-phase="focusing"] .orbit-node.is-selected {
    transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),36px) scale(1.1) !important;
  }
  [data-phase="focused"] .orbit-node.is-selected {
    opacity:0;
    transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),60px) scale(2.2) !important;
  }
  .field-map svg:not(.field-map__compact-lines) { display:block; }
  .field-map .field-map__compact-lines { display:none; }
}

/* The mobile landing is a taller spatial canvas. Scrolling creates the room;
   the orbit and constellation keep their desktop interaction and proportions. */
@media (max-width: 767px) {
  body {
    min-height:100%;
    display:block;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .site-topbar__inner {
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    padding-right:calc(18px + env(safe-area-inset-right));
    padding-left:calc(18px + env(safe-area-inset-left));
  }
  .site-brand {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .site-status { white-space:nowrap; }
  .orbital-landing {
    --map-clearance:172px;
    height:1100px;
    min-height:1100px;
    flex:0 0 auto;
    overflow:hidden;
  }
  .overview-layer { position:absolute; inset:0; overflow:hidden; }
  .scene-identity { top:22px; }
  .scene-controls {
    top:300px;
    right:calc(14px + env(safe-area-inset-right));
    left:calc(14px + env(safe-area-inset-left));
  }
  .camera-window {
    top:360px;
    right:env(safe-area-inset-right);
    bottom:auto;
    left:env(safe-area-inset-left);
    height:520px;
    overflow:hidden;
    overscroll-behavior-inline:auto;
    scroll-snap-type:none;
    touch-action:manipulation;
  }
  .camera-rig,
  [data-view="top"] .camera-rig {
    width:min(100%,440px);
    height:clamp(470px,122vw,520px);
    aspect-ratio:auto;
  }
  .orbit-node,
  [data-phase="focusing"] .orbit-node.is-selected,
  [data-phase="focused"] .orbit-node.is-selected { min-height:64px; }
  .field-map {
    right:auto;
    bottom:12px;
    left:50%;
    width:min(calc(100% - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)),360px);
    height:160px;
    display:block;
    padding:0;
    overflow:visible;
    background:transparent;
    transform:translateX(-50%);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .field-map svg:not(.field-map__compact-lines) {
    inset:4px 10px 6px;
    width:calc(100% - 20px);
    height:calc(100% - 10px);
    display:block;
  }
  .field-map .field-map__compact-lines { display:none; }
  .field-map button:nth-of-type(1) { --mobile-mx:50%; --mobile-my:54%; }
  .field-map button:nth-of-type(2) { --mobile-mx:13%; --mobile-my:68%; }
  .field-map button:nth-of-type(3) { --mobile-mx:27%; --mobile-my:25%; }
  .field-map button:nth-of-type(4) { --mobile-mx:44%; --mobile-my:17%; }
  .field-map button:nth-of-type(5) { --mobile-mx:70%; --mobile-my:27%; }
  .field-map button:nth-of-type(6) { --mobile-mx:87%; --mobile-my:68%; }
  .field-map button:nth-of-type(7) { --mobile-mx:58%; --mobile-my:87%; }
  .spatial-detail { inset:0; bottom:var(--map-clearance); }
}

@media (max-width: 340px) and (max-height: 649px) and (orientation: portrait) {
  .orbital-landing { --map-clearance:158px; height:900px; min-height:900px; }
  .scene-controls { top:212px; }
  .camera-window { top:278px; height:420px; }
  .camera-rig,
  [data-view="top"] .camera-rig {
    width:min(100%,400px);
    height:410px;
  }
  .field-map { bottom:8px; height:150px; }
  .orbit-node,
  [data-phase="focusing"] .orbit-node.is-selected,
  [data-phase="focused"] .orbit-node.is-selected {
    --orbit-icon-half:17px;
    width:100px;
    grid-template-columns:36px minmax(0,1fr);
  }
  .orbit-node--threads,
  .orbit-node--contact { grid-template-columns:minmax(0,1fr) 36px; }
  .orbit-node .sculpture { width:34px; height:34px; }
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 767px) {
  .orbital-landing { --map-clearance:126px; height:650px; min-height:650px; }
  .scene-identity {
    top:8px;
    left:calc(12px + env(safe-area-inset-left));
    width:38%;
  }
  .scene-controls { top:8px; right:calc(8px + env(safe-area-inset-right)); left:auto; }
  .camera-window {
    top:110px;
    right:env(safe-area-inset-right);
    bottom:auto;
    left:39%;
    height:410px;
  }
  .camera-rig,
  [data-view="top"] .camera-rig {
    width:min(61vw,370px);
    height:390px;
  }
  .field-map {
    right:auto;
    bottom:18px;
    left:calc(12px + env(safe-area-inset-left));
    width:min(240px,44vw);
    height:108px;
    transform:none;
  }
  .spatial-detail { bottom:var(--map-clearance); }
  .orbit-node,
  [data-phase="focusing"] .orbit-node.is-selected,
  [data-phase="focused"] .orbit-node.is-selected { min-height:60px; }
}

@media (max-width: 767px) and (orientation: portrait) {
  .spatial-detail { overflow:hidden; }
  .facet-detail.is-active,
  [data-active="true"].facet-detail {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    display:block;
    padding:0;
    overflow:hidden;
  }
  .landing-copy,
  [data-phase="focused"] .landing-copy {
    position:absolute;
    z-index:12;
    top:30px;
    left:18px;
    width:calc(100% - 36px);
    padding-right:58px;
  }
  .landing-object,
  [data-phase="focused"] .landing-object {
    position:absolute;
    top:55%;
    left:50%;
    width:min(58vw,220px);
    margin:0;
    transform:translate(-50%,-50%) scale(1);
  }
  .landing-object .sculpture { width:min(30vw,118px); height:min(30vw,118px); }
  .focus-satellites {
    --sat-rx:clamp(88px,29vw,116px);
    --sat-hx:clamp(44px,14.5vw,58px);
    --sat-ry:clamp(72px,10vh,92px);
    --sat-hy:clamp(36px,5vh,46px);
    position:absolute;
    z-index:10;
    top:55%;
    left:50%;
    width:0;
    height:0;
    display:block;
    margin:0;
    pointer-events:none;
  }
  .focus-satellites::before { display:block; }
  .focus-satellites > *,
  [data-phase="focused"] .focus-satellites > *,
  [data-phase="focused"] .focus-satellites > *:nth-child(2),
  [data-phase="focused"] .focus-satellites > *:nth-child(3) {
    position:absolute;
    top:0;
    left:0;
    width:clamp(96px,29vw,116px);
    max-width:none;
    min-height:62px;
    opacity:0;
    transform:translate(-50%,-50%) translate3d(calc(-1 * var(--sat-rx)),calc(-1 * var(--sat-hy)),0);
  }
  [data-phase="focused"] .focus-satellites > * {
    animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 240ms both,satellite-orbit 88s linear 0s infinite;
  }
  [data-phase="focused"] .focus-satellites > *:nth-child(2) {
    animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 340ms both,satellite-orbit 88s linear -29.33s infinite;
  }
  [data-phase="focused"] .focus-satellites > *:nth-child(3) {
    animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 440ms both,satellite-orbit 88s linear -58.66s infinite;
  }
  .focus-satellites .project-satellite--primary { width:clamp(108px,32vw,128px); }
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 1000px) {
  .facet-detail.is-active,
  [data-active="true"].facet-detail {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    display:block;
    padding:0;
    overflow:hidden;
  }
  .landing-copy,
  [data-phase="focused"] .landing-copy {
    position:absolute;
    z-index:12;
    top:28px;
    left:calc(14px + env(safe-area-inset-left));
    width:38%;
    padding:0;
  }
  .landing-object,
  [data-phase="focused"] .landing-object {
    position:absolute;
    top:52%;
    left:69%;
    width:min(30vw,170px);
    margin:0;
    transform:translate(-50%,-50%) scale(1);
  }
  .landing-object .sculpture { width:min(16vw,92px); height:min(16vw,92px); }
  .focus-satellites {
    --sat-rx:clamp(76px,14vw,92px);
    --sat-hx:clamp(38px,7vw,46px);
    --sat-ry:clamp(58px,18vh,76px);
    --sat-hy:clamp(29px,9vh,38px);
    position:absolute;
    z-index:10;
    top:52%;
    left:69%;
    width:0;
    height:0;
    display:block;
    margin:0;
    pointer-events:none;
  }
  .focus-satellites::before { display:block; }
  .focus-satellites > *,
  [data-phase="focused"] .focus-satellites > *,
  [data-phase="focused"] .focus-satellites > *:nth-child(2),
  [data-phase="focused"] .focus-satellites > *:nth-child(3) {
    position:absolute;
    top:0;
    left:0;
    width:clamp(84px,17vw,98px);
    max-width:none;
    min-height:54px;
    opacity:0;
    transform:translate(-50%,-50%) translate3d(calc(-1 * var(--sat-rx)),calc(-1 * var(--sat-hy)),0);
  }
  [data-phase="focused"] .focus-satellites > * {
    animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 240ms both,satellite-orbit 96s linear 0s infinite;
  }
  [data-phase="focused"] .focus-satellites > *:nth-child(2) {
    animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 340ms both,satellite-orbit 96s linear -32s infinite;
  }
  [data-phase="focused"] .focus-satellites > *:nth-child(3) {
    animation:satellite-arrive 520ms cubic-bezier(.17,.84,.2,1) 440ms both,satellite-orbit 96s linear -64s infinite;
  }
  .focus-satellites .project-satellite--primary { width:clamp(92px,19vw,108px); }
}

@media (min-width: 768px) and (max-width: 1100px) and (min-height: 561px) {
  .camera-window { left:44%; }
}

/* Social-card and short-laptop heights need the same compact constellation,
   but with enough clearance below the hero actions. */
@media (min-width: 1101px) and (max-height: 700px) {
  .camera-window { right:18%; }
  .camera-rig { width:min(70vw,840px); }
  .orbit-node { min-height:76px; }
  .node-label span { display:none; }
  .field-map {
    bottom:8px;
    left:36px;
    width:340px;
    height:120px;
  }
  .field-map button { width:56px; }
}

@media (min-width:768px) and (max-width:1100px) and (min-height:561px) {
  .field-map { left:22px; width:min(320px,42vw); height:148px; }
}

/* Fling experiment: a structural trajectory, not a literal space effect. */
.scene-controls [data-orbit-reset] { min-width:92px; }
.scene-controls [data-orbit-reset]:not(:disabled) { color:var(--blue); }
.scene-controls [data-orbit-reset]:disabled,
.scene-controls [data-orbit-reset]:disabled:hover {
  color:var(--quiet);
  background:transparent;
  cursor:default;
  opacity:.38;
}

.track {
  transition:
    border-color 180ms ease,
    opacity 180ms ease;
}
.track.is-comet-track {
  z-index:3;
  border-color:rgba(40,100,199,.72);
  border-style:dashed;
  opacity:.82;
}
.track.is-comet-track i { color:var(--blue); }
.track.is-comet-track i::after { content:" / E-" attr(data-eccentricity) " / T-" attr(data-period) "S"; }

.orbit-node {
  --wake-anchor-x:var(--orbit-transform-origin-x);
  cursor:grab;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
}
.orbit-node--threads,
.orbit-node--contact { --wake-anchor-x:var(--orbit-transform-origin-x); }
.orbit-node.is-grabbed,
.orbit-node.is-dragging { z-index:48; }
.orbit-node.is-dragging { cursor:grabbing; transition:none !important; }
.orbit-node.is-grabbed .sculpture,
.orbit-node.is-dragging .sculpture,
.orbit-node.is-comet .sculpture { color:var(--blue); }
.orbit-node.is-grabbed .node-label,
.orbit-node.is-dragging .node-label,
.orbit-node.is-comet .node-label {
  border-color:var(--blue);
  background:rgba(250,249,244,.82);
}
.orbit-node.is-resetting { transition:transform 760ms cubic-bezier(.16,1,.3,1); }

.orbit-node > .comet-wake {
  --tail-depth-compensation:1.85;
  --wake-inverse:1;
  --wake-intensity:.72;
  --dust-angle:-4deg;
  --dust-bend:-9px;
  position:absolute;
  z-index:1;
  top:50%;
  left:var(--wake-anchor-x);
  width:116px;
  height:20px;
  display:block;
  opacity:0;
  pointer-events:none;
  transform:translate(0,-50%) rotate(var(--tail-angle,0deg)) scaleX(var(--wake-scale,1)) !important;
  transform-origin:0 50%;
  transition:opacity 180ms ease !important;
}
.orbit-node.is-dragging > .comet-wake,
.orbit-node.is-comet > .comet-wake { opacity:var(--wake-intensity); }
.orbit-node > .sculpture,
.orbit-node > .node-label { position:relative; z-index:2; }
.comet-wake i {
  position:absolute;
  left:0;
  display:block;
  transform-origin:0 50%;
}
.comet-wake i:nth-child(1) {
  top:50%;
  width:100%;
  height:3px;
  border-radius:50%;
  background:linear-gradient(90deg,rgba(40,100,199,.72),rgba(22,140,134,.38) 34%,rgba(104,127,196,.16) 70%,transparent);
  filter:blur(.55px);
  transform:translateY(-50%) scaleY(var(--tail-depth-compensation));
}
.comet-wake i:nth-child(2) {
  top:50%;
  width:78%;
  height:10px;
  border-top:1px solid rgba(233,139,39,.72);
  border-radius:55% 95% 0 0;
  filter:blur(.3px);
  transform:rotate(var(--dust-angle)) scaleY(var(--tail-depth-compensation));
}
.comet-wake i:nth-child(3) {
  top:50%;
  width:48%;
  height:9px;
  border-radius:50%;
  background:linear-gradient(90deg,rgba(223,100,44,.3),rgba(233,139,39,.15) 56%,transparent);
  filter:blur(2.2px);
  transform:translateY(-50%) rotate(var(--dust-angle)) scaleY(var(--tail-depth-compensation));
}
.comet-wake b {
  position:absolute;
  z-index:2;
  top:50%;
  left:0;
  width:var(--particle-size);
  height:var(--particle-size);
  display:block;
  border:0;
  border-radius:50%;
  background:rgba(var(--particle-rgb),.96);
  box-shadow:0 0 5px rgba(var(--particle-rgb),.9);
  color:rgb(var(--particle-rgb));
  opacity:0;
  transform:translate3d(-3px,var(--particle-y),0) scale(.3) scaleX(var(--wake-inverse)) scaleY(var(--tail-depth-compensation));
  animation-duration:var(--particle-duration);
  animation-delay:var(--particle-delay);
  animation-timing-function:cubic-bezier(.18,.62,.26,1);
  animation-iteration-count:infinite;
  animation-play-state:paused;
}
.comet-wake b::before {
  content:"";
  position:absolute;
  top:50%;
  right:50%;
  width:var(--particle-trail);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--particle-rgb),.88));
  transform:translateY(-50%);
}
.comet-wake b::after {
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(var(--particle-rgb),.3),transparent 72%);
}
.comet-wake .comet-particle--ion { animation-name:comet-ion-eject; }
.comet-wake .comet-particle--dust { animation-name:comet-dust-eject; }
.orbit-node.is-dragging > .comet-wake b,
.orbit-node.is-comet > .comet-wake b { animation-play-state:running; }
[data-motion="paused"] .comet-wake b { animation-play-state:paused !important; }

@keyframes comet-ion-eject {
  0% { opacity:0; transform:translate3d(-3px,var(--particle-y),0) scale(.3) scaleX(var(--wake-inverse)) scaleY(var(--tail-depth-compensation)); }
  10% { opacity:var(--particle-alpha); transform:translate3d(2px,var(--particle-y),0) scale(1) scaleX(var(--wake-inverse)) scaleY(var(--tail-depth-compensation)); }
  68% { opacity:var(--particle-alpha); }
  100% { opacity:0; transform:translate3d(var(--particle-distance),calc(var(--particle-y) + var(--particle-jitter)),0) scale(.58) scaleX(var(--wake-inverse)) scaleY(var(--tail-depth-compensation)); }
}

@keyframes comet-dust-eject {
  0% { opacity:0; transform:translate3d(-2px,var(--particle-y),0) scale(.35) scaleX(var(--wake-inverse)) scaleY(var(--tail-depth-compensation)); }
  13% { opacity:var(--particle-alpha); transform:translate3d(2px,var(--particle-y),0) scale(1) scaleX(var(--wake-inverse)) scaleY(var(--tail-depth-compensation)); }
  58% { opacity:var(--particle-alpha); transform:translate3d(34px,calc(var(--particle-y) + var(--particle-jitter)),0) scale(.86) scaleX(var(--wake-inverse)) scaleY(var(--tail-depth-compensation)); }
  100% { opacity:0; transform:translate3d(var(--particle-distance),calc(var(--particle-y) + var(--dust-bend) + var(--particle-jitter)),0) scale(.62) scaleX(var(--wake-inverse)) scaleY(var(--tail-depth-compensation)); }
}

[data-view="top"] .comet-wake { --tail-depth-compensation:1; }

@media (min-width:768px) and (max-width:1100px) and (min-height:561px) {
  .orbit-node > .comet-wake { --tail-depth-compensation:1.45; }
  .orbit-node { --wake-anchor-x:var(--orbit-transform-origin-x); }
  .orbit-node--threads,
  .orbit-node--contact { --wake-anchor-x:var(--orbit-transform-origin-x); }
}

@media (max-width:767px) {
  .scene-controls [data-orbit-reset] { min-width:76px; padding-inline:6px; font-size:6px; }
  .orbit-node { --wake-anchor-x:var(--orbit-transform-origin-x); touch-action:none; }
  .orbit-node--threads,
  .orbit-node--contact { --wake-anchor-x:var(--orbit-transform-origin-x); }
  .orbit-node > .comet-wake { --tail-depth-compensation:1.3; width:78px; height:17px; }
  .orbit-node > .comet-wake b { width:var(--particle-mobile-size); height:var(--particle-mobile-size); }
}

@media (orientation:landscape) and (max-height:560px) and (max-width:1000px) {
  .scene-controls [data-orbit-reset] { min-width:70px; padding-inline:5px; font-size:6px; }
  .orbit-node { --wake-anchor-x:var(--orbit-transform-origin-x); touch-action:none; }
  .orbit-node--threads,
  .orbit-node--contact { --wake-anchor-x:var(--orbit-transform-origin-x); }
  .orbit-node > .comet-wake { --tail-depth-compensation:1.3; }
}

@media (max-width:767px), (orientation:landscape) and (max-height:560px) and (max-width:1000px) {
  .landing-object--project-logos .project-app-orbits { width:86%; }
  .landing-object--project-logos .project-app-logo { width:clamp(20px,6vw,28px); }
  .landing-object--project-logos .project-app-ring--inner .project-app-logo { width:clamp(14px,4.2vw,20px); }
  .landing-object--project-logos .project-app-core { width:clamp(28px,8vw,36px); }
  .landing-object--project-logos .project-app-core b { font-size:clamp(10px,3vw,14px); }
  .landing-object--project-logos .project-app-core small { margin-top:2px; font-size:clamp(3px,1vw,5px); }
}

/* 02 and 05 begin on opposite sides of the field. Their labels face outward
   deterministically so the swapped phases stay clear without edge correction. */
.orbit-node--profile {
  --orbit-anchor-x:calc(-100% + var(--orbit-icon-half));
  --orbit-transform-origin-x:calc(100% - var(--orbit-icon-half));
  grid-template-columns:minmax(0,1fr) max-content;
}
.orbit-node--profile .sculpture { grid-column:2; grid-row:1; }
.orbit-node--profile .node-label {
  grid-column:1;
  grid-row:1;
  padding-right:10px;
  padding-left:7px;
  border-right:1px solid var(--line);
  border-left:0;
  text-align:right;
}
.orbit-node--threads {
  --orbit-anchor-x:calc(0px - var(--orbit-icon-half));
  --orbit-transform-origin-x:var(--orbit-icon-half);
  grid-template-columns:max-content minmax(0,1fr);
}
.orbit-node--threads .sculpture { grid-column:1; grid-row:1; }
.orbit-node--threads .node-label {
  grid-column:2;
  grid-row:1;
  padding-right:7px;
  padding-left:10px;
  border-right:0;
  border-left:1px solid var(--line);
  text-align:left;
}
@media (max-width:1100px) {
  .orbit-node--about {
    --orbit-anchor-x:calc(-100% + var(--orbit-icon-half));
    --orbit-transform-origin-x:calc(100% - var(--orbit-icon-half));
    grid-template-columns:minmax(0,1fr) max-content;
  }
  .orbit-node--about .sculpture { grid-column:2; grid-row:1; }
  .orbit-node--about .node-label {
    grid-column:1;
    grid-row:1;
    padding:5px 6px 6px 4px;
    border-right:1px solid var(--line);
    border-left:0;
    text-align:right;
  }
  .orbit-node--profile .node-label { padding:5px 6px 6px 4px; }
  .orbit-node--threads .node-label { padding:5px 4px 6px 6px; }
}

.no-js body, .no-js { overflow:auto; }
.no-js .orbital-landing { height:auto; min-height:0; overflow:visible; }
.no-js .overview-layer { position:relative; min-height:720px; }
.no-js .scene-controls, .no-js .field-map, .no-js .scene-readout, .no-js .camera-window, .no-js .dashboard-preview, .no-js .detail-close, .no-js .detail-backdrop { display:none; }
.no-js .scene-identity { width:min(760px,80vw); }
.no-js .spatial-detail[hidden] { position:relative; display:block !important; opacity:1; overflow:visible; background:var(--white); }
.no-js .facet-detail { position:relative; min-height:700px; display:block; border-top:1px solid var(--line); }
.no-js .landing-object { opacity:1; transform:translate(-50%,-50%) scale(1); }
.no-js .landing-copy { opacity:1; transform:none; }
.no-js .focus-satellites { inset:0; width:auto; height:auto; transform:none; }
.no-js .focus-satellites::before { display:none; }
.no-js .focus-satellites > * { top:var(--sy); left:var(--sx); opacity:1; transform:none; animation:none; }
.noscript-note { margin:20px; padding:13px; border:1px solid var(--line); color:var(--muted); font-size:11px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
  .camera-rig, .camera-window, .orbit-node, .orbit-node > *, .overview-layer, .spatial-detail, .landing-object, .landing-copy, .view-icon i { transition-duration:.001ms !important; }
  .track { transition:none !important; }
  .orbit-node { cursor:pointer; touch-action:manipulation; }
  .orbit-node > .comet-wake { display:none; }
  .project-app-ring, .project-app-logo img { animation:none !important; }
}

@media (prefers-reduced-motion: reduce) and (min-width:767px) and (min-height:561px) {
  .focus-satellites > * { opacity:1; animation:none !important; }
  .focus-satellites > *:nth-child(1) { transform:translate(-50%,-50%) translate3d(calc(-1 * var(--sat-rx)),calc(-1 * var(--sat-hy)),0); }
  .focus-satellites > *:nth-child(2) { transform:translate(-50%,-50%) translate3d(var(--sat-rx),calc(-1 * var(--sat-hy)),0); }
  .focus-satellites > *:nth-child(3) { transform:translate(-50%,-50%) translate3d(var(--sat-hx),var(--sat-ry),0); }
}

@media (prefers-reduced-motion: reduce) and (max-width:766px) {
  [data-phase="focused"] .focus-satellites > * { opacity:1; animation:none !important; }
  [data-phase="focused"] .focus-satellites > *:nth-child(1) { opacity:1; transform:translate(-50%,-50%) translate3d(calc(-1 * var(--sat-rx)),calc(-1 * var(--sat-hy)),0) !important; }
  [data-phase="focused"] .focus-satellites > *:nth-child(2) { opacity:1; transform:translate(-50%,-50%) translate3d(var(--sat-rx),calc(-1 * var(--sat-hy)),0) !important; }
  [data-phase="focused"] .focus-satellites > *:nth-child(3) { opacity:1; transform:translate(-50%,-50%) translate3d(var(--sat-hx),var(--sat-ry),0) !important; }
}

/* Project Worlds-style focus travel, adapted to live orbital positions. */
.orbital-landing {
  --focus-origin-x:62%;
  --focus-origin-y:50%;
  --focus-scale:1.52;
}

.camera-window {
  transform-origin:var(--focus-origin-x) var(--focus-origin-y);
}

[data-phase="focusing"] .camera-window,
[data-phase="focused"] .camera-window {
  opacity:.56;
  transform:translate3d(var(--focus-shift-x),var(--focus-shift-y),0) scale(var(--focus-scale));
}

[data-phase="focusing"] .orbit-node:not(.is-selected),
[data-phase="focused"] .orbit-node:not(.is-selected) {
  opacity:.2;
}

[data-phase="focusing"] .orbit-node.is-selected,
[data-phase="focused"] .orbit-node.is-selected {
  z-index:40;
  transition:transform 760ms cubic-bezier(.16,.82,.22,1), opacity 360ms ease;
}

[data-phase="focusing"] .orbit-node.is-selected {
  opacity:1;
  transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),48px) scale(1.32) !important;
}

[data-phase="focused"] .orbit-node.is-selected {
  opacity:0;
  transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),68px) scale(2.35) !important;
}

/* Focused destination traversal has an explicit causal handoff:
   pull back from the held outgoing body, commit at the neutral field,
   then grow the incoming body from its own live orbital position. */
[data-phase="transferring"] .scene-identity {
  opacity:.11;
  transform:translateX(-18px);
}

[data-phase="transferring"] .scene-controls,
[data-phase="transferring"] .scene-readout,
[data-phase="transferring"] .dashboard-preview {
  opacity:0;
  pointer-events:none;
}

[data-phase="transferring"] .orbit-node:not(.is-selected) {
  opacity:.2;
}

[data-phase="transferring"][data-transfer-stage="outgoing"] .camera-window {
  opacity:.72;
  transform:none;
  transition:transform 420ms cubic-bezier(.4,0,.2,1), opacity 300ms ease;
}

[data-phase="transferring"][data-transfer-stage="outgoing"] .orbit-node.is-selected {
  z-index:40;
  opacity:1;
  transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),24px) scale(1.08) !important;
  transition:transform 420ms cubic-bezier(.4,0,.2,1), opacity 280ms ease;
}

[data-phase="transferring"][data-transfer-stage="incoming"] .camera-window {
  opacity:.72;
  transform:none;
  transition:none;
}

[data-phase="transferring"][data-transfer-stage="incoming"] .orbit-node.is-selected {
  z-index:40;
  opacity:.45;
  transform:translate(var(--orbit-anchor-x),-50%) translate3d(var(--x),var(--y),0) scale(1) !important;
  transition:none;
}

.facet-flight-controls {
  position:absolute;
  z-index:25;
  right:24px;
  bottom:22px;
  width:min(560px,44vw);
  min-height:62px;
  display:grid;
  grid-template-columns:112px minmax(190px,1fr) 112px;
  align-items:center;
  border-top:1px solid var(--line);
  background:linear-gradient(90deg,transparent,rgba(250,249,244,.9) 12% 88%,transparent);
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity 300ms ease 260ms, transform 480ms cubic-bezier(.16,.82,.22,1) 220ms;
}

[data-phase="focused"] .facet-flight-controls {
  opacity:1;
  pointer-events:auto;
  transform:none;
}

.facet-flight-controls button {
  min-width:48px;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:6px 9px;
  border:0;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font-family:var(--headline);
}

.facet-flight-controls button span {
  color:var(--blue);
  font-size:20px;
  line-height:1;
}

.facet-flight-controls button small {
  max-width:78px;
  font-size:7px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
  white-space:normal;
}

.facet-flight-controls button:hover,
.facet-flight-controls button:focus-visible {
  background:var(--blue-faint);
  color:var(--blue);
  outline:0;
}

.facet-flight-controls p {
  min-width:0;
  margin:0;
  text-align:center;
}

.facet-flight-controls p strong,
.facet-flight-controls p span {
  display:block;
}

.facet-flight-controls p strong {
  color:var(--ink);
  font:700 9px/1.2 var(--headline);
  letter-spacing:.09em;
}

.facet-flight-controls p span {
  margin-top:5px;
  overflow:hidden;
  color:var(--quiet);
  font:500 7px/1.3 var(--headline);
  letter-spacing:.035em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:1100px) {
  .orbital-landing { --focus-scale:1.36; }
  .facet-flight-controls { right:16px; bottom:16px; width:min(520px,58vw); }
}

@media (max-width:767px) {
  .orbital-landing { --focus-scale:1.27; }
  .facet-flight-controls {
    position:fixed;
    right:12px;
    bottom:10px;
    width:calc(100% - 24px);
    min-height:58px;
    grid-template-columns:52px minmax(0,1fr) 52px;
    background:linear-gradient(90deg,rgba(250,249,244,.8),rgba(250,249,244,.96) 14% 86%,rgba(250,249,244,.8));
  }
  .facet-flight-controls button { min-height:48px; padding:4px; }
  .facet-flight-controls button small { display:none; }
  .facet-flight-controls p strong { font-size:8px; }
  .facet-flight-controls p span { max-width:16rem; margin-inline:auto; font-size:6px; }
}

@media (orientation:landscape) and (max-height:560px) and (max-width:1000px) {
  .orbital-landing { --focus-scale:1.3; }
  .facet-flight-controls {
    right:8px;
    bottom:8px;
    width:min(480px,56vw);
    min-height:48px;
  }
  .facet-flight-controls button { min-height:44px; }
  .facet-flight-controls p span { display:none; }
}

.no-js .facet-flight-controls { display:none; }
