/* Homepage-only composition, all colors derive from the shared Design System. */
.rs-home{width:100%;min-width:0;max-width:none;margin:0;padding:0;color:var(--rs-text-primary,inherit)}
.rs-home__intro{padding:clamp(1.5rem,4vw,3.5rem) 0 2rem;max-width:65rem}
.rs-home__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.17em;color:var(--rs-text-muted,inherit)}
.rs-home__intro h1{font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.1;margin:.35rem 0 1rem}
.rs-home__intro>p:last-child{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6}
.rs-home__section{margin:1rem 0 3.25rem}
.rs-home__section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}
.rs-home__section-heading h2{font-size:clamp(1.35rem,2.4vw,2rem);margin:0}
.rs-home__section-heading a{color:var(--rs-link,inherit)}
.rs-home__books{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.5rem 1rem}
.rs-home__book{min-width:0}.rs-home__cover{display:block;aspect-ratio:2/3;overflow:hidden;border-radius:6px;background:var(--rs-surface-secondary,rgba(128,128,128,.12))}
.rs-home__cover img{display:block;width:100%;height:100%;object-fit:contain}
.rs-home__book h3{font-size:.95rem;line-height:1.35;margin:.55rem 0 .3rem;overflow-wrap:anywhere}
.rs-home__book h3 a{color:inherit;text-decoration:none}.rs-home__book h3 a:hover{text-decoration:underline}
.rs-home__author,.rs-home__date{font-size:.82rem;line-height:1.4;margin:.25rem 0;color:var(--rs-text-muted,inherit)}
.rs-homepage-articles{margin-top:3rem}
@media(max-width:850px){.rs-home__books{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:520px){.rs-home__books{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .85rem}.rs-home__intro{padding-top:1.25rem}}

.rs-home__spotlight{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,270px);align-items:center;gap:clamp(1.5rem,5vw,5rem);padding:clamp(1.5rem,4vw,3.5rem);margin:0 0 2.5rem;border:1px solid var(--rs-border,rgba(128,128,128,.25));border-radius:14px;background:var(--rs-surface-secondary,rgba(128,128,128,.08))}
.rs-home__spotlight-copy{min-width:0}.rs-home__spotlight h1{font-size:clamp(2rem,4.5vw,3.7rem);line-height:1.12;margin:.6rem 0 1rem;overflow-wrap:anywhere}.rs-home__spotlight h1 a{color:inherit;text-decoration:none}.rs-home__spotlight h1 a:hover{text-decoration:underline}
.rs-home__spotlight-author{font-size:clamp(1rem,1.7vw,1.25rem);margin:.4rem 0}.rs-home__spotlight-date{color:var(--rs-text-muted,inherit);margin:.6rem 0 1.6rem}
.rs-home__spotlight-link{display:inline-block;font-weight:700;color:var(--rs-link,inherit);text-underline-offset:.2em}
.rs-home__spotlight-cover{display:block;width:100%;max-width:270px;justify-self:center;aspect-ratio:2/3}.rs-home__spotlight-cover img{display:block;width:100%;height:100%;object-fit:contain;border-radius:7px}
@media(max-width:600px){.rs-home__spotlight{grid-template-columns:minmax(0,1fr) 110px;gap:1rem;padding:1.25rem}.rs-home__spotlight h1{font-size:clamp(1.5rem,6vw,2.25rem)}.rs-home__spotlight-cover{align-self:start}}
@media(max-width:390px){.rs-home__spotlight{grid-template-columns:1fr}.rs-home__spotlight-cover{grid-row:1;max-width:150px;justify-self:start}}

