:root{
  --bg: #f6f8ff;
  --bg-alt: #eef3ff;
  --panel: rgba(255,255,255,0.72);
  --border: rgba(0,0,0,0.08);

  --text: #0b1220;
  --muted: rgba(11,18,32,0.62);

  --accent: #0056ff;  
  --accent2:#2f7bff;
  --accent-dim: rgba(0,86,255,0.14);

  --radius: 16px;
  --radius-sm: 12px;
  --radius-lg: 24px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color: rgba(0,86,255,0.35) rgba(0,0,0,0.06);}
body{
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: radial-gradient(1200px 900px at 20% 10%, rgba(0,86,255,0.08), transparent 60%),
              radial-gradient(900px 700px at 85% 35%, rgba(47,123,255,0.10), transparent 55%),
              linear-gradient(180deg, var(--bg), #ffffff 60%, var(--bg-alt));
  color: var(--text);
  overflow-x:hidden;
  -webkit-font-smoothing: antialiased;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
img{max-width:100%;display:block}
strong{font-weight:700}

::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background: rgba(0,0,0,0.04)}
::-webkit-scrollbar-thumb{background: rgba(0,86,255,0.25); border-radius: 99px}
::-webkit-scrollbar-thumb:hover{background: rgba(0,86,255,0.35)}

.container{max-width:1200px;margin:0 auto;padding:0 24px}

.gradient-text{
  background: linear-gradient(135deg, var(--accent), var(--accent2), #7ab3ff);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.glass-card{
  background: var(--panel);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: var(--radius-lg);
  box-shadow:
    0 18px 60px rgba(0,0,0,0.06),
    0 1px 0 rgba(255,255,255,0.6) inset;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.glass-card:hover{
  border-color: rgba(0,86,255,0.18);
  box-shadow:
    0 22px 70px rgba(0,0,0,0.08),
    0 0 0 6px rgba(0,86,255,0.06);
  transform: translateY(-2px);
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 12px 22px;
  border-radius: var(--radius);
  font-weight: 650;
  font-size: 15px;
  border: 1px solid rgba(0,0,0,0.10);
  cursor:pointer;
  transition: all .18s ease;
  white-space:nowrap;
  user-select:none;
}
.btn--primary{
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color: #fff;
  border-color: transparent;
  box-shadow: 0 12px 30px rgba(0,86,255,0.22);
}
.btn--primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(0,86,255,0.28);
}
.btn--ghost{
  background: rgba(255,255,255,0.65);
  color: var(--text);
}
.btn--ghost:hover{
  background: rgba(255,255,255,0.9);
  border-color: rgba(0,0,0,0.14);
  transform: translateY(-1px);
}
.btn--lg{padding: 16px 28px; font-size: 16px}
.btn--sm{padding: 9px 14px; font-size: 13px; border-radius: 12px}
.btn-arrow{font-size:18px; transition: transform .18s ease}
.btn--primary:hover .btn-arrow{transform: translateX(3px)}

.pill{
  display:inline-flex; align-items:center; gap:10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.75);
  color: rgba(11,18,32,0.68);
  font-size: 13px;
  font-weight: 600;
}
.pill--center{margin: 0 auto}
.pill-dot{
  width: 9px; height: 9px; border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(0,86,255,0.10);
  animation: blink 2s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.45}}

