/* ============================================================
   CYCLES — Responsive CSS
   ============================================================ */

/* ── Large Desktop ── */
@media (max-width: 1280px) {
  .hero-title { font-size: clamp(2.8rem, 6vw, 5.5rem); }
}

/* ── Desktop Medium ── */
@media (max-width: 1024px) {
  .pillars-grid,
  .reviews-grid-home,
  .sections-row,
  .articles-grid,
  .reviews-grid-page,
  .perfect-list { grid-template-columns: repeat(2, 1fr); }

  .about-three-grid { grid-template-columns: repeat(2, 1fr); }

  .footer-inner { grid-template-columns: 1fr 1fr; }

  .buy-hero { grid-template-columns: 1fr; min-height: auto; padding: clamp(100px, 15vw, 160px) clamp(20px, 5vw, 60px) 60px; }
  .buy-hero-img-wrap { display: none; }
}

/* ── Tablet ── */
@media (max-width: 900px) {
  :root { --nav-h: 70px; }

  .nav-menu { display: none; }
  .nav-cta { display: none; }
  .nav-burger { display: flex; }

  .hero-inner {
    grid-template-columns: 1fr;
    text-align: center;
    padding-top: 40px;
  }
  .hero-book-col { order: -1; }
  .hero-btns { justify-content: center; }

  .about-teaser-grid,
  .about-content-grid { grid-template-columns: 1fr; }
  .about-sticky-img { position: static; }
  .about-img-main { max-height: 400px; }

  .preview-card { grid-template-columns: 1fr; }
  .preview-img-area { min-height: 220px; }
  .preview-card-wide { grid-template-columns: 1fr; }

  .blog-grid { grid-template-columns: 1fr; }
  .blog-sidebar { display: none; }

  .contact-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }

  .formats-grid { grid-template-columns: 1fr; }
}

/* ── Mobile ── */
@media (max-width: 640px) {
  :root { --section-pad: 60px; }

  .pillars-grid,
  .reviews-grid-home,
  .sections-row,
  .articles-grid,
  .reviews-grid-page,
  .perfect-list,
  .about-three-grid { grid-template-columns: 1fr; }

  .preview-grid { grid-template-columns: 1fr; }
  .preview-card-wide { grid-column: 1; }

  .blog-card { grid-template-columns: 1fr; }
  .blog-card-num { padding: 20px; font-size: 2rem; }

  .footer-inner { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }

  .hero-btns { flex-direction: column; align-items: center; }
  .btn-primary, .btn-outline, .btn-gold { width: 100%; justify-content: center; }

  .quote-marquee { animation-duration: 15s; }

  .cursor, .cursor-follower { display: none; }
}

/* ── Small Mobile ── */
@media (max-width: 400px) {
  .nav-logo { font-size: 1.4rem; }
}
/* Blog & Article Image Responsive Styles */
.blog-card-img-wrap img,
.article-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 900px) {
  .blog-card {
    grid-template-columns: 1fr !important;
  }
  .blog-card > div:first-child {
    display: none !important;
  }
  .blog-card > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
  .blog-card-img-wrap {
    min-height: 180px !important;
  }
  .article-card img {
    height: 160px !important;
  }
}

@media (max-width: 640px) {
  .blog-card-img-wrap {
    min-height: 150px !important;
  }
  .article-card img {
    height: 140px !important;
  }
}
