/* Home only. Ranking/detail documents never load this stylesheet. */
body.home-page { min-height: 100svh; }
.home-page main { max-width: 1280px; margin: 0 auto; padding: 0 32px 20px; }
.home-page .hero { min-height: 250px; padding: 30px 0 24px; margin: 0; align-items: start; }
.home-page .hero-copy { max-width: 440px; }
.home-page .hero .eyebrow { margin: 0 0 12px; font-size: 11px; letter-spacing: .28em; }
.home-page .hero h1 { max-width: none; margin: 0; font-size: clamp(40px, 4vw, 58px); line-height: 1.08; letter-spacing: -.045em; }
.home-page .hero h1 span { color: #1769e8; }
.home-page .hero .hero-text { max-width: 390px; margin: 18px 0 0; color: #526b87; font-size: 15px; line-height: 1.55; }
.home-page .discovery-section { padding: 0; margin: 0; }
.home-page .feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.home-page .feature-panel { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 18px; overflow: hidden; border: 1px solid #dce7f3; border-radius: 18px; box-shadow: 0 14px 38px rgba(43, 72, 110, .08); }
.home-page .feature-panel:nth-child(1) { background: linear-gradient(145deg, rgba(255,247,242,.98), rgba(255,255,255,.96)); }
.home-page .feature-panel:nth-child(2) { background: linear-gradient(145deg, rgba(242,248,255,.98), rgba(255,255,255,.96)); }
.home-page .feature-panel:nth-child(3) { background: linear-gradient(145deg, rgba(255,244,247,.98), rgba(255,255,255,.96)); }
.home-page .feature-panel-head { position: relative; min-height: 94px; padding-right: 74px; }
.home-page .feature-panel-head > span { font-size: 10px; }
.home-page .feature-panel h3 { margin: 6px 0 0; color: #102b4c; font-size: 19px; line-height: 1.25; }
.home-page .feature-panel h3 strong { display: block; color: #1769e8; font-size: 24px; letter-spacing: -.025em; }
.home-page .feature-panel:nth-child(1) h3 strong { color: #ff6239; }
.home-page .feature-panel:nth-child(3) h3 strong { color: #e62b49; }
.home-page .feature-panel-head p { margin: 8px 0 0; color: #5b7089; font-size: 11px; line-height: 1.4; }
.home-page .feature-panel-head::after { position: absolute; top: 12px; right: 8px; width: 58px; height: 48px; opacity: .66; content: ""; }
.home-page .feature-panel:nth-child(1) .feature-panel-head::after { background: linear-gradient(90deg, transparent 0 7%, #ffb092 7% 25%, transparent 25% 34%, #ff8d69 34% 57%, transparent 57% 66%, #ff6443 66% 92%, transparent 92%); clip-path: polygon(0 100%,0 68%,25% 68%,25% 42%,57% 42%,57% 10%,92% 10%,92% 100%); }
.home-page .feature-panel:nth-child(2) .feature-panel-head::after { border-radius: 50%; background: rgba(75,151,255,.28); box-shadow: -18px 14px 0 rgba(75,151,255,.23), 18px 14px 0 rgba(75,151,255,.23); }
.home-page .feature-panel:nth-child(3) .feature-panel-head::after { background: linear-gradient(135deg, transparent 0 43%, #f26b80 44% 55%, transparent 56%), linear-gradient(45deg, transparent 0 44%, #f26b80 45% 56%, transparent 57%); clip-path: polygon(0 76%,26% 50%,43% 62%,77% 22%,66% 12%,100% 0,94% 35%,85% 26%,45% 78%,27% 66%,8% 88%); }
.home-page .mini-book-list { display: grid; grid-template-rows: repeat(3, 76px); gap: 9px; }
.home-page .mini-book { display: grid; grid-template-columns: 28px 44px minmax(0, 1fr); gap: 8px; align-items: center; width: 100%; height: 76px; min-height: 0; padding: 7px 8px; }
.home-page .mini-rank { display: grid; place-items: center; width: 24px; height: 24px; color: #1769e8; background: #e7f1ff; border-radius: 50%; font-size: 11px; font-style: normal; font-weight: 800; }
.home-page .feature-panel:nth-child(1) .mini-rank { color: #d94c26; background: #ffe5d7; }
.home-page .feature-panel:nth-child(3) .mini-rank { color: #cc2745; background: #ffe2e8; }
.home-page .mini-cover, .home-page .mini-cover .cover { width: 44px; height: 60px; min-height: 0; }
.home-page .mini-cover img { width: 100%; height: 100%; object-fit: contain; }
.home-page .mini-book > span:last-child { min-width: 0; }
.home-page .mini-book strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #153252; font-size: 13px; line-height: 1.4; }
.home-page .mini-book em { margin-top: 4px; font-size: 11px; line-height: 1.35; }
.home-page .home-view-all { display: block; margin-top: 0; padding: 9px 12px; text-align: center; font-size: 12px; cursor: default; }
.home-page .feature-panel:nth-child(1) .home-view-all { color: #dc4f29; border-color: #ffd0bd; background: #fff0e8; }
.home-page .feature-panel:nth-child(3) .home-view-all { color: #d52847; border-color: #ffcbd6; background: #fff0f3; }
@media (max-width: 900px) {
  .home-page main { padding: 0 20px 24px; }
  .home-page .hero { min-height: 230px; padding-top: 24px; }
  .home-page .hero-copy { max-width: 360px; }
  .home-page .hero h1 { font-size: clamp(34px, 5vw, 44px); }
  .home-page .hero .hero-text { max-width: 330px; font-size: 13px; }
  .home-page .feature-grid { gap: 12px; }
  .home-page .feature-panel { padding: 13px; }
  .home-page .feature-panel h3 { font-size: 16px; }
  .home-page .feature-panel h3 strong { font-size: 21px; }
}
@media (max-width: 720px) {
  .home-page main { padding: 0 16px 24px; }
  .home-page .hero { min-height: 244px; padding: 20px 0 18px; }
  .home-page .hero-copy { max-width: 64%; }
  .home-page .hero .eyebrow { margin-bottom: 9px; font-size: 9px; }
  .home-page .hero h1 { font-size: clamp(28px, 8vw, 34px); }
  .home-page .hero .hero-text { margin-top: 13px; font-size: 11px; line-height: 1.5; }
  .home-page .feature-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .home-page .feature-panel { padding: 16px; }
  .home-page .feature-panel-head { min-height: 90px; }
  .home-page .feature-panel h3 { font-size: 17px; }
}

/* Phase 2 final: target discovery-card geometry. */
.home-page main { width: 100%; max-width: 1440px; }
.home-page .hero { padding: 20px 0 18px; }
.home-page .feature-grid { gap: 14px; }
.home-page .feature-panel { height: 520px; padding: 20px; }
.home-page .feature-panel-head { height: 132px; min-height: 132px; padding-right: 96px; }
.home-page .feature-panel-head > span { font-size: 11px; }
.home-page .feature-panel h3 { margin-top: 7px; font-size: 23px; line-height: 1.18; }
.home-page .feature-panel h3 strong { font-size: 32px; line-height: 1.08; }
.home-page .feature-panel-head p { margin-top: 12px; font-size: 13px; }
.home-page .feature-panel-head::after { top: 14px; width: 78px; height: 68px; }
.home-page .mini-book-list { grid-template-rows: repeat(3, 88px); gap: 8px; }
.home-page .mini-book { grid-template-columns: 32px 56px minmax(0, 1fr); gap: 12px; height: 88px; padding: 7px 9px; }
.home-page .mini-rank { width: 28px; height: 28px; font-size: 12px; }
.home-page .mini-cover, .home-page .mini-cover .cover { width: 56px; height: 74px; }
.home-page .mini-book strong { font-size: 14px; line-height: 1.35; }
.home-page .mini-book em { font-size: 12px; }
.home-page .home-view-all { padding: 10px 12px; font-size: 14px; }
@media (max-width: 900px) {
  .home-page .hero { padding: 18px 0 16px; }
  .home-page .feature-panel { height: 500px; padding: 14px; }
  .home-page .feature-panel-head { height: 126px; min-height: 126px; padding-right: 68px; }
  .home-page .feature-panel h3 { font-size: 18px; }
  .home-page .feature-panel h3 strong { font-size: 25px; }
  .home-page .feature-panel-head p { font-size: 11px; }
  .home-page .feature-panel-head::after { width: 56px; height: 50px; }
  .home-page .mini-book { grid-template-columns: 28px 48px minmax(0, 1fr); gap: 8px; }
  .home-page .mini-cover, .home-page .mini-cover .cover { width: 48px; height: 66px; }
  .home-page .mini-book strong { font-size: 12px; }
  .home-page .mini-book em { font-size: 10px; }
}
@media (max-width: 720px) {
  .home-page .hero { padding: 16px 0 14px; }
  .home-page .feature-panel { height: 520px; padding: 18px; }
  .home-page .feature-panel-head { height: 126px; min-height: 126px; padding-right: 84px; }
  .home-page .feature-panel h3 { font-size: 20px; }
  .home-page .feature-panel h3 strong { font-size: 28px; }
  .home-page .feature-panel-head p { font-size: 12px; }
  .home-page .feature-panel-head::after { width: 68px; height: 58px; }
  .home-page .mini-book { grid-template-columns: 32px 56px minmax(0, 1fr); gap: 12px; }
  .home-page .mini-cover, .home-page .mini-cover .cover { width: 56px; height: 74px; }
  .home-page .mini-book strong { font-size: 14px; }
  .home-page .mini-book em { font-size: 12px; }
}

/* PUBLIC LIVE final: full-width artwork with copy aligned to the Home content grid. */
.home-page .shared-hero {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: max(32px, calc((100vw - 1376px) / 2));
  padding-left: max(32px, calc((100vw - 1376px) / 2));
}
@media (max-width: 900px) {
  .home-page .shared-hero { padding-right: 20px; padding-left: 20px; }
}
@media (max-width: 720px) {
  .home-page .shared-hero { padding-right: 16px; padding-left: 16px; }
}
/* PUBLIC LIVE Home discovery final: snapshot date and collection-specific signals. */
.home-page main { padding-bottom: 0; }
.home-page .discovery-section { padding-top: 8px; }
.home-page .home-snapshot-date {
  min-height: 18px;
  margin: 0 0 8px;
  color: #72849a;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .08em;
  line-height: 18px;
  text-align: center;
}
.home-page .feature-panel { height: 450px; gap: 10px; padding: 18px; }
.home-page .feature-panel-head { height: 108px; min-height: 108px; padding-right: 112px; }
.home-page .feature-panel h3 { margin-top: 0; }
.home-page .feature-panel-head::after { top: 2px; right: 4px; width: 92px; height: 78px; opacity: .78; }
.home-page .feature-panel .home-view-all {
  position: absolute;
  top: 82px;
  right: 2px;
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #1769e8;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
}
.home-page .feature-panel:nth-child(1) .home-view-all { color: #dc4f29; background: transparent; }
.home-page .feature-panel:nth-child(3) .home-view-all { color: #d52847; background: transparent; }
.home-page .mini-book-copy { min-width: 0; }
.home-page .mini-title-line { display: flex; min-width: 0; align-items: flex-start; gap: 6px; }
.home-page .mini-title-line strong { min-width: 0; flex: 1 1 auto; }
.home-page .mini-new-badge {
  flex: 0 0 auto;
  margin-top: 1px;
  padding: 2px 4px;
  border-radius: 4px;
  color: var(--new-badge-color);
  background: var(--new-badge-background);
  font-size: 9px;
  font-weight: 850;
  line-height: 1.2;
}
.home-page .mini-book em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) {
  .home-page .discovery-section { padding-top: 7px; }
  .home-page .feature-panel { height: 438px; padding: 13px; }
  .home-page .feature-panel-head { height: 104px; min-height: 104px; padding-right: 72px; }
  .home-page .feature-panel-head::after { width: 64px; height: 55px; }
  .home-page .feature-panel .home-view-all { top: 64px; font-size: 11px; }
}
@media (max-width: 720px) {
  .home-page .discovery-section { padding-top: 8px; }
  .home-page .home-snapshot-date { margin-bottom: 10px; }
  .home-page .feature-panel { height: 456px; padding: 16px; }
  .home-page .feature-panel-head { height: 108px; min-height: 108px; padding-right: 94px; }
  .home-page .feature-panel-head::after { width: 78px; height: 66px; }
  .home-page .feature-panel .home-view-all { top: 76px; font-size: 12px; }
}
/* PUBLIC LIVE final artwork: dimensional vector references and connected date row. */
.home-page .shared-hero::before {
  -webkit-mask-image: none !important;
  mask-image: none !important;
  opacity: 1;
}
.home-page .shared-hero::after { display: none !important; }
.home-page .home-snapshot-date {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.home-page .home-snapshot-date::before,
.home-page .home-snapshot-date::after {
  width: min(12vw, 160px);
  height: 1px;
  background: linear-gradient(90deg, transparent, #c9d9eb);
  content: "";
}
.home-page .home-snapshot-date::after { transform: scaleX(-1); }
.home-page .feature-panel-head::after { display: none; }
.home-page .feature-art {
  position: absolute;
  top: -4px;
  right: -2px;
  display: block;
  width: 112px;
  height: 90px;
  pointer-events: none;
}
.home-page .feature-art svg { display: block; width: 100%; height: 100%; overflow: visible; }
.home-page .feature-panel .home-view-all { top: 91px; right: 3px; }
@media (max-width: 900px) {
  .home-page .feature-art { top: 0; right: 0; width: 72px; height: 60px; }
  .home-page .feature-panel .home-view-all { top: 67px; }
}
@media (max-width: 720px) {
  .home-page .feature-art { top: -2px; width: 92px; height: 74px; }
  .home-page .feature-panel .home-view-all { top: 79px; }
}

