.nodes-opening{
  position:relative;
  overflow-x:clip;
  max-width:100%;
  padding-top:48px;
  padding-bottom:64px;
}
.nodes-opening::before{
  content:"";
  position:absolute;
  inset:0 0 10% 48%;
  pointer-events:none;
  background:radial-gradient(ellipse at 85% 16%,var(--halo),var(--halo-0) 72%);
}
.nodes-opening-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:64px;
  align-items:center;
}
.nodes-opening-grid>*{
  min-width:0;
}
.nodes-intro{
  margin-top:32px;
  margin-bottom:0;
  font-family:var(--font-serif);
  font-size:var(--size-lede);
  line-height:1.65;
  color:var(--text-muted);
}
.nodes-route-note{
  transform:rotate(-1deg);
}
.nodes-route-note .lede{
  margin-bottom:0;
}
.nodes-route-note .data-rows{
  margin-bottom:20px;
}
.nodes-small{
  margin-bottom:0;
  font-size:var(--size-small);
  color:var(--text-muted);
}
.nodes-handbook{
  padding-bottom:24px;
}
.nodes-handbook>.section{
  padding-top:48px;
  padding-bottom:48px;
}
.nodes-section-heading{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:32px;
  align-items:end;
  margin-bottom:28px;
}
.nodes-section-heading>*{
  min-width:0;
}
.nodes-section-heading .mono,
.nodes-route-note>.mono{
  font-size:var(--size-label);
  letter-spacing:var(--tracking-label);
}
.nodes-section-heading h2{
  margin-bottom:0;
}
.nodes-section-heading>p{
  margin-bottom:0;
  font-size:var(--size-lede);
}
.nodes-handbook section>p{
  line-height:1.85;
}
.nodes-type-stack{
  margin-top:32px;
  border-top:1px solid var(--border);
}
.nodes-type{
  padding-top:32px;
  padding-bottom:32px;
  border-bottom:1px solid var(--border);
}
.nodes-type-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:20px;
}
.nodes-type-title h3{
  margin:0;
}
.nodes-type-title .tag{
  margin-left:auto;
}
.nodes-type-body{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
}
.nodes-type-body p{
  margin:0;
  line-height:1.85;
  color:var(--text-muted);
}
.nodes-use-list{
  margin-top:32px;
  border-top:1px solid var(--border);
}
.nodes-use{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,3fr);
  gap:32px;
  padding-top:32px;
  padding-bottom:32px;
  border-bottom:1px solid var(--border);
}
.nodes-use>*{
  min-width:0;
}
.nodes-use>.mono{
  font-size:var(--size-label);
  letter-spacing:var(--tracking-label);
}
.nodes-use h3{
  font-size:var(--size-lede);
}
.nodes-use p{
  line-height:1.85;
}
.nodes-use div>p:last-child{
  margin-bottom:0;
}
.nodes-use a,
.nodes-check-grid a,
.nodes-closing a{
  text-decoration-color:var(--accent);
}
.nodes-use a:hover,
.nodes-check-grid a:hover,
.nodes-closing a:hover{
  color:var(--accent-dark);
}
.nodes-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.nodes-check-grid>*{
  min-width:0;
}
.nodes-check-grid p{
  line-height:1.85;
  color:var(--text-muted);
}
.nodes-closing{
  color:var(--text-muted);
  max-width:900px;
}
@media(max-width:960px){
  .nodes-opening-grid{
    gap:32px;
  }
  .nodes-route-note{
    transform:none;
  }
  .nodes-type-body{
    gap:24px;
  }
  .nodes-use{
    grid-template-columns:minmax(0,1fr) minmax(0,2.5fr);
    gap:24px;
  }
}
@media(max-width:768px){
  .nodes-opening{
    padding-top:32px;
    padding-bottom:48px;
  }
  .nodes-opening-grid,
  .nodes-section-heading,
  .nodes-type-body,
  .nodes-use,
  .nodes-check-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .nodes-opening-grid{
    gap:40px;
  }
  .nodes-intro{
    margin-top:28px;
  }
  .nodes-section-heading,
  .nodes-type-body{
    gap:16px;
  }
  .nodes-handbook>.section{
    padding-top:32px;
    padding-bottom:32px;
  }
  .nodes-use{
    gap:12px;
    padding-top:24px;
    padding-bottom:24px;
  }
  .nodes-use>.mono{
    margin-bottom:0;
  }
  .nodes-type-title .tag{
    margin-left:0;
  }
  .nodes-section-heading>p br{
    display:none;
  }
}