:root{
  --font:'Noto Sans SC','PingFang SC','Microsoft YaHei','Segoe UI',sans-serif;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;

  --bg:#05070d;
  --bg2:#0a1020;
  --fg:#f8fafc;
  --muted:#8ea0b8;
  --muted2:#5d6c82;
  --line:rgba(148,163,184,.16);
  --line2:rgba(148,163,184,.28);
  --panel:rgba(15,23,42,.76);

  --cyan:#00e5ff;
  --blue:#4f8cff;
  --green:#38f8b6;
  --orange:#ff8b3d;
  --violet:#9d7cff;
  --yellow:#facc15;

  --country:#343c50;
  --country-stroke:rgba(2,6,23,.55);
  --grid:rgba(255,255,255,.032);
  --shadow:rgba(0,0,0,.42);
}

body[data-theme="atlas"]{
  --bg:#f4efe6;
  --bg2:#ebe3d3;
  --fg:#101820;
  --muted:#667085;
  --muted2:#8a7f6f;
  --line:rgba(16,24,32,.14);
  --line2:rgba(16,24,32,.26);
  --panel:rgba(255,255,255,.55);

  --cyan:#0ea5b7;
  --blue:#2457ff;
  --green:#0f9f6e;
  --orange:#d97706;
  --violet:#6d5dfc;
  --yellow:#facc15;

  --country:#b9ad9b;
  --country-stroke:rgba(248,242,232,.72);
  --grid:rgba(16,24,32,.045);
  --shadow:rgba(80,64,38,.16);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:4px;
}

.skip-link{
  position:fixed;
  top:.75rem;
  left:.75rem;
  z-index:100;
  padding:.7rem 1rem;
  color:#020617;
  background:var(--cyan);
  border-radius:10px;
  font-weight:700;
  text-decoration:none;
  transform:translateY(-160%);
  transition:transform .2s ease;
}

.skip-link:focus{ transform:translateY(0); }

.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;
}

body{
  min-height:100vh;
  font-family:var(--font);
  color:var(--fg);
  overflow-x:hidden;
  background:#05070d;
  -webkit-font-smoothing:antialiased;
}

body[data-theme="atlas"]{
  background:
    radial-gradient(circle at 18% 12%,rgba(14,165,183,.16),transparent 32%),
    radial-gradient(circle at 84% 18%,rgba(36,87,255,.09),transparent 28%),
    radial-gradient(circle at 75% 78%,rgba(217,119,6,.1),transparent 34%),
    linear-gradient(135deg,#f8f2e8 0%,#efe6d5 44%,#e8dcc7 100%);
}

body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse at center,black 12%,transparent 78%);
}

body[data-theme="atlas"]::before{
  mask-image:none;
  background-size:42px 42px;
}

body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23noise)' opacity='.6'/%3E%3C/svg%3E");
  mix-blend-mode:screen;
}

body[data-theme="atlas"]::after{
  opacity:.08;
  mix-blend-mode:multiply;
}

a{
  color:inherit;
}

main{
  position:relative;
  z-index:5;
}

.rain-layer{
  position:fixed;
  inset:-20%;
  z-index:2;
  pointer-events:none;
  opacity:.18;
  background:
    repeating-linear-gradient(108deg,transparent 0 16px,rgba(255,255,255,.12) 17px,transparent 18px);
  animation:rainMove 18s linear infinite;
  mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);
}

body[data-theme="atlas"] .rain-layer{
  opacity:.08;
  background:
    repeating-linear-gradient(90deg,transparent 0 18px,rgba(16,24,32,.08) 19px,transparent 20px);
  animation:none;
  mix-blend-mode:multiply;
}

@keyframes rainMove{
  from{transform:translate3d(-4%,0,0)}
  to{transform:translate3d(4%,10%,0)}
}

/* =========================
   NAV
========================= */
nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:80;
  height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 2rem;
  background:rgba(5,7,13,.64);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(26px) saturate(150%);
}

