/* ============================================
   Responsive — All breakpoints
   ============================================ */

@media (max-width: 900px) {
  .hero-content {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .hero-visual { order: -1; }
  .hero-visual img { max-height: 320px; }
  .adapt-grid { grid-template-columns: 1fr; }
  .char-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
}

@media (max-width: 800px) {
  .axis-body {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .axis-center {
    border-left: none;
    border-right: none;
    padding: 16px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }
  .network-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  .intrigue-item {
    flex-direction: column;
    gap: 2px;
  }
  .intrigue-char { min-width: auto; }
}

@media (max-width: 700px) {
  .nav-links {
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    background: var(--bg-deep);
    flex-direction: column;
    padding: 16px 24px;
    gap: 0;
    border-top: 1px solid var(--border);
    box-shadow: 0 8px 24px rgba(28, 27, 24, 0.1);
    z-index: 99;
    animation: navFadeIn 0.2s ease-out;
  }

  @keyframes navFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  .nav-links.open { display: flex; }
  .nav-links li { width: 100%; }
  .nav-subtitle { display: none; }
  .nav-sep { display: none; }
  .nav-links a {
    display: block;
    font-size: 0.95rem;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
    letter-spacing: 2px;
  }
  .nav-links li:last-child a { border-bottom: none; }
  .nav-links a::after { display: none; }
  .nav-toggle { display: block; }
  section { padding: 60px 0; }
  .hero { padding-top: 80px; min-height: auto; }
  .hero-content { padding-bottom: 60px; }
  .chapter-list { grid-template-columns: 1fr; }
  .btn-group { flex-direction: column; }
  .footer-inner {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
  .char-grid { grid-template-columns: 1fr; }

  /* Summary page responsive */
  .abstract-body .char-grid-sm { grid-template-columns: 1fr; }
  .abstract-body .structure-table { font-size: 0.85rem; }

  .pitch-hero .pitch-tagline {
    width: 100%;
    font-size: 1.15rem;
    padding: 18px 20px;
  }
  .pitch-hero .pitch-subtitle { font-size: 1.1rem; }
  .pitch-hero h1 { font-size: clamp(1.6rem, 5vw, 2.5rem); }
  .btn-group .btn {
    font-size: 0.95rem;
    padding: 10px 20px;
  }
  .pitch-body .pitch-char-grid { grid-template-columns: 1fr; }
  .pitch-body .pitch-table { font-size: 0.82rem; }

  /* Story page responsive */
  .story-body p { font-size: 1.05rem; line-height: 1.8; }
}

@media (max-width: 480px) {
  .pitch-hero .pitch-tagline {
    width: 100%;
    font-size: 1rem;
    padding: 14px 16px;
  }
  .pitch-hero .pitch-subtitle { font-size: 0.9rem; letter-spacing: 1.5px; }
  .pitch-hero h1 { font-size: clamp(1.3rem, 5vw, 1.8rem); }
  .pitch-hero { padding-top: 80px; padding-bottom: 24px; }
  .pitch-hero .btn-group { margin-top: 24px !important; }
}

/* Voice & Theme responsive */
@media (max-width: 700px) {
  .theme-quad {
    grid-template-columns: 1fr;
  }
  .voice-card {
    padding: 20px 22px;
  }
  .voice-card .voice-desc {
    font-size: 1.1rem;
  }
}