.textbook-index {
  width: calc(100% - 32px);
  max-width: 1200px;
  margin: 0 auto 2em;
  color: #263238;
  line-height: 1.6;
}
.textbook-index-intro { max-width: 850px; margin: 0 auto 1.75em; text-align: center; }
.textbook-index-intro p { margin: .6em 0; }
.textbook-index-byline { color: #52616b; font-size: .92em; }
.textbook-index-breadcrumb { margin-bottom: 1em; text-align: center; font-size: .85em; }
.textbook-index-columns { display: grid; gap: 28px; align-items: start; }
.textbook-index-columns > * { min-width: 0; }
.textbook-index h2 { margin: 0 0 .65em; font-size: 1.3em; line-height: 1.3; color: #16466a; }
.textbook-index h3 { margin: 0 0 .2em; font-size: 1.08em; line-height: 1.35; }
.textbook-index h2 a, .textbook-index h3 a { color: inherit; text-decoration: none; }
.textbook-index h2 a:hover, .textbook-index h3 a:hover { text-decoration: underline; }
.textbook-index-edition { margin: 0 0 .7em; color: #52616b; font-size: .88em; }
.textbook-index-cover { display: block; width: 100%; height: auto; box-shadow: 2px 3px 6px #0003; }
.textbook-index-essentials-cover { display: block; max-width: 240px; margin: 1em auto 1.25em; }
.textbook-index-essentials p { margin: 0 0 1em; }
.textbook-index a:focus-visible { outline: 3px solid #16466a; outline-offset: 4px; }
.textbook-index-companion {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 18px;
  padding: 0 0 1.4em;
}
.textbook-index-companion + .textbook-index-companion { border-top: 1px solid #dce2e6; padding-top: 1.4em; }
.textbook-index-companion p { margin: 0 0 .8em; }
.textbook-index-companion .textbook-index-edition { margin-bottom: .6em; }
.textbook-index-companion-description { font-size: .96em; }
.textbook-index-companion .textbook-index-previous { margin: .65em 0 0; font-size: .85em; }
.textbook-index-resources { padding: 18px; border: 1px solid #dce2e6; border-radius: 8px; background: #f5f8fa; }
.textbook-index-resource-list { list-style: none; margin: 0; padding: 0; font-size: .92em; }
.textbook-index-resource-list li + li { margin-top: 1em; }
.textbook-index-resource-list a { font-weight: bold; }
.textbook-index-resource-list p { margin: .2em 0 0; }
.textbook-index-resource-feature { padding-bottom: 1em; border-bottom: 1px solid #dce2e6; }
@media (min-width: 700px) {
  .textbook-index-columns { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
  .textbook-index-resources { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
  .textbook-index-columns { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, .85fr); }
  .textbook-index-resources { grid-column: auto; }
}
@media (max-width: 699px) {
  .textbook-index { width: calc(100% - 24px); }
  .textbook-index-essentials-cover { max-width: 200px; }
  .textbook-index-companion { grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
}
