/* Our Work / Books compact candidate — covers first, no duplicate catalog */

.books-compact .books-hero{
  padding:56px 0 36px;
  background:var(--ink);
  color:#fff;
  border-bottom:0;
}
.books-compact .books-hero .kicker{color:var(--mint);margin:0 0 12px}
.books-compact .books-hero h1{
  margin:0 0 14px;
  max-width:18ch;
  font:500 clamp(2.4rem,4.5vw,3.6rem)/1.05 Newsreader,serif;
  letter-spacing:-.035em;
}
.books-lede{
  margin:0 0 16px;
  max-width:40rem;
  color:#bdcbd1;
  font-size:1.12rem;
  line-height:1.65;
}
.series-status{
  margin:0;
  font:500 .78rem DM Mono,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#89b3ac;
}

.books-collection{
  padding:40px 0 48px;
  border-bottom:1px solid var(--line);
}
.books-compact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.book-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:18px;
  border:1px solid var(--line);
  background:#fff;
}
.book-card .publication-cover{
  width:100%;
  max-width:none;
  margin:0 0 14px;
}
.book-card .status{
  display:inline-block;
  margin:0 0 10px;
  font:600 .72rem DM Mono,monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.book-card .status.published{color:#1f5c4f}
.book-card .status.wip{color:#8a5a12}
.book-card h2{
  margin:0 0 10px;
  font:500 1.35rem/1.2 Newsreader,serif;
  letter-spacing:-.02em;
}
.book-card > p{
  margin:0 0 16px;
  color:var(--quiet);
  font-size:.95rem;
  line-height:1.55;
  flex:1;
}
.card-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:auto;
}
.card-actions a{
  font-weight:700;
  text-underline-offset:3px;
}
.card-actions a.purchase-button{
  display:inline-block;
  width:fit-content;
  background:var(--ink);
  color:#fff;
  padding:12px 16px;
  text-decoration:none;
}
.book-card.wip{
  background:#fbf8f0;
}
.book-card.tool-card{
  background:#eef5f3;
}
.book-card .status.tool{color:#1f5c4f}
/* Do not grow the blurb to invent empty space under the screenshot */
.book-card.tool-card > p{
  flex:0 1 auto;
}
.tool-shot{
  display:block;
  margin:0 0 14px;
  width:100%;
  border:1px solid rgba(8,19,31,.12);
  overflow:hidden;
  line-height:0; /* no gap under the image */
  flex:0 0 auto; /* never stretch to cover height */
}
.tool-shot img{
  display:block;
  width:100%;
  height:auto; /* natural screenshot aspect; never stretch */
}

.books-support{
  padding:40px 0 56px;
  background:#e7ece8;
  border-bottom:0;
}
.support-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 40px;
}
.support-row h2{
  margin:0 0 10px;
  font:500 1.6rem Newsreader,serif;
}
.support-row p{
  margin:0 0 12px;
  color:var(--quiet);
  line-height:1.65;
}
.support-row .text-link{
  margin-top:0;
  font-weight:600;
}

@media(max-width:980px){
  .books-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .books-compact .books-hero{padding:48px 0 28px}
  .books-collection{padding:28px 0 36px}
  .books-compact-grid{grid-template-columns:1fr}
  .support-row{grid-template-columns:1fr;gap:28px}
  .books-support{padding:32px 0 48px}
}
