.nodes-intro{
  background:linear-gradient(180deg,var(--hero-top),var(--hero-bottom));
  border-bottom:1px solid var(--line-soft);
}
.nodes-intro h1{
  max-width:var(--reading-width);
}
.nodes-lede{
  max-width:var(--reading-width);
  font-size:var(--size-h3);
  line-height:1.6;
  color:var(--text-muted);
  margin-bottom:var(--space-4);
}
.nodes-facts{
  justify-content:flex-start;
  gap:var(--space-2);
}
.nodes-intro-note{
  max-width:var(--reading-width);
  margin-top:var(--space-3);
  margin-bottom:0;
  color:var(--text-muted);
}
.nodes-document{
  padding-top:var(--space-4);
  padding-bottom:var(--space-6);
}
.nodes-section-head{
  max-width:var(--reading-width);
  margin-bottom:var(--space-4);
}
.nodes-section-head p:last-child{
  margin-bottom:0;
}
.nodes-document .route-table caption{
  padding:var(--space-2) var(--space-3);
  text-align:left;
  color:var(--text-muted);
  background:var(--bg-panel);
  border-bottom:1px solid var(--border);
}
.nodes-table-notes{
  max-width:var(--reading-width);
  margin-top:var(--space-3);
  color:var(--text-muted);
}
.nodes-type-list{
  border-top:1px solid var(--border);
}
.nodes-type-entry{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:var(--space-6);
  padding-top:var(--space-4);
  padding-bottom:var(--space-4);
  border-bottom:1px solid var(--line-soft);
}
.nodes-type-entry>*{
  min-width:0;
}
.nodes-type-title .badge{
  font-family:var(--font-mono);
  margin-bottom:var(--space-2);
}
.nodes-type-entry .prose{
  color:var(--text-muted);
}
.nodes-type-entry p:last-child{
  margin-bottom:0;
}
.nodes-use-list{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:var(--space-4) var(--space-6);
}
.nodes-use-list section{
  min-width:0;
  padding-top:var(--space-3);
  border-top:1px solid var(--border);
}
.nodes-use-list section:last-child{
  grid-column:1/-1;
  max-width:var(--reading-width);
}
.nodes-use-list p{
  color:var(--text-muted);
  margin-bottom:0;
}
.nodes-document .grid-two{
  align-items:start;
}
.nodes-document .prose>.btn{
  margin-top:var(--space-2);
}
@media(max-width:768px){
  .nodes-lede{
    font-size:var(--size-body);
  }
  .nodes-facts{
    gap:var(--space-1);
  }
  .nodes-type-entry{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-2);
  }
  .nodes-use-list{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-4);
  }
  .nodes-use-list section:last-child{
    grid-column:auto;
  }
}