/* ==========================================================================
   KINTSUGI — responsive.css — breakpoints
   Desktop wide (2560/1920) ▸ desktop (1440/1366/1280) ▸ tablet (1024/768) ▸ mobile (640/480/360)
   ========================================================================== */

/* ---------- Ultra-wide desktop polish (2560 / 1920) ---------- */
@media (min-width: 1920px) {
  .container { max-width: 1440px; }
  .hero__inner { max-width: 760px; }
}

/* ---------- Standard desktop (1440 / 1366 / 1280) ---------- */
@media (max-width: 1280px) {
  .about, .story, .author { gap: 3rem; }
}

/* ---------- Small laptop / large tablet (1024) ---------- */
@media (max-width: 1024px) {
  .nav__links { gap: 1.2rem; font-size: 0.82rem; }
  .timeline { grid-template-columns: repeat(5, 1fr); gap: 0.6rem; }
  .timeline-step h3 { font-size: 0.92rem; }
  .timeline-step p { display: none; }
}

/* ---------- Tablet (768) ---------- */
@media (max-width: 860px) {
  .nav__links { display: none; }
  .nav__toggle { display: inline-flex; align-items: center; justify-content: center; }
  .nav.is-open .nav__links {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    gap: 0;
    background: rgba(12,7,22,0.97);
    backdrop-filter: blur(10px);
    border-bottom: var(--border-hairline);
    padding: 0.5rem clamp(1.25rem, 4vw, 3rem) 1.4rem;
  }
  .nav.is-open .nav__links a { display: block; padding-block: 0.7rem; border-bottom: 1px solid rgba(255,255,255,0.06); }

  .about, .story, .author {
    grid-template-columns: 1fr;
  }
  .section-head--center { max-width: 720px; }
  .about__cover, .author__portrait, .buy__visual { order: -1; }
  .about__text, .story__body, .author__text { text-align: left; }
  .story { gap: 2.4rem; }
  .story__pull { padding-left: var(--space-sm); }
  .grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .themes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .buy {
    grid-template-columns: 1fr;
  }
  .buy__text .section-title { max-width: none; }
  .buy__actions {
    width: min(100%, 420px);
  }
  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero__media img { object-position: 68% 30%; }
}

/* ---------- Mobile (640) ---------- */
@media (max-width: 640px) {
  .section { padding-block: calc(var(--space-2xl) + 0.5rem); }
  .hero__content { padding-top: 5.2rem; }
  .hero__inner {
    max-width: 100%;
    padding: 1.15rem 1.05rem 1.2rem;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .hero__inner::before {
    top: 0.85rem;
    bottom: 0.85rem;
  }
  .hero__subtitle { letter-spacing: 0.01em; }
  .hero__kicker { letter-spacing: 0.2em; }
  .hero__scroll span { display: none; }
  .section-head::after {
    width: 4.2rem;
    margin-top: var(--space-xs);
  }

  .timeline { grid-template-columns: 1fr; gap: var(--space-md); }
  .timeline::before { display: none; }
  .timeline-step { padding-top: 0; padding-left: 2.4rem; text-align: left; }
  .timeline-step__dot { top: 4px; left: 0; transform: none; }
  .timeline-step p { display: block; }

  .quotes, .grid-cards { grid-template-columns: 1fr; }
  .themes { grid-template-columns: 1fr; }
  .theme-cell { min-height: 0; }

  .footer__top { flex-direction: column; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }

  .hero__media img { object-position: 62% 28%; }
  .seam {
    height: 92px;
    margin-block: 0.2rem 0.6rem;
  }
  .buy__book-frame {
    width: min(300px, 78vw);
  }
  .back-to-top {
    width: 46px;
    height: 46px;
    right: 0.9rem;
    bottom: 0.9rem;
  }
  .hero__scroll-band {
    padding-block: 1.35rem 0.15rem;
  }
  .hero__scroll-band .container {
    justify-content: flex-start;
  }
  .seam + .section,
  .seam + .cta {
    padding-top: calc(var(--space-2xl) + 1.35rem);
  }
  .catalog-grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- Small mobile (480) ---------- */
@media (max-width: 480px) {
  .container { padding-inline: 1.1rem; }
  .btn { padding: 0.85em 1.5em; font-size: 0.88rem; }
  .btn--compact { padding: 0.5em 1.05em; }
  .themes { grid-template-columns: 1fr; }
  .about__cover-frame, .author__portrait { width: min(260px, 78vw); }
  .buy__book-frame { width: min(260px, 78vw); }
  .buy__button {
    padding: 0.9rem 1rem;
  }
  .back-to-top {
    width: 42px;
    height: 42px;
  }
}

/* ---------- Extra small (360) ---------- */
@media (max-width: 360px) {
  :root { --fs-mark: clamp(3.4rem, 3rem + 9vw, 5rem); }
  .hero__byline { font-size: 0.78rem; }
  .nav__mark { font-size: 1.6rem; }
}

/* ---------- Print ---------- */
@media print {
  .nav, .hero__scroll, .particles-canvas, .seam { display: none; }
}
