.nodes-hero{
  position:relative;
  min-height:680px;
  overflow:hidden;
  padding-top:92px;
  padding-bottom:76px;
}
.nodes-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(42% 54% at 18% 30%,var(--color-glow-blue),transparent 74%),
    radial-gradient(36% 46% at 82% 46%,var(--color-glow-cyan),transparent 76%);
  pointer-events:none;
}
.nodes-atmosphere{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.nodes-orbit{
  position:absolute;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
}
.nodes-orbit-a{
  top:8%;
  left:50%;
  width:760px;
  height:420px;
  transform:translateX(-50%) rotate(-8deg);
}
.nodes-orbit-b{
  top:18%;
  left:50%;
  width:980px;
  height:500px;
  transform:translateX(-50%) rotate(7deg);
}
.nodes-atmo-dot{
  position:absolute;
  width:12px;
  height:12px;
  border:3px solid var(--color-panel);
  border-radius:var(--radius-pill);
  background:var(--color-accent);
  box-shadow:0 0 24px var(--color-dot-glow);
}
.nodes-atmo-dot-a{
  top:24%;
  left:16%;
}
.nodes-atmo-dot-b{
  top:18%;
  right:18%;
}
.nodes-atmo-dot-c{
  right:12%;
  bottom:22%;
}
.nodes-hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
}
.nodes-title{
  max-width:12em;
  margin:20px auto 0;
}
.nodes-lead{
  max-width:760px;
  margin:20px auto 0;
  color:var(--color-muted);
  font-size:clamp(17px,2vw,20px);
}
.nodes-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  margin-top:30px;
}
.coverage-strip{
  display:grid;
  grid-template-columns:.8fr .8fr .8fr 1.8fr;
  max-width:1040px;
  margin:48px auto 0;
  overflow:hidden;
  background:var(--color-panel);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  text-align:left;
}
.coverage-strip div{
  min-width:0;
  padding:20px 22px;
}
.coverage-strip div+div{
  border-left:1px solid var(--color-border);
}
.coverage-strip dt{
  color:var(--color-accent);
  font:750 11px/1.4 var(--font-mono);
  letter-spacing:.1em;
}
.coverage-strip dd{
  margin:7px 0 0;
  color:var(--color-text);
  font-weight:800;
  overflow-wrap:anywhere;
}
.directory-note{
  max-width:900px;
  margin-bottom:24px;
  padding-left:18px;
  border-left:3px solid var(--color-accent);
  color:var(--color-muted);
}
.route-type,
.support-mark{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 10px;
  border-radius:var(--radius-pill);
  font:700 12px/1.35 var(--font-mono);
  white-space:nowrap;
}
.route-type{
  background:var(--color-panel-alt);
  color:var(--color-accent-dark);
  border:1px solid var(--color-border);
}
.support-mark{
  background:var(--color-panel-alt);
  color:var(--color-success);
  border:1px solid var(--color-border);
}
.directory-callout,
.method-callout{
  margin-top:26px;
}
.route-rail{
  position:relative;
  max-width:1060px;
}
.route-rail::before{
  content:"";
  position:absolute;
  top:10px;
  bottom:10px;
  left:12px;
  width:2px;
  background:var(--color-border);
}
.route-detail{
  position:relative;
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:34px;
  padding:0 0 54px 48px;
}
.route-detail:last-child{
  padding-bottom:0;
}
.route-node{
  position:absolute;
  top:6px;
  left:4px;
  width:18px;
  height:18px;
  border:4px solid var(--color-panel-alt);
  border-radius:var(--radius-pill);
  background:var(--color-accent);
  box-shadow:0 0 0 1px var(--color-accent);
}
.route-code{
  padding-top:7px;
  color:var(--color-accent);
  font:750 11px/1.55 var(--font-mono);
  letter-spacing:.08em;
}
.route-detail-body{
  min-width:0;
}
.route-detail-body h3{
  margin-bottom:14px;
}
.route-detail-body p{
  color:var(--color-muted);
}
.route-detail-body p+p{
  margin-top:12px;
}
.type-comparison{
  margin-top:50px;
}
.scenario-list{
  border-top:1px solid var(--color-border);
}
.scenario-row{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(0,1.8fr);
  gap:54px;
  padding-top:36px;
  padding-bottom:36px;
  border-bottom:1px solid var(--color-border);
}
.scenario-label{
  position:relative;
  min-width:0;
  padding-left:26px;
}
.scenario-label::before{
  content:"";
  position:absolute;
  top:8px;
  bottom:-44px;
  left:5px;
  width:1px;
  background:var(--color-border);
}
.scenario-row:last-child .scenario-label::before{
  bottom:8px;
}
.scenario-mark{
  position:absolute;
  top:5px;
  left:0;
  width:11px;
  height:11px;
  border-radius:var(--radius-pill);
  background:var(--color-success);
  box-shadow:0 0 0 5px var(--color-panel-alt);
}
.scenario-label>span:not(.scenario-mark){
  color:var(--color-accent);
  font:750 11px/1.4 var(--font-mono);
  letter-spacing:.1em;
}
.scenario-label h3{
  margin-top:9px;
  font-size:24px;
}
.scenario-copy{
  min-width:0;
  color:var(--color-muted);
}
.scenario-copy p+p{
  margin-top:12px;
}
.decision-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--color-border);
  border-left:1px solid var(--color-border);
  background:var(--color-panel);
  box-shadow:var(--shadow-soft);
}
.decision-panel{
  min-width:0;
  padding:30px;
  border-right:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.decision-code{
  color:var(--color-accent);
  font:750 11px/1.4 var(--font-mono);
  letter-spacing:.11em;
}
.decision-panel h3{
  margin-top:10px;
  font-size:23px;
}
.decision-panel p{
  margin-top:12px;
  color:var(--color-muted);
}
.coverage-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  align-items:center;
  gap:72px;
}
.coverage-copy{
  min-width:0;
}
.coverage-copy h2{
  max-width:12em;
}
.coverage-copy p{
  margin-top:18px;
  color:var(--color-muted);
}
.coverage-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}
.region-board{
  position:relative;
  min-width:0;
  padding:28px;
  overflow:hidden;
  background:var(--color-panel);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}
