/* ============================================================
 * 响应式汇总 — 所有断点
 * ============================================================ */

@media (max-width: 1200px) {
  .ai-cards { grid-template-columns: repeat(2, 1fr); }
  .ip-grid { grid-template-columns: repeat(3, 1fr); }
  .ai-showcase-block { grid-template-columns: 360px 1fr; }
  .ai-showcase-block--reverse { grid-template-columns: 1fr 360px; }
  .partners-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 992px) {
  .section { padding: var(--spacing-xl) 30px; }
  .navbar { padding: 16px 30px; }
  .navbar.scrolled { padding: 12px 30px; }

  .nav-toggle { display: flex; }

  .nav-links {
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    height: 100vh;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    flex-direction: column;
    padding: 100px 40px;
    gap: 24px;
    transition: var(--transition-normal);
    border-left: 1px solid var(--glass-border);
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.08);
  }

  .nav-links.open { right: 0; }

  .hero { padding: 0 30px; }
  .hero-title { font-size: 42px; }
  .hero-stats { gap: 24px; }
  .hero-stat-value { font-size: 32px; }

  .about-grid { grid-template-columns: 1fr; gap: var(--spacing-lg); }
  .pain-grid { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .honors-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .section-title { font-size: 36px; }

  .footer { padding: var(--spacing-md) 30px; }
  .footer-content { flex-direction: column; gap: 16px; text-align: center; }

  /* AI展示区 */
  .ai-showcase-section { padding: var(--spacing-xl) 30px; }
  .ai-showcase-block,
  .ai-showcase-block--reverse { grid-template-columns: 1fr; gap: var(--spacing-lg); }
  .ai-showcase-block--reverse .ai-showcase-info { order: 1; }
  .ai-showcase-block--reverse .ai-showcase-canvas-wrapper { order: 2; }
  .ai-showcase-title { font-size: 28px; }
  .ai-showcase-canvas-wrapper,
  .ai-showcase-canvas--forecast,
  .ai-showcase-canvas--equipment,
  .ai-showcase-canvas--dispatch,
  .ai-showcase-canvas--inspection { height: 340px; }

  /* 合作伙伴 */
  .partners-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-card--hero { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
  .section { padding: var(--spacing-lg) 20px; }
  .hero-title { font-size: 32px; }
  .hero-slogan { font-size: 16px; letter-spacing: 2px; }
  .hero-stats { flex-wrap: wrap; gap: 20px; }
  .hero-actions { flex-direction: column; align-items: center; }

  .ai-cards { grid-template-columns: 1fr; }
  .ai-canvas-wrapper { height: 300px; }
  .ip-grid { grid-template-columns: repeat(2, 1fr); }
  .pain-card-number { font-size: 36px; }
  .services-grid { grid-template-columns: 1fr; }
  .honors-grid { grid-template-columns: 1fr; }
  .ip-tabs { flex-wrap: wrap; }
  .section-title { font-size: 28px; }
  .about-visual { grid-template-columns: repeat(2, 1fr); }

  .ai-showcase-section { padding: var(--spacing-lg) 20px; }
  .ai-showcase-title { font-size: 24px; }
  .ai-showcase-metrics { flex-direction: column; gap: 12px; }
  .ai-showcase-metric { padding: 12px 16px; }
  .ai-showcase-metric-value { font-size: 22px; }
  .ai-showcase-canvas-wrapper,
  .ai-showcase-canvas--forecast,
  .ai-showcase-canvas--equipment,
  .ai-showcase-canvas--dispatch,
  .ai-showcase-canvas--inspection { height: 280px; }
  .ai-showcase-desc { font-size: 14px; }

  .partners-grid { grid-template-columns: 1fr; }
  .partner-card--hero { grid-template-columns: 1fr; text-align: center; }
  .partner-card--hero .partner-card-logo { margin: 0 auto; }
}

@media (max-width: 480px) {
  .hero-title { font-size: 26px; }
  .hero-stat-value { font-size: 28px; }
  .ip-grid { grid-template-columns: 1fr; }
  .about-visual { grid-template-columns: 1fr; }
  .navbar { padding: 14px 16px; }
}