body[data-theme="atlas"] nav{
  height:76px;
  background:rgba(248,242,232,.76);
  box-shadow:0 14px 40px rgba(80,64,38,.08);
}

.logo{
  display:flex;
  align-items:center;
  gap:.72rem;
  font-family:var(--mono);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.22em;
  color:var(--fg);
}

.logo-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:
    0 0 12px rgba(0,229,255,.95),
    0 0 36px rgba(0,229,255,.6);
}

body[data-theme="atlas"] .logo-dot{
  background:#111827;
  box-shadow:none;
}

.logo-slash{
  color:var(--muted2);
  margin-left:.25rem;
}

.nav-right{
  display:flex;
  align-items:center;
  gap:1.1rem;
}

.nav-link{
  color:var(--muted);
  text-decoration:none;
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:.2s;
}

.nav-link:hover{
  color:var(--fg);
}

.lang-switch{
  display:flex;
  align-items:center;
  gap:.45rem;
  padding:.36rem .66rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(15,23,42,.46);
  font-family:var(--mono);
  font-size:.68rem;
}

body[data-theme="atlas"] .lang-switch{
  background:rgba(255,255,255,.45);
}

.lang-switch button,
.lang-switch a{
  border:0;
  background:none;
  color:var(--muted2);
  cursor:pointer;
  font:inherit;
  text-decoration:none;
}

.lang-switch button.active,
.lang-switch a.active{
  color:var(--cyan);
}

.lang-switch span{
  color:var(--muted2);
}

.nav-cta{
  padding:.58rem 1rem;
  border:1px solid rgba(0,229,255,.36);
  border-radius:999px;
  color:#e8fdff;
  text-decoration:none;
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.13em;
  background:linear-gradient(135deg,rgba(0,229,255,.1),rgba(79,140,255,.1));
  box-shadow:0 0 26px rgba(0,229,255,.08);
  white-space:nowrap;
  transition:.25s;
}

body[data-theme="atlas"] .nav-cta{
  color:#f8f2e8;
  border-color:#111827;
  background:#111827;
  box-shadow:6px 6px 0 rgba(16,24,32,.12);
}

.nav-cta:hover{
  color:#020617;
  background:linear-gradient(135deg,#8ff7ff,var(--cyan),var(--blue));
  border-color:transparent;
}

body[data-theme="atlas"] .nav-cta:hover{
  color:#111827;
  background:var(--yellow);
  border-color:#111827;
  box-shadow:3px 3px 0 rgba(16,24,32,.2);
}

.mobile-menu{ display:none; }

.background-video{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:3;
  opacity:.6;
  pointer-events:none;
  background:#05070d url('/assets/background-poster.webp') center/cover no-repeat;
}

/* =========================
   HERO
========================= */
.hero{
  position:relative;
  max-width:1500px;
  min-height:100vh;
  margin:0 auto;
  padding:9.8rem 2rem 5.5rem;
  display:grid;
  grid-template-columns:1fr;
  grid-template-areas:
    "status"
    "title"
    "sub"
    "tech"
    "act"
    "terminal";
  gap:1.25rem;
  isolation:isolate;
}

.hero::before{
  content:'';
  position:absolute;
  left:50%;
  top:6.4rem;
  bottom:3rem;
  width:min(300px,36vw);
  transform:translateX(-50%);
  z-index:-2;
  background:
    linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 35%,rgba(255,255,255,.92) 50%,rgba(0,229,255,.35) 58%,transparent 100%);
  filter:blur(22px);
  opacity:.9;
  animation:doorPulse 5.5s ease-in-out infinite alternate;
}

body[data-theme="atlas"] .hero::before{
  background:
    linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 35%,rgba(14,165,183,.34) 50%,rgba(255,255,255,.6) 60%,transparent 100%);
  filter:blur(28px);
  opacity:.65;
}