.bg-effects{
  position: fixed; inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.starfield{position:absolute; inset:0; opacity:0.35}
.glow{
  position:absolute;
  width: 640px; height: 640px;
  border-radius: 999px;
  filter: blur(120px);
  opacity: .35;
}
.g1{left:-260px; top:-260px; background: radial-gradient(circle, rgba(0,86,255,0.35), transparent 65%)}
.g2{right:-260px; top:25%; background: radial-gradient(circle, rgba(47,123,255,0.35), transparent 65%); opacity:.25}
.g3{left:30%; bottom:-340px; background: radial-gradient(circle, rgba(0,86,255,0.25), transparent 70%); opacity:.20}

.particles{position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden}
.particle{
  position:absolute;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: rgba(0,86,255,0.45);
  opacity:0;
  animation: particleFloat linear infinite;
}
.particle:nth-child(1){left:10%; animation-duration:18s; animation-delay:0s}
.particle:nth-child(2){left:24%; animation-duration:22s; animation-delay:2s}
.particle:nth-child(3){left:40%; animation-duration:16s; animation-delay:4s}
.particle:nth-child(4){left:55%; animation-duration:20s; animation-delay:1s}
.particle:nth-child(5){left:70%; animation-duration:24s; animation-delay:3s}
.particle:nth-child(6){left:85%; animation-duration:17s; animation-delay:5s}
.particle:nth-child(7){left:16%; animation-duration:21s; animation-delay:6s}
.particle:nth-child(8){left:60%; animation-duration:19s; animation-delay:7s}

@keyframes particleFloat{
  0%{transform: translateY(105vh) scale(0); opacity:0}
  12%{opacity:.35}
  55%{opacity:.16; transform: translateY(52vh) scale(1)}
  92%{opacity:.28}
  100%{transform: translateY(-10vh) scale(.6); opacity:0}
}

.hero-grid-overlay{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(0,0,0,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 62% at 50% 40%, rgba(0,0,0,0.55) 0%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 62% at 50% 40%, rgba(0,0,0,0.55) 0%, transparent 100%);
  opacity: .45;
}

.section-divider{
  position:relative; z-index:1;
  height:2px; margin:0 auto; max-width: 860px;
  background: linear-gradient(90deg, transparent, rgba(0,86,255,0.75), transparent);
  opacity:.45;
  box-shadow: 0 0 18px rgba(0,86,255,0.18);
}

.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding: 14px 0;
  background: rgba(246,248,255,0.76);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(0,0,0,0.07);
}
.nav-inner{
  max-width:1200px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-brand{display:flex; align-items:center; gap:10px}
.nav-name{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.03em;
}
.nav-name-accent{color: var(--accent)}
.nav-tag{
  font-size: 12px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(0,86,255,0.10);
  color: rgba(0,86,255,0.85);
  border: 1px solid rgba(0,86,255,0.18);
}
.brand-mark{
  width: 34px; height: 34px; border-radius: 12px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  display:grid; place-items:center;
  box-shadow: 0 14px 40px rgba(0,86,255,0.24);
}
.brand-mark.small{width: 28px; height: 28px; border-radius: 10px; box-shadow: 0 12px 30px rgba(0,86,255,0.18)}
.brand-dot{
  width: 12px; height: 12px; border-radius: 999px;
  background: rgba(255,255,255,0.95);
  box-shadow: 0 0 0 5px rgba(255,255,255,0.18);
}

.nav-links{display:flex; align-items:center; gap:8px}
.nav-link{
  padding: 8px 12px;
  color: rgba(11,18,32,0.64);
  font-size: 14px;
  font-weight: 650;
  border-radius: var(--radius-sm);
  transition: background .18s ease, color .18s ease;
}
.nav-link:hover{color: var(--text); background: rgba(0,86,255,0.08)}
.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding: 8px;
}
.nav-toggle span{
  display:block;
  width:22px; height:2px;
  background: rgba(11,18,32,0.86);
  border-radius:2px;
  transition: all .2s ease;
}
.mobile-menu{
  display:none;
  position:fixed;
  top:64px; left:0; right:0;
  z-index:99;
  background: rgba(246,248,255,0.92);
  backdrop-filter: blur(18px);
  padding: 16px 24px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  flex-direction:column;
  gap: 4px;
}
.mobile-menu.open{display:flex}
.mobile-menu-link{
  padding: 12px 14px;
  border-radius: 12px;
  color: rgba(11,18,32,0.66);
  font-weight: 650;
}
.mobile-menu-link:hover{background: rgba(0,86,255,0.08); color: var(--text)}

@media (max-width: 860px){
  .nav-links{display:none}
  .nav-toggle{display:flex}
}

