.nodes-main{
  padding-top:48px;
}
.nodes-intro{
  max-width:940px;
  padding-bottom:48px;
}
.nodes-intro h1{
  margin:22px 0;
  font-size:var(--display-size);
  line-height:1.12;
  letter-spacing:-.02em;
}
.nodes-lead{
  max-width:780px;
  margin-bottom:0;
  font-size:calc(var(--font-size) * 1.18);
  color:var(--text-soft);
}
.nodes-intro-note{
  max-width:760px;
  margin-top:24px;
  margin-bottom:0;
}
.nodes-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:16px 24px;
  margin-top:24px;
}
.nodes-actions>a:not(.btn){
  display:inline-flex;
  align-items:center;
  min-height:32px;
}
.nodes-guide{
  min-width:0;
}
.nodes-heading{
  max-width:820px;
  margin-bottom:28px;
}
.nodes-heading .kicker{
  margin-bottom:10px;
}
.nodes-guide .nodes-heading h2{
  margin-top:0;
  margin-bottom:16px;
}
.nodes-heading>p:last-child{
  margin-bottom:0;
}
.nodes-guide>section+section{
  border-top:1px solid var(--border);
}
.nodes-guide>section>p{
  max-width:960px;
}
.nodes-types{
  display:grid;
  gap:20px;
  margin-block:28px;
}
.nodes-types h3{
  margin-top:0;
  margin-bottom:20px;
}
.nodes-types p{
  max-width:960px;
  color:var(--text-soft);
}
.nodes-types p:last-child{
  margin-bottom:0;
}
.nodes-use-list{
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:var(--panel);
  box-shadow:var(--shadow-card);
}
.nodes-use{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,3fr);
  gap:32px;
  padding:28px;
}
.nodes-use+ .nodes-use{
  border-top:1px solid var(--border);
}
.nodes-use h3{
  margin:0;
}
.nodes-use>div{
  min-width:0;
  color:var(--text-soft);
}
.nodes-use p:last-child{
  margin-bottom:0;
}
.nodes-checks{
  max-width:960px;
  padding-left:26px;
}
.nodes-checks li{
  padding-left:6px;
}
.nodes-guide .nodes-checks li+li{
  margin-top:20px;
}
.nodes-guide .route-table tbody th[scope="row"]{
  background:var(--panel);
}
.nodes-guide .fact-list a{
  min-height:32px;
  text-decoration:none;
}
.nodes-guide .fact-list a:hover{
  color:var(--accent);
  border-color:var(--accent);
}
@media(max-width:768px){
  .nodes-main{
    padding-top:32px;
  }
  .nodes-intro{
    padding-bottom:32px;
  }
  .nodes-intro h1{
    font-size:clamp(28px,8.6vw,40px);
  }
  .nodes-lead{
    font-size:var(--font-size);
  }
  .nodes-use{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
    padding:24px;
  }
}
@media(max-width:640px){
  .nodes-use{
    padding:20px;
  }
  .nodes-actions{
    gap:12px 20px;
  }
}