.hero::after{
  content:'';
  position:absolute;
  inset:6.6rem 1rem 2.8rem;
  z-index:-3;
  border:1px solid var(--line);
  border-radius:36px;
  background:
    radial-gradient(circle at 50% 16%,rgba(255,255,255,.12),transparent 26%),
    radial-gradient(circle at 50% 44%,rgba(0,229,255,.15),transparent 32%),
    linear-gradient(135deg,rgba(15,23,42,.82),rgba(2,6,23,.55));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 40px 140px var(--shadow);
}

body[data-theme="atlas"] .hero::after{
  background:
    linear-gradient(135deg,rgba(255,255,255,.56),rgba(255,255,255,.18)),
    radial-gradient(circle at 52% 32%,rgba(14,165,183,.14),transparent 34%),
    linear-gradient(135deg,#f8f2e8,#ede0cb);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    18px 18px 0 rgba(16,24,32,.06),
    0 34px 100px rgba(80,64,38,.14);
}

@keyframes doorPulse{
  from{opacity:.54;filter:blur(28px)}
  to{opacity:1;filter:blur(16px)}
}

@media(min-width:980px){
  .hero{
    grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr);
    grid-template-areas:
      "status status"
      "title terminal"
      "sub terminal"
      "tech terminal"
      "act terminal";
    align-items:center;
    gap:2.4rem;
  }
}

.status-bar{
  grid-area:status;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.7rem 1.1rem;
  padding:.7rem 1rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(5,7,13,.54);
  backdrop-filter:blur(18px);
  color:var(--muted);
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.1em;
}

body[data-theme="atlas"] .status-bar{
  background:rgba(255,255,255,.42);
}

.status-item{
  display:flex;
  align-items:center;
  gap:.45rem;
  white-space:nowrap;
}

.status-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 13px rgba(56,248,182,.9);
}

body[data-theme="atlas"] .status-dot{
  box-shadow:0 0 0 4px rgba(15,159,110,.14);
}

.hero-title{
  grid-area:title;
  max-width:840px;
  font-size:clamp(3.2rem,7vw,7.4rem);
  line-height:.94;
  font-weight:900;
  letter-spacing:-.078em;
  color:var(--fg);
  text-wrap:balance;
}

.hero-title .it{
  display:inline-block;
  margin-top:.24rem;
  background:linear-gradient(90deg,#ffffff 0%,#b9fbff 24%,#00e5ff 56%,#7aa7ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,229,255,.18));
}

body[data-theme="atlas"] .hero-title .it{
  color:var(--fg);
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  position:relative;
  filter:none;
}

body[data-theme="atlas"] .hero-title .it::after{
  content:'';
  position:absolute;
  left:.02em;
  right:.02em;
  bottom:.04em;
  height:.18em;
  z-index:-1;
  background:linear-gradient(90deg,rgba(14,165,183,.28),rgba(250,204,21,.42));
  border-radius:999px;
}

.hero-sub{
  grid-area:sub;
  max-width:650px;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.95;
}

body[data-theme="dark"] .hero-sub{
  color:#cbd5e1;
}

.hero-tech{
  grid-area:tech;
  color:var(--cyan);
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.hero-actions{
  grid-area:act;
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.9rem 1.35rem;
  border-radius:999px;
  text-decoration:none;
  font-family:var(--mono);
  font-size:.76rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:.25s;
}

.btn-primary{
  color:#020617;
  background:linear-gradient(135deg,#ffffff,#9af8ff 38%,#00e5ff 64%,#4f8cff);
  box-shadow:0 20px 60px rgba(0,229,255,.23);
}

body[data-theme="atlas"] .btn-primary{
  color:#f8f2e8;
  background:#111827;
  border:1px solid #111827;
  box-shadow:7px 7px 0 rgba(16,24,32,.12);
}

.btn-primary:hover{
  transform:translateY(-2px);
}

body[data-theme="atlas"] .btn-primary:hover{
  color:#111827;
  background:var(--yellow);
  box-shadow:4px 4px 0 rgba(16,24,32,.2);
}

.btn-ghost{
  color:var(--fg);
  border:1px solid var(--line);
  background:rgba(15,23,42,.52);
}

body[data-theme="atlas"] .btn-ghost{
  color:#111827;
  background:rgba(255,255,255,.38);
}

.terminal{
  grid-area:terminal;
  width:100%;
  max-width:530px;
  justify-self:end;
  padding:1.28rem 1.35rem;
  border:1px solid var(--line);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0%,rgba(0,229,255,.12),transparent 32%),
    linear-gradient(180deg,rgba(15,23,42,.82),rgba(2,6,23,.86));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 30px 90px var(--shadow);
  font-family:var(--mono);
  font-size:.78rem;
}

body[data-theme="atlas"] .terminal{
  background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.36));
  box-shadow:12px 12px 0 rgba(16,24,32,.06),0 24px 70px rgba(80,64,38,.12);
}

.terminal-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.8rem;
  margin-bottom:.82rem;
  border-bottom:1px solid var(--line);
  color:var(--muted2);
  font-size:.66rem;
  letter-spacing:.14em;
}

.term-line{
  display:flex;
  gap:.8rem;
  padding:.2rem 0;
}

.term-line .lbl{
  width:100px;
  flex-shrink:0;
  color:var(--muted2);
}

.term-line .val{
  color:var(--fg);
}

.term-line .green{
  color:var(--green);
}

.cursor{
  display:inline-block;
  width:7px;
  height:14px;
  margin-left:5px;
  background:var(--cyan);
  vertical-align:text-bottom;
  animation:blink 1s steps(1) infinite;
}

body[data-theme="atlas"] .cursor{
  background:#111827;
}

@keyframes blink{
  0%,50%{opacity:1}
  51%,100%{opacity:0}
}

/* =========================
   SECTION
========================= */
.section{
  max-width:1500px;
  margin:0 auto;
  padding:7rem 2rem;
  border-top:1px solid var(--line);
}

.section-head{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  margin-bottom:3.5rem;
}

@media(min-width:900px){
  .section-head{
    grid-template-columns:260px 1fr;
    align-items:start;
  }
}

.section-num{
  color:var(--cyan);
  font-family:var(--mono);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.16em;
}

.section-label{
  margin-top:.42rem;
  color:var(--muted2);
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
}

.section-title{
  max-width:920px;
  color:var(--fg);
  font-size:clamp(2.35rem,5vw,4.6rem);
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.06em;
}

/* =========================
   PROTOCOLS
========================= */
.proto-list{
  display:grid;
  gap:.82rem;
}

.proto-row{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:64px minmax(180px,1fr) minmax(0,1.7fr) auto;
  gap:1.5rem;
  align-items:center;
  padding:1.35rem 1.45rem;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(15,23,42,.72),rgba(15,23,42,.34));
  transition:.25s;
}

body[data-theme="atlas"] .proto-row{
  background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,255,255,.3));
  box-shadow:8px 8px 0 rgba(16,24,32,.045);
}

.proto-row::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,var(--cyan),var(--blue));
  opacity:.75;
}

body[data-theme="atlas"] .proto-row::before{
  background:#111827;
  opacity:1;
}

.proto-row:hover{
  transform:translateY(-2px);
  border-color:var(--line2);
}

.proto-num{
  color:var(--muted2);
  font-family:var(--mono);
  font-size:.76rem;
}

.proto-name{
  color:var(--fg);
  font-size:1.3rem;
  font-weight:850;
}

.proto-desc{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.7;
}

.proto-meta{
  display:flex;
  align-items:center;
  gap:.55rem;
  color:var(--green);
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.12em;
}

.proto-meta::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}

