.nodes-hero{
  position:relative;
  overflow:hidden;
}
.nodes-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(var(--color-glow-accent),var(--color-glow-accent)),
    radial-gradient(circle at top right,var(--color-glow-warm),transparent);
}
.nodes-glow{
  position:absolute;
  top:8%;
  right:5%;
  width:clamp(260px,38vw,540px);
  aspect-ratio:1;
  border-radius:var(--radius-pill);
  background:radial-gradient(circle,var(--color-glow-warm),transparent);
  pointer-events:none;
}
.nodes-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(34px,6vw,82px);
  align-items:center;
}
.nodes-hero-copy{
  max-width:650px;
}
.nodes-hero-copy h1{
  margin:18px 0 22px;
}
.nodes-hero-copy .lead{
  margin-bottom:26px;
}
.nodes-fact-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin:26px 0 0;
  padding:0;
  color:var(--color-muted);
  font-size:13px;
  list-style:none;
}
.nodes-fact-list li{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.route-atlas{
  position:relative;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  background:var(--color-panel);
  box-shadow:var(--shadow-card);
  transform:rotate(-1deg);
}
.route-atlas::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(var(--color-border) 1px,transparent 1px),
    linear-gradient(90deg,var(--color-border) 1px,transparent 1px);
  background-size:46px 46px;
  opacity:.2;
}
.atlas-header,
.atlas-footer{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 22px;
  background:var(--color-panel);
}
.atlas-header{
  border-bottom:1px solid var(--color-border);
}
.atlas-header strong{
  display:block;
  font-size:17px;
}
.atlas-kicker{
  display:block;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.12em;
}
.atlas-canvas{
  position:relative;
  min-height:390px;
  color:var(--color-accent);
}
.atlas-routes{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.atlas-path{
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-dasharray:7 8;
  opacity:.38;
}
.atlas-path-main{
  stroke-width:3;
  opacity:.72;
}
.atlas-node{
  fill:var(--color-panel);
  stroke:currentColor;
  stroke-width:4;
}
.atlas-node-current{
  fill:currentColor;
}
.atlas-label{
  position:absolute;
  padding:5px 10px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel);
  color:var(--color-text);
  font-size:12px;
  font-weight:750;
  box-shadow:var(--shadow-float);
  white-space:nowrap;
}
.atlas-tokyo{
  top:24%;
  left:9%;
}
.atlas-hongkong{
  bottom:24%;
  left:6%;
}
.atlas-singapore{
  top:37%;
  left:45%;
}
.atlas-losangeles{
  top:17%;
  right:5%;
}
.atlas-london{
  right:3%;
  bottom:20%;
}
.atlas-center{
  position:absolute;
  top:54%;
  left:50%;
  display:flex;
  min-width:190px;
  flex-direction:column;
  align-items:center;
  padding:16px 20px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel);
  color:var(--color-text);
  box-shadow:var(--shadow-float);
  transform:translate(-50%,-50%);
}
.atlas-center .status-dot{
  margin-bottom:7px;
  background:var(--color-accent);
}
.atlas-center small{
  margin-top:3px;
  color:var(--color-muted);
  text-align:center;
}
.atlas-footer{
  justify-content:flex-start;
  flex-wrap:wrap;
  border-top:1px solid var(--color-border);
}
.atlas-footer span{
  padding:4px 10px;
  border-radius:var(--radius-pill);
  background:var(--color-panel-alt);
  color:var(--color-muted);
  font-size:12px;
}
.section-heading{
  max-width:820px;
  margin-bottom:38px;
}
.section-heading h2{
  margin-bottom:16px;
}
.route-table-shell{
  border-radius:var(--radius-md);
  box-shadow:0 16px 30px -28px var(--color-shadow-heavy);
}
.route-table caption{
  padding:14px 16px;
  border:1px solid var(--color-border);
  border-bottom:0;
  border-radius:var(--radius-md) var(--radius-md) 0 0;
  background:var(--color-panel);
  color:var(--color-muted);
  font-size:13px;
  text-align:left;
}
.route-table-shell .route-table{
  border-radius:0 0 var(--radius-md) var(--radius-md);
}
.nodes-type-section,
.nodes-method-section{
  background:var(--color-panel-alt);
}
.route-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.route-type-card{
  position:relative;
  padding:clamp(24px,3vw,34px);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
}
.route-type-featured{
  border-color:var(--color-accent);
  box-shadow:var(--shadow-float);
}
.route-type-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:24px;
}
.route-type-code{
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
}
.route-type-card h3{
  margin-bottom:15px;
}
.route-type-card p{
  color:var(--color-muted);
}
.route-type-card p:last-child{
  margin-bottom:0;
}
.type-comparison{
  margin-top:22px;
  padding:clamp(24px,4vw,42px);
}
.type-comparison h3{
  margin-bottom:12px;
}
.type-comparison p{
  max-width:940px;
  color:var(--color-muted);
}
.type-comparison p:last-child{
  margin-bottom:0;
}
.usage-list{
  border-top:1px solid var(--color-border);
}
.usage-item{
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:clamp(20px,4vw,54px);
  padding-top:34px;
  padding-bottom:34px;
  border-bottom:1px solid var(--color-border);
}
.usage-index{
  align-self:start;
  padding:8px 12px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel-alt);
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.usage-item h3{
  margin-bottom:10px;
}
.usage-item p{
  max-width:900px;
  color:var(--color-muted);
}
.usage-item p:last-child{
  margin-bottom:0;
}
.method-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.method-card{
  padding:clamp(22px,3vw,30px);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
}
.method-mark{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  margin-bottom:18px;
  padding:5px 13px;
  border-radius:var(--radius-pill);
  background:var(--color-accent-soft);
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
}
.method-card h3{
  margin-bottom:9px;
  font-size:23px;
}
.method-card p{
  margin-bottom:0;
  color:var(--color-muted);
}
.coverage-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
  gap:clamp(32px,6vw,78px);
  align-items:center;
  padding:clamp(28px,5vw,58px);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  background:var(--color-panel);
  box-shadow:var(--shadow-card);
}
.coverage-copy h2{
  margin-bottom:18px;
}
.coverage-copy p{
  color:var(--color-muted);
}
.region-wall{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-content:center;
  padding:24px;
  border:1px dashed var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-panel-alt);
}
.region-chip{
  display:inline-flex;
  max-width:100%;
  min-height:38px;
  align-items:center;
  padding:7px 13px;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel);
  color:var(--color-text);
  font-size:13px;
}
.nodes-faq{
  max-width:960px;
}
@media (max-width:1080px){
  .nodes-hero-grid{
    grid-template-columns:1fr;
  }
  .nodes-hero-copy{
    max-width:760px;
  }
  .route-atlas{
    width:min(760px,100%);
    margin-inline:auto;
    transform:none;
  }
  .route-type-grid{
    grid-template-columns:1fr;
  }
  .coverage-panel{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .nodes-hero{
    padding-top:58px;
  }
  .route-atlas{
    border-radius:var(--radius-lg);
  }
  .atlas-canvas{
    min-height:330px;
  }
  .atlas-center{
    min-width:170px;
    padding:13px 15px;
  }
  .atlas-label{
    font-size:11px;
  }
  .atlas-losangeles{
    right:2%;
  }
  .atlas-london{
    right:2%;
  }
  .usage-item{
    grid-template-columns:1fr;
    gap:14px;
  }
  .usage-index{
    width:max-content;
  }
  .method-grid{
    grid-template-columns:1fr;
  }
  .region-wall{
    padding:18px;
  }
}
@media (max-width:520px){
  .atlas-header{
    align-items:flex-start;
  }
  .atlas-canvas{
    min-height:300px;
  }
  .atlas-label{
    padding:4px 7px;
  }
  .atlas-tokyo{
    top:20%;
    left:3%;
  }
  .atlas-hongkong{
    bottom:17%;
    left:2%;
  }
  .atlas-singapore{
    top:29%;
    left:40%;
  }
  .atlas-losangeles{
    top:13%;
  }
  .atlas-london{
    bottom:13%;
  }
  .atlas-center{
    top:58%;
    min-width:155px;
  }
  .atlas-center small{
    display:none;
  }
  .coverage-panel{
    padding:24px 18px;
  }
  .region-wall{
    padding:14px;
  }
  .region-chip{
    width:100%;
  }
}
@media (prefers-reduced-motion:reduce){
  .route-atlas{
    transform:none;
  }
}