/* =============================================================================
 * responsive.css — 响应式断点
 * ========================================================================== */

@media (max-width: 1024px) {
  .bento__grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
  .bento__item, .bento__grid .bento__item:nth-child(n) {
    grid-column: auto !important; grid-row: auto !important; min-height: 220px;
  }
  .bento__item--large { min-height: 340px; }

  .foot__top { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 768px) {
  .nav__menu { display: none; }
  .nav__toggle { display: grid; place-items: center; }

  .hero { min-height: 520px; }
  .hero__number { font-size: clamp(90px, 28vw, 160px); letter-spacing: -4px; }
  .hero__title { font-size: 24px; }

  .bento { padding: 32px 16px 48px; }
  .bento__grid { grid-template-columns: 1fr; gap: 12px; }
  .bento__item, .bento__item--large { min-height: 180px; padding: 20px; }
  .bento__item--large .bento__title { font-size: 28px; }

  .news__head { padding: 0 16px; }
  .news__viewport { padding: 10px 16px 20px; }
  .news__card { width: 260px; }

  .foot__cols { grid-template-columns: 1fr; gap: 8px; }
  .foot__col-title .foot__plus { display: block; }
  .foot__links {
    max-height: 0; overflow: hidden; transition: max-height .3s ease, opacity .3s ease;
    opacity: 0;
  }
  .foot__col.is-open .foot__links { max-height: 300px; opacity: 1; margin-bottom: 14px; }
  .foot__col.is-open .foot__plus svg { transform: rotate(45deg); }

  .foot__legal { flex-direction: column; gap: 8px; }
}

@media (min-width: 1440px) {
  :root { --maxw: 1280px; }
}