/* =========================
   REAL MAP
========================= */
.network-section{
  max-width:none;
  position:relative;
  overflow:hidden;
  padding:7.5rem 0;
  border-top:1px solid var(--line);
  background:
    radial-gradient(circle at 52% 44%,rgba(0,229,255,.08),transparent 36%),
    radial-gradient(circle at 74% 26%,rgba(79,140,255,.13),transparent 34%),
    linear-gradient(180deg,rgba(7,11,20,.6),rgba(2,6,23,.25));
}

body[data-theme="atlas"] .network-section{
  background:
    radial-gradient(circle at 50% 40%,rgba(14,165,183,.12),transparent 38%),
    linear-gradient(180deg,rgba(248,242,232,.65),rgba(235,224,203,.65));
}

.network-section::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:46px 46px;
}

.network-inner{
  position:relative;
  z-index:2;
  max-width:1500px;
  margin:0 auto;
  padding:0 2rem;
}

.network-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
  align-items:center;
}

@media(min-width:1050px){
  .network-layout{
    grid-template-columns:minmax(0,1.65fr) minmax(350px,.75fr);
  }
}

.real-map-panel{
  position:relative;
  min-height:610px;
  overflow:hidden;
  border:1px solid rgba(0,180,255,.18);
  border-radius:34px;
  background: transparent;
  box-shadow:
    inset 0 1px 0 rgba(0,180,255,.10),
    0 42px 120px var(--shadow);
}

body[data-theme="atlas"] .real-map-panel{
  background:
    radial-gradient(circle at 48% 42%,rgba(14,165,183,.12),transparent 36%),
    linear-gradient(135deg,#f7efe2,#e7dac5);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    16px 16px 0 rgba(16,24,32,.06),
    0 34px 90px rgba(80,64,38,.16);
}

.real-map-panel::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(0,180,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,180,255,.03) 1px,transparent 1px);
  background-size:38px 38px;
  pointer-events:none;
  z-index:1;
}

.map-top{
  position:absolute;
  top:1.25rem;
  left:1.45rem;
  right:1.45rem;
  z-index:5;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  color:rgba(0,229,255,.45);
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.map-top strong{
  color:rgba(0,229,255,.85);
  text-shadow:0 0 12px rgba(0,229,255,.5);
}

.real-world-svg{
  position:absolute;
  z-index:3;
  left:0;
  top:3.5rem;
  width:100%;
  height:calc(100% - 3.5rem);
}

.map-sphere{
  fill: none;
}

body[data-theme="atlas"] .map-sphere{
  fill:rgba(255,255,255,.16);
}

.map-graticule{
  fill:none;
  stroke:rgba(0,180,255,.07);
  stroke-width:.6;
}

body[data-theme="atlas"] .map-graticule{
  stroke:rgba(16,24,32,.12);
}

.map-country{
  fill: rgba(80,160,255,.06);
  stroke:rgba(80,160,255,.30);
  stroke-width:.5;
}

.node-ring{
  fill:none;
  stroke:var(--cyan);
  stroke-width:1.2;
  opacity:.85;
  animation:nodeRing 2.4s ease-out infinite;
}

.node-ring.orange{
  stroke:var(--orange);
}

.node-dot{
  fill:#e0ffff;
  stroke:var(--cyan);
  stroke-width:3.5;
  filter:drop-shadow(0 0 8px rgba(0,229,255,1)) drop-shadow(0 0 20px rgba(0,229,255,.5));
}

body[data-theme="atlas"] .node-dot{
  fill:#fff;
  filter:drop-shadow(0 0 8px rgba(14,165,183,.8));
}

.node-dot.orange{
  fill:#fff7ed;
  stroke:var(--orange);
  filter:drop-shadow(0 0 8px rgba(255,139,61,.95)) drop-shadow(0 0 18px rgba(255,139,61,.45));
}

.node-label{
  fill:rgba(0,229,255,.90);
  font-family:var(--mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.10em;
  paint-order:stroke;
  stroke:rgba(1,9,30,.95);
  stroke-width:3.5px;
  stroke-linejoin:round;
  pointer-events:none;
}

body[data-theme="atlas"] .node-label{
  fill:#111827;
  stroke:#f8f2e8;
  stroke-width:5px;
}

@keyframes nodeRing{
  0%{r:7;opacity:.85}
  100%{r:30;opacity:0}
}

.map-loading{
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted2);
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.12em;
  background:rgba(2,6,23,.12);
}

body[data-theme="atlas"] .map-loading{
  background:rgba(248,242,232,.42);
}

.node-cards{
  display:grid;
  gap:1rem;
}

.node-card{
  position:relative;
  overflow:hidden;
  padding:1.35rem;
  border:1px solid var(--line);
  border-radius:26px;
  background:
    radial-gradient(circle at 94% 15%,rgba(0,229,255,.1),transparent 34%),
    linear-gradient(135deg,rgba(15,23,42,.78),rgba(15,23,42,.38));
  box-shadow:0 24px 80px var(--shadow);
  transition:.25s;
}

body[data-theme="atlas"] .node-card{
  background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(255,255,255,.3));
  box-shadow:8px 8px 0 rgba(16,24,32,.05);
}