.hero{
  position:relative; z-index:1;
  padding: 130px 0 70px;
  min-height: 92vh;
  display:flex; align-items:center;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 56px;
  align-items:center;
}
.hero-title{
  font-size: clamp(40px, 5.6vw, 74px);
  font-weight: 900;
  line-height: 1.03;
  letter-spacing: -2px;
  margin: 18px 0 18px;
}
.hero-sub{
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
  max-width: 560px;
  margin-bottom: 28px;
}
.hero-cta{display:flex; gap:12px; flex-wrap:wrap}
.hero-metrics{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  max-width: 660px;
}
.metric{padding: 16px 16px}
.metric-k{font-weight: 900; font-size: 18px}
.metric-l{color: var(--muted); font-size: 12.5px; margin-top: 4px}

@media (max-width: 980px){
  .hero-grid{grid-template-columns: 1fr; gap: 34px}
  .hero{min-height:auto; padding: 115px 0 60px}
  .hero-metrics{grid-template-columns: 1fr; max-width: 520px}
}

.mock-card{
  width:100%;
  max-width: 520px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.74);
  backdrop-filter: blur(18px);
  overflow:hidden;
  box-shadow: 0 26px 80px rgba(0,0,0,0.10);
}
.mock-card--hero{
  box-shadow:
    0 30px 92px rgba(0,0,0,0.12),
    0 0 0 8px rgba(0,86,255,0.06);
  border-color: rgba(0,86,255,0.16);
}
.mock-top{
  display:flex; align-items:center; gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.mock-dots{display:flex; gap:6px}
.dot{width:10px; height:10px; border-radius:999px}
.dot--red{background:#ef4444}
.dot--yellow{background:#f59e0b}
.dot--green{background:#22c55e}
.mock-title{flex:1; color: rgba(11,18,32,0.62); font-size: 12px}
.mock-pulse{
  width: 10px; height: 10px; border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 0 rgba(0,86,255,0.35);
  animation: pulse 1.6s ease-out infinite;
}
@keyframes pulse{
  0%{box-shadow: 0 0 0 0 rgba(0,86,255,0.35)}
  100%{box-shadow: 0 0 0 18px rgba(0,86,255,0)}
}
.mock-body{position:relative; height: 330px; padding: 14px}
.preview-canvas{
  position:absolute; inset: 14px;
  width: calc(100% - 28px);
  height: calc(100% - 28px);
  display:block;
  border-radius: var(--radius);
  background: rgba(0,0,0,0.02);
  border: 1px solid rgba(0,0,0,0.06);
}
.console-overlay{
  position:absolute;
  left: 26px; right: 26px;
  bottom: 26px;
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 16px 50px rgba(0,0,0,0.08);
}
.console-line{display:flex; align-items:center; gap: 8px; font-size: 12.5px; line-height: 1.6}
.console-line.dim{color: rgba(11,18,32,0.58)}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.badge{
  display:inline-flex; align-items:center; justify-content:center;
  width: 22px; height: 18px;
  border-radius: 7px;
  background: rgba(0,86,255,0.10);
  color: rgba(0,86,255,0.95);
  border: 1px solid rgba(0,86,255,0.18);
  font-weight: 900;
}
.sep{opacity:.6}
.ok{color: rgba(0,86,255,0.95); font-weight: 800}

.mock-footer{
  padding: 12px 16px;
  border-top: 1px solid rgba(0,0,0,0.06);
  color: rgba(11,18,32,0.62);
  font-size: 12px;
}

.section{position:relative; z-index:1; padding: 96px 0}
.section--alt{background: rgba(0,86,255,0.035)}
.section-header{text-align:center; margin-bottom: 56px}
.section-title{
  font-size: clamp(32px, 4.2vw, 50px);
  font-weight: 900;
  letter-spacing: -1px;
  margin: 14px 0 10px;
}
.section-sub{
  color: var(--muted);
  font-size: 16px;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.65;
}

.steps{display:flex; align-items:stretch; justify-content:center; gap: 18px}
.step-card{flex:1; max-width: 260px; padding: 36px 22px; text-align:center; position:relative}
.step-num{
  position:absolute; top:-14px; left:50%; transform: translateX(-50%);
  width: 30px; height: 30px; border-radius: 999px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color:#fff; font-weight: 900; font-size: 13px;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 26px rgba(0,86,255,0.24);
}
.step-icon{height: 52px; display:flex; align-items:center; justify-content:center; margin-bottom: 14px}
.icon{stroke: var(--accent); opacity: .95}
.step-title{font-size: 18px; font-weight: 850; margin-bottom: 8px}
.step-text{color: var(--muted); font-size: 14px; line-height: 1.65}
.step-arrow{display:flex; align-items:center; font-size: 24px; color: var(--accent); opacity: .5}

@media (max-width: 980px){
  .steps{flex-wrap:wrap}
  .step-card{max-width: 45%}
  .step-arrow{display:none}
}
@media (max-width: 640px){
  .steps{flex-direction:column; align-items:center}
  .step-card{max-width: 100%}
}

.features-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.feature-card{padding: 28px 24px}
.feature-icon{height: 42px; display:flex; align-items:center; margin-bottom: 12px}
.chip{
  width: 34px; height: 34px;
  border-radius: 12px;
  display:grid; place-items:center;
  background: rgba(0,86,255,0.10);
  border: 1px solid rgba(0,86,255,0.18);
  color: rgba(0,86,255,0.95);
  font-weight: 900;
}
.feature-title{font-size: 18px; font-weight: 850; margin-bottom: 8px}
.feature-text{color: var(--muted); font-size: 14px; line-height: 1.7}

@media (max-width: 920px){
  .features-grid{grid-template-columns: 1fr 1fr}
}
@media (max-width: 640px){
  .features-grid{grid-template-columns: 1fr}
}

.spec-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.spec-card{padding: 26px 22px}
.spec-h{font-weight: 900; letter-spacing:-0.02em; margin-bottom: 12px}
.spec-list{list-style:none; display:flex; flex-direction:column; gap: 10px}
.spec-list li{
  display:flex; justify-content:space-between; gap: 14px;
  padding: 10px 10px;
  border-radius: 12px;
  background: rgba(0,86,255,0.04);
  border: 1px solid rgba(0,86,255,0.10);
}
.spec-list .k{color: rgba(11,18,32,0.70); font-weight: 750; font-size: 13px}
.spec-list .v{color: rgba(11,18,32,0.78); font-weight: 650; font-size: 13px; text-align:right}

@media (max-width: 980px){
  .spec-grid{grid-template-columns: 1fr}
}

.callout{
  margin-top: 18px;
  padding: 22px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
}
.callout-title{font-weight: 900; margin-bottom: 6px}
.callout-text{color: var(--muted); line-height: 1.65}
@media (max-width: 720px){
  .callout{flex-direction:column; align-items:flex-start}
}

.roadmap-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.roadmap-card{padding: 26px 22px}
.road-top{display:flex; align-items:center; justify-content:space-between; margin-bottom: 10px}
.road-pill{
  font-size: 12px; font-weight: 900;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,86,255,0.08);
  border: 1px solid rgba(0,86,255,0.14);
  color: rgba(0,86,255,0.95);
}
.road-status{font-size: 12px; font-weight: 800; color: rgba(11,18,32,0.62)}
.road-status.ok{color: rgba(0,86,255,0.95)}
.road-title{font-weight: 900; margin-bottom: 8px}
.road-text{color: var(--muted); line-height: 1.7; font-size: 14px}

@media (max-width: 980px){
  .roadmap-grid{grid-template-columns: 1fr}
}

.join-card{
  padding: 28px;
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
}
.join-title{
  font-size: clamp(30px, 3.4vw, 44px);
  font-weight: 950;
  letter-spacing:-1px;
  margin: 10px 0 8px;
}
.join-sub{color: var(--muted); line-height: 1.7; margin-bottom: 14px}
.join-form{display:flex; gap: 10px; flex-wrap:wrap}
.join-form input{
  flex:1;
  min-width: 220px;
  padding: 14px 14px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.12);
  background: rgba(255,255,255,0.88);
  outline:none;
  font-size: 14.5px;
}
.join-form input:focus{
  border-color: rgba(0,86,255,0.35);
  box-shadow: 0 0 0 6px rgba(0,86,255,0.10);
}
.join-note{
  margin-top: 12px;
  color: rgba(11,18,32,0.52);
  font-size: 12.5px;
  line-height: 1.6;
}
.toast{
  margin-top: 12px;
  display:none;
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(0,86,255,0.08);
  border: 1px solid rgba(0,86,255,0.16);
  color: rgba(0,86,255,0.95);
  font-weight: 750;
}
.toast.show{display:block}

.mini-spec{
  padding: 18px;
  border-radius: 18px;
  background: rgba(0,86,255,0.05);
  border: 1px solid rgba(0,86,255,0.12);
}
.mini-title{font-weight: 900; margin-bottom: 10px}
.mini-list{list-style:none; display:flex; flex-direction:column; gap: 8px}
.mini-list li{
  color: rgba(11,18,32,0.70);
  font-weight: 650;
  padding-left: 14px;
  position:relative;
}
.mini-list li::before{
  content:"";
  position:absolute;
  left:0; top: 9px;
  width: 6px; height: 6px;
  border-radius: 999px;
  background: rgba(0,86,255,0.85);
}

@media (max-width: 980px){
  .join-card{grid-template-columns: 1fr}
}

.faq-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: stretch;
}

.faq{
  padding: 18px 18px;
  border-radius: 18px;
}

.faq-q{
  font-weight: 900;
  font-size: 15px;
  letter-spacing: -0.01em;
}

.faq-a{
  color: var(--muted);
  margin-top: 10px;
  line-height: 1.7;
  font-size: 14px;
}

@media (max-width: 780px){
  .faq-grid{grid-template-columns: 1fr}
}

.footer{position:relative; z-index:1; padding: 38px 0; border-top: 1px solid rgba(0,0,0,0.08)}
.footer-inner{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap: 12px}
.footer-brand{display:flex; align-items:center; gap: 10px}
.footer-name{font-family:"Space Grotesk", sans-serif; font-weight: 900}
.footer-copy{color: rgba(11,18,32,0.50); font-size: 13px}
.footer-links{display:flex; gap: 18px}
.footer-link{color: rgba(11,18,32,0.62); font-weight: 700; font-size: 13px}
.footer-link:hover{color: var(--text)}
@media (max-width: 640px){
  .footer-inner{flex-direction:column; text-align:center}
  .footer-links{justify-content:center}
}

.fade-overlay{
  position:fixed; inset:0; z-index:200;
  background: radial-gradient(circle at 30% 30%, rgba(0,86,255,0.14), rgba(255,255,255,0.92));
  opacity:0; pointer-events:none;
  transition: opacity 480ms ease;
}
.fade-overlay.on{opacity:1; pointer-events:all}

.reveal{opacity:0; transform: translateY(26px); transition: opacity .75s ease, transform .75s ease}
.reveal.visible{opacity:1; transform: translateY(0)}
.reveal--delay-1{transition-delay: .14s}
.reveal--delay-2{transition-delay: .28s}
.reveal--delay-3{transition-delay: .42s}

.mock-body--core{
  height: 360px; 
}

.core-stage{
  position:absolute;
  inset: 14px;
  border-radius: var(--radius);
  background:
    radial-gradient(600px 420px at 30% 30%, rgba(0,86,255,0.09), transparent 55%),
    radial-gradient(520px 380px at 80% 65%, rgba(47,123,255,0.10), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,0.65), rgba(255,255,255,0.22));
  border: 1px solid rgba(0,0,0,0.06);
  overflow:hidden;
}

