/* ==========================================================================
   响应式适配（电脑 / 平板 / 手机）
   ========================================================================== */

/* ---------- 大屏桌面 (>1200px) 默认已适配 ---------- */

/* ---------- 笔记本 (1024-1200px) ---------- */
@media (max-width: 1200px) {
  :root { --container: 1080px; }
  .section { padding: 80px 0; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr 1.2fr; }
  .footer-grid .footer-col:nth-child(5) { grid-column: span 4; }
}

/* ---------- 平板 (768-1023px) ---------- */
@media (max-width: 1023px) {
  :root { --container: 100%; }
  .container { padding: 0 24px; }

  /* 隐藏桌面导航，显示汉堡 */
  .main-nav, .nav-cta { display: none; }
  .nav-toggle { display: flex; }

  /* 十字布局降级为上下两段 */
  .cross-layout { grid-template-columns: 1fr; }
  .cross-layout::before { display: none; }
  .cross-layout::after {
    top: 50%;
    left: 0; right: 0; height: 1px;
  }
  .cross-quadrant { padding: 40px 32px; }

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

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

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-grid .footer-col:nth-child(1) { grid-column: span 2; }

  .page-hero { padding: 130px 0 56px; }
}

/* ---------- 手机 (<768px) ---------- */
@media (max-width: 767px) {
  body { font-size: 15px; }
  .container { padding: 0 18px; }
  .section { padding: 56px 0; }
  .section-tight { padding: 40px 0; }
  .section-head { margin-bottom: 36px; }

  .header-bar { height: 64px; }
  .brand { font-size: 1.05rem; }
  .brand img, .brand .brand-mark { width: 36px; height: 36px; }
  .mobile-drawer { top: 64px; height: calc(100vh - 64px); }

  h1 { font-size: 1.85rem; }
  h2 { font-size: 1.5rem; }
  h3 { font-size: 1.2rem; }

  .cross-quadrant { padding: 28px 22px; }
  .split-2 > div { padding: 28px; }
  .patch-cell { padding: 24px 20px; }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; gap: 18px; }
  .patch-grid { grid-template-columns: 1fr; }

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

  .footer-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
  .footer-grid .footer-col:nth-child(1) { grid-column: span 1; }
  .footer-bottom { flex-direction: column; text-align: center; }

  .page-hero { padding: 110px 0 44px; }
  .page-hero h1 { font-size: 1.7rem; }

  .btn-lg { padding: 14px 26px; font-size: 0.98rem; }

  .reveal { transform: translateY(20px); }
}

/* ---------- 小屏手机 (<400px) ---------- */
@media (max-width: 399px) {
  .container { padding: 0 14px; }
  h1 { font-size: 1.6rem; }
  .btn { padding: 10px 20px; font-size: 0.9rem; }
}

/* ---------- 减少动画（无障碍） ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}

/* ---------- 打印 ---------- */
@media print {
  .site-header, .site-footer, .nav-toggle, .mobile-drawer, .overlay { display: none; }
  body { background: #fff; }
}
