.nodes-page {
  padding-top:var(--space-8);
  padding-bottom:var(--space-8);
}

.nodes-intro {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:var(--space-6);
  align-items:center;
  padding-bottom:var(--space-7);
}

.nodes-intro::before {
  content:'';
  position:absolute;
  z-index:-1;
  top:calc(var(--space-6) * -1);
  right:0;
  width:62%;
  height:100%;
  background:
    radial-gradient(ellipse at 72% 22%,var(--glow-blue),var(--clear) 64%),
    radial-gradient(ellipse at 96% 58%,var(--glow-orange),var(--clear) 56%);
  filter:blur(32px);
  pointer-events:none;
}

.nodes-intro-copy {
  min-width:0;
}

.nodes-intro h1 {
  max-width:820px;
  margin-bottom:var(--space-3);
}

.nodes-lead {
  max-width:820px;
  margin-bottom:var(--space-3);
  color:var(--muted);
  font-size:var(--text-lg);
  line-height:1.9;
}

.nodes-badges {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-1);
}

.nodes-summary {
  position:relative;
  padding:var(--space-4);
  background:linear-gradient(145deg,var(--panel),var(--slab-top));
  box-shadow:0 7px 0 var(--slab-edge),var(--shadow-card);
}

.nodes-summary h2 {
  margin-top:var(--space-2);
  margin-bottom:var(--space-3);
  font-size:var(--text-2xl);
}

.nodes-summary dl {
  margin:0;
}

.nodes-summary dl div {
  display:grid;
  grid-template-columns:minmax(64px,.25fr) minmax(0,1fr);
  gap:var(--space-2);
  padding-block:var(--space-2);
  border-top:1px solid var(--border);
}

.nodes-summary dt {
  color:var(--blue-dark);
  font-weight:var(--weight-bold);
}

.nodes-summary dd {
  margin:0;
  color:var(--muted);
  font-size:var(--text-md);
}

.nodes-summary p {
  margin:var(--space-3) 0 0;
  padding-top:var(--space-3);
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:var(--text-sm);
}

.node-section {
  padding-top:var(--space-7);
  padding-bottom:var(--space-7);
  border-top:1px solid var(--border);
}

.section-heading {
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);
  gap:var(--space-5);
  align-items:end;
  margin-bottom:var(--space-4);
}

.section-heading h2 {
  margin-bottom:0;
}

.section-heading > p {
  margin:0;
  color:var(--muted);
  line-height:1.9;
}

.section-kicker {
  margin-bottom:var(--space-1);
  color:var(--blue-dark);
  font-size:var(--text-xs);
  font-weight:var(--weight-semibold);
  letter-spacing:.08em;
}

.type-ledger,
.selection-ledger {
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:var(--panel);
  box-shadow:var(--shadow-panel);
}

.type-row,
.selection-row {
  display:grid;
  grid-template-columns:minmax(190px,.3fr) minmax(0,1fr);
  gap:var(--space-4);
  padding:var(--space-4);
  border-bottom:1px solid var(--border);
}

.type-row:nth-child(even),
.selection-row:nth-child(even) {
  background:var(--panel-alt);
}

.type-row:last-child,
.selection-row:last-child {
  border-bottom:0;
}

.type-name h3 {
  margin-top:var(--space-2);
  margin-bottom:0;
}

.type-copy p,
.selection-row p {
  color:var(--muted);
  line-height:1.9;
}

.type-copy p:last-child,
.selection-row p:last-child {
  margin-bottom:0;
}

.selection-row h3 {
  margin:0;
  color:var(--blue-dark);
  font-size:var(--text-xl);
}

.decision-note {
  margin-top:var(--space-3);
}

.decision-note h3 {
  margin-bottom:var(--space-1);
}

.decision-note p {
  margin:0;
  color:var(--muted);
  line-height:1.9;
}

.verification-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-3);
}

.verification-grid .panel {
  box-shadow:none;
}

.verification-grid h3 {
  margin-bottom:var(--space-1);
  font-size:var(--text-lg);
}

.verification-grid p {
  margin:0;
  color:var(--muted);
  font-size:var(--text-md);
  line-height:1.9;
}

.coverage-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);
  gap:var(--space-5);
  align-items:start;
}

.coverage-copy h3 {
  margin-top:var(--space-4);
  margin-bottom:var(--space-1);
}

.coverage-copy h3:first-child {
  margin-top:0;
}

.coverage-copy p {
  color:var(--muted);
  line-height:1.9;
}

.coverage-facts {
  position:sticky;
  top:var(--anchor-offset);
  background:linear-gradient(160deg,var(--panel),var(--blue-tint));
}

.coverage-facts h3 {
  margin-bottom:var(--space-2);
}

.coverage-facts dl {
  margin:0 0 var(--space-3);
}

.coverage-facts dl div {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--space-2);
  padding-block:var(--space-2);
  border-bottom:1px solid var(--border);
}

.coverage-facts dt {
  color:var(--blue-dark);
  font-size:var(--text-xl);
  font-weight:var(--weight-bold);
}

.coverage-facts dd {
  margin:0;
  color:var(--muted);
  font-size:var(--text-sm);
}

.coverage-facts p {
  color:var(--muted);
  font-size:var(--text-sm);
}

.coverage-facts .button {
  width:100%;
}

.nodes-page .table-scroll {
  box-shadow:var(--shadow-panel);
}

.nodes-page .data-table td:last-child {
  color:var(--muted);
}

.nodes-page .callout {
  margin-bottom:0;
}

.nodes-toc {
  max-width:100%;
}

@media (max-width:1000px) {
  .nodes-intro {
    grid-template-columns:1fr;
  }

  .nodes-summary {
    max-width:720px;
  }

  .section-heading {
    grid-template-columns:1fr;
    gap:var(--space-2);
  }

  .coverage-layout {
    grid-template-columns:1fr;
  }

  .coverage-facts {
    position:static;
  }
}

@media (max-width:768px) {
  .nodes-page {
    padding-top:var(--space-6);
    padding-bottom:var(--space-6);
  }

  .nodes-intro {
    gap:var(--space-4);
    padding-bottom:var(--space-5);
  }

  .nodes-lead {
    font-size:var(--text-base);
  }

  .node-section {
    padding-top:var(--space-6);
    padding-bottom:var(--space-6);
  }

  .type-row,
  .selection-row {
    grid-template-columns:1fr;
    gap:var(--space-2);
  }

  .verification-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width:640px) {
  .nodes-page {
    overflow-x:clip;
    max-width:100%;
  }

  .nodes-intro::before {
    width:100%;
    right:0;
  }

  .nodes-summary {
    padding:var(--space-3);
  }

  .nodes-summary dl div {
    grid-template-columns:1fr;
    gap:var(--space-1);
  }

  .type-row,
  .selection-row {
    padding:var(--space-3);
  }

  .section-heading {
    margin-bottom:var(--space-3);
  }

  .coverage-layout {
    gap:var(--space-3);
  }
}