/* The reading shelf shares the site's light and dark palette. */
.books-hero { padding-block: clamp(3rem, 7vw, 6rem); background: var(--tint); border-bottom: 1px solid var(--line); }
.books-hero h1 { max-width: 18ch; font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1.04; letter-spacing: -.05em; margin-block: 1rem 1.5rem; }
.books-lede { max-width: 55ch; font-size: 1.2rem; color: var(--muted); }
.books-meta { color: var(--muted); font-size: .85rem; margin-block: 1rem; }
.books-method-link, .selection-notes a, .book-card a { color: var(--accent); text-decoration: underline; text-underline-offset: .2em; }
.reading-paths { padding-block: 3rem; }
.reading-paths h2, .shelf-heading h2, .selection-notes h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.2; letter-spacing: -.03em; margin-block: .6rem 1rem; }
.path-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 1.5rem; }
.path-grid a { display: grid; gap: .65rem; padding: 1.3rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--panel); color: var(--ink); text-decoration: none; }
.path-grid a:hover { border-color: var(--accent); }
.path-grid span { color: var(--muted); font-size: .7rem; letter-spacing: .05em; }
.path-grid strong { font-size: 1.1rem; line-height: 1.4; }
.path-grid small { color: var(--accent); }
.book-section { padding-block: 1.5rem 2.5rem; scroll-margin-top: 1.5rem; }
.shelf-heading { max-width: 48rem; margin-bottom: 1.5rem; }
.shelf-heading p { color: var(--muted); }
.book-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.book-card { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.3rem,3vw,2rem); border: 1px solid var(--line); border-top: 4px solid var(--accent); border-radius: .75rem; background: var(--panel); scroll-margin-top: 1.5rem; }
.book-card h3 { font-size: clamp(1.4rem,2.4vw,1.8rem); line-height: 1.2; letter-spacing: -.025em; margin-block: .8rem; }
.book-author { color: var(--muted); line-height: 1.5; }
.book-basis { display: inline-block; padding: .25rem .6rem; background: var(--tint); border-radius: 4px; font-size: .75rem; color: var(--accent); }
.book-card dl { margin-block: 1.5rem; }
.book-card dl > div + div { margin-top: 1rem; }
.book-card dt { font-weight: 700; font-size: .85rem; }
.book-card dd { margin: .25rem 0 0; color: var(--muted); font-size: .95rem; line-height: 1.65; }
.book-card footer { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; border-top: 1px solid var(--line); padding-top: 1.2rem; margin-top: auto; font-size: .9rem; }
.book-card footer a { display: inline-flex; align-items: center; min-height: 44px; }
.selection-notes { border-top: 1px solid var(--line); padding-block: 3rem 5rem; }
.selection-notes p { max-width: 75ch; margin-block: 1rem; color: var(--muted); }
@media(max-width: 48rem) { .path-grid, .book-grid { grid-template-columns: minmax(0,1fr); } }

.book-card-heading { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1.3rem; align-items: start; }
.book-card .book-cover { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 2px; box-shadow: 0 4px 14px rgb(0 0 0 / 16%); }
@media (max-width: 64rem) and (min-width: 48.01rem), (max-width: 30rem) {
  .book-card-heading { grid-template-columns: minmax(0, 1fr); }
  .book-card .book-cover { width: 8.5rem; }
}
