.nodes-intro{
  padding-bottom:40px;
}
.nodes-opening{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  align-items:start;
  gap:64px;
}
.nodes-opening>*{
  min-width:0;
}
.nodes-opening h1{
  letter-spacing:var(--tracking-cjk);
}
.nodes-opening .eyebrow{
  color:var(--muted);
}
.nodes-opening .eyebrow svg{
  color:var(--accent-dark);
}
.nodes-opening .lede{
  max-width:32em;
}
.nodes-jumps{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 28px;
  margin-top:28px;
}
.nodes-jumps a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:40px;
  font-weight:var(--weight-strong);
}
.nodes-reference{
  position:relative;
  isolation:isolate;
  background:linear-gradient(145deg,var(--glass-strong),var(--panel-2));
  box-shadow:var(--shadow-glass);
  backdrop-filter:blur(12px);
}
.nodes-kicker{
  margin-bottom:16px;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:var(--size-small);
  font-weight:var(--weight-strong);
  letter-spacing:.06em;
}
.nodes-coverage{
  margin-bottom:24px;
  font-family:var(--font-mono);
  font-size:clamp(23px,2.5vw,32px);
  line-height:1.65;
  font-weight:var(--weight-strong);
  font-variant-numeric:tabular-nums;
}
.nodes-reference>p:not(.nodes-kicker):not(.nodes-coverage){
  color:var(--muted);
  font-size:var(--size-small);
}
.nodes-reference>a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:36px;
  font-size:var(--size-small);
}
.nodes-directory{
  padding-top:40px;
}
.nodes-table-hint{
  margin-bottom:14px;
  color:var(--muted);
  font-size:var(--size-small);
}
.nodes-directory .route-table td:nth-child(3){
  font-weight:var(--weight-strong);
}
.nodes-directory .route-table td:nth-child(4){
  color:var(--muted);
}
.nodes-directory .route-table .route-group td{
  color:var(--text);
}
.nodes-directory-notes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
  margin-top:28px;
  color:var(--muted);
}
.nodes-directory-notes p{
  margin-bottom:0;
}
.nodes-directory-notes strong{
  color:var(--text);
  font-weight:var(--weight-strong);
}
.nodes-topologies{
  display:grid;
  gap:48px;
}
.nodes-topology{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);
  align-items:start;
  gap:48px;
}
.nodes-type-heading{
  padding-top:4px;
}
.nodes-type-heading .badge{
  margin-bottom:18px;
}
.nodes-type-body{
  min-width:0;
  color:var(--muted);
}
.nodes-type-body p{
  line-height:1.9;
}
.nodes-type-body p:last-child{
  margin-bottom:0;
}
.nodes-practical{
  padding-left:20px;
  border-left:2px solid var(--border);
}
.nodes-practical strong{
  color:var(--text);
  font-weight:var(--weight-strong);
}
.nodes-topologies+.callout{
  margin-top:48px;
  margin-bottom:0;
}
.nodes-use-list{
  display:grid;
  gap:40px;
}
.nodes-use{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);
  align-items:start;
  gap:48px;
}
.nodes-use h3{
  margin:0;
  padding-top:4px;
}
.nodes-use>div{
  min-width:0;
  color:var(--muted);
}
.nodes-use p{
  line-height:1.9;
}
.nodes-use p:last-child{
  margin-bottom:0;
}
.nodes-check-section .panel p{
  line-height:1.85;
}
.nodes-check-section .panel p:last-child{
  margin-bottom:0;
}
.nodes-check-section .panel>a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:36px;
}
@media(max-width:1000px){
  .nodes-opening{
    gap:32px;
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  }
  .nodes-topology,
  .nodes-use{
    gap:32px;
    grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  }
}
@media(max-width:768px){
  .nodes-opening{
    grid-template-columns:1fr;
    gap:32px;
  }
  .nodes-reference{
    max-width:100%;
  }
  .nodes-coverage{
    font-size:var(--size-h2);
  }
  .nodes-intro{
    padding-bottom:28px;
  }
  .nodes-directory{
    padding-top:28px;
  }
  .nodes-topology,
  .nodes-use{
    grid-template-columns:1fr;
    gap:16px;
  }
  .nodes-topologies{
    gap:40px;
  }
  .nodes-type-heading .badge{
    margin-bottom:14px;
  }
  .nodes-type-heading h3{
    margin-bottom:0;
  }
}
@media(max-width:640px){
  .nodes-directory-notes{
    grid-template-columns:1fr;
    gap:20px;
  }
  .nodes-jumps{
    gap:8px 22px;
  }
  .nodes-practical{
    padding-left:16px;
  }
}