.news-hero { text-align: center; padding-top: calc(60px + var(--s-12)); }

    /* Filter */
    .news-filter {
      display: flex; gap: var(--s-1); flex-wrap: wrap;
      justify-content: center;
      margin: var(--s-8) auto 0;
    }
    .filter-chip {
      padding: 10px 22px;
      font-family: var(--f-caption); font-size: 0.72rem; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      background: rgba(255, 255, 255, 0.5);
      border: 1px solid rgba(26, 31, 74, 0.15);
      color: var(--c-navy-dark);
      cursor: pointer;
      transition: all var(--d-fast) var(--ease);
    }
    .filter-chip:hover {
      background: rgba(255, 255, 255, 0.8);
      border-color: var(--c-navy-soft);
    }
    .filter-chip.is-active {
      background: var(--c-navy-dark); color: var(--c-primary);
      border-color: var(--c-navy-dark);
    }

    .news-list {
      max-width: 880px; margin: var(--s-8) auto 0;
      display: flex; flex-direction: column; gap: 0;
    }
    .news-item {
      display: grid;
      grid-template-columns: 110px 110px 1fr auto;
      gap: var(--s-3);
      align-items: center;
      padding: var(--s-3) var(--s-2);
      border-bottom: 1px solid rgba(26, 31, 74, 0.1);
      transition: background var(--d-fast) var(--ease);
    }
    .news-item:first-child { border-top: 1px solid rgba(26, 31, 74, 0.1); }
    .news-item:hover { background: rgba(255, 255, 255, 0.5); }
    .news-date {
      font-family: var(--f-display);
      font-size: 0.85rem; color: var(--c-navy-soft);
      letter-spacing: 0.05em;
    }
    .news-cat {
      display: inline-block;
      font-family: var(--f-caption);
      font-size: 0.65rem; font-weight: 500;
      letter-spacing: 0.2em; text-transform: uppercase;
      padding: 4px 10px;
      border: 1px solid currentColor;
      text-align: center;
      justify-self: start;
    }
    .news-item[data-cat="event"]    .news-cat { color: #5b3a8e; }
    .news-item[data-cat="exposure"] .news-cat { color: #4fa7a4; }
    .news-item[data-cat="collab"]   .news-cat { color: #c48a5e; }
    .news-item[data-cat="info"]     .news-cat { color: var(--c-navy-soft); }
    .news-title {
      font-family: var(--f-serif-jp); font-weight: 500;
      font-size: 0.95rem; color: var(--c-navy-dark);
      letter-spacing: 0.04em;
    }
    .news-title a { color: inherit; transition: opacity var(--d-fast); }
    .news-title a:hover { opacity: 0.6; }
    .news-arrow {
      color: var(--c-navy-soft); font-size: 1rem;
      opacity: 0.5; transition: transform var(--d-fast);
    }
    .news-item:hover .news-arrow { transform: translateX(4px); opacity: 1; }

    /* Pagination */
    .pagination {
      display: flex; justify-content: center; gap: 6px;
      margin: var(--s-8) 0;
      font-family: var(--f-caption);
      font-size: 0.8rem;
    }
    .pagination a, .pagination span {
      padding: 10px 16px;
      min-width: 40px; text-align: center;
      background: rgba(255, 255, 255, 0.5);
      border: 1px solid rgba(26, 31, 74, 0.15);
      color: var(--c-navy-dark);
      transition: all var(--d-fast) var(--ease);
    }
    .pagination a:hover {
      background: rgba(255, 255, 255, 0.85);
      border-color: var(--c-navy-soft);
    }
    .pagination .is-current {
      background: var(--c-navy-dark); color: var(--c-primary);
      border-color: var(--c-navy-dark);
    }
    .pagination .disabled {
      opacity: 0.35;
      cursor: not-allowed;
    }

    .back-wrap { text-align: center; padding: var(--s-6) 0 var(--s-12); }

    @media (max-width: 1023px) {
      .news-item {
        grid-template-columns: 1fr;
        gap: var(--s-1);
        padding: var(--s-3) 0;
      }
      .news-cat { justify-self: start; }
      .news-arrow { display: none; }
    }
