.nodes-document{
  padding-bottom:24px;
}
.nodes-opening{
  padding-top:64px;
  padding-bottom:40px;
  max-width:980px;
}
.nodes-opening h1{
  margin:0 0 28px;
}
.nodes-lead{
  margin:0 0 20px;
  font-size:var(--text-large);
  color:var(--text);
}
.nodes-lead em{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  color:var(--accent);
}
.nodes-intro{
  max-width:var(--reading);
  margin-bottom:28px;
  color:var(--text-muted);
  line-height:1.9;
}
.nodes-opening-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:16px 24px;
}
.nodes-text-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--accent-dark);
  text-decoration:underline;
  text-underline-offset:5px;
}
.nodes-section-heading{
  max-width:var(--reading);
  margin-bottom:32px;
}
.nodes-kicker{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:var(--text-sm);
  letter-spacing:.08em;
  color:var(--accent);
}
.nodes-section-heading h2{
  margin:0 0 20px;
}
.nodes-section-heading>p:last-child{
  margin-bottom:0;
  color:var(--text-muted);
  line-height:1.9;
}
.nodes-section-rule{
  border-top:1px solid var(--border);
}
.nodes-reading{
  max-width:var(--reading);
}
.nodes-reading h3{
  margin-top:32px;
}
.nodes-reading p,
.nodes-method-copy p,
.nodes-use p{
  line-height:1.95;
  color:var(--text-muted);
}
.nodes-reading p:last-child,
.nodes-method-copy p:last-child,
.nodes-use p:last-child{
  margin-bottom:0;
}
.nodes-methods{
  border-top:1px solid var(--border);
}
.nodes-method{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);
  gap:48px;
  padding-top:36px;
  padding-bottom:40px;
  border-bottom:1px solid var(--border);
}
.nodes-method>*{
  min-width:0;
}
.nodes-method-heading h3{
  margin:16px 0 12px;
}
.nodes-method-heading p{
  max-width:15em;
  margin:0;
  font-size:var(--text-ui);
  color:var(--text-muted);
}
.nodes-method-copy{
  max-width:var(--reading);
}
.nodes-use-list{
  display:grid;
  gap:32px;
}
.nodes-use{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);
  gap:48px;
  padding-top:28px;
  border-top:1px solid var(--border);
}
.nodes-use>*{
  min-width:0;
}
.nodes-use h3{
  margin:0;
  max-width:9em;
}
.nodes-use .prose{
  max-width:var(--reading);
}
@media(max-width:768px){
  .nodes-opening{
    padding-top:40px;
    padding-bottom:24px;
  }
  .nodes-opening h1{
    margin-bottom:24px;
  }
  .nodes-lead{
    font-size:var(--text-lead);
  }
  .nodes-method,
  .nodes-use{
    grid-template-columns:1fr;
    gap:20px;
  }
  .nodes-method{
    padding-top:28px;
    padding-bottom:32px;
  }
  .nodes-method-heading p,
  .nodes-use h3{
    max-width:100%;
  }
  .nodes-section-heading{
    margin-bottom:24px;
  }
  .nodes-use-list{
    gap:28px;
  }
}