/* 移动端统一排版放在桌面视觉样式之后，避免历次桌面覆盖破坏手机布局。 */
@media (max-width: 1050px) {
  .shell > *, .quality > *, .contact-layout > * { min-width: 0; }
  .contact-layout { gap: 36px; }
}

@media (max-width: 780px) {
  :root { --shell: min(560px, calc(100% - 36px)); }
  html { scroll-padding-top: 88px; }
  .section { padding: 64px 0; }
  .section-head { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-bottom: 30px; text-align: center; }
  .section-head > p { margin: 0; font-size: 14px; line-height: 1.85; }
  .section h2, .quality h2, .contact h2 { font-size: clamp(27px, 7.2vw, 38px); line-height: 1.35; letter-spacing: -.035em; }
  .section-kicker { justify-content: center; margin-bottom: 14px; font-size: 10px; letter-spacing: .14em; }

  /* 统一页头高度和菜单起点，滚动后不改变导航位置。 */
  .site-header, .site-header.scrolled, .site-header.menu-open { height: 72px; }
  .header-inner { gap: 12px; }
  .brand { flex: 0 1 190px; width: 190px; min-width: 0; height: 50px; }
  .brand img { height: 50px; }
  .menu-toggle { flex: 0 0 44px; }
  .main-nav { top: 72px; padding: 12px 18px 18px; text-align: center; }
  .main-nav > a:not(.nav-cta), .site-header.scrolled .main-nav > a:not(.nav-cta) { padding: 14px 0; font-size: 15px; }
  .main-nav > a:not(.nav-cta)::after { display: none; }

  /* 手机首屏采用上方居中文案、下方图片的构图，不把桌面大图压在文字背后。 */
  .hero { height: auto; min-height: 0; background: #f6fbff; }
  .hero-layout { height: auto; min-height: 0; display: flex; align-items: center; justify-content: flex-start; gap: 0; padding: 114px 0 296px; }
  .hero-copy { width: 100%; max-width: 100%; text-align: center; }
  .hero .eyebrow { justify-content: center; min-height: 16px; gap: 10px; margin-bottom: 22px; font-size: 10px; letter-spacing: .12em; }
  .hero h1 { font-size: clamp(46px, 13vw, 64px); line-height: 1.08; letter-spacing: -.045em; }
  .hero h1 .hero-line, .hero h1 .hero-accent { white-space: nowrap; }
  .hero h1 .hero-accent { margin-top: 8px; }
  .hero-lead { width: 100%; max-width: 380px; min-height: 5.55em; margin: 22px auto 0; font-size: 14px; line-height: 1.85; }
  .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; max-width: 380px; margin: 24px auto 0; }
  .hero-actions .button { min-width: 0; min-height: 48px; gap: 12px; padding: 0 12px; font-size: 13px; }
  .hero-slides { inset: auto 0 0; height: 320px; }
  .hero-slide { background-position: 75% center; }
  .hero::before { background: linear-gradient(180deg, #f6fbff 0%, #f6fbff 51%, rgba(246,251,255,.92) 59%, rgba(246,251,255,.22) 76%, rgba(246,251,255,.03) 100%); }
  .hero::after, .hero-instrument, .hero-scan { display: none; }
  .hero-grid { opacity: .025; }
  .hero-bottom { bottom: 16px; justify-content: center; }
  .hero-dots { gap: 4px; padding: 0; }
  /* 圆点视觉保持小巧，但点击区域扩到 28px，切换时整组宽度不跳动。 */
  .hero-dot, .hero-dot.is-active { position: relative; width: 28px; height: 28px; background: transparent; transform: none; }
  .hero-dot::before { position: absolute; content: ""; width: 8px; height: 8px; left: 50%; top: 50%; border-radius: 99px; background: #9bb4c6; transform: translate(-50%, -50%); transition: width .3s ease, background .3s ease; }
  .hero-dot.is-active::before { width: 24px; background: #0874c9; }
  .hero-dot:focus-visible { outline: 2px solid #0874c9; outline-offset: 2px; }

  .strength { padding: 32px 0; }
  .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .stat { min-width: 0; min-height: 158px; padding: 36px 10px 20px; align-items: center; justify-content: flex-start; text-align: center; }
  .stat-no { top: 14px; right: 14px; }
  .stat strong { min-height: 38px; justify-content: center; align-items: baseline; gap: 4px; font-size: clamp(24px, 6.7vw, 36px); white-space: nowrap; }
  .stat strong small { margin: 0; font-size: 11px; }
  .stat p { min-height: 34px; margin-top: 12px; font-size: 11px; line-height: 1.6; }
  .stat-industries .industry-number { gap: 4px; }
  .stat-industries .industry-number small { margin-bottom: 0; font-size: 10px; letter-spacing: 0; }

  .factory-showcase { min-height: 0; padding: 56px 0 24px; }
  .factory-content { min-height: 0; padding-top: 0; text-align: center; }
  .factory-heading h2 { font-size: clamp(27px, 7.4vw, 38px); line-height: 1.4; letter-spacing: -.04em; }
  .factory-data { position: relative; left: auto; bottom: auto; transform: none; margin: 190px auto 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .factory-data > div { min-width: 0; min-height: 110px; padding: 18px 8px; align-items: center; text-align: center; }
  .factory-data i { display: none; }
  .factory-data > div > strong { font-size: 15px; line-height: 1.4; }
  .factory-data small { font-size: 10px; line-height: 1.5; }

  .filter-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; margin-bottom: 24px; overflow: visible; }
  .filter { min-width: 0; min-height: 44px; padding: 10px 6px; font-size: 12px; }
  .product-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; perspective: none; }
  .product-info { min-height: 126px; padding: 22px 18px; text-align: center; }
  .product-info h3 { font-size: 21px; line-height: 1.4; }
  .product-info p { font-size: 13px; line-height: 1.7; }

  .cap-grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 1fr; gap: 16px; }
  .capabilities .cap-card { min-height: 0; align-items: center; padding: 30px 24px; text-align: center; }
  .capabilities .cap-index { position: absolute; top: 22px; right: 22px; }
  .capabilities .cap-card::after { left: 24px; right: 24px; }
  .capabilities .cap-icon { width: 72px; height: 72px; margin: 0 auto 24px; border-radius: 18px; }
  .capabilities .cap-icon svg { width: 52px; height: 52px; }
  .capabilities .cap-card h3 { margin-bottom: 14px; font-size: 24px; }
  .capabilities .cap-card p { margin-bottom: 24px; font-size: 14px; line-height: 1.8; }
  .capabilities .cap-card strong { margin-top: auto; font-size: 22px; }
  .product-card:hover, .capabilities .cap-card:hover, .stat:hover { transform: none; }

  .process-list { margin-top: 30px; gap: 12px; }
  .process-list li, .process-list li:first-child { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 6px 16px; min-height: 108px; padding: 22px; }
  .process-list span { grid-row: span 2; align-self: center; }
  .process-list h3 { margin: 0; font-size: 18px; line-height: 1.4; }
  .process-list p { grid-column: 2; }
  .process-list li:hover { transform: none; }
  .process-list li:hover span { color: #1688e5; }

  .quality { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .quality-image { min-height: 0; height: clamp(260px, 72vw, 390px); }
  .quality-reticle { width: 130px; height: 130px; }
  .quality-copy { min-width: 0; padding: 56px 18px; text-align: center; }
  .quality-copy::before { display: none; }
  .quality-copy > p:not(.section-kicker) { max-width: 520px; margin: 22px auto 0; font-size: 14px; line-height: 1.9; }
  .quality-data { width: 100%; max-width: 560px; margin: 28px auto 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quality-data div { min-width: 0; padding: 18px 6px; }
  .quality-data strong { font-size: 13px; }
  .quality-data span { font-size: 10px; line-height: 1.6; }

  .about-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .about-copy { text-align: center; }
  .about-copy > p:not(.section-kicker) { font-size: 14px; line-height: 1.9; }
  .industry-tags { justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
  .industry-tags span { flex: 0 1 58px; height: 58px; font-size: 12px; }
  .about-figure figcaption { padding: 20px 16px; text-align: center; }
  .about-figure figcaption b { font-size: 18px; }
  .about-figure figcaption span { font-size: 10px; letter-spacing: .03em; line-height: 1.6; }
  .micro-gallery { margin-top: 30px; }
  .micro-gallery figure, .micro-gallery figure:nth-child(2), .micro-gallery figure:nth-child(3) { height: auto; aspect-ratio: 4 / 3; }
  .micro-gallery figcaption { padding: 20px 12px; text-align: center; transform: none; font-size: 10px; letter-spacing: .04em; }

  .contact { padding: 64px 0; }
  .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; text-align: center; }
  .contact-side > p { margin: 0 0 26px; font-size: 14px; line-height: 1.9; }
  .contact-details { gap: 0; margin: 0; }
  .contact-details a, .contact-details address { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 18px 0; text-align: center; }
  .contact-details strong { font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; padding: 48px 0 36px; text-align: center; }
  .footer-brand, .footer-col:last-child { grid-column: 1 / -1; }
  .footer-brand img { width: 230px; margin-inline: auto; }
  .footer-brand p { max-width: 100%; margin-top: 18px; font-size: 12px; }
  .footer-col { min-width: 0; line-height: 1.75; }
  .footer-col h3 { margin-bottom: 2px; }
  .footer-col:last-child { padding-top: 26px; border-top: 1px solid rgba(255,255,255,.09); }
  .footer-bottom { align-items: center; text-align: center; line-height: 1.7; }
}
