/* OrbitX — Dark Space Theme with Effects */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Orbitron:wght@400;600;700;900&display=swap');
:root{--bg:#06080f;--panel:#0b1020;--text:#e8ecf8;--muted:#9ab0d0;--primary:#5cc8ff;--accent:#9b7bff;--danger:#ff6b6b;--ring:rgba(92,200,255,.4)}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:'Space Grotesk',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Inter,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;opacity:0;animation:fade-in .6s ease forwards}
img{max-width:100%;display:block}
a{color:var(--primary);text-decoration:none;position:relative}
.container{width:min(1100px,92%);margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#000;color:#fff;padding:.5rem 1rem;border-radius:.25rem;z-index:10000}

/* Starfield canvas underneath content */
#starfield{position:fixed;inset:0;z-index:-1;background:radial-gradient(200% 150% at 50% 10%,#0a1230 0%,#06080f 55%,#06080f 100%)}
/* Galaxy overlay shown during Hyperdrive */
.galaxy-overlay{position:fixed;inset:0;pointer-events:none;z-index:-2;opacity:0;mix-blend-mode:screen;transition:opacity .6s ease}
body.hyperdrive .galaxy-overlay{opacity:0.85}
.galaxy-overlay::before{content:"";position:absolute;inset:-20%;background:
  radial-gradient(60% 50% at 30% 20%, rgba(110,65,200,.35), transparent 60%),
  radial-gradient(40% 35% at 70% 30%, rgba(60,180,255,.25), transparent 60%),
  radial-gradient(55% 45% at 50% 70%, rgba(255,120,220,.2), transparent 65%),
  conic-gradient(from 0deg at 50% 50%, rgba(155,123,255,.22), rgba(92,200,255,.18), rgba(200,120,255,.15), rgba(155,123,255,.22));
  filter: blur(20px) saturate(1.2);
  animation: galaxy-rotate 80s linear infinite;
}
@keyframes galaxy-rotate{to{transform:rotate(360deg)}}

.site-header{position:sticky;top:0;background:linear-gradient(180deg,rgba(6,8,15,.9),rgba(6,8,15,.6));backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid rgba(255,255,255,.06);z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.5rem}
.brand img,.brand svg{height:28px;filter:drop-shadow(0 2px 6px rgba(92,200,255,.25))}
.brand .logo-svg{display:block;height:28px;width:auto}
.site-nav{display:flex;gap:1rem;position:relative}
.site-nav a{padding:.5rem .25rem;border-radius:.25rem}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));transition:right .3s ease}
.site-nav a:hover::after,.site-nav a.active::after{right:0}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.15);color:var(--text);padding:.35rem .5rem;border-radius:.35rem}

.hero{padding:8rem 0 5rem;text-align:center}
.hero h1{font-family:'Orbitron',system-ui,sans-serif;font-weight:700;letter-spacing:.02em;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.15;margin:0 0 .75rem;background:linear-gradient(90deg,#b7e3ff 0%,#e8ecf8 30%,#d5c9ff 60%,#b7e3ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:0 4px 24px rgba(92,200,255,.22)}
.hero p{color:var(--muted);margin:0 auto 1.25rem;max-width:60ch}
.btn{display:inline-block;border:1px solid rgba(255,255,255,.2);padding:.6rem 1rem;border-radius:.5rem;color:var(--text);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));box-shadow:0 0 0 0 var(--ring);transition:box-shadow .2s ease, transform .2s ease;overflow:hidden;position:relative}
.btn.primary{border-color:transparent;background:linear-gradient(180deg,var(--primary),#3ea8e0);color:#00111a}
.btn:hover{transform:translateY(-1px)}
.btn:focus{outline:none;box-shadow:0 0 0 .25rem var(--ring)}
.btn::before{content:"";position:absolute;inset:-200% -50%;background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.7),transparent 60%);transform:translateX(-100%);} 
.btn:hover::before{animation:shine .8s ease}

.features{padding:2rem 0 3rem;gap:1rem}
.features article{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);padding:1rem;border-radius:.75rem;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.features article:hover{transform:translateY(-6px);border-color:rgba(92,200,255,.35);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.grid{display:grid;grid-template-columns:repeat(3,1fr)}

.highlight{padding:2rem 0 4rem;color:var(--muted);text-align:center}

.timeline{list-style:none;padding:0;margin:2rem 0;display:grid;gap:1rem}
.timeline li{padding:1rem;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;background:rgba(255,255,255,.03);transition:transform .25s ease, box-shadow .25s ease}
.timeline li:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.35)}

