.nodes-hero{
  position:relative;
  min-height:720px;
  overflow:hidden;
}
.nodes-hero-grid{
  position:absolute;
  inset:0;
  background-image:radial-gradient(var(--color-grid-dot) 1px,transparent 1.5px);
  background-size:26px 26px;
  pointer-events:none;
}
.nodes-hero-glow{
  position:absolute;
  right:-12%;
  bottom:-38%;
  width:760px;
  height:760px;
  border-radius:var(--radius-pill);
  background:radial-gradient(circle,var(--color-glow),transparent 68%);
  pointer-events:none;
}
.nodes-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);
  align-items:center;
  gap:60px;
  min-height:650px;
  padding-top:70px;
  padding-bottom:70px;
}
.nodes-hero-copy{
  min-width:0;
}
.nodes-hero-badge{
  margin-bottom:20px;
  border-color:var(--color-ink-line);
  background:var(--color-ink-panel);
  color:var(--color-ink-muted);
}
.nodes-hero h1{
  max-width:680px;
  color:var(--color-ink-text);
}
.nodes-hero-lead{
  max-width:680px;
  margin:22px 0 0;
  color:var(--color-ink-muted);
  font-size:19px;
}
.nodes-hero-lead strong{
  color:var(--color-ink-text);
}
.nodes-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}
.nodes-trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px 24px;
  margin:25px 0 0;
  padding:0;
  color:var(--color-ink-muted);
  font-size:13px;
  list-style:none;
}
.nodes-trust li{
  display:flex;
  align-items:center;
  gap:7px;
}
.nodes-trust li::before{
  content:"✓";
  flex:0 0 auto;
  color:var(--color-accent);
  font-weight:800;
}
.route-orbit{
  position:relative;
  width:520px;
  height:520px;
  justify-self:end;
}
.route-orbit-ring{
  position:absolute;
  border:1px dashed var(--color-ring);
  border-radius:var(--radius-pill);
}
.route-orbit-ring::after{
  content:"";
  position:absolute;
  inset:-2px;
  border:2px solid transparent;
  border-top-color:var(--color-accent);
  border-radius:var(--radius-pill);
  filter:drop-shadow(0 0 6px var(--color-glow-strong));
}
.route-orbit-ring-outer{
  inset:0;
  animation:nodes-orbit-reverse 100s linear infinite;
}
.route-orbit-ring-inner{
  inset:92px;
  animation:nodes-orbit-forward 70s linear infinite;
}
.route-node{
  position:absolute;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:6px 11px;
  border:1px solid var(--color-ring);
  border-radius:var(--radius-sm);
  background:var(--color-ink-panel);
  box-shadow:var(--shadow-ink);
  color:var(--color-ink-text);
  font-size:12px;
  white-space:nowrap;
}
.route-node code{
  color:var(--color-accent-soft);
  font-size:10px;
}
.route-node-hk{
  top:3%;
  left:33%;
}
.route-node-lax{
  top:43%;
  right:-7%;
}
.route-node-fra{
  bottom:9%;
  left:13%;
}
.route-node-tyo{
  top:9%;
  right:8%;
}
.route-node-sin{
  bottom:20%;
  left:-11%;
}
.route-node-lon{
  right:-4%;
  bottom:14%;
}
.route-orbit-halo{
  position:absolute;
  top:50%;
  left:50%;
  width:280px;
  height:280px;
  transform:translate(-50%,-50%);
  border-radius:var(--radius-pill);
  background:radial-gradient(circle,var(--color-glow),transparent 70%);
  animation:nodes-core-pulse 6s ease-in-out infinite alternate;
}
.route-orbit-core{
  position:absolute;
  top:50%;
  left:50%;
  display:grid;
  width:96px;
  height:96px;
  transform:translate(-50%,-50%);
  place-items:center;
  border:1px solid var(--color-accent-soft);
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));
  box-shadow:0 0 36px var(--color-glow);
}
.route-orbit-core img{
  width:58px;
  height:58px;
}
@keyframes nodes-orbit-forward{
  to{transform:rotate(360deg)}
}
@keyframes nodes-orbit-reverse{
  to{transform:rotate(-360deg)}
}
@keyframes nodes-core-pulse{
  to{
    opacity:.58;
    transform:translate(-50%,-50%) scale(1.1);
  }
}
.coverage-strip{
  border-bottom:1px solid var(--color-border);
  background:var(--color-panel);
}
.coverage-strip-inner{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.coverage-strip-inner>div{
  min-width:0;
  padding-top:24px;
  padding-bottom:24px;
  border-right:1px solid var(--color-border);
}
.coverage-strip-inner>div:not(:first-child){
  padding-left:28px;
}
.coverage-strip-inner>div:last-child{
  border-right:0;
}
.coverage-strip strong,
.coverage-label{
  display:block;
}
.coverage-label{
  margin-bottom:4px;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
}
.coverage-strip strong{
  font-family:var(--font-display);
  font-size:18px;
}
.directory-note{
  margin-bottom:20px;
  padding:20px 22px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  background:var(--color-panel-soft);
}
.directory-note p{
  margin:0;
  color:var(--color-muted);
}
.directory-note strong{
  color:var(--color-text);
}
.nodes-table-shell{
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
}
.nodes-table-shell caption{
  padding:14px 16px;
  border:1px solid var(--color-border);
  border-bottom:0;
  background:var(--color-panel);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:12px;
  text-align:left;
}
.route-type{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:3px 9px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel-soft);
  color:var(--color-accent-dark);
  font-family:var(--font-mono);
  font-size:11px;
  white-space:nowrap;
}
.route-head p{
  color:var(--color-ink-muted);
}
.route-head .eyebrow{
  border-color:var(--color-ink-line);
  color:var(--color-ink-muted);
}
.route-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.route-card{
  min-width:0;
  padding:28px;
  border:1px solid var(--color-ink-line);
  border-radius:var(--radius-md);
  background:var(--color-ink-panel);
}
.route-card-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
}
.route-card h3{
  color:var(--color-ink-text);
}
.route-card p{
  color:var(--color-ink-muted);
}
.route-code{
  display:grid;
  min-width:60px;
  min-height:38px;
  place-items:center;
  border:1px solid var(--color-accent-dark);
  border-radius:var(--radius-xs);
  background:var(--color-ink);
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:11px;
}
.route-diagram{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid var(--color-ink-line);
  color:var(--color-ink-muted);
  font-family:var(--font-mono);
  font-size:10px;
}
.route-diagram span{
  flex:0 0 auto;
  padding:5px 7px;
  border:1px solid var(--color-ink-line);
  border-radius:var(--radius-xs);
}
.route-diagram i{
  position:relative;
  height:1px;
  flex:1 1 auto;
  background:var(--color-accent-dark);
}
.route-diagram i::after{
  content:"";
  position:absolute;
  top:50%;
  right:0;
  width:5px;
  height:5px;
  transform:translateY(-50%);
  border-radius:var(--radius-pill);
  background:var(--color-accent);
  box-shadow:0 0 8px var(--color-glow-strong);
}
.route-comparison{
  margin-top:20px;
  padding:clamp(24px,4vw,40px);
  border:1px solid var(--color-ink-line);
  border-radius:var(--radius-md);
  background:var(--color-ink);
}
.route-comparison h3{
  margin-bottom:14px;
  color:var(--color-ink-text);
}
.route-comparison p{
  max-width:930px;
  color:var(--color-ink-muted);
}
.route-comparison p:last-child{
  margin-bottom:0;
}
.usage-layout{
  display:grid;
  gap:16px;
}
.usage-item{
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:28px;
  padding:30px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel);
}
.usage-marker{
  display:grid;
  width:86px;
  height:86px;
  place-items:center;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-md);
  background:var(--color-panel-soft);
  color:var(--color-accent-dark);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
}
.usage-item h3{
  margin-bottom:12px;
}
.usage-item p{
  color:var(--color-muted);
}
.usage-item p:last-child{
  margin-bottom:0;
}
.region-index{
  border-top:1px solid var(--color-border);
  background:var(--color-panel-soft);
}
.region-badge-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.region-badge-card{
  min-width:0;
  padding:24px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel);
}
.region-code{
  display:inline-flex;
  margin-bottom:24px;
  padding-bottom:6px;
  border-bottom:2px solid var(--color-accent);
  color:var(--color-accent-dark);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
}
.region-badge-card h3{
  margin-bottom:10px;
  font-size:22px;
}
.region-badge-card p{
  margin:0;
  color:var(--color-muted);
  font-size:14px;
}
.selection-checklist{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:20px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel);
}
.selection-checklist>div{
  min-width:0;
  padding:24px;
  border-right:1px solid var(--color-border);
}
.selection-checklist>div:last-child{
  border-right:0;
}
.selection-checklist strong,
.selection-label{
  display:block;
}
.selection-label{
  margin-bottom:6px;
  color:var(--color-accent-dark);
  font-family:var(--font-mono);
  font-size:11px;
}
.selection-checklist p{
  margin:8px 0 0;
  color:var(--color-muted);
  font-size:14px;
}
.nodes-final-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  margin-top:44px;
  padding:clamp(28px,5vw,48px);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel);
}
.nodes-final-note>div:first-child{
  max-width:700px;
}
.nodes-final-note h2{
  margin-top:16px;
  font-size:clamp(28px,4vw,42px);
}
.nodes-final-note p{
  margin:14px 0 0;
  color:var(--color-muted);
}
.nodes-final-actions{
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  gap:10px;
}
@media(max-width:1040px){
  .nodes-hero-inner{
    grid-template-columns:minmax(0,1fr) 400px;
    gap:30px;
  }
  .route-orbit{
    width:400px;
    height:400px;
  }
  .route-orbit-ring-inner{
    inset:70px;
  }
  .route-node-lax,
  .route-node-sin{
    display:none;
  }
  .route-type-grid{
    grid-template-columns:1fr;
  }
  .region-badge-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .nodes-hero{
    min-height:auto;
  }
  .nodes-hero-inner{
    grid-template-columns:1fr;
    padding-top:58px;
    padding-bottom:0;
  }
  .nodes-hero-copy{
    text-align:center;
  }
  .nodes-hero-lead{
    margin-inline:auto;
  }
  .nodes-hero-actions,
  .nodes-trust{
    justify-content:center;
  }
  .route-orbit{
    width:430px;
    height:430px;
    margin-top:6px;
    margin-bottom:-150px;
    justify-self:center;
  }
  .coverage-strip-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .coverage-strip-inner>div{
    border-bottom:1px solid var(--color-border);
  }
  .coverage-strip-inner>div:nth-child(even){
    border-right:0;
    padding-left:24px;
  }
  .coverage-strip-inner>div:nth-last-child(-n+2){
    border-bottom:0;
  }
  .usage-item{
    grid-template-columns:78px minmax(0,1fr);
    gap:20px;
  }
  .usage-marker{
    width:70px;
    height:70px;
  }
  .selection-checklist{
    grid-template-columns:1fr;
  }
  .selection-checklist>div{
    border-right:0;
    border-bottom:1px solid var(--color-border);
  }
  .selection-checklist>div:last-child{
    border-bottom:0;
  }
  .nodes-final-note{
    align-items:flex-start;
    flex-direction:column;
  }
  .nodes-final-actions{
    width:100%;
    flex-direction:row;
  }
  .nodes-final-actions .btn{
    flex:1 1 auto;
  }
}
@media(max-width:640px){
  .nodes-hero-inner{
    padding-top:42px;
  }
  .nodes-hero-lead{
    font-size:16px;
  }
  .nodes-hero-actions{
    flex-direction:column;
  }
  .nodes-hero-actions .btn{
    width:100%;
  }
  .nodes-trust{
    align-items:flex-start;
    flex-direction:column;
  }
  .route-orbit{
    width:350px;
    height:350px;
    margin-bottom:-120px;
  }
  .route-orbit-ring-inner{
    inset:56px;
  }
  .route-node-fra,
  .route-node-lon{
    display:none;
  }
  .coverage-strip-inner>div{
    padding-top:18px;
    padding-bottom:18px;
  }
  .coverage-strip-inner>div:not(:first-child){
    padding-left:14px;
  }
  .coverage-strip strong{
    font-size:15px;
  }
  .directory-note{
    padding:18px;
  }
  .route-card{
    padding:22px;
  }
  .route-card-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .route-diagram{
    overflow-x:auto;
  }
  .usage-item{
    grid-template-columns:1fr;
    padding:22px;
  }
  .usage-marker{
    width:64px;
    height:64px;
  }
  .region-badge-grid{
    grid-template-columns:1fr;
  }
  .nodes-final-actions{
    flex-direction:column;
  }
}
@media(max-width:380px){
  .route-orbit{
    width:310px;
    height:310px;
  }
  .route-orbit-ring-inner{
    inset:50px;
  }
  .route-node-hk{
    left:24%;
  }
}
@media(prefers-reduced-motion:reduce){
  .route-orbit-ring-outer,
  .route-orbit-ring-inner,
  .route-orbit-halo{
    animation:none;
  }
}