.core-stage::before{

  content:"";
  position:absolute; inset:-2px;
  background-image:
    linear-gradient(rgba(0,0,0,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: .5;
  mask-image: radial-gradient(circle at 55% 45%, rgba(0,0,0,0.55) 0%, transparent 68%);
  -webkit-mask-image: radial-gradient(circle at 55% 45%, rgba(0,0,0,0.55) 0%, transparent 68%);
  pointer-events:none;
}

.core-nucleus{
  position:absolute;
  left: 50%; top: 46%;
  width: 92px; height: 92px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: radial-gradient(circle at 35% 35%, #ffffff, rgba(255,255,255,0.75) 40%, rgba(0,86,255,0.18) 72%, rgba(0,86,255,0.06));
  box-shadow:
    0 24px 70px rgba(0,0,0,0.12),
    0 0 0 10px rgba(0,86,255,0.06),
    0 0 60px rgba(0,86,255,0.22);
  animation: nucleusBreath 3.8s ease-in-out infinite;
}

@keyframes nucleusBreath{
  0%,100%{transform: translate(-50%, -50%) scale(1)}
  50%{transform: translate(-50%, -50%) scale(1.04)}
}

.core-orbit{
  position:absolute;
  left: 50%; top: 46%;
  width: 240px; height: 150px;
  transform: translate(-50%, -50%) rotate(0deg);
  border-radius: 999px;
  border: 1px solid rgba(0,86,255,0.22);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.45) inset;
  opacity: .85;
  filter: drop-shadow(0 10px 20px rgba(0,86,255,0.12));
  animation: orbitSpin 9s linear infinite;
}

.core-orbit.o2{
  width: 280px; height: 190px;
  opacity: .65;
  border-color: rgba(47,123,255,0.20);
  animation-duration: 12s;
  animation-direction: reverse;
}
.core-orbit.o3{
  width: 320px; height: 220px;
  opacity: .45;
  border-color: rgba(0,86,255,0.16);
  animation-duration: 15s;
}

@keyframes orbitSpin{
  from{transform: translate(-50%, -50%) rotate(0deg)}
  to{transform: translate(-50%, -50%) rotate(360deg)}
}

.core-node{
  position:absolute;
  width: 10px; height: 10px;
  border-radius: 999px;
  background: rgba(0,86,255,0.95);
  box-shadow: 0 0 0 6px rgba(0,86,255,0.10), 0 0 24px rgba(0,86,255,0.20);
  opacity: .95;
  animation: nodeDrift 6.2s ease-in-out infinite;
}
.core-node.n1{left: 24%; top: 30%; animation-delay: .0s}
.core-node.n2{left: 74%; top: 26%; animation-delay: .7s}
.core-node.n3{left: 18%; top: 70%; animation-delay: 1.1s}
.core-node.n4{left: 78%; top: 72%; animation-delay: 1.6s}

@keyframes nodeDrift{
  0%,100%{transform: translate(0,0)}
  50%{transform: translate(10px,-8px)}
}

.core-pulse{
  position:absolute;
  left: 50%; top: 46%;
  width: 120px; height: 120px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  border: 1px solid rgba(0,86,255,0.22);
  box-shadow: 0 0 0 6px rgba(0,86,255,0.05);
  opacity: 0;
  animation: pulseOut 2.4s ease-out infinite;
}
.core-pulse.p2{animation-delay: .8s}
.core-pulse.p3{animation-delay: 1.6s}

@keyframes pulseOut{
  0%{opacity: 0; transform: translate(-50%, -50%) scale(0.75)}
  15%{opacity: .7}
  100%{opacity: 0; transform: translate(-50%, -50%) scale(2.0)}
}

.status-panel{
  position:absolute;
  left: 26px; right: 26px;
  bottom: 22px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.74);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 16px 50px rgba(0,0,0,0.08);
}
.status-row{display:flex; align-items:center; gap: 8px; font-size: 12.5px; line-height: 1.6}
.status-row.dim{color: rgba(11,18,32,0.58)}

.features-grid--5{
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 1080px){
  .features-grid--5{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 640px){
  .features-grid--5{grid-template-columns: 1fr}
}

.steps--3 .step-card{max-width: 320px}