/* ==========================================================================
   贰壹感知建站 21feel.com - 响应式样式
   完美适配电脑、平板、手机
   ========================================================================== */

/* ---------- 大屏（1200px 以下） ---------- */
@media (max-width: 1200px) {
  .container { padding: 0 24px; }
  .hero-grid { gap: 50px; }
  .footer-grid { gap: 32px; }
  .team-grid { grid-template-columns: repeat(3, 1fr); }
  .honor-wall { grid-template-columns: repeat(3, 1fr); }
  .partner-grid { grid-template-columns: repeat(5, 1fr); }
}

/* ---------- 平板横屏（992px 以下） ---------- */
@media (max-width: 992px) {
  .main-nav { display: none; }
  .nav-toggle { display: flex; }
  .nav-cta { display: none; }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .hero-shelf { height: 420px; max-width: 560px; margin: 0 auto; }

  .bookspread { grid-template-columns: 1fr; }
  .bookspread::before { display: none; }
  .bookspread-page:nth-child(odd) { border-right: 0; border-bottom: 1px solid var(--paper-300); }

  .spine-grid { grid-template-columns: repeat(2, 1fr); }
  .case-grid { grid-template-columns: repeat(2, 1fr); }
  .news-quilt { grid-template-columns: repeat(2, 1fr); }
  .services-overview { grid-template-columns: repeat(2, 1fr); }
  .value-grid { grid-template-columns: repeat(2, 1fr); }
  .solution-cards { grid-template-columns: repeat(2, 1fr); }
  .pricing-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .price-card.featured { transform: none; }
  .price-card.featured:hover { transform: translateY(-6px); }

  .about-narrative { grid-template-columns: 1fr; gap: 36px; }
  .about-quote { position: static; }

  .service-detail-layout { grid-template-columns: 1fr; gap: 32px; }
  .service-side-nav { position: static; }
  .service-content .sd-hero { grid-template-columns: 1fr; gap: 28px; }

  .case-detail-hero { grid-template-columns: 1fr; gap: 32px; }
  .solution-hero-banner { grid-template-columns: 1fr; gap: 28px; padding: 36px 28px; }

  .docs-layout { grid-template-columns: 1fr; gap: 28px; }
  .docs-cat-nav { position: static; }

  .news-detail-layout { grid-template-columns: 1fr; gap: 32px; }

  .contact-layout { grid-template-columns: 1fr; gap: 32px; }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
  .footer-col:first-child { grid-column: span 2; }

  .binding-timeline { grid-template-columns: repeat(3, 1fr); gap: 24px 0; }
  .binding-timeline::before { display: none; }

  .ledger-band { grid-template-columns: repeat(2, 1fr); gap: 24px 0; }
  .ledger-item:nth-child(2) { border-right: 0; }

  .cta-banner { grid-template-columns: 1fr; gap: 24px; text-align: center; }
  .cta-banner .flex { justify-content: center !important; }

  .env-gallery { grid-template-columns: repeat(2, 1fr); }
  .env-gallery .env-item.wide { grid-column: span 1; }
  .env-gallery .env-item.tall { grid-row: span 1; }

  .sitemap-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-grid { grid-template-columns: repeat(4, 1fr); }
  .download-grid { grid-template-columns: repeat(2, 1fr); }
  .case-gallery { grid-template-columns: 1fr; }
}

/* ---------- 平板竖屏（768px 以下） ---------- */
@media (max-width: 768px) {
  body { font-size: 15px; }
  .section { padding: 72px 0; }
  .section-tight { padding: 48px 0; }
  .container { padding: 0 20px; }

  .header-bar { height: 68px; }
  .mobile-drawer { top: 68px; height: calc(100vh - 68px); }

  .hero-home { padding: 110px 0 60px; min-height: auto; }
  .hero-title { font-size: 1.8rem; }
  .hero-desc { font-size: 0.98rem; }
  .hero-stats { gap: 0; }
  .hero-stat { padding: 0 18px; }
  .hero-stat .num { font-size: 1.6rem; }
  .hero-shelf { height: 340px; }

  .spine-grid { grid-template-columns: 1fr; }
  .case-grid { grid-template-columns: 1fr; }
  .news-quilt { grid-template-columns: 1fr; }
  .services-overview { grid-template-columns: 1fr; }
  .value-grid { grid-template-columns: 1fr; }
  .solution-cards { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .honor-wall { grid-template-columns: repeat(2, 1fr); }

  .binding-timeline { grid-template-columns: 1fr; gap: 28px; }
  .ledger-band { grid-template-columns: 1fr; gap: 20px; padding: 32px 20px; }
  .ledger-item { border-right: 0; border-bottom: 1px solid rgba(245,239,224,0.1); padding-bottom: 16px; }
  .ledger-item:last-child { border-bottom: 0; padding-bottom: 0; }

  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-col:first-child { grid-column: span 1; }
  .footer-bottom { flex-direction: column; text-align: center; }

  .news-list-layout { grid-template-columns: 1fr; }
  .sd-features { grid-template-columns: 1fr; }
  .form-grid-2 { grid-template-columns: 1fr; gap: 0; }

  .job-item { grid-template-columns: 1fr; gap: 12px; }
  .doc-item { flex-direction: column; text-align: center; }
  .doc-item .di-meta { text-align: center; }

  .env-gallery { grid-template-columns: 1fr; grid-auto-rows: 200px; }
  .partner-grid { grid-template-columns: repeat(3, 1fr); }
  .download-grid { grid-template-columns: 1fr; }
  .sitemap-grid { grid-template-columns: 1fr; }

  .news-article { padding: 32px 24px; }
  .news-article h1 { font-size: 1.4rem; }
  .doc-article { padding: 32px 24px; }
  .legal-article { padding: 32px 24px; }
  .contact-info-panel, .contact-form-panel { padding: 32px 24px; }

  .error-404 .e404-num { font-size: 5rem; }
  .cta-banner { padding: 36px 24px; }
  .solution-hero-banner { padding: 28px 22px; }

  .btn-lg { padding: 13px 28px; font-size: 0.94rem; }
}

/* ---------- 手机（480px 以下） ---------- */
@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .brand-text small { display: none; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-stat { padding: 0 12px; }
  .hero-stat .num { font-size: 1.4rem; }
  .team-grid { grid-template-columns: 1fr; }
  .honor-wall { grid-template-columns: 1fr; }
  .partner-grid { grid-template-columns: repeat(2, 1fr); }
  .faq-q { padding: 18px 20px; font-size: 0.94rem; }
  .faq-item.open .faq-a { padding: 0 20px 20px; }
  .back-to-top { right: 16px; bottom: 16px; width: 42px; height: 42px; }
}
