.esl-container { width: min(calc(100% - 2rem), var(--esl-container)); margin-inline: auto; }
.esl-main { min-height: 58vh; }
.esl-section { padding-block: clamp(4rem, 10vw, 7.5rem); border-top: 1px solid var(--esl-rule); }
.esl-section-head { display: flex; align-items: start; justify-content: space-between; flex-direction: column; gap: 1rem; margin-bottom: clamp(2rem, 5vw, 3.75rem); }
.esl-section-head h2 { margin-top: .45rem; }
.esl-grid { display: grid; gap: var(--esl-space-6); }
.esl-grid--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.esl-split { display: grid; gap: var(--esl-space-7); }
.esl-book-shelf { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 2.8rem .9rem; }
.esl-author-grid, .esl-results-grid { display: grid; grid-template-columns: 1fr; align-items: start; gap: 3.5rem 1.5rem; }
.esl-module { margin-top: clamp(4.5rem, 12vw, 9rem); }
@media (min-width: 48rem) {
  .esl-container { width: min(calc(100% - 3.5rem), var(--esl-container)); }
  .esl-section-head { align-items: end; flex-direction: row; gap: 2rem; }
  .esl-split { grid-template-columns: minmax(15rem, 4fr) minmax(0, 8fr); }
  .esl-book-shelf, .esl-author-grid, .esl-results-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4rem 2rem; }
  .esl-grid--cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
}
@media (min-width: 75rem) { .esl-container { width: min(calc(100% - 6rem), var(--esl-container)); } }
@media (max-width: 22rem) { .esl-container { width: min(calc(100% - 1.25rem), var(--esl-container)); } .esl-book-shelf { gap-inline: .65rem; } }
