.nodes-intro{
  padding-top:var(--space-7);
  padding-bottom:var(--space-7);
  background-image:var(--grain-img),linear-gradient(180deg,var(--bg-hero-top),var(--bg-hero-bottom));
  background-size:var(--grain-size),100% 100%;
  border-bottom:1px solid var(--border);
}
.nodes-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:center;
  gap:var(--space-7);
}
.nodes-intro .badge{
  align-self:flex-start;
}
.nodes-intro h1{
  font-size:var(--text-display);
  line-height:var(--leading-heading);
}
.nodes-lead{
  max-width:28em;
  font-size:var(--text-lead);
  color:var(--text-muted);
}
.nodes-intro .cta-row{
  margin-top:0;
}
.nodes-summary{
  box-shadow:var(--shadow-window),inset 0 1px 0 var(--hl);
}
.nodes-summary-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding-bottom:var(--space-2);
  border-bottom:1px solid var(--border);
  font-size:var(--text-xs);
  color:var(--text-muted);
}
.nodes-facts{
  margin-block:var(--space-2);
}
.nodes-facts>div{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:var(--space-2);
  padding-block:var(--space-1);
  border-bottom:1px solid var(--border-soft);
}
.nodes-facts dt{
  color:var(--text-muted);
  font-size:var(--text-sm);
}
.nodes-facts dd{
  margin:0;
  text-align:right;
  font-weight:var(--weight-semibold);
  overflow-wrap:break-word;
}
.nodes-summary>p{
  font-size:var(--text-sm);
}
.nodes-document{
  padding-top:var(--space-3);
}
.nodes-chapter{
  padding-top:var(--space-7);
}
.nodes-chapter+.nodes-chapter{
  margin-top:var(--space-7);
  border-top:1px solid var(--border);
}
.nodes-chapter>.prose,
.nodes-chapter>.stack{
  max-width:var(--reading);
}
.nodes-type .tag{
  margin-bottom:var(--space-2);
}
.nodes-type h3{
  margin-top:0;
}
.nodes-type p:last-child{
  margin-bottom:0;
}
.nodes-chapter .table-scroll:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}
@media(max-width:768px){
  .nodes-intro{
    padding-top:var(--space-4);
    padding-bottom:var(--space-5);
  }
  .nodes-intro-grid{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-4);
  }
  .nodes-intro h1{
    font-size:clamp(28px,6vw,40px);
  }
  .nodes-chapter{
    padding-top:var(--space-5);
  }
  .nodes-chapter+.nodes-chapter{
    margin-top:var(--space-5);
  }
}
@media(max-width:640px){
  .nodes-facts>div{
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  .nodes-facts dd{
    text-align:left;
  }
  .nodes-intro .btn{
    padding-inline:var(--space-2);
  }
}