/* Homepage density pass. Loaded after mobile-reading.css; article templates stay untouched. */
body.home .ts-cover { padding-top: 16px; }
body.home .ts-panorama img { height: min(25vw, 260px); aspect-ratio: auto; }
body.home .ts-cover-intro { padding: 19px 0 24px; }
body.home .ts-cover-intro h1 { font-size: clamp(36px, 3.3vw, 46px); line-height: 1.18; }
body.home .ts-cover-intro p { font-size: .9rem; line-height: 1.55; }
body.home .ts-chapter { grid-template-columns: 205px minmax(0, 1fr); gap: 34px; padding: 22px 0; }
body.home .ts-chapter-heading h2 { font-size: clamp(28px, 2.5vw, 34px); line-height: 1.2; margin: 7px 0; }
body.home .ts-chapter-heading p { margin-bottom: 10px; line-height: 1.45; }
body.home .ts-card { padding: 14px 0; }
body.home .ts-card-has-image { grid-template-columns: 145px minmax(0, 1fr); gap: 18px; }
body.home .ts-card-image img { height: 100px; aspect-ratio: auto; }
body.home .ts-card h2 { margin: 5px 0; font-size: 20px; line-height: 1.3; }
body.home .ts-caption { margin: 5px 0; line-height: 1.45; }
body.home .ts-chapter-empty { min-height: 86px; padding: 16px 20px; }
@media (max-width: 767px) {
  body.home .ts-cover { padding-top: 10px; }
  body.home .ts-panorama img { height: 145px; }
  body.home .ts-cover-intro { padding: 15px 0 18px; }
  body.home .ts-cover-intro h1 { font-size: 27px; line-height: 1.25; }
  body.home .ts-cover-intro p { margin-top: 8px; font-size: 13px; line-height: 1.45; }
  body.home .ts-chapter { gap: 12px; padding: 16px 0; }
  body.home .ts-chapter-heading h2 { font-size: 22px; line-height: 1.2; margin: 4px 0; }
  body.home .ts-chapter-heading p { font-size: 12px; line-height: 1.35; margin: 0; }
  body.home .ts-chapter-link { font-size: 11px; }
  body.home .ts-card { padding: 10px 0; }
  body.home .ts-card-image { margin-bottom: 8px; }
  body.home .ts-card-image img { height: 120px; }
  body.home .ts-card h2 { font-size: 18px; line-height: 1.25; }
  body.home .ts-caption { display: block; margin: 4px 0 0; font-size: 11px; line-height: 1.3; }
  body.home .ts-chapter-empty { min-height: 70px; padding: 12px 15px; }
  body.home .ts-chapter-empty p { margin-bottom: 3px; font-size: 14px; }
}
