.nodes-main {
  padding-bottom: var(--space-6);
}
.nodes-intro {
  position: relative;
}
.nodes-intro h1 {
  max-width: 900px;
  margin-top: var(--space-3);
  margin-bottom: var(--space-3);
}
.nodes-intro .lead {
  max-width: 760px;
  margin-bottom: var(--space-4);
}
.nodes-intro-note {
  max-width: 760px;
  margin-top: var(--space-3);
  margin-bottom: var(--space-3);
  font-size: var(--text-small);
  color: var(--text-muted);
  line-height: 1.85;
}
.nodes-facts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
}
.nodes-table-hint {
  color: var(--text-muted);
  font-size: var(--text-small);
  line-height: 1.8;
  margin-bottom: var(--space-2);
}
.nodes-type {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.nodes-type h3 {
  margin-top: var(--space-3);
  margin-bottom: var(--space-2);
  font-size: var(--card-heading-size);
}
.nodes-type p,
.nodes-reading-note p,
.nodes-use p,
.nodes-main .panel p {
  color: var(--text-muted);
  line-height: 1.9;
}
.nodes-type p:last-child,
.nodes-reading-note p:last-child,
.nodes-use p:last-child,
.nodes-main .panel p:last-child {
  margin-bottom: 0;
}
.nodes-reading-note {
  margin-top: var(--space-4);
  padding: var(--space-4);
  background: var(--bg-panel-2);
  border-radius: var(--r-xl);
}
.nodes-reading-note h3 {
  margin-bottom: var(--space-2);
}
.nodes-use-list {
  display: grid;
  gap: var(--space-3);
}
.nodes-use {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--space-5);
  padding: var(--space-4);
  border-radius: var(--r-xl);
  background: var(--bg-panel-2);
}
.nodes-use > * {
  min-width: 0;
}
.nodes-use-heading h3 {
  margin-top: var(--space-2);
  margin-bottom: 0;
}
.nodes-main .panel a,
.nodes-use a {
  color: var(--accent-dark);
}
@media (max-width: 900px) {
  .nodes-main #route-types .grid-3 {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 768px) {
  .nodes-use {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }
}
@media (max-width: 640px) {
  .nodes-use,
  .nodes-reading-note {
    padding: var(--space-3);
  }
  .nodes-intro h1 {
    max-width: 100%;
  }
}