.nodes-hero{
  position:relative;
  max-width:100%;
  overflow-x:clip;
  padding-top:76px;
  padding-bottom:84px;
  background:linear-gradient(180deg,var(--bg-hero-top),var(--bg-hero-bottom));
}
.nodes-hero::before{
  position:absolute;
  inset:0;
  background-image:var(--grain);
  content:"";
  opacity:.03;
  pointer-events:none;
}
.nodes-hero__inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(420px,5fr);
  gap:64px;
  align-items:center;
}
.nodes-hero__copy{max-width:640px}
.nodes-hero h1{
  max-width:680px;
  margin-bottom:20px;
  font-size:clamp(52px,5vw,68px);
  letter-spacing:-.02em;
}
.nodes-hero__lede{
  max-width:620px;
  margin-bottom:0;
  color:var(--text-muted);
  font-size:18px;
  line-height:1.7;
}
.nodes-hero__lede strong{color:var(--accent)}
.nodes-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.nodes-hero__badges{margin-top:28px}
.junction-board{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--panel);
  box-shadow:var(--shadow-window);
  transform:rotate(1deg);
  transform-style:preserve-3d;
}
.junction-board__bar{
  display:flex;
  min-height:44px;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-inline:18px;
  border-bottom:1px solid var(--border);
  background:var(--panel-bar);
  color:var(--text-muted);
  font-size:12px;
  font-weight:700;
}
.junction-board__canvas{
  position:relative;
  min-height:340px;
  overflow:hidden;
  background-color:var(--canvas);
  background-image:linear-gradient(var(--accent-soft) 1px,transparent 1px),linear-gradient(90deg,var(--accent-soft) 1px,transparent 1px);
  background-size:32px 32px;
}
.junction-board__canvas::after{
  position:absolute;
  inset:18px;
  border:1px dashed var(--border);
  border-radius:var(--radius-md);
  content:"";
  pointer-events:none;
}
.junction-board__lines{
  position:absolute;
  top:0;
  left:50%;
  width:100%;
  height:100%;
  color:var(--accent);
  opacity:.7;
  transform:translateX(-50%);
}
.junction-node{
  position:absolute;
  z-index:2;
  display:inline-flex;
  min-height:32px;
  align-items:center;
  justify-content:center;
  padding:5px 12px;
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  background:var(--panel);
  box-shadow:var(--shadow-card);
  color:var(--text);
  font-size:12px;
  font-weight:800;
}
.junction-node--asia{top:42px;left:28px}
.junction-node--north{top:42px;right:28px}
.junction-node--europe{bottom:42px;left:28px}
.junction-node--other{right:28px;bottom:42px}
.junction-core{
  position:absolute;
  z-index:3;
  top:50%;
  left:50%;
  display:flex;
  width:118px;
  min-height:118px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  border:1px solid var(--accent);
  border-radius:50%;
  background:linear-gradient(180deg,var(--accent),var(--accent-dark));
  box-shadow:var(--shadow-button);
  color:var(--on-accent);
  transform:translate(-50%,-50%);
}
.junction-core svg{margin-bottom:5px}
.junction-core strong{font-family:var(--font-display);font-size:16px}
.junction-core small{color:var(--border);font-size:10px}
.section-heading{
  max-width:820px;
  margin-bottom:34px;
}
.section-heading h2{margin-bottom:16px}
.section-heading p:last-child{
  margin-bottom:0;
  color:var(--text-muted);
}
.route-directory{background:var(--bg)}
.route-note{
  max-width:920px;
  margin-bottom:24px;
}
.route-directory .server-table td:nth-child(1),
.route-directory .server-table td:nth-child(2){font-weight:700}
.route-directory .server-table td:last-child{color:var(--text-muted)}
.table-caption{
  max-width:900px;
  margin:16px 0 0;
  color:var(--text-muted);
  font-size:14px;
}
.route-types{
  border-top:1px solid var(--border);
  background:var(--bg-hero-bottom);
}
.route-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.route-type-card{
  position:relative;
  min-height:610px;
  overflow:hidden;
  padding:28px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--panel);
  box-shadow:var(--shadow-card);
  transform-style:preserve-3d;
}
.route-type-card::before{
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:7px;
  background:var(--accent);
  content:"";
}
.route-type-card--relay::before{background:var(--relay)}
.route-type-card--direct::before{background:var(--direct)}
.route-type-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.route-type-card__head h3{margin:0}
.route-type-card__mark{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:4px 9px;
  border-radius:var(--radius-xs);
  background:var(--accent);
  color:var(--on-accent);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
}
.route-type-card--relay .route-type-card__mark{background:var(--relay)}
.route-type-card--direct .route-type-card__mark{
  background:var(--direct);
  color:var(--accent-dark);
}
.route-type-card>p{
  color:var(--text-muted);
  font-size:15px;
}
.route-type-card__facts{
  display:grid;
  gap:0;
  margin:26px 0 0;
  border-top:1px solid var(--border-soft);
}
.route-type-card__facts div{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:12px;
  padding-top:13px;
  padding-bottom:13px;
  border-bottom:1px solid var(--border-soft);
}
.route-type-card__facts dt{
  color:var(--text-muted);
  font-size:12px;
}
.route-type-card__facts dd{
  margin:0;
  font-size:13px;
  font-weight:700;
}
.selection-method{background:var(--bg)}
.selection-panel{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,4fr) minmax(0,6fr);
  gap:54px;
  overflow:hidden;
  padding:46px;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
}
.selection-panel::before{
  position:absolute;
  inset:0;
  background-image:var(--grain);
  content:"";
  opacity:.03;
  pointer-events:none;
}
.selection-panel__intro,
.selection-steps{position:relative}
.selection-panel__intro h2{margin-bottom:18px}
.selection-panel__intro p:last-child{
  margin-bottom:0;
  color:var(--text-muted);
}
.selection-steps{display:grid;gap:12px}
.selection-steps article{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:16px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--panel);
}
.selection-steps__icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--accent);
}
.selection-steps__icon svg{width:24px;height:24px}
.selection-steps h3{
  margin-bottom:7px;
  font-size:19px;
}
.selection-steps p{
  margin-bottom:0;
  color:var(--text-muted);
  font-size:14px;
}
.use-cases{
  border-top:1px solid var(--border);
  background:var(--panel-bar);
}
.use-case-list{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--panel);
  box-shadow:var(--shadow-card);
}
.use-case{
  display:grid;
  grid-template-columns:minmax(190px,3fr) minmax(0,7fr);
  gap:34px;
  padding:30px;
  border-bottom:1px solid var(--border);
}
.use-case:last-child{border-bottom:0}
.use-case__label{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:var(--accent);
}
.use-case__label svg{
  width:24px;
  height:24px;
  flex-shrink:0;
  margin-top:3px;
}
.use-case__label h3{
  margin:0;
  color:var(--accent);
  font-size:21px;
}
.use-case__body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.use-case__body p{
  margin-bottom:0;
  color:var(--text-muted);
  font-size:15px;
}
.region-overview{background:var(--bg)}
.region-wall{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--border);
  gap:1px;
  box-shadow:var(--shadow-card);
}
.region-wall__group{
  position:relative;
  min-height:250px;
  padding:26px;
  background:var(--panel);
}
.region-wall__group:nth-child(2){background:var(--iepl-tint)}
.region-wall__group:nth-child(3){background:var(--relay-tint)}
.region-wall__group:nth-child(4){background:var(--direct-tint)}
.region-wall__code{
  color:var(--accent);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
}
.region-wall__group h3{margin:42px 0 12px}
.region-wall__group p{
  color:var(--text-muted);
  font-size:14px;
}
.region-wall__route{
  position:absolute;
  right:26px;
  bottom:24px;
  left:26px;
  padding-top:12px;
  border-top:1px solid var(--border);
  color:var(--accent);
  font-size:12px;
  font-weight:800;
}
.operating-notes{
  margin-top:76px;
}
.operating-notes>h2{margin-bottom:28px}
.operating-notes__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.operating-notes__grid article{
  padding:26px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--panel);
}
.operating-notes__grid h3{
  margin-bottom:12px;
  font-size:20px;
}
.operating-notes__grid p{
  margin-bottom:0;
  color:var(--text-muted);
  font-size:15px;
}
.coverage-callout{
  margin-top:24px;
}

@media (max-width:1040px){
  .nodes-hero__inner{
    grid-template-columns:1fr 1fr;
    gap:38px;
  }
  .route-type-grid{grid-template-columns:1fr}
  .route-type-card{min-height:0}
  .selection-panel{
    grid-template-columns:1fr;
    gap:34px;
  }
  .region-wall{grid-template-columns:1fr 1fr}
}

@media (max-width:820px){
  .nodes-hero{
    padding-top:56px;
    padding-bottom:64px;
  }
  .nodes-hero__inner{grid-template-columns:1fr}
  .nodes-hero__copy{
    max-width:720px;
    text-align:center;
  }
  .nodes-hero__lede{margin-inline:auto}
  .nodes-hero__actions,
  .nodes-hero__badges{justify-content:center}
  .junction-board{
    width:100%;
    max-width:620px;
    margin-inline:auto;
    transform:none;
  }
  .use-case{
    grid-template-columns:1fr;
    gap:18px;
  }
}

@media (max-width:640px){
  .nodes-hero{
    padding-top:42px;
    padding-bottom:52px;
  }
  .nodes-hero h1{font-size:38px}
  .nodes-hero__lede{font-size:16px}
  .nodes-hero__actions{
    width:100%;
    flex-direction:column;
  }
  .nodes-hero__badges{
    width:100%;
    justify-content:flex-start;
  }
  .nodes-hero__badges .info-badge{width:100%}
  .junction-board__bar{
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
    padding-top:9px;
    padding-bottom:9px;
  }
  .junction-board__canvas{min-height:290px}
  .junction-board__lines{height:290px}
  .junction-core{
    width:102px;
    min-height:102px;
  }
  .junction-node--asia{top:28px;left:12px}
  .junction-node--north{top:28px;right:12px}
  .junction-node--europe{bottom:28px;left:12px}
  .junction-node--other{right:12px;bottom:28px}
  .route-type-card{padding:24px 20px}
  .route-type-card__head{
    align-items:flex-start;
    flex-direction:column;
  }
  .route-type-card__facts div{grid-template-columns:1fr}
  .selection-panel{padding:26px 18px}
  .selection-steps article{
    grid-template-columns:40px 1fr;
    gap:12px;
    padding:17px 14px;
  }
  .selection-steps__icon{
    width:40px;
    height:40px;
  }
  .use-case{padding:24px 18px}
  .use-case__body{
    grid-template-columns:1fr;
    gap:0;
  }
  .use-case__body p+p{margin-top:16px}
  .region-wall{grid-template-columns:1fr}
  .region-wall__group{min-height:220px}
  .operating-notes{margin-top:56px}
  .operating-notes__grid{grid-template-columns:1fr}
}