
:root{
  --blue:#0066FF;
  --cyan:#00D8FF;
  --purple:#8B5CF6;
  --green:#13E39E;
  --off:#F5F5F5;
  --muted:#B5C0CD;
  --bg:#02060D;
  --panel:#08131F;
  --line:#1B3A59;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 53% 45%,rgba(82,0,120,.13),transparent 25%),
    radial-gradient(circle at 57% 42%,rgba(160,16,45,.13),transparent 31%),
    #02060D;
  color:var(--off);
  font-family:'Open Sans',Arial,sans-serif;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:
    radial-gradient(circle at 10% 20%,#fff 0 1px,transparent 1.3px),
    radial-gradient(circle at 30% 60%,#77b7ff 0 1px,transparent 1.3px),
    radial-gradient(circle at 70% 30%,#fff 0 1px,transparent 1.2px),
    radial-gradient(circle at 85% 75%,#80bfff 0 1px,transparent 1.2px);
  background-size:160px 150px,210px 170px,190px 160px,230px 190px;
  opacity:.45;
}
a{text-decoration:none;color:inherit}
.topbar{
  height:88px;display:grid;grid-template-columns:320px 1fr 190px;align-items:center;
  padding:0 40px;border-bottom:1px solid #11243A;background:rgba(2,6,13,.93);backdrop-filter:blur(16px);
  position:sticky;top:0;z-index:30
}
.orion-brand{display:flex;align-items:center;gap:13px}
.orion-brand strong{font:800 33px Montserrat;letter-spacing:4px}
.orion-brand small{display:block;color:#8DBDFF;font:600 9px Montserrat;letter-spacing:4px;margin-top:2px}
.mini-constellation{width:55px;height:55px;position:relative}
.mini-constellation i{position:absolute;width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 12px #40A8FF}
.mini-constellation i:nth-child(1){left:6px;top:3px}.mini-constellation i:nth-child(2){left:34px;top:5px}
.mini-constellation i:nth-child(3){left:20px;top:18px}.mini-constellation i:nth-child(4){left:24px;top:29px}
.mini-constellation i:nth-child(5){left:27px;top:40px}.mini-constellation i:nth-child(6){left:7px;top:49px}.mini-constellation i:nth-child(7){left:48px;top:50px}
.nav{display:flex;justify-content:center;gap:34px;font:600 12px Montserrat}
.nav a{padding:34px 0 28px;position:relative}.nav a.active:after,.nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue)}
.nav a span{font-size:10px;border:1px solid #26486A;border-radius:4px;padding:2px 4px;color:#9FC7FF;margin-left:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;padding:13px 17px;font:700 12px Montserrat;border:1px solid transparent}
.btn-primary{background:linear-gradient(135deg,var(--blue),#0751CE);box-shadow:0 10px 28px #0066ff38}
.btn-outline{border-color:var(--blue);background:#0066ff08}
.hero{
  min-height:700px;display:grid;grid-template-columns:330px 1fr 255px;gap:26px;padding:38px 40px 28px;
}
.hero-left{padding-top:18px}.private-pill{display:inline-block;border:1px solid #24486A;background:#081728;color:#8EC4FF;border-radius:20px;padding:6px 10px;font:700 9px Montserrat;letter-spacing:1px;margin-bottom:13px}
.hero-left h1{font:900 78px/.95 Montserrat;letter-spacing:1px;margin:0 0 14px}
.hero-left h2{font:700 25px Montserrat;margin:0}.hero-left h3{font:700 28px Montserrat;color:var(--blue);margin:4px 0 17px}
.blue-rule{width:42px;height:3px;background:var(--blue);margin-bottom:18px}
.hero-left>p{font-size:15px;line-height:1.55;color:#D0D7DF;max-width:320px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}
.status-card,.labs-card{
  border:1px solid #1A3956;background:linear-gradient(145deg,rgba(8,19,31,.94),rgba(4,12,21,.94));border-radius:7px
}
.status-card{padding:16px 18px}.status-head{display:flex;justify-content:space-between;align-items:center;font:700 12px Montserrat}.status-head span{font-size:9px;font-weight:500}.status-head i{display:inline-block;width:6px;height:6px;background:#14DD8C;border-radius:50%;margin-right:6px}
.status-card ul{list-style:none;margin:13px 0 0;padding:0}.status-card li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #132B42;font-size:11px}.status-card li:last-child{border:0}.status-card b{font-weight:500;color:#C4CFD9}

.constellation-shell{
  min-height:640px;position:relative;overflow:hidden;
  border-left:1px solid #0E1E30;border-right:1px solid #0E1E30;
}
.nebula{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 43% 50%,rgba(197,14,64,.18),transparent 22%),
    radial-gradient(ellipse at 51% 54%,rgba(122,20,173,.16),transparent 25%),
    radial-gradient(ellipse at 48% 43%,rgba(0,102,255,.10),transparent 34%);
  filter:blur(4px);
}
.orion-net{position:absolute;inset:0;width:100%;height:100%}
.network-lines line{stroke:#72D8FF;stroke-width:2.2;opacity:.9}
.neural-lines line{stroke:#0066FF;stroke-width:.8;opacity:.35;stroke-dasharray:3 5}
.stars circle{fill:white;stroke:#5FB6FF;stroke-width:4}

.labs-card{padding:18px 16px;align-self:start;margin-top:0}.labs-card h3{font:700 16px Montserrat;margin:0 0 12px}.labs-card p{color:#C4CFD8;font-size:12px;line-height:1.5}.labs-card hr{border:0;border-top:1px solid #1A3149;margin:16px 0}.lab-feature{margin:18px 0}.lab-feature b{display:block;font:700 11px Montserrat;color:#F2F6FA;margin-bottom:6px}.lab-feature span{font-size:11px;line-height:1.45;color:#B5C0CA;display:block;padding-left:12px}.full{width:100%;margin-top:10px}

.process-strip{
  margin:0 40px 18px;display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border:1px solid #1A3956;border-radius:7px;background:#07131F
}
.process-strip article{display:flex;gap:14px;padding:18px 20px;border-right:1px solid #203A54}.process-strip article:last-child{border:0}.process-strip>article>span{font-size:35px;color:var(--blue)}.process-strip h3{font:700 13px Montserrat;margin:0 0 7px}.process-strip p{font-size:11px;line-height:1.45;color:#B9C4CE;margin:0}

.about-orion{padding:70px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid #10243A}.eyebrow{color:var(--blue);font:700 11px Montserrat;letter-spacing:2px}.about-orion h2{font:800 44px/1.08 Montserrat;letter-spacing:-1.5px;margin:12px 0}.about-orion p{font-size:16px;color:#BCC6D1;line-height:1.6}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about-points article{background:#08131F;border:1px solid #1A3956;padding:22px;border-radius:7px}.about-points b{color:var(--blue);font:800 11px Montserrat;display:block;margin-bottom:8px}.about-points span{font:600 14px Montserrat}

footer{min-height:78px;border-top:1px solid #142A40;display:grid;grid-template-columns:1.2fr .8fr 1.3fr;align-items:center;gap:25px;padding:18px 40px;background:#030A12;color:#8D99A7;font-size:11px}.f3-brand{display:flex;align-items:center;gap:10px}.f3-brand img{width:72px;height:48px;object-fit:contain}.f3-brand strong{display:block;color:#E9EEF3;font:800 15px Montserrat}.f3-brand small{display:block;color:var(--blue);font:600 8px Montserrat}.footer-contact{display:flex;justify-content:flex-end;gap:20px}.footer-contact a{color:#B8C2CC}

@media(max-width:1180px){
  .topbar{grid-template-columns:260px 1fr 150px}.nav{gap:18px;font-size:10px}
  .hero{grid-template-columns:300px 1fr}.labs-card{grid-column:1/-1;display:grid;grid-template-columns:1fr repeat(4,1fr) 190px;gap:12px;align-items:center}.labs-card hr{display:none}.lab-feature{margin:0}.full{margin:0}
  .process-strip{grid-template-columns:1fr 1fr 1fr}.process-strip article{border-bottom:1px solid #203A54}
}
@media(max-width:820px){
  .topbar{display:flex;height:auto;min-height:72px;padding:10px 18px}.nav{display:none}.topbar>.btn{margin-left:auto}.orion-brand strong{font-size:25px}
  .hero{grid-template-columns:1fr;padding:30px 18px}.hero-left h1{font-size:62px}.constellation-shell{min-height:760px;border:1px solid #142A40}
  .labs-card{display:block}.lab-feature{margin:16px 0}.process-strip{margin:0 18px 18px;grid-template-columns:1fr}.process-strip article{border-right:0}
  .about-orion{grid-template-columns:1fr;padding:55px 20px}.about-points{grid-template-columns:1fr}
  footer{grid-template-columns:1fr;padding:20px}.footer-contact{justify-content:flex-start;flex-wrap:wrap}
}

/* ORION v2 interaction */
.constellation-shell{cursor:default}
.orion-net{z-index:2}
.nebula{z-index:0}
.orion-net .stars circle{
  transform-box:fill-box;
  transform-origin:center;
  animation:orionPulse 3.6s ease-in-out infinite;
  will-change:opacity,filter,transform;
}
@keyframes orionPulse{
  0%,100%{opacity:.82;filter:drop-shadow(0 0 4px #69c8ff);transform:scale(.95)}
  50%{opacity:1;filter:drop-shadow(0 0 11px #d9f3ff) drop-shadow(0 0 20px #0066ff);transform:scale(1.2)}
}
.constellation-shell::before,.constellation-shell::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
}
.constellation-shell::before{
  background-image:
    radial-gradient(circle at 10% 15%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 23% 8%,#8fd7ff 0 1px,transparent 1.4px),
    radial-gradient(circle at 34% 18%,#fff 0 1.2px,transparent 1.8px),
    radial-gradient(circle at 44% 6%,#c9ecff 0 1px,transparent 1.5px),
    radial-gradient(circle at 59% 12%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 72% 8%,#8fd7ff 0 1px,transparent 1.5px),
    radial-gradient(circle at 84% 17%,#fff 0 1.1px,transparent 1.6px),
    radial-gradient(circle at 91% 9%,#c9ecff 0 1px,transparent 1.5px),
    radial-gradient(circle at 12% 44%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 26% 55%,#8fd7ff 0 1px,transparent 1.5px),
    radial-gradient(circle at 66% 48%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 86% 58%,#c9ecff 0 1px,transparent 1.5px),
    radial-gradient(circle at 15% 78%,#fff 0 1.2px,transparent 1.8px),
    radial-gradient(circle at 38% 84%,#8fd7ff 0 1px,transparent 1.5px),
    radial-gradient(circle at 73% 82%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 93% 76%,#c9ecff 0 1px,transparent 1.5px);
  animation:skyTwinkleA 4.4s ease-in-out infinite;
}
.constellation-shell::after{
  background-image:
    radial-gradient(circle at 18% 28%,#fff 0 1.5px,transparent 2px),
    radial-gradient(circle at 47% 24%,#d9f3ff 0 1.2px,transparent 1.8px),
    radial-gradient(circle at 78% 31%,#fff 0 1.5px,transparent 2px),
    radial-gradient(circle at 29% 68%,#d9f3ff 0 1.2px,transparent 1.8px),
    radial-gradient(circle at 58% 72%,#fff 0 1.4px,transparent 2px),
    radial-gradient(circle at 88% 69%,#d9f3ff 0 1.2px,transparent 1.8px);
  animation:skyTwinkleB 5.7s ease-in-out infinite;
}
@keyframes skyTwinkleA{0%,100%{opacity:.18}35%{opacity:.72}60%{opacity:.28}82%{opacity:.88}}
@keyframes skyTwinkleB{0%,100%{opacity:.65}27%{opacity:.16}52%{opacity:.92}74%{opacity:.32}}


.hover-hint{
  position:absolute;left:50%;bottom:12px;z-index:5;transform:translateX(-50%);
  border:1px solid #1A4E78;border-radius:6px;background:rgba(3,11,20,.86);
  padding:9px 14px;color:#D5E7F7;font:600 10px Montserrat;pointer-events:none
}
@media(max-width:820px){
  .star-hotspot::after{min-width:160px;font-size:9px}
  .hover-hint{display:none}
}


/* ORION v6 - exact reference geometry + precise SVG hover */
.svg-hotspots .hotspot{
  fill:transparent;
  stroke:transparent;
  pointer-events:all;
  cursor:pointer;
  outline:none;
}
.svg-hotspots .hotspot:hover,
.svg-hotspots .hotspot:focus-visible{
  stroke:rgba(111,210,255,.22);
  stroke-width:12;
  filter:drop-shadow(0 0 14px rgba(111,210,255,.8));
}
.svg-tooltip{
  position:absolute;
  z-index:20;
  min-width:190px;
  max-width:245px;
  padding:10px 12px;
  border:1px solid #1B456C;
  border-radius:7px;
  background:rgba(5,14,25,.97);
  color:#F5F5F5;
  box-shadow:0 12px 28px rgba(0,0,0,.45),0 0 18px rgba(0,102,255,.18);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-115%) translateY(8px);
  transition:opacity .14s ease, transform .14s ease;
}
.svg-tooltip.visible{
  opacity:1;
  transform:translate(-50%,-115%) translateY(0);
}
.svg-tooltip strong{
  display:block;
  font:700 11px Montserrat;
  margin-bottom:4px;
}
.svg-tooltip span{
  display:block;
  color:#BCC7D2;
  font-size:9px;
  line-height:1.4;
}