/* Spotlight editorial metadata, sourced from Library selection records. */
.rs-home__spotlight-series{font-size:.95rem;color:var(--rs-text-muted,inherit);margin:.5rem 0}
.rs-home__spotlight-rating{display:flex;align-items:center;gap:.35rem;font-size:.95rem;font-weight:700;margin:.8rem 0}
/* Rating star color comes from the shared Rating component. */
.rs-home__spotlight-rating-count{font-size:.82rem;font-weight:400;color:var(--rs-text-muted,inherit)}
.rs-home__spotlight-description{font-size:clamp(.95rem,1.2vw,1.05rem);line-height:1.65;max-width:65ch;margin:1rem 0}
.rs-home__spotlight-genres{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1rem 0;padding:0}
.rs-home__spotlight-genres li{font-size:.78rem;padding:.25rem .65rem;border:1px solid var(--rs-border,rgba(128,128,128,.25));border-radius:999px}
@media(max-width:600px){.rs-home__spotlight{align-items:start}.rs-home__spotlight-description{grid-column:1/-1}}

/* Homepage library summary and existing seasonal component placement. */
.rs-home__library-summary{margin:-.6rem 0 2.25rem;text-align:center;font-size:.9rem;line-height:1.6;color:var(--rs-text-muted,inherit)}
.rs-home__library-summary strong{color:var(--rs-text-primary,inherit);font-weight:700;font-variant-numeric:tabular-nums}
.rs-home__calendar{margin:0 0 3rem;min-width:0}
@media(max-width:600px){.rs-home__library-summary{margin:0 0 1.75rem;text-align:left}.rs-home__calendar{margin-bottom:2.25rem}}

/* v2.0.6.2: Mobile Spotlight uses one readable column, never a narrow side cover. */
@media (max-width: 600px) {
  .rs-home__spotlight {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 1.5rem;
  }
  .rs-home__spotlight-copy { min-width: 0; }
  .rs-home__spotlight-cover {
    grid-column: 1;
    grid-row: auto;
    justify-self: center;
    align-self: auto;
    width: min(100%, 190px);
    max-width: 190px;
  }
}
@media (max-width: 390px) {
  .rs-home__spotlight-cover {
    grid-row: auto;
    justify-self: center;
    max-width: 190px;
  }
}

/* v2.0.6.3: Semantic mobile order: heading, cover, details.
   Desktop preserves the existing two-column editorial layout. */
.rs-home__spotlight {
  grid-template-areas: "heading cover" "details cover";
  grid-template-rows: auto auto;
  align-content: center;
  row-gap: 0;
}
.rs-home__spotlight-heading { grid-area: heading; min-width: 0; }
.rs-home__spotlight-details { grid-area: details; min-width: 0; }
.rs-home__spotlight-cover { grid-area: cover; align-self: center; }
@media (max-width: 600px) {
  .rs-home__spotlight {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading" "cover" "details";
    grid-template-rows: auto;
    row-gap: 1.25rem;
  }
  .rs-home__spotlight-cover {
    grid-column: 1;
    grid-row: auto;
    justify-self: center;
    align-self: auto;
    width: min(100%, 190px);
    max-width: 190px;
  }
  .rs-home__spotlight-details > :first-child { margin-top: 0; }
}