.node-card::before{
  content:'';
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  background:linear-gradient(180deg,var(--cyan),transparent);
}

body[data-theme="atlas"] .node-card::before{
  background:#111827;
}

.node-card:hover{
  transform:translateY(-3px);
  border-color:var(--line2);
}

.node-card-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.9rem;
}

.node-flag{
  color:var(--cyan);
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.16em;
}

.node-status{
  display:flex;
  align-items:center;
  gap:.42rem;
  color:var(--cyan);
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.1em;
  white-space:nowrap;
}

.node-status::before{
  content:'';
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 12px rgba(0,229,255,.9);
}

body[data-theme="atlas"] .node-status::before{
  box-shadow:0 0 0 4px rgba(14,165,183,.14);
}

.node-status.scaling{
  color:var(--orange);
}

.node-status.scaling::before{
  background:var(--orange);
  box-shadow:0 0 12px rgba(255,139,61,.9);
}

body[data-theme="atlas"] .node-status.scaling::before{
  box-shadow:0 0 0 4px rgba(217,119,6,.14);
}

.node-name{
  color:var(--fg);
  font-size:1.28rem;
  font-weight:850;
  margin-bottom:.45rem;
}

.node-meta{
  color:var(--muted);
  font-family:var(--mono);
  font-size:.7rem;
  line-height:1.65;
  word-break:break-word;
}

/* =========================
   SPECS / CTA / FOOTER
========================= */
.specs{
  display:grid;
  grid-template-columns:1fr;
  gap:.88rem;
}

@media(min-width:760px){
  .specs{
    grid-template-columns:1fr 1fr;
  }
}

@media(min-width:1100px){
  .specs{
    grid-template-columns:repeat(3,1fr);
  }
}

.spec-cell{
  min-height:214px;
  padding:1.75rem;
  border:1px solid var(--line);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(15,23,42,.7),rgba(15,23,42,.34));
  transition:.25s;
}

body[data-theme="atlas"] .spec-cell{
  background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(255,255,255,.28));
  box-shadow:8px 8px 0 rgba(16,24,32,.045);
}

.spec-cell:hover{
  transform:translateY(-3px);
  border-color:var(--line2);
}

.spec-num{
  margin-bottom:1.1rem;
  color:var(--muted2);
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.18em;
}

.spec-title{
  margin-bottom:.7rem;
  color:var(--fg);
  font-size:1.25rem;
  font-weight:850;
}

.spec-desc{
  color:var(--muted);
  font-size:.92rem;
  line-height:1.76;
}

