.diagnostic-book {
  display:grid;
  grid-template-columns:216px minmax(0,1fr);
  column-gap:64px;
  row-gap:48px;
  align-items:start;
}
.diagnostic-book__intro {
  grid-column:1 / -1;
  max-width:880px;
  min-width:0;
}
.diagnostic-book__intro h1 {
  margin:20px 0 24px;
}
.diagnostic-book__intro > p:not(.eyebrow) {
  color:var(--muted);
  line-height:var(--line-copy);
}
.diagnostic-book__intro .diagnostic-book__lead {
  max-width:760px;
  color:var(--text);
  font-size:var(--fs-20);
}
.diagnostic-book__intro .callout {
  margin-bottom:0;
}
.diagnostic-book__toc {
  grid-column:1;
  grid-row:2;
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:stretch;
}
.diagnostic-book__toc a {
  justify-content:flex-start;
}
.diagnostic-book__body {
  grid-column:2;
  grid-row:2;
  min-width:0;
  max-width:940px;
}
.diagnostic-book__chapter {
  min-width:0;
  padding-top:48px;
  padding-bottom:48px;
  border-top:1px solid var(--border);
}
.diagnostic-book__chapter:first-child {
  padding-top:0;
  border-top:0;
}
.diagnostic-book__chapter:last-child {
  padding-bottom:0;
}
.diagnostic-book__chapter h2 {
  margin:0 0 24px;
}
.diagnostic-book__chapter p {
  text-wrap:pretty;
}
.diagnostic-book__chapter .table-scroll {
  margin-block:24px;
}
.diagnostic-book__chapter > :last-child {
  margin-bottom:0;
}
@media (max-width:1180px) {
  .diagnostic-book {
    grid-template-columns:184px minmax(0,1fr);
    column-gap:36px;
  }
}
@media (max-width:900px) {
  .diagnostic-book {
    grid-template-columns:minmax(0,1fr);
    row-gap:32px;
  }
  .diagnostic-book__intro {
    grid-column:1;
    grid-row:1;
  }
  .diagnostic-book__toc {
    position:static;
    grid-column:1;
    grid-row:2;
    flex-direction:row;
    flex-wrap:wrap;
  }
  .diagnostic-book__body {
    grid-column:1;
    grid-row:3;
    max-width:none;
  }
}
@media (max-width:768px) {
  .diagnostic-book__toc {
    flex-wrap:nowrap;
    overflow-x:auto;
  }
  .diagnostic-book__intro .diagnostic-book__lead {
    font-size:var(--fs-18);
  }
  .diagnostic-book__chapter {
    padding-top:36px;
    padding-bottom:36px;
  }
}