.nodes-intro{
  max-width:940px;
  padding-bottom:40px;
}
.nodes-intro h1{
  margin:0 0 24px;
  font-size:clamp(52px,5vw,var(--fs-h1));
  line-height:1.15;
}
.nodes-intro p{
  line-height:1.85;
}
.nodes-lead{
  margin:0 0 16px;
  font-size:22px;
  color:var(--accent-dark);
}
.nodes-facts{
  margin-top:24px;
}
.nodes-page>.toc-tabs{
  margin-bottom:12px;
}
.nodes-section{
  padding-top:48px;
  padding-bottom:16px;
}
.nodes-section-head{
  max-width:var(--reading-width);
  margin-bottom:28px;
}
.nodes-section-head h2{
  margin:0 0 18px;
}
.nodes-section-head>p:last-child,
.nodes-copy{
  color:var(--muted);
  line-height:1.95;
}
.nodes-copy{
  max-width:var(--reading-width);
  margin-top:24px;
}
.nodes-route-stack{
  display:grid;
  gap:24px;
}
.nodes-route-heading{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
}
.nodes-route-heading h3{
  margin:0;
}
.nodes-route-body{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  gap:32px;
  align-items:start;
}
.nodes-route-body>*{
  min-width:0;
}
.nodes-route-body p,
.nodes-use p{
  line-height:1.95;
  color:var(--muted);
}
.nodes-route-body p:last-child,
.nodes-use p:last-child{
  margin-bottom:0;
}
.nodes-path{
  margin-top:24px;
}
.nodes-path strong{
  color:var(--accent-dark);
  font-size:var(--fs-small);
}
.nodes-path p{
  color:var(--text);
  overflow-wrap:anywhere;
}
.nodes-path>span{
  display:block;
  font-size:var(--fs-small);
  line-height:1.8;
}
.nodes-use-list{
  display:grid;
  gap:20px;
}
.nodes-use{
  display:grid;
  grid-template-columns:minmax(0,220px) minmax(0,1fr);
  gap:32px;
}
.nodes-use>*{
  min-width:0;
}
.nodes-use h3{
  margin:0;
  color:var(--accent-dark);
}
.nodes-use p:first-child{
  margin-top:0;
}
.nodes-check h3{
  margin-top:0;
}
.nodes-check ol{
  margin-bottom:0;
  padding-left:24px;
}
.nodes-check li{
  padding-left:6px;
  margin-top:18px;
  color:var(--muted);
  line-height:1.95;
}
.nodes-check strong{
  color:var(--text);
}
@media(max-width:768px){
  .nodes-intro h1{
    font-size:clamp(28px,7vw,40px);
  }
  .nodes-lead{
    font-size:18px;
  }
  .nodes-intro{
    padding-bottom:28px;
  }
  .nodes-section{
    padding-top:36px;
  }
  .nodes-route-body,
  .nodes-use{
    grid-template-columns:minmax(0,1fr);
    gap:18px;
  }
  .nodes-path{
    margin-top:0;
  }
  .nodes-route-heading{
    align-items:flex-start;
  }
  .nodes-route-heading h3{
    width:100%;
  }
  .nodes-facts{
    gap:12px;
  }
}