/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; gap: 60px; }
  .hero-showcase { max-width: 360px; margin: 0 auto; }
  .section-header:not(.section-header-centered) { flex-direction: column; align-items: flex-start; }
  .section-meta { text-align: left; }
  .about-wrap { grid-template-columns: 1fr; gap: 48px; }
  .portrait { max-width: 320px; }
  .signals-grid { grid-template-columns: 1fr; }
  .book-tile.t1, .book-tile.t2, .book-tile.t3,
  .book-tile.t4, .book-tile.t5, .book-tile.t6 {
    grid-column: span 6;
    margin-top: 0;
  }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .site-nav { padding: 14px 20px; }
  .hero { padding: 140px 20px 80px; }
  .catalog-section { padding: 80px 20px; }
  .about-strip { padding: 80px 20px; }
  .signals { padding: 80px 20px; }
  footer { padding: 60px 20px 32px; }
  .book-tile.t1, .book-tile.t2, .book-tile.t3,
  .book-tile.t4, .book-tile.t5, .book-tile.t6 {
    grid-column: span 12;
  }
  .catalog-grid { gap: 40px 16px; }
  h1 { font-size: clamp(40px, 11vw, 56px); line-height: 1.05; }
  .section-title { font-size: clamp(28px, 8vw, 36px); line-height: 1.1; }
  .hero-sub, .page-hero p, .lede { font-size: 16px; line-height: 1.55; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; gap: 12px; }
  /* Book detail tighter */
  .book-detail { padding: 40px 20px 80px; }
  .book-detail-title { font-size: clamp(32px, 9vw, 44px) !important; }
  .book-meta-row { flex-wrap: wrap; gap: 10px 16px; }
  /* Contact / press tighter */
  .contact-section, .press-section { padding: 40px 20px 80px; }
  .contact-cta { padding: 28px 22px; }
}
