@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#080a12;--panel:#101421;--panel-2:#131a2b;--ink:#eef4ff;--muted:#929bb3;--line:rgba(162,181,235,.15);--cyan:#67e8ff;--blue:#6b94ff;--violet:#bd7bff;--pink:#ff72d2;--mono:'DM Mono',ui-monospace,monospace;--sans:'Manrope',Inter,ui-sans-serif,system-ui,sans-serif;--grad:linear-gradient(105deg,var(--cyan),#8d9aff 48%,var(--violet) 78%,var(--pink));font-family:var(--sans)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--bg);color:var(--ink);line-height:1.65}body:before{content:"";position:fixed;inset:-25%;z-index:-3;pointer-events:none;background:radial-gradient(ellipse at 15% 20%,rgba(51,111,231,.20),transparent 34%),radial-gradient(ellipse at 82% 42%,rgba(137,57,206,.17),transparent 32%),radial-gradient(ellipse at 40% 95%,rgba(31,171,201,.11),transparent 30%);animation:nebula 24s ease-in-out infinite alternate}body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.19;background-image:linear-gradient(rgba(110,149,220,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(110,149,220,.12) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);transform:perspective(900px) rotateX(62deg) scale(1.8) translateY(10%);transform-origin:center bottom}.wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}a{color:inherit}button{font:inherit}.progress{position:fixed;z-index:30;inset:0 0 auto;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;box-shadow:0 0 18px rgba(103,232,255,.65)}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(162,181,235,.11);background:rgba(8,10,18,.72);backdrop-filter:blur(20px)}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:750;letter-spacing:-.04em}.brand-mark{width:33px;height:33px;display:grid;place-items:center;border:1px solid rgba(103,232,255,.46);border-radius:9px;color:var(--cyan);font-family:var(--mono);font-size:.76rem;box-shadow:inset 0 0 18px rgba(103,232,255,.08),0 0 22px rgba(103,232,255,.08)}.brand-name{font-size:.91rem}.brand-name span{color:var(--muted);font-weight:500}.nav{display:flex;align-items:center;gap:7px}.nav a{padding:8px 13px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-size:.78rem;text-decoration:none;transition:color .2s,border-color .2s,background .2s}.nav a:hover,.nav a:focus-visible,.nav a[aria-current=page]{color:var(--ink);border-color:rgba(103,232,255,.21);background:rgba(103,232,255,.055)}.nav a[aria-current=page]{color:var(--cyan)}.hero{position:relative;min-height:650px;padding:100px 0 105px;display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center}.hero-copy{position:relative;z-index:2}.eyebrow,.micro-label{display:inline-flex;align-items:center;gap:9px;color:var(--cyan);font:500 .68rem var(--mono);letter-spacing:.14em;text-transform:uppercase}.status-dot{position:relative;width:7px;height:7px;border-radius:50%;background:#73ffcc;box-shadow:0 0 11px #73ffcc}.status-dot:after{content:"";position:absolute;inset:-4px;border:1px solid rgba(115,255,204,.6);border-radius:50%;animation:pulse 1.9s ease-out infinite}.hero h1{margin:23px 0 25px;font-size:clamp(4.3rem,9.2vw,8.5rem);line-height:.82;letter-spacing:-.105em;font-weight:700}.gradient-text{color:transparent;background:var(--grad);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;animation:gradient 9s ease-in-out infinite}.hero-subtitle{max-width:530px;margin:0;color:#bac4d8;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.8}.hero-subtitle strong{color:var(--ink);font-weight:600}.hero-actions{display:flex;align-items:center;gap:15px;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border:1px solid rgba(103,232,255,.38);border-radius:7px;background:linear-gradient(110deg,rgba(103,232,255,.13),rgba(189,123,255,.12));color:var(--ink);font-size:.8rem;font-weight:650;text-decoration:none;box-shadow:0 0 28px rgba(103,232,255,.07);transition:transform .2s,border-color .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);border-color:var(--cyan);box-shadow:0 0 32px rgba(103,232,255,.18)}.button .arrow{color:var(--cyan);font-size:1.05rem}.hero-note{color:var(--muted);font: .66rem var(--mono);letter-spacing:.03em}.hero-visual{position:relative;min-height:455px;display:grid;place-items:center;perspective:900px}.orbital{position:absolute;width:min(38vw,430px);aspect-ratio:1;border:1px solid rgba(107,148,255,.26);border-radius:50%;box-shadow:inset 0 0 70px rgba(76,129,255,.07),0 0 80px rgba(76,129,255,.07);animation:rotate 32s linear infinite}.orbital:before,.orbital:after{content:"";position:absolute;border:1px solid rgba(189,123,255,.26);border-radius:50%;inset:12%;transform:rotateX(68deg) rotateZ(24deg)}.orbital:after{inset:22%;border-color:rgba(103,232,255,.35);transform:rotateX(68deg) rotateZ(-34deg)}.orb-core{position:relative;width:155px;aspect-ratio:1;border:1px solid rgba(135,184,255,.72);border-radius:50%;background:radial-gradient(circle at 38% 31%,rgba(103,232,255,.92),rgba(71,121,236,.54) 16%,rgba(101,67,193,.32) 38%,rgba(16,20,36,.15) 68%);box-shadow:0 0 30px rgba(103,232,255,.34),inset -18px -18px 45px rgba(156,72,255,.38),inset 12px 10px 36px rgba(103,232,255,.35);animation:float 5.5s ease-in-out infinite}.orb-core:after{content:"";position:absolute;inset:-10px;border:1px solid rgba(255,255,255,.21);border-radius:50%;filter:blur(1px)}.orbit-node{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px 4px rgba(103,232,255,.55);top:15%;left:29%}.orbit-node.two{top:auto;left:auto;bottom:19%;right:14%;width:6px;height:6px;background:var(--pink);box-shadow:0 0 18px 4px rgba(255,114,210,.55)}.hud-card{position:absolute;right:0;bottom:14px;width:240px;padding:17px 18px;border:1px solid rgba(152,178,235,.22);border-radius:9px;background:linear-gradient(135deg,rgba(20,26,42,.92),rgba(20,18,37,.88));box-shadow:0 18px 60px rgba(0,0,0,.34);backdrop-filter:blur(15px);animation:float 6s ease-in-out infinite reverse}.hud-top{display:flex;justify-content:space-between;gap:14px;padding-bottom:11px;border-bottom:1px solid var(--line);color:var(--muted);font: .61rem var(--mono);letter-spacing:.09em}.hud-top b{color:#73ffcc;font-weight:400}.hud-title{margin:13px 0 5px;font-size:.94rem;font-weight:650}.hud-copy{margin:0;color:var(--muted);font-size:.7rem}.hud-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.hud-tags span{padding:4px 7px;border:1px solid rgba(103,232,255,.17);border-radius:4px;color:#bdc7dc;font: .57rem var(--mono)}.section{position:relative;padding:76px 0;border-top:1px solid rgba(162,181,235,.13)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}.section-index{color:var(--muted);font: .67rem var(--mono);letter-spacing:.12em}.section h2{margin:8px 0 0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;letter-spacing:-.065em}.section-intro{max-width:420px;margin:0;color:var(--muted);font-size:.9rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.about-copy{max-width:570px;color:#b6bfd1;font-size:1rem}.about-copy p{margin:0 0 15px}.about-copy p:last-child{margin-bottom:0}.code-panel{border:1px solid rgba(150,173,225,.17);border-radius:9px;background:rgba(14,18,29,.78);overflow:hidden;box-shadow:0 15px 55px rgba(0,0,0,.18)}.code-bar{height:38px;display:flex;align-items:center;gap:6px;padding:0 13px;border-bottom:1px solid var(--line);color:var(--muted);font: .6rem var(--mono)}.code-bar i{width:6px;height:6px;border-radius:50%;background:#ff6b85}.code-bar i:nth-child(2){background:#ffc45c}.code-bar i:nth-child(3){background:#73ffcc}.code-bar span{margin-left:9px}.code-body{padding:17px 19px;color:#b9c4d7;font: .7rem/1.95 var(--mono)}.code-body .line-num{display:inline-block;width:25px;color:#535e75}.code-body .key{color:#c792ea}.code-body .prop{color:var(--cyan)}.code-body .value{color:#c3e88d}.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.interest-card{position:relative;min-height:210px;padding:21px;border:1px solid rgba(150,173,225,.16);border-radius:9px;background:linear-gradient(145deg,rgba(17,23,37,.84),rgba(12,14,24,.78));overflow:hidden;transition:transform .25s,border-color .25s,background .25s}.interest-card:before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(circle at 100% 0,rgba(103,232,255,.14),transparent 45%);transition:opacity .25s}.interest-card:hover{transform:translateY(-5px);border-color:rgba(103,232,255,.4)}.interest-card:hover:before{opacity:1}.card-top{position:relative;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font: .61rem var(--mono)}.card-symbol{display:grid;place-items:center;width:33px;height:33px;border:1px solid rgba(103,232,255,.25);border-radius:8px;color:var(--cyan);font:1rem var(--mono);box-shadow:inset 0 0 14px rgba(103,232,255,.08)}.interest-card h3{position:relative;margin:36px 0 7px;font-size:1rem;letter-spacing:-.025em}.interest-card p{position:relative;margin:0;color:var(--muted);font-size:.78rem;line-height:1.7}.interest-card .trace{position:absolute;bottom:0;left:21px;right:21px;height:1px;background:linear-gradient(90deg,transparent,var(--blue),var(--violet),transparent);opacity:.45}.now-panel{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:30px;border:1px solid rgba(135,119,255,.28);border-radius:10px;background:linear-gradient(120deg,rgba(48,69,114,.2),rgba(86,43,122,.19)),rgba(15,18,30,.8);box-shadow:inset 0 0 50px rgba(104,93,255,.05)}.now-panel h3{margin:9px 0 7px;font-size:1.25rem;letter-spacing:-.04em}.now-panel p{max-width:600px;margin:0;color:var(--muted);font-size:.85rem}.now-state{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#8fffd1;font: .61rem var(--mono);letter-spacing:.08em}.site-footer{padding:28px 0 38px;border-top:1px solid rgba(162,181,235,.13);color:var(--muted);font: .65rem var(--mono)}.footer-row{display:flex;justify-content:space-between;gap:16px}.footer-mark{color:var(--cyan)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}.intro-anim{animation:rise .85s both}.delay-1{animation-delay:.12s}.delay-2{animation-delay:.22s}@keyframes rise{from{opacity:0;transform:translateY(19px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}@keyframes pulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.8);opacity:0}}@keyframes nebula{from{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(1.5%,1%,0) scale(1.06)}}
@media(max-width:850px){.wrap{width:min(100% - 42px,720px)}.hero{min-height:auto;padding:90px 0 85px;grid-template-columns:1fr  .75fr;gap:15px}.hero-visual{min-height:360px}.orbital{width:36vw}.hud-card{width:205px;right:-5px}.interest-grid{grid-template-columns:1fr 1fr}.interest-card:last-child{grid-column:span 2;min-height:170px}.about-grid{gap:35px}}
@media(max-width:620px){.wrap{width:calc(100% - 34px)}.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:14px 0}.nav{gap:2px}.nav a{padding:7px 8px;font-size:.69rem}.brand-name{font-size:.82rem}.hero{display:flex;flex-direction:column;align-items:stretch;padding:76px 0 65px}.hero h1{font-size:clamp(4.5rem,19vw,7rem)}.hero-visual{min-height:350px;margin-top:6px}.orbital{width:min(76vw,350px)}.orb-core{width:125px}.hud-card{right:2px;bottom:2px}.hero-actions{flex-wrap:wrap}.section{padding:58px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:13px}.about-grid{grid-template-columns:1fr;gap:23px}.interest-grid{grid-template-columns:1fr}.interest-card,.interest-card:last-child{grid-column:auto;min-height:175px}.now-panel{grid-template-columns:1fr;padding:23px}.now-state{white-space:normal}.footer-row{flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Helios project visuals */
.helios-feature{position:relative;min-height:330px;display:flex;align-items:flex-end;overflow:hidden;padding:32px;border:1px solid rgba(103,232,255,.28);border-radius:12px;background:#111827;isolation:isolate;text-decoration:none;box-shadow:0 18px 70px rgba(0,0,0,.24);transition:transform .3s,border-color .3s}.helios-feature:before{content:"";position:absolute;z-index:-2;inset:0;background:url('assets/helios/workbench-flight-computer.jpg') center 45%/cover;opacity:.56;transform:scale(1.02);transition:transform .7s,opacity .3s}.helios-feature:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,10,18,.97) 0%,rgba(7,10,18,.74) 48%,rgba(7,10,18,.14) 100%),linear-gradient(0deg,rgba(7,10,18,.6),transparent 55%)}.helios-feature:hover{transform:translateY(-4px);border-color:rgba(103,232,255,.64)}.helios-feature:hover:before{transform:scale(1.07);opacity:.72}.helios-feature-content{max-width:620px}.helios-feature h3{margin:9px 0 10px;font-size:clamp(2rem,5vw,3.5rem);line-height:1;letter-spacing:-.075em}.helios-feature p{max-width:510px;margin:0;color:#c0c8d8;font-size:.86rem}.helios-feature-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:21px}.helios-feature-meta span{padding:6px 9px;border:1px solid rgba(176,195,238,.25);border-radius:5px;background:rgba(11,15,27,.48);color:#d1dcf2;font: .59rem var(--mono);letter-spacing:.07em}.helios-feature-arrow{position:absolute;right:27px;top:24px;color:var(--cyan);font-size:1.4rem}.project-hero{position:relative;min-height:480px;display:flex;align-items:flex-end;margin-top:28px;padding:clamp(25px,6vw,58px);overflow:hidden;border:1px solid rgba(103,232,255,.24);border-radius:12px;background:#101524;isolation:isolate}.project-hero:before{content:"";position:absolute;z-index:-2;inset:0;background:url('assets/helios/ground-station-telemetry.jpg') center 40%/cover;opacity:.54;transform:scale(1.02)}.project-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,10,18,.96),rgba(7,10,18,.5) 68%,rgba(7,10,18,.19)),linear-gradient(0deg,rgba(7,10,18,.68),transparent 60%)}.project-hero-copy{max-width:760px}.project-hero h1{margin:18px 0 16px;font-size:clamp(3.3rem,9vw,7.2rem);line-height:.84;letter-spacing:-.105em}.project-hero p{max-width:620px;color:#c0c8d8;font-size:1rem}.project-labels{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.project-labels span{padding:6px 9px;border:1px solid rgba(103,232,255,.25);border-radius:5px;background:rgba(9,14,25,.5);color:#d8e7ff;font: .61rem var(--mono);letter-spacing:.06em}.project-overview{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.project-overview p{margin:0 0 14px;color:#b6bfd1}.project-overview p:last-child{margin-bottom:0}.project-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.project-photo{position:relative;display:block;aspect-ratio:1.1;overflow:hidden;border:1px solid rgba(150,173,225,.2);border-radius:8px;background:#131827;cursor:zoom-in}.project-photo.wide{grid-column:span 2;aspect-ratio:2.2}.project-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s,filter .4s;filter:saturate(.86)}.project-photo:hover img{transform:scale(1.055);filter:saturate(1.08)}.project-photo:after{content:"↗";position:absolute;right:10px;top:10px;width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(7,10,18,.55);color:white;opacity:0;transition:opacity .2s}.project-photo:hover:after{opacity:1}.photo-caption{position:absolute;inset:auto 0 0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(5,8,15,.88));color:#e7edfa;font: .59rem var(--mono);letter-spacing:.04em}.media-frame{overflow:hidden;border:1px solid rgba(150,173,225,.2);border-radius:10px;background:#090c14}.media-frame video{display:block;width:100%;max-height:620px;background:#05070c}.media-caption{display:flex;justify-content:space-between;gap:20px;padding:12px 15px;color:var(--muted);font: .61rem var(--mono)}.lightbox{width:min(1100px,calc(100% - 28px));max-width:none;max-height:94vh;padding:0;border:1px solid rgba(103,232,255,.35);border-radius:10px;background:#080a12;color:var(--ink);box-shadow:0 25px 100px #000}.lightbox::backdrop{background:rgba(3,5,10,.88);backdrop-filter:blur(8px)}.lightbox img{display:block;max-width:100%;max-height:82vh;margin:auto;object-fit:contain}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 14px;color:#cbd5e8;font: .7rem var(--mono)}.lightbox-close{width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);cursor:pointer}.gallery-project-note{margin:0 0 18px;color:var(--muted);font-size:.76rem}
@media(max-width:720px){.project-overview{grid-template-columns:1fr;gap:24px}.project-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-photo.wide{grid-column:span 2}.helios-feature{min-height:360px;padding:23px}.project-hero{min-height:420px}}
@media(prefers-reduced-motion:reduce){.helios-feature,.helios-feature:before,.project-photo img{transition:none}}
.architecture-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.architecture-grid .interest-card{min-height:196px;padding:17px}.architecture-grid .interest-card h3{margin-top:27px;font-size:.91rem}.architecture-grid .interest-card p{font-size:.73rem}.telemetry-panel{margin-top:18px}.telemetry-line{padding:14px 17px;overflow-x:auto;color:#c7d5ec;font: .69rem/1.8 var(--mono);white-space:nowrap}.telemetry-line .packet{color:var(--cyan)}.telemetry-line .field{color:#d4a8ff}.telemetry-meta{display:flex;justify-content:space-between;gap:14px;padding:10px 15px;border-top:1px solid var(--line);color:var(--muted);font: .6rem var(--mono)}
@media(max-width:850px){.architecture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.architecture-grid{grid-template-columns:1fr}.architecture-grid .interest-card{min-height:155px}}

/* Circuit routes flowing through a small deep-space field */
.space-circuit{position:absolute;width:min(43vw,510px);aspect-ratio:1;display:grid;place-items:center;isolation:isolate;animation:space-drift 9s ease-in-out infinite}
.space-haze{position:absolute;inset:7%;border-radius:50%;background:radial-gradient(ellipse at 49% 47%,rgba(101,67,194,.18),transparent 24%),radial-gradient(ellipse at 38% 57%,rgba(27,152,222,.14),transparent 42%),radial-gradient(ellipse at 63% 42%,rgba(97,63,173,.13),transparent 55%);filter:blur(13px);animation:haze-breathe 8s ease-in-out infinite}
.space-haze:before,.space-haze:after{content:"";position:absolute;border-radius:50%;background:#d8f6ff;box-shadow:0 0 8px 2px rgba(109,210,255,.6);opacity:.45}
.space-haze:before{width:2px;height:2px;left:20%;top:31%}.space-haze:after{width:1px;height:1px;right:19%;bottom:27%}
.trace-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.trace-beds{stroke:rgba(65,133,211,.2);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.trace-flows{stroke:url(#traceGradient);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 19;filter:drop-shadow(0 0 3px rgba(82,179,255,.9));animation:data-flow 2.7s linear infinite}
.trace-flows path:nth-child(3n){animation-delay:-.8s;opacity:.67}.trace-flows path:nth-child(3n + 1){animation-delay:-1.7s;opacity:.8}
.trace-terminals{fill:#08101d;stroke:#78dcff;stroke-width:1.4;filter:drop-shadow(0 0 4px rgba(69,189,255,.75));animation:terminal-glow 3.2s ease-in-out infinite alternate}
.trace-terminals circle:nth-child(3n){animation:terminal-glow 2.2s ease-in-out infinite alternate-reverse}
.trace-stars{fill:#d7e8ff;opacity:.65;filter:drop-shadow(0 0 3px #8bcfff);animation:star-twinkle 3.5s ease-in-out infinite alternate}
.space-core{position:absolute;width:25%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 36% 34%,rgba(236,207,255,.87) 0,rgba(143,117,244,.52) 9%,rgba(56,130,221,.42) 22%,rgba(14,25,55,.94) 55%,rgba(5,8,19,.08) 72%);box-shadow:0 0 26px rgba(103,113,255,.38),inset -10px -5px 21px rgba(5,8,23,.8);animation:core-pulse 5s ease-in-out infinite}
.space-core:before{content:"";position:absolute;inset:15% -22%;border:1px solid rgba(148,199,255,.3);border-left-color:rgba(104,201,255,.7);border-right-color:rgba(176,125,255,.65);border-radius:50%;transform:rotate(-27deg);box-shadow:0 0 8px rgba(106,166,255,.22)}
.space-core:after{content:"";position:absolute;inset:37%;border-radius:50%;background:#e7d8ff;box-shadow:0 0 12px 4px rgba(164,131,255,.85),0 0 32px 12px rgba(87,131,255,.34);animation:star-twinkle 2.6s ease-in-out infinite alternate}
.space-core i{position:absolute;z-index:1;inset:4%;border-radius:50%;background:radial-gradient(ellipse at 34% 36%,rgba(132,212,255,.32),transparent 39%);filter:blur(3px)}
@keyframes data-flow{to{stroke-dashoffset:-80}}
@keyframes terminal-glow{from{opacity:.45}to{opacity:1}}
@keyframes haze-breathe{0%,100%{transform:scale(.95);opacity:.65}50%{transform:scale(1.08);opacity:1}}
@keyframes core-pulse{0%,100%{transform:scale(.96);filter:saturate(.9)}50%{transform:scale(1.04);filter:saturate(1.25)}}
@keyframes space-drift{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@media(max-width:850px){.space-circuit{width:min(54vw,460px)}}
@media(max-width:620px){.space-circuit{width:min(92vw,410px)}}
@media(prefers-reduced-motion:reduce){.space-circuit,.space-haze,.trace-flows,.trace-terminals,.trace-terminals circle,.trace-stars,.space-core,.space-core:after{animation:none!important}}

/* Rocket, solar system, and populated PCB detail */
.space-haze{inset:4%;background:radial-gradient(ellipse at 51% 49%,rgba(245,126,95,.12),transparent 18%),radial-gradient(ellipse at 42% 54%,rgba(49,117,230,.2),transparent 42%),radial-gradient(ellipse at 63% 43%,rgba(133,72,223,.2),transparent 58%);filter:blur(16px)}
.trace-beds{stroke:rgba(82,161,207,.28);stroke-width:1.35}
.trace-flows{stroke-width:1.45;stroke-dasharray:2 22;filter:drop-shadow(0 0 2px rgba(75,194,255,.9));animation-duration:3.2s}
.trace-terminals{fill:#101b29;stroke:#a5dcff;stroke-width:1.2;filter:drop-shadow(0 0 4px rgba(63,184,255,.72))}
.solar-orbits{opacity:.77}
.orbit-ring{fill:none;stroke:rgba(167,198,255,.24);stroke-width:.8;stroke-dasharray:1.5 4.5}
.orbit-ring-one{stroke:rgba(255,207,137,.5);stroke-dasharray:none;opacity:.54}
.orbit-ring-two{stroke:rgba(132,194,255,.42);stroke-dasharray:2 5}
.orbit-ring-three{stroke:rgba(183,153,255,.34);stroke-dasharray:1 5}
.orbit-ring-four{stroke:rgba(125,202,255,.29);stroke-dasharray:2 6}
.planet-track{transform-box:view-box;transform-origin:260px 260px;animation:orbit-spin 13s linear infinite}
.track-one{animation-duration:5.5s}.track-two{animation-duration:9s;animation-direction:reverse}.track-three{animation-duration:15s}.track-four{animation-duration:23s;animation-direction:reverse}
.planet{stroke:rgba(231,245,255,.78);stroke-width:.75;filter:drop-shadow(0 0 3px currentColor)}
.planet-one{fill:#9ef1ff;color:#80e8ff}.planet-two{fill:url(#planetGradient);color:#9b83ff}.planet-three{fill:#d696ff;color:#c77aff}.planet-four{fill:#ffbd85;color:#ffad69}
.orbit-satellite{fill:#fff1bd;filter:drop-shadow(0 0 4px #ffc87d);animation:satellite-pulse 2.5s ease-in-out infinite alternate}
.rocket-launch{filter:drop-shadow(0 0 5px rgba(118,211,255,.55))}
.rocket-motion{transform-box:fill-box;transform-origin:center;animation:rocket-hover 2.4s ease-in-out infinite}
.rocket-shell{fill:url(#rocketGradient);stroke:#ebfaff;stroke-width:1.25}
.rocket-fin{fill:#8c80ed;stroke:#c3c3ff;stroke-width:.8}
.rocket-nozzle{fill:#27354f;stroke:#a4dfff;stroke-width:.8}
.rocket-window{fill:#131d3a;stroke:#91edff;stroke-width:1.6;filter:drop-shadow(0 0 4px #75deff)}
.rocket-highlight{fill:none;stroke:rgba(255,255,255,.7);stroke-width:1;stroke-linecap:round}
.rocket-flame{fill:url(#flameGradient);transform-origin:0 20px;animation:flame-flicker .24s ease-in-out infinite alternate;filter:drop-shadow(0 0 5px rgba(255,157,90,.85))}
.pcb-components{filter:drop-shadow(0 0 3px rgba(66,176,255,.34))}
.chip-shadow{fill:#050911;stroke:#6383a9;stroke-width:1}
.chip-body{fill:#111a29;stroke:#9ac9e9;stroke-width:.8}
.chip-pins{fill:none;stroke:#b0c5d6;stroke-width:1.2;stroke-linecap:round}
.via-pad{fill:#c38a51;stroke:#ffdba0;stroke-width:.8}.via-hole{fill:#10141f;stroke:#34415a;stroke-width:.6}
.connector-pad{fill:#e9bc79;stroke:#fff0c8;stroke-width:.65}
.space-core{z-index:1;width:10.5%;background:radial-gradient(circle at 38% 35%,#fff2ca 0,#ffc976 13%,#ff8e72 28%,#cb5df3 43%,rgba(63,93,218,.75) 65%,rgba(12,20,47,.12) 80%);box-shadow:0 0 25px rgba(255,151,111,.55),0 0 52px rgba(144,91,255,.33),inset -4px -3px 10px rgba(41,16,75,.65);animation:core-pulse 4s ease-in-out infinite}
.space-core:before{inset:-85%;border:0;background:radial-gradient(circle,rgba(255,164,111,.2),rgba(142,87,255,.11) 41%,transparent 69%);filter:blur(2px)}
.space-core:after{inset:27%;background:#fff6dd;box-shadow:0 0 9px 4px rgba(255,206,132,.95),0 0 24px 11px rgba(255,119,160,.42)}
.space-core i{background:radial-gradient(ellipse at 34% 36%,rgba(255,248,218,.32),transparent 39%)}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
@keyframes rocket-hover{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes flame-flicker{from{transform:scale(.82, .78);opacity:.72}to{transform:scale(1.06,1.13);opacity:1}}
@keyframes satellite-pulse{from{opacity:.45}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.planet-track,.rocket-motion,.rocket-flame,.orbit-satellite{animation:none!important}}

/* Shared project navigation and consistent gallery thumbnails */
.helios-feature{margin-top:34px}
.project-photo-grid>.project-photo,.project-photo-grid>.project-photo.wide{grid-column:auto;aspect-ratio:1/1}
@media(max-width:1100px){.topbar{height:auto;min-height:76px;flex-wrap:wrap;padding:12px 0}.nav{flex:1 1 100%;justify-content:center;flex-wrap:wrap;row-gap:2px}}
@media(max-width:620px){.topbar{min-height:70px}.nav{width:100%;justify-content:flex-start;flex-wrap:wrap;overflow:visible}.nav a{flex:0 0 auto}}
.language-switch{display:flex;align-items:center;gap:5px;flex:0 0 auto;margin-left:8px}
.language-switch a{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid rgba(162,181,235,.14);border-radius:6px;color:var(--muted);font: .62rem var(--mono);text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.language-switch a:hover,.language-switch a:focus-visible,.language-switch a[aria-current="page"]{border-color:rgba(140,155,184,.48);background:rgba(190,200,220,.08);color:var(--ink)}
.flag-icon{display:inline-block;font:1rem/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;filter:grayscale(1);opacity:.88}
@media(max-width:1100px){.brand{order:1}.language-switch{order:2;margin-left:auto}.nav{order:3;flex:1 1 100%}}
@media(max-width:620px){.language-switch{margin-left:auto}.language-switch a{padding:5px 7px}}

/* Two-segment PCB callout emerging from the rocket body */
.callout-aura,.callout-track,.callout-flow{fill:none;stroke-linecap:round;stroke-linejoin:round}
.callout-aura{stroke:#6bdfff;stroke-width:8;opacity:.18;filter:blur(5px)}
.callout-track{stroke:rgba(135,188,255,.64);stroke-width:2.2;filter:drop-shadow(0 0 4px rgba(88,192,255,.9))}
.callout-flow{stroke:url(#calloutGradient);stroke-width:2.6;stroke-dasharray:2 8;animation:callout-data-flow 1.15s linear infinite;filter:drop-shadow(0 0 5px rgba(131,218,255,.95))}
@keyframes callout-data-flow{to{stroke-dashoffset:-20}}
@media(prefers-reduced-motion:reduce){.callout-flow{animation:none!important}}