.region-board::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-80px;
  top:-110px;
  border-radius:var(--radius-pill);
  background:var(--color-glow-violet);
  filter:blur(20px);
}
.region-board-head{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-bottom:18px;
  border-bottom:1px solid var(--color-border);
}
.region-board-head span{
  color:var(--color-accent);
  font:750 11px/1.4 var(--font-mono);
  letter-spacing:.1em;
}
.region-board-head strong{
  color:var(--color-accent-dark);
  font-size:14px;
  text-align:right;
}
.region-badges{
  position:relative;
  z-index:2;
  display:grid;
  gap:10px;
  margin-top:18px;
}
.region-badge{
  display:grid;
  grid-template-columns:130px 80px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-width:0;
  padding:14px;
  background:var(--color-panel-alt);
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
}
.region-badge span{
  color:var(--color-accent);
  font:700 10px/1.4 var(--font-mono);
  letter-spacing:.07em;
}
.region-badge strong{
  font-size:15px;
}
.region-badge small{
  min-width:0;
  color:var(--color-muted);
  overflow-wrap:anywhere;
}
.region-route{
  position:relative;
  z-index:2;
  height:44px;
  margin-top:20px;
}
.region-route span{
  position:absolute;
  top:21px;
  right:8px;
  left:8px;
  height:2px;
  background:var(--color-accent);
}
.region-route i{
  position:absolute;
  top:15px;
  width:14px;
  height:14px;
  border:3px solid var(--color-panel);
  border-radius:var(--radius-pill);
  background:var(--color-accent-dark);
  box-shadow:0 0 0 1px var(--color-accent);
}
.region-route i:nth-child(2){
  left:8px;
}
.region-route i:nth-child(3){
  left:34%;
}
.region-route i:nth-child(4){
  left:66%;
}
.region-route i:nth-child(5){
  right:8px;
}
@media (max-width:960px){
  .coverage-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .coverage-strip div+div{
    border-left:0;
  }
  .coverage-strip div:nth-child(even){
    border-left:1px solid var(--color-border);
  }
  .coverage-strip div:nth-child(n+3){
    border-top:1px solid var(--color-border);
  }
  .coverage-layout{
    grid-template-columns:1fr;
    gap:48px;
  }
  .region-board{
    max-width:680px;
  }
}
@media (max-width:768px){
  .nodes-hero{
    min-height:auto;
    padding-top:70px;
    padding-bottom:58px;
  }
  .nodes-orbit-a{
    width:600px;
    height:360px;
  }
  .nodes-orbit-b{
    width:760px;
    height:420px;
  }
  .nodes-atmo-dot-a,
  .nodes-atmo-dot-b,
  .nodes-atmo-dot-c{
    display:none;
  }
  .nodes-actions{
    max-width:360px;
    margin-inline:auto;
    flex-direction:column;
  }
  .route-detail{
    grid-template-columns:1fr;
    gap:10px;
  }
  .scenario-row{
    grid-template-columns:1fr;
    gap:20px;
  }
  .scenario-label::before{
    bottom:-28px;
  }
}
@media (max-width:640px){
  .coverage-strip{
    grid-template-columns:1fr;
  }
  .coverage-strip div:nth-child(even){
    border-left:0;
  }
  .coverage-strip div:nth-child(n+2){
    border-top:1px solid var(--color-border);
  }
  .route-detail{
    padding-left:38px;
  }
  .route-rail::before{
    left:9px;
  }
  .route-node{
    left:1px;
  }
  .decision-grid{
    grid-template-columns:1fr;
  }
  .decision-panel{
    padding:24px;
  }
  .coverage-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .region-board{
    padding:20px;
  }
  .region-board-head{
    flex-direction:column;
    gap:7px;
  }
  .region-board-head strong{
    text-align:left;
  }
  .region-badge{
    grid-template-columns:1fr;
    gap:4px;
  }
}
@media (prefers-reduced-motion:reduce){
  .nodes-atmosphere,
  .region-route{
    transform:none;
  }
}