/* Original scene v3. All orbit strokes and body paths share one geometry source. */
.hero { isolation:isolate; min-height:min(94vh,920px); }
.hero::after { z-index:2; height:22%; background:linear-gradient(transparent,#04060c); }
.hero__inner { z-index:3; pointer-events:none; }
.hero__inner h1 { text-shadow:0 2px 40px #02050b,0 0 80px #02050b; }
.hero__inner a { pointer-events:auto; }
.orbit-scene { position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0; }
.orbit-scene::before { content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 16%,#10354255,transparent 36%),radial-gradient(ellipse at 10% 70%,#1235473d,transparent 40%); }
.orbit-stars { position:absolute;inset:0;width:100%;height:100%; }
.orbit-stars circle { fill:#dceff1; }
.orbit-plane { position:absolute;inset:0; }
.orbit-lines { position:absolute;inset:0;width:100%;height:100%;overflow:visible; }
.orbit-track { fill:none;stroke:#7dcecd;stroke-opacity:.24;stroke-width:1;vector-effect:non-scaling-stroke; }
.orbit-track:nth-child(2) { stroke-opacity:.18; }
.orbit-track:nth-child(3) { stroke-opacity:.11; }
.orbiter { position:absolute;left:0;top:0;width:var(--body-size);aspect-ratio:1;offset-anchor:50% 50%;offset-rotate:0deg;offset-position:0px 0px;animation:sos-orbit var(--orbit-period) linear infinite;animation-direction:normal;animation-delay:var(--orbit-delay);will-change:offset-distance; }
.orbiter--earth { --body-size:clamp(92px,12.5vw,180px);--orbit-period:42s;--orbit-delay:-34s; }
.orbiter--moon { --body-size:clamp(42px,5.5vw,82px);--orbit-period:29s;--orbit-delay:-11s; }
.orbiter--outer { --body-size:clamp(24px,3vw,46px);--orbit-period:62s;--orbit-delay:-44s;animation-direction:normal; }
.planet-surface { width:100%;height:100%;background-position:0 0;background-repeat:no-repeat;background-size:100% 100%;border-radius:50%;filter:drop-shadow(-3px -2px 7px #63cbfa36); }
.orbiter--earth .planet-surface { background-image:url('/website-v3/earth.webp'); }
.orbiter--moon .planet-surface,.orbiter--outer .planet-surface { background-image:url('/website-v3/moon.webp');filter:drop-shadow(-1px -1px 3px #d9e6e228); }
@keyframes sos-orbit { from{offset-distance:0%}to{offset-distance:100%} }
.orbit-scene[data-motion='paused'] .orbiter,.orbit-scene[data-motion='paused'] .planet-surface { animation-play-state:paused; }
.motion-toggle { position:absolute;z-index:4;right:24px;bottom:28px;background:#08121a99;color:#b6d0d6;border:1px solid #688b913d;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font:14px system-ui; }
.motion-toggle:hover { border-color:#5eead4; }
.motion-toggle:focus-visible { outline:2px solid #5eead4;outline-offset:4px; }
.motion-toggle svg { width:14px;height:14px;fill:currentColor; }
/* A new exploded architecture, not the reference cube-cluster image. */
.systems-architecture { width:100%;max-width:500px;aspect-ratio:560/480;overflow:visible; }
.systems-architecture .platform { stroke:#6eada9;stroke-width:1;fill:url('#platform-glass'); }
.systems-architecture .platform-side { stroke:#416160;stroke-width:1;fill:url('#platform-edge'); }
.systems-architecture .board-trace { fill:none;stroke:#3d6b68;stroke-width:1; }
.systems-architecture .data-line { fill:none;stroke:#55e4c9;stroke-width:1.4;stroke-dasharray:5 15;animation:sos-data-flow 3s linear infinite; }
.systems-architecture .tier-top { animation:sos-tier-top 6s ease-in-out infinite; }
.systems-architecture .tier-middle { animation:sos-tier-middle 6s ease-in-out infinite; }
.systems-architecture .tier-core { animation:sos-core-light 4s ease-in-out infinite; }
.systems-architecture .port { fill:#9bf8e4;filter:url('#systems-glow'); }
@keyframes sos-tier-top { 0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)} }
@keyframes sos-tier-middle { 0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)} }
@keyframes sos-data-flow { to{stroke-dashoffset:-80} }
@keyframes sos-core-light { 0%,100%{opacity:.62}50%{opacity:1} }
.systems-architecture[data-motion='paused'] * { animation-play-state:paused!important; }
@media(max-width:760px) {
  .hero { min-height:760px; }
  .hero__inner { padding-block:12px; }
  .motion-toggle { bottom:30px;right:18px; }
  .systems-architecture { max-width:400px; }
}
@media(prefers-reduced-motion:reduce) {
  .orbiter,.planet-surface,.systems-architecture * { animation:none!important; }
  .orbiter--earth{offset-distance:81%}.orbiter--moon{offset-distance:38%}.orbiter--outer{offset-distance:71%}
}

/* Smooth sphere rendering: continuous sampling, no sprite clock or steps(). */
.planet-surface { position:relative; }
.globe-canvas { display:block;width:100%;height:100%;border-radius:50%; }
.planet-surface[data-ready="true"] { background-image:none!important; }
