:root {
  --nodes-hero-copy: 1fr;
  --nodes-hero-aside: .72fr;
  --nodes-table-min: var(--table-width);
  --nodes-label-width: var(--feature-label-width);
  --nodes-copy-width: var(--reading-width);
}

.nodes-hero {
  padding-top: var(--s13);
  padding-bottom: var(--s13);
}

.nodes-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, var(--nodes-hero-copy)) minmax(0, var(--nodes-hero-aside));
  gap: var(--s12);
  align-items: end;
}

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

.nodes-intro h1 {
  max-width: var(--reading-width);
}

.nodes-lead {
  max-width: var(--reading-width);
  margin-top: var(--s7);
  color: var(--muted);
  font-size: var(--lead);
}

.nodes-lead strong {
  color: var(--text);
}

.nodes-intro .action-row {
  margin-top: var(--s8);
}

.nodes-index {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nodes-index-label,
.section-kicker {
  margin-bottom: var(--s3);
  color: var(--blue);
  font-size: var(--small);
  letter-spacing: var(--tracking);
}

.nodes-index h2 {
  font-size: var(--h3);
}

.nodes-facts {
  margin: 0 0 var(--s6);
}

.nodes-facts div {
  display: grid;
  grid-template-columns: minmax(0, var(--nodes-label-width)) minmax(0, var(--nodes-copy-width));
  gap: var(--s4);
  padding-block: var(--s4);
  border-top: var(--line) solid var(--hairline);
}

.nodes-facts dt {
  color: var(--muted);
  font-size: var(--caption);
}

.nodes-facts dd {
  min-width: 0;
  margin: 0;
  color: var(--text);
  overflow-wrap: anywhere;
}

.nodes-index > :last-child {
  margin-bottom: 0;
}

.nodes-fact-band {
  border-top: var(--line) solid var(--hairline);
  border-bottom: var(--line) solid var(--hairline);
  background: var(--panel);
}

.nodes-fact-band-inner {
  min-height: var(--s13);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s8);
}

.nodes-band-divider {
  color: var(--muted);
  font-size: var(--small);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, var(--nodes-hero-copy)) minmax(0, var(--nodes-hero-aside));
  gap: var(--s12);
  align-items: end;
  margin-bottom: var(--s9);
}

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

.section-heading > p {
  max-width: var(--reading-width);
  margin-bottom: 0;
  color: var(--muted);
}

.nodes-table {
  min-width: var(--nodes-table-min);
}

.nodes-table tbody tr:not(.region-heading):hover th,
.nodes-table tbody tr:not(.region-heading):hover td {
  background: var(--panel-raised);
}

.nodes-types-section,
.nodes-method-section {
  background: var(--panel);
  border-top: var(--line) solid var(--hairline);
  border-bottom: var(--line) solid var(--hairline);
}

.route-type-ledger {
  border: var(--line) solid var(--border);
  border-radius: var(--radius);
  overflow: clip;
  box-shadow: var(--panel-shadow);
}

.route-type-row {
  display: grid;
  grid-template-columns: var(--nodes-label-width) minmax(0, var(--nodes-copy-width));
  background: var(--panel-raised);
}

.route-type-row + .route-type-row {
  border-top: var(--line) solid var(--border);
}

.route-type-row:nth-child(even) {
  background: var(--bg);
}

.route-type-label {
  padding: var(--s8);
  border-right: var(--line) dashed var(--border);
}

.route-type-label h3 {
  margin-top: var(--s5);
  margin-bottom: 0;
}

.route-type-copy {
  min-width: 0;
  padding: var(--s8);
}

.route-type-copy p {
  color: var(--muted);
}

.route-type-copy p:last-child {
  margin-bottom: 0;
}

.use-case-sheets {
  border-bottom: var(--line) solid var(--border);
}

.use-case-sheet {
  display: grid;
  grid-template-columns: var(--nodes-label-width) minmax(0, var(--nodes-copy-width));
  border-top: var(--line) solid var(--border);
  background: var(--panel);
}

.use-case-sheet:nth-child(even) {
  background: var(--panel-raised);
}

.use-case-tab {
  padding: var(--s8);
  color: var(--muted);
  font-size: var(--caption);
  border-right: var(--line) dashed var(--border);
}

.use-case-body {
  min-width: 0;
  padding: var(--s8);
}

.use-case-body p {
  color: var(--muted);
}

.use-case-body p:last-child {
  margin-bottom: 0;
}

.comparison-grid {
  display: grid;
  grid-template-columns: repeat(var(--preview-two), minmax(0, 1fr));
  gap: var(--s5);
}

.comparison-grid .panel {
  min-height: var(--sample-min);
}

.comparison-grid p {
  color: var(--muted);
  margin-bottom: 0;
}

.subscription-note {
  display: grid;
  grid-template-columns: minmax(0, var(--nodes-copy-width)) auto;
  gap: var(--s9);
  align-items: center;
}

.subscription-note h2 {
  margin-bottom: var(--s5);
}

.subscription-note p {
  color: var(--muted);
}

.subscription-note p:last-child {
  margin-bottom: 0;
}

.subscription-actions {
  display: flex;
  min-width: var(--client-min);
  flex-direction: column;
  align-items: stretch;
  gap: var(--s4);
}

.subscription-actions .text-link {
  justify-content: center;
}

@media (max-width: 960px) {
  .nodes-hero-grid,
  .section-heading {
    gap: var(--s8);
  }

  .route-type-row,
  .use-case-sheet {
    grid-template-columns: var(--nodes-label-width) minmax(0, 1fr);
  }

  .subscription-note {
    gap: var(--s6);
  }
}

@media (max-width: 768px) {
  .nodes-hero {
    padding-top: var(--s10);
    padding-bottom: var(--s10);
  }

  .nodes-hero-grid,
  .section-heading,
  .subscription-note {
    grid-template-columns: minmax(0, 1fr);
  }

  .nodes-hero-grid,
  .section-heading {
    gap: var(--s7);
  }

  .nodes-lead {
    margin-top: var(--s5);
    font-size: var(--body);
  }

  .nodes-intro .action-row {
    margin-top: var(--s6);
  }

  .nodes-facts div {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s1);
  }

  .nodes-fact-band-inner {
    min-height: var(--touch-size);
    justify-content: flex-start;
    gap: var(--s4);
    overflow-x: auto;
    white-space: nowrap;
  }

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

  .route-type-row,
  .use-case-sheet {
    grid-template-columns: minmax(0, 1fr);
  }

  .route-type-label,
  .use-case-tab {
    padding: var(--s5) var(--s6);
    border-right: 0;
    border-bottom: var(--line) dashed var(--border);
  }

  .route-type-label h3 {
    margin-top: var(--s3);
  }

  .route-type-copy,
  .use-case-body {
    padding: var(--s6);
  }

  .comparison-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .subscription-actions {
    min-width: 0;
  }
}

@media (max-width: 380px) {
  .nodes-intro .action-row {
    align-items: stretch;
    flex-direction: column;
  }

  .nodes-intro .action-row .text-link {
    justify-content: center;
  }

  .nodes-fact-band-inner {
    gap: var(--s3);
  }
}