.home-books {
  --books-inset: max(var(--gutter), calc((100% - 1440px) / 2 + var(--gutter)));
  --book-height: 280px;
  padding-block: 64px 48px;
  background: var(--gold-soft);
}
.home-books-header { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 32px; }
.home-books-header p { max-width: 600px; margin-top: 16px; font-size: var(--type-section-lead); }
.home-books-actions { display: flex; flex-direction: column; align-items: end; flex-shrink: 0; gap: 24px; }
.home-books-catalog { display: inline-flex; align-items: center; gap: 16px; font-size: 16px; font-weight: var(--weight-action); }
.home-books-catalog span:first-child { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 6px; transition: text-decoration-color .2s; }
.home-books-catalog span[aria-hidden] { font-size: 24px; }
.home-books-catalog:hover span:first-child,.home-books-catalog:focus-visible span:first-child { text-decoration-color: var(--ink); text-decoration-thickness: 1px; }
.home-books-controls { display: flex; align-items: center; gap: 16px; }
.home-books-controls[hidden] { display: none; }
.home-books-controls button { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--ink); border-radius: 50%; color: var(--gold); background: transparent; transition: background .2s, color .2s; }
.home-books-controls button[data-books-next],
.home-books-controls button:hover:not(:disabled),
.home-books-controls button:focus-visible:not(:disabled) { color: var(--ink); background: var(--blue); border-color: transparent; }
.home-books-controls button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.home-books-controls button:disabled { opacity: .3; cursor: default; color: var(--ink); background: transparent; border-color: var(--ink); }
.home-books-header .home-books-position { margin: 0; min-width: 44px; font-size: 16px; line-height: 1.5; font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
.home-books-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.home-books-rail { display: flex; align-items: end; gap: clamp(28px, 3vw, 48px); margin: 0; padding: 12px var(--books-inset) 24px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--books-inset); list-style: none; scrollbar-width: thin; scrollbar-color: var(--gold-mid) transparent; }
.home-books-item { flex: 0 0 auto; scroll-snap-align: start; }
.home-books-item a { display: block; transition: transform .2s var(--ease); }
.home-books-item a:hover { transform: translateY(-5px); }
.home-books-item img { height: var(--book-height); width: auto; max-width: none; object-fit: contain; box-shadow: 0 5px 12px rgb(22 20 18 / 10%); }
@media (max-width: 1050px) {
  .home-books-header { display: block; }
  .home-books-actions { flex-direction: row; justify-content: space-between; align-items: center; margin-top: 24px; }
}
@media (max-width: 760px) {
  .home-books { --books-inset: 24px; --book-height: 240px; padding-block: 48px 32px; }
  .home-books-header { margin-bottom: 20px; }
  .home-books-header p { font-size: 18px; }
  .home-books-actions { gap: 20px; }
  .home-books-catalog { max-width: 190px; gap: 12px; line-height: 1.4; }
  .home-books-controls { flex-shrink: 0; gap: 12px; }
}
@media (max-width: 370px) {
  .home-books { --books-inset: 20px; }
  .home-books-actions { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .home-books-item a, .home-books-controls button { transition: none; }
  .home-books-item a:hover { transform: none; }
}
