.book-shelf{padding:clamp(3rem,7vw,6rem) max(5vw,24px);background:#e7dfcf;color:#202119;border-top:1px solid rgba(32,33,25,.15);border-bottom:1px solid rgba(32,33,25,.15)}
.book-shelf-heading{max-width:760px;margin:0 auto 2.5rem}
.book-shelf-heading h2{font-size:clamp(2rem,4vw,3.7rem);line-height:.98;margin:.3rem 0 1rem}
.book-shelf-heading>p:last-child{font-size:1.05rem;line-height:1.6;max-width:650px}
.book-shelf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem);max-width:1440px;margin:0 auto}
.book-card{background:#f1eadc;border:1px solid rgba(32,33,25,.14);display:flex;flex-direction:column;min-width:0}
.book-cover{display:block;aspect-ratio:2/3;background:#24261f;overflow:hidden;position:relative}
.book-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.book-cover:hover img{transform:scale(1.02)}
.book-cover--missing:after{content:'Cottage Goth bookshelf';position:absolute;inset:0;display:grid;place-items:center;padding:1rem;text-align:center;color:#ddd3c0;font-family:serif;font-size:1.25rem}
.book-card-copy{padding:1.1rem 1.15rem 1.3rem;display:flex;flex-direction:column;flex:1}
.book-theme{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;opacity:.65}
.book-card h3{font-size:1.3rem;line-height:1.08;margin:.4rem 0 .25rem}
.book-author{font-size:.9rem;font-style:italic;margin:0 0 .8rem;opacity:.8}
.book-card-copy>p:not(.book-author){font-size:.9rem;line-height:1.5;margin:0 0 1rem}
.book-link{margin-top:auto;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:inherit}

.overlap-intro{max-width:760px;margin:0 auto 2.2rem}
.overlap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;margin:2.5rem 0}
.overlap-card{margin:0;background:#191b17;color:#e9e1d2;border:1px solid rgba(233,225,210,.16);overflow:hidden}
.overlap-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#111}
.overlap-card figcaption{padding:1.2rem 1.25rem 1.35rem}
.overlap-card h2{font-size:1.65rem;line-height:1.05;margin:0 0 .7rem;color:#f0e7d7}
.overlap-card p{margin:.45rem 0;line-height:1.55;color:#d8d0c2}
.overlap-card strong{color:#f2e9da}
.overlap-card .overlap-source{display:inline-block;margin-top:.8rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#bcb4a7}
.overlap-note{padding:1.4rem 1.6rem;margin:2rem 0;background:#e4d8c5;color:#24251f;border-left:4px solid #596044}
.overlap-note p{margin:.35rem 0}

@media(max-width:1000px){.book-shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.book-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.book-card-copy{padding:.85rem}.book-card h3{font-size:1.08rem}.book-card-copy>p:not(.book-author){font-size:.82rem}.overlap-grid{grid-template-columns:1fr}.overlap-card h2{font-size:1.45rem}}
@media(max-width:430px){.book-shelf{padding-left:16px;padding-right:16px}.book-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-card-copy>p:not(.book-author){display:none}.book-author{font-size:.8rem}.book-link{font-size:.7rem}}
