:root{
  --center: clamp(84px, 11.55vw, 126px);
  --orb: clamp(120px, 14.95vw, 182px);
  --gap: clamp(18px, 4.5vw, 44px);
  --ring: calc( (var(--center) / 2) + (var(--orb) / 2) + var(--gap) );

  --bg0: #0a0d14;
  --bg1: #0d111a;
  --ink: #e9edff;
  --muted: #9ea7b8;
  --glow: 0 0 42px rgba(157,214,255,0.22), inset 0 0 42px rgba(157,214,255,0.12);
}

* { box-sizing: border-box; }
html, body { height:100%; }
body{
  margin:0;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: radial-gradient(1200px 600px at 50% -20%, #101522 0%, transparent 60%), linear-gradient(to bottom, var(--bg1), var(--bg0));
  overflow-x:hidden;
}

#bg{ position:fixed; inset:0; z-index:-1; }

.site-header{
  position:sticky; top:0; z-index:3;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px clamp(14px, 4vw, 28px);
  background: linear-gradient(to bottom, rgba(10,13,20,0.85), rgba(10,13,20,0.35), rgba(10,13,20,0));
  backdrop-filter: blur(6px);
}
.brand{ display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:0.22em; }
.brand-mark{ width:34px; height:34px; border-radius:50%; box-shadow: 0 0 12px rgba(157,214,255,0.2); }
.brand-text{ font-size: clamp(13px, 2.2vw, 18px); }
.nav{ display:flex; align-items:center; gap:12px; font-weight:600; }
.nav a{ color: var(--ink); opacity:0.9; text-decoration:none; }
.nav a:hover{ opacity:1; text-decoration:underline; }
.sep{ opacity:0.5; }

.hero{
  min-height: calc(100svh - 90px);
  display:grid; place-items:center;
  padding: clamp(40px, 8vw, 80px) 16px;
  position:relative;
  isolation:isolate;
}

.center{
  position: relative;
  z-index:2;
  display:grid;
  place-items:center;
  filter: drop-shadow(0 0 18px rgba(157,214,255,0.20));
}
/* Inline SVG N badge */
.n-badge{
  width: var(--center);
  height: var(--center);
  border-radius: 50%;
  animation: centerPulse 7s ease-in-out infinite;
  filter: drop-shadow(0 0 18px rgba(157,214,255,0.25));
}
@keyframes centerPulse{ 0%,100%{ transform: scale(1);} 50%{ transform: scale(1.02);} }

/* Orbit container and animation */
.orbit{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
}
.spin-once{ animation: spin 18s ease-in-out 1 forwards; }
@keyframes spin{ from{ transform: rotate(0deg); } to{ transform: rotate(360deg); } }

/* Satellites */
.satellite{
  --angle: 0deg;
  position: absolute;
  width: var(--orb);
  height: var(--orb);
  transform: rotate(var(--angle)) translate(var(--ring)) rotate(calc(-1 * var(--angle)));
  transform-origin: center;
  display: grid; place-items:center;
  filter: drop-shadow(0 0 22px rgba(157,214,255,0.22));
  pointer-events: auto;
}
.satellite img{
  width:100%; height:100%;
  border-radius:50%;
  box-shadow: var(--glow);
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.16), rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.03) 70%);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.satellite:hover img{
  transform:scale(1.05);
  box-shadow: 0 0 54px rgba(157,214,255,0.35), inset 0 0 54px rgba(157,214,255,0.18);
}

/* After stop: subtle glow pulse on satellites */
.orbit.stopped .satellite img{
  animation: orbGlow 6.5s ease-in-out infinite;
}
@keyframes orbGlow{
  0%,100%{ filter: brightness(1); box-shadow: var(--glow); }
  50%{ filter: brightness(1.12); box-shadow: 0 0 54px rgba(157,214,255,0.35), inset 0 0 54px rgba(157,214,255,0.18); }
}

.site-footer{
  padding: 28px 16px 60px;
  color: var(--muted);
  text-align: center;
  font-size: 14px;
}
.site-footer a{ color: var(--ink); text-decoration:none; }
.site-footer a:hover{ text-decoration: underline; }

@media (max-width: 520px){
  :root{
    --center: clamp(77px, 18.9vw, 105px);
    --orb: clamp(104px, 25vw, 156px);
    --gap: clamp(14px, 7vw, 26px);
  }
  .nav .sep{ display:none; }
}

/* Header inline SVG badge styles */
.brand-badge{
  width:34px;
  height:34px;
  border-radius:50%;
  display:block;
  filter: drop-shadow(0 0 12px rgba(157,214,255,0.20));
}
@media (max-width: 520px){
  .brand-badge{ width:30px; height:30px; }
}