.cta{
  position:relative;
  max-width:1500px;
  margin:0 auto;
  padding:8.2rem 2rem;
  text-align:center;
  border-top:1px solid var(--line);
}

.cta::before{
  content:'';
  position:absolute;
  left:50%;
  top:48%;
  width:min(720px,90vw);
  height:min(720px,90vw);
  transform:translate(-50%,-50%);
  z-index:-1;
  background:
    radial-gradient(circle,rgba(255,255,255,.12),transparent 24%),
    radial-gradient(circle,rgba(0,229,255,.16),transparent 44%),
    radial-gradient(circle,rgba(79,140,255,.12),transparent 62%);
  filter:blur(24px);
}

body[data-theme="atlas"] .cta::before{
  background:
    radial-gradient(circle,rgba(255,255,255,.5),transparent 26%),
    radial-gradient(circle,rgba(14,165,183,.13),transparent 46%),
    radial-gradient(circle,rgba(250,204,21,.14),transparent 62%);
}

.cta-mark{
  margin-bottom:1.5rem;
  color:var(--cyan);
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.cta-title{
  max-width:880px;
  margin:0 auto 1.6rem;
  color:var(--fg);
  font-size:clamp(2.7rem,6vw,6rem);
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.065em;
}

.cta-title .it{
  background:linear-gradient(90deg,#ffffff,#9af8ff,var(--cyan),#9d7cff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

body[data-theme="atlas"] .cta-title .it{
  color:var(--fg);
  background:none;
  position:relative;
}

body[data-theme="atlas"] .cta-title .it::after{
  content:'';
  position:absolute;
  left:.02em;
  right:.02em;
  bottom:.05em;
  height:.18em;
  z-index:-1;
  background:linear-gradient(90deg,rgba(14,165,183,.28),rgba(250,204,21,.45));
  border-radius:999px;
}

.cta-sub{
  max-width:560px;
  margin:0 auto 2.2rem;
  color:var(--muted);
  font-size:1rem;
  line-height:1.8;
}

footer{
  max-width:1500px;
  margin:0 auto;
  padding:2.4rem 2rem;
  border-top:1px solid var(--line);
}

.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  color:var(--muted2);
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.12em;
}

.footer-grid a{
  color:var(--muted);
  text-decoration:none;
  margin-right:1.2rem;
}

.footer-grid a:hover{
  color:var(--fg);
}

.footer-end{
  text-align:left;
}

@media(min-width:760px){
  .footer-grid{
    grid-template-columns:2fr 2fr 1fr;
    align-items:center;
  }

  .footer-end{
    text-align:right;
  }
}

/* =========================
   REVEAL / MOBILE
========================= */
.js .reveal{
  opacity:0;
  transform:translateY(22px);
  transition:.8s ease;
}

.js .reveal.in{
  opacity:1;
  transform:translateY(0);
}

.no-js .reveal{
  opacity:1;
  transform:none;
}

@media(max-width:760px){
  nav{
    height:64px;
    padding:0 .9rem;
  }

  .logo{
    font-size:.7rem;
    letter-spacing:.16em;
    gap:.48rem;
  }

  .nav-right{
    gap:.48rem;
  }

  .nav-right .nav-link:not(.always){
    display:none;
  }

  .mobile-menu{
    display:block;
    position:relative;
  }

  .mobile-menu summary{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid var(--line);
    border-radius:999px;
    color:var(--fg);
    cursor:pointer;
    list-style:none;
    font-size:1rem;
  }

  .mobile-menu summary::-webkit-details-marker{ display:none; }

  .mobile-menu-links{
    position:absolute;
    top:46px;
    right:0;
    min-width:150px;
    padding:.55rem;
    display:grid;
    gap:.2rem;
    border:1px solid var(--line2);
    border-radius:16px;
    background:rgba(5,7,13,.96);
    box-shadow:0 18px 44px rgba(0,0,0,.45);
  }

  .mobile-menu-links a{
    padding:.65rem .75rem;
    color:var(--muted);
    text-decoration:none;
    border-radius:10px;
  }

  .mobile-menu-links a:hover{ color:var(--fg); background:rgba(255,255,255,.06); }

  .nav-link.always{
    display:none;
  }

  .lang-switch{
    padding:.32rem .5rem;
    font-size:.62rem;
  }

  .nav-cta{
    padding:.46rem .62rem;
    font-size:.64rem;
  }

  .hero{
    min-height:auto;
    padding:6.2rem 1rem 3.5rem;
    gap:1.1rem;
  }

  .hero::after{
    inset:5rem .5rem 1.5rem;
    border-radius:24px;
  }

  .hero::before{
    top:5.5rem;
    bottom:2rem;
    width:46vw;
  }

  .status-bar{
    border-radius:20px;
    font-size:.55rem;
    gap:.5rem .72rem;
  }

  .status-item:last-child{
    margin-left:0!important;
  }

  .hero-title{
    font-size:clamp(3rem,15vw,4.8rem);
  }

  .hero-sub{
    font-size:.95rem;
    line-height:1.75;
  }

  .hero-tech{
    font-size:.62rem;
    line-height:1.7;
  }

  .btn{
    flex:1 1 145px;
    min-height:44px;
    padding:.78rem .9rem;
    font-size:.66rem;
  }

  .terminal{
    justify-self:stretch;
    max-width:none;
    padding:1rem;
    border-radius:18px;
    font-size:.68rem;
  }

  .terminal-head{
    font-size:.55rem;
  }

  .term-line .lbl{
    width:78px;
  }

  .section{
    padding:4.5rem 1rem;
  }

  .section-title{
    font-size:clamp(2rem,10vw,3rem);
  }

  .proto-row{
    grid-template-columns:36px minmax(0,1fr);
    gap:.75rem;
    padding:1.15rem;
  }

  .proto-desc,
  .proto-meta{
    grid-column:2;
  }

  .network-section{
    padding:4.6rem 0;
  }

  .network-inner{
    padding:0 1rem;
  }

  .real-map-panel{
    min-height:420px;
    border-radius:24px;
  }

  .map-top{
    top:1rem;
    left:1rem;
    right:1rem;
    font-size:.52rem;
  }

  .real-world-svg{
    top:3.1rem;
    height:calc(100% - 3.1rem);
  }

  .node-label{
    font-size:9px;
  }

  .node-card{
    padding:1.15rem;
    border-radius:20px;
  }

  .spec-cell{
    min-height:auto;
    padding:1.25rem;
  }

  .cta{
    padding:5.3rem 1rem;
  }

  .pricing-table,
  .pricing-table tbody,
  .pricing-table tr,
  .pricing-table td{
    display:block;
    width:100%;
  }

  .pricing-table thead{ display:none; }

  .pricing-table tr{
    margin-bottom:1rem;
    padding:.5rem .9rem;
    border:1px solid var(--line2);
    border-radius:18px;
    background:rgba(15,23,42,.7);
  }

  .pricing-table td{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.65rem .15rem!important;
    text-align:right!important;
    border-bottom:1px solid var(--line);
  }

  .pricing-table td:last-child{
    border-bottom:0;
    justify-content:flex-end;
  }

  .pricing-table td:not(:last-child)::before{
    content:attr(data-label);
    color:var(--muted2);
    font-family:var(--mono);
    font-size:.66rem;
    letter-spacing:.08em;
    text-align:left;
  }
}

@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .background-video{ display:none; }
  .js .reveal{ opacity:1; transform:none; }
}

.pricing-row{
  border-bottom:1px solid var(--line);
  transition:.2s;
}
.pricing-row:hover{
  background:rgba(0,229,255,.03);
}
.pricing-featured{
  background:rgba(0,229,255,.04);
}