/* v2.0.7: latest public book review, domain-owned selection. */
.rs-home__review{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr);gap:clamp(1rem,2.5vw,2rem);padding:clamp(1rem,2vw,1.5rem);border:1px solid var(--rs-border,rgba(128,128,128,.25));border-radius:12px;background:var(--rs-surface,transparent)}
.rs-home__review-cover{display:block;align-self:start;max-width:160px;min-width:0}
.rs-home__review-cover img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:5px}
.rs-home__review-body{min-width:0}.rs-home__review-body h3{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.3;margin:0 0 .4rem}.rs-home__review-body h3 a{color:inherit;text-decoration:none}
.rs-home__review-author{margin:0 0 .75rem;color:var(--rs-text-muted,inherit)}
.rs-home__review-meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.85rem;color:var(--rs-text-muted,inherit)}
.rs-home__review-rating{font-weight:700;color:var(--rs-warning,#e9a323)}
.rs-home__review-excerpt{line-height:1.65;margin:1rem 0;overflow-wrap:anywhere}
.rs-home__review-link{display:inline-block;margin-top:.35rem;font-weight:700;text-underline-offset:.2em}

/* v2.0.7.1: review information hierarchy matches the canonical compact rating treatment. */
.rs-home__review{grid-template-columns:minmax(100px,145px) minmax(0,1fr);align-items:start}
.rs-home__review-cover{max-width:145px}
.rs-home__review-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.rs-home__review-book-info{min-width:0}
.rs-home__review-eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.11em;color:var(--rs-text-muted,inherit);margin-bottom:.4rem}
.rs-home__review-rating{display:inline-flex;align-items:center;gap:.6rem;white-space:nowrap;flex-shrink:0;font-size:1.05rem;font-weight:700;color:var(--rs-text-primary,inherit);font-variant-numeric:tabular-nums;padding-top:.25rem}
.rs-home__review-star{color:var(--rs-warning,#e9a323);font-size:1.2rem;line-height:1}
.rs-home__review-meta{margin:.4rem 0 0}
.rs-home__review-excerpt{max-width:90ch;line-height:1.6;margin:1rem 0}
.rs-home__review-link{margin-top:.1rem}
/* Mobile review: cover and book details share the first row; the review text
   spans the full card width. Keep desktop markup and layout unchanged. */
@media (max-width:600px) {
  .rs-home__review {
    grid-template-columns: minmax(0, 88px) minmax(0, 1fr);
    column-gap: .85rem;
    row-gap: .7rem;
    padding: 1rem;
    align-items: start;
  }
  .rs-home__review-cover { grid-column: 1; grid-row: 1; width: 100%; max-width: 88px; justify-self: start; }
  .rs-home__review-body { display: contents; }
  .rs-home__review-topline { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; min-width: 0; }
  .rs-home__review-book-info { min-width: 0; }
  .rs-home__review-body h3 { font-size: 1.12rem; line-height: 1.25; margin-bottom: .25rem; overflow-wrap: anywhere; }
  .rs-home__review-author { margin-bottom: .2rem; font-size: .9rem; }
  .rs-home__review-eyebrow { font-size: .65rem; margin-bottom: .3rem; }
  .rs-home__review-rating { font-size: .95rem; padding: 0; gap: .4rem; }
  .rs-home__review-meta { grid-column: 1 / -1; grid-row: 2; margin: 0; font-size: .8rem; }
  .rs-home__review-excerpt { grid-column: 1 / -1; grid-row: 3; margin: .2rem 0 0; line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
  .rs-home__review-link { grid-column: 1 / -1; grid-row: 4; margin-top: .15rem; }
}

/* v2.0.7.2: Header breathing room and a more compact editorial Spotlight.
   The parent layout still owns horizontal gutters and maximum content width. */
.rs-home { padding-top: clamp(1rem, 1.7vw, 1.5rem); padding-bottom: clamp(1rem, 1.7vw, 1.5rem); }
.rs-home__spotlight {
  grid-template-columns: minmax(0, 1fr) minmax(150px, 220px);
  column-gap: clamp(1.5rem, 3vw, 3rem);
  padding: clamp(1.25rem, 2.4vw, 2rem);
  margin-bottom: 1.75rem;
}
.rs-home__spotlight-cover { max-width: 220px; }
.rs-home__spotlight h1 {
  font-size: clamp(1.85rem, 3.2vw, 3rem);
  line-height: 1.12;
  margin: .35rem 0 .65rem;
}
.rs-home__spotlight-author { margin: .25rem 0; }
.rs-home__spotlight-series { margin: .25rem 0; }
.rs-home__spotlight-rating { margin: .5rem 0; }
.rs-home__spotlight-description { margin: .7rem 0; line-height: 1.5; }
.rs-home__spotlight-genres { margin: .7rem 0; }
.rs-home__spotlight-date { margin: .5rem 0 .85rem; }
.rs-home__library-summary { margin: 0 0 1.75rem; }
@media (max-width: 600px) {
  .rs-home { padding-top: .85rem; }
  .rs-home__spotlight {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading" "cover" "details";
    row-gap: 1rem;
    padding: 1rem;
    margin-bottom: 1.5rem;
  }
  .rs-home__spotlight h1 { font-size: clamp(1.5rem, 6vw, 2.25rem); }
  .rs-home__spotlight-cover { width: min(100%, 175px); max-width: 175px; }
  .rs-home__spotlight-description { line-height: 1.55; }
}
