/* 新闻资讯页：仅覆盖窄屏层级与内容密度。 */
@media (max-width: 820px) {
  html, body { min-width: 0 !important; }
  body[data-page="news"] { overflow-x: clip; }
  body[data-page="news"] .container { width: calc(100% - 36px) !important; }
  body[data-page="news"] .main-nav,
  body[data-page="news"] .header-inner .button-small { display: none !important; }
  body[data-page="news"] .nav-toggle { display: inline-flex !important; margin-left: auto; }
  body[data-page="news"] .section { padding: 42px 0; }
  .news-page-header { padding: 0; }
  .news-page-topbar { display: none; }
  .news-page-copy { display: block; white-space: normal; }
  .news-page-header h1 { font-size: 25px; line-height: 1.25; }
  .news-page-copy > p { margin-top: 7px; font-size: 13px; white-space: normal; }
  body[data-page="news"] .news-hero-grid { display: flex; flex-direction: column; gap: 20px; width: calc(100% - 36px) !important; max-width: calc(100% - 36px); aspect-ratio: auto; margin-top: 0; overflow: visible; border-radius: 0; background: transparent; }
  .news-headline-media { order: 1; height: auto; aspect-ratio: 14 / 9; border-radius: 0; }
  .news-headline-media .image-placeholder { aspect-ratio: 14 / 9 !important; background-position: 62% center !important; background-size: cover !important; }
  .news-headline-copy { justify-content: flex-start; order: 2; margin-top: 0; padding: 0; border-radius: 0; background: transparent; }
  .news-headline-copy .card-label { gap: 7px; margin-bottom: 7px; font-size: 11px; white-space: normal; }
  .news-headline-copy .card-label::before,
  .news-headline-copy .card-label::after { width: 16px; }
  .news-headline-bottom time { margin-bottom: 7px; font-size: 10px; }
  .news-headline-copy h2 { margin-bottom: 6px; font-size: 17px; line-height: 1.45; }
  .news-headline-copy > p:not(.card-label) { font-size: 11px; line-height: 1.65; }
  .news-headline-copy .text-link { display: flex; justify-content: flex-end; gap: 5px; margin-top: 7px; font-size: 11px; }

  .news-content-section { padding: 30px 0 38px; }
  .news-content-section > .container { width: calc(100% - 36px); padding: 0; border: 0; border-radius: 0; background: transparent; }
  .news-filter-bar { display: block; margin-bottom: 18px; white-space: nowrap; }
  .news-filter-bar > span:first-child { display: block; margin: 0 0 8px; font-size: 11px; }
  #newsFilterBtns { flex-wrap: nowrap; gap: 7px; width: calc(100% + 18px); padding-right: 18px; overflow-x: auto; scrollbar-width: none; }
  #newsFilterBtns::-webkit-scrollbar { display: none; }
  .news-filter-bar button { min-width: max-content; padding: 6px 10px; border-radius: 4px; font-size: 11px; }
  .article-list { gap: 12px; }
  .article-list article { grid-template-columns: 44% 56%; min-height: 110px; gap: 0; border-radius: 6px; box-shadow: none; }
  .article-list .image-placeholder { height: 100%; aspect-ratio: auto; border-radius: 0; background-size: cover !important; }
  .article-list article > div:last-child { padding: 8px 10px; }
  .article-list article time { font-size: 9px; }
  .article-list article h3 { margin: 3px 0; font-size: 12px; line-height: 1.35; }
  .article-list article .text-link { gap: 4px; margin-top: 4px; font-size: 10px; }
  .article-list article p { display: none; }
  .case-pagination { gap: 5px; margin-top: 18px; }
  .case-pagination button { min-width: 29px; height: 29px; font-size: 11px; }

  #topics.section { padding: 38px 0; }
  #topics > .container { width: calc(100% - 36px); padding: 0; }
  #topics .project-faq-heading { margin-bottom: 17px; text-align: center; }
  #topics .project-faq-heading > span { gap: 7px; margin-bottom: 8px; font-size: 11px; }
  #topics .project-faq-heading > span::before,
  #topics .project-faq-heading > span::after { width: 18px; }
  #topics .project-faq-heading h2 { font-size: 19px; line-height: 1.42; }
  #topics .project-faq-heading p { margin-top: 6px; font-size: 12px; line-height: 1.65; }
  #topics .project-faq-list summary { grid-template-columns: 29px minmax(0,1fr) 18px; gap: 7px; min-height: 51px; padding: 0 4px; }
  #topics .project-faq-list summary b { font-size: 14px; }
  #topics .project-faq-list summary strong { font-size: 13px; line-height: 1.35; }
  #topics .project-faq-list summary::after { font-size: 21px; }
  #topics .project-faq-list details p { margin: -1px 8px 13px 36px; font-size: 11px; line-height: 1.6; }

  .news-final-cta { padding: 0 0 30px; }
  .news-final-cta .container { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 10px; min-height: 0; padding: 18px; border-radius: 6px; }
  .news-final-cta .container > i { width: 28px; height: 28px; }
  .news-final-cta h2 { margin-bottom: 4px; font-size: 16px; line-height: 1.4; }
  .news-final-cta p { font-size: 11px; line-height: 1.55; }
  .news-final-cta-actions { grid-column: 2; width: auto; margin: 0; }
  .news-final-cta .button { justify-content: flex-start; width: auto; min-height: 30px; padding: 0 11px; border-radius: 4px; color: #fff; background: #dc161c; font-size: 11px; }
  .news-final-cta .button span { margin-left: 3px; font-size: 16px; }
}