.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0 3rem}
.diagram{width:100%;height:auto;opacity:.9;transition:transform .3s ease, opacity .3s ease}
.diagram:hover{transform:scale(1.02);opacity:1}

.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0 3rem}
.roles article{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);padding:1rem;border-radius:.75rem;transition:transform .25s ease, box-shadow .25s ease}
.roles article:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.35)}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 3rem}
form{display:grid;gap:.75rem}
input,textarea{width:100%;padding:.6rem .7rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.03);color:var(--text);transition:border-color .2s ease, box-shadow .2s ease}
input:focus,textarea:focus{border-color:rgba(92,200,255,.6);box-shadow:0 0 0 .2rem var(--ring);outline:none}
label{display:grid;gap:.35rem;color:var(--muted)}

.site-footer{border-top:1px solid rgba(255,255,255,.08);padding:2rem 0;background:linear-gradient(0deg,rgba(6,8,15,.9),rgba(6,8,15,.6))}
.site-footer p{margin:0;color:var(--muted)}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
.reveal.visible{opacity:1;transform:none}

/* Interactive tilt via CSS vars (set by JS) */
.interactive-card{transform:perspective(600px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .2s ease}

/* Responsive */
@media (max-width:900px){
  .grid{grid-template-columns:1fr}
  .tech-grid{grid-template-columns:1fr}
  .roles{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .nav-toggle{display:block}
  .site-nav{display:none;flex-direction:column;position:absolute;right:4%;top:3.2rem;background:var(--panel);padding:.5rem;border:1px solid rgba(255,255,255,.08);border-radius:.5rem}
  .site-nav.open{display:flex}
}

/* Hyperdrive theme */
body.hyperdrive{--primary:#8affd1;--accent:#66a3ff}
body.hyperdrive .brand img{filter:drop-shadow(0 0 12px rgba(138,255,209,.35))}
body.hyperdrive .features article, body.hyperdrive .roles article, body.hyperdrive .timeline li{border-color:rgba(138,255,209,.35)}
body.hyperdrive .hero h1{background:none !important;color:var(--primary);-webkit-text-fill-color:currentColor;-webkit-text-stroke:0.6px rgba(0,0,0,.35);text-shadow:0 0 .75px rgba(0,0,0,.55),0 0 1.25px rgba(0,0,0,.35),0 8px 28px rgba(138,255,209,.35)}

/* Egg modal */
.egg-modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);z-index:1000}
.egg-modal.open{display:grid}
.egg-modal .panel{width:min(560px,92%);border-radius:12px;padding:1.25rem;background:rgba(20,26,46,.95);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px rgba(0,0,0,.45)}
.egg-modal h3{margin:.25rem 0 0;font-family:'Orbitron',system-ui,sans-serif;letter-spacing:.03em}
.egg-modal p{color:var(--muted)}
.egg-modal .actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}

/* Animations */
@keyframes shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}

/* Rocket launcher */
.rocket-launch{position:fixed;left:1rem;bottom:1rem;width:100px;height:240px;z-index:20;pointer-events:none;opacity:.98;transform-style:preserve-3d}
.rocket{width:100px;filter:drop-shadow(0 8px 26px rgba(92,200,255,.25))}
.rocket .flame{transform-origin:50% 0%;animation:flame 140ms ease-in-out infinite alternate;filter:url(#flameBlur)}
.rocket .smoke{opacity:.28}
.rocket .smoke-layer{opacity:.6;filter:url(#smokeBlur)}
@keyframes flame{from{transform:scaleY(.9);opacity:.85}to{transform:scaleY(1.2);opacity:1}}
.plume-glow{animation:glowPulse 900ms ease-in-out infinite alternate}
@keyframes glowPulse{from{opacity:.35; transform:scaleX(1)} to{opacity:.6; transform:scaleX(1.15)}}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce){
  body{animation:none}
  .reveal{opacity:1;transform:none}
  .btn::before{display:none}
  .diagram{transition:none}
  .galaxy-overlay::before{animation:none}
}
