  .news-list { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--line); }
  .news-entry {
    display: flex; align-items: baseline; gap: clamp(18px, 5vw, 56px);
    padding: 30px 4px;
    border-bottom: 1px solid var(--line);
    flex-wrap: wrap;
    transition: background .3s ease;
  }
  .news-entry:hover { background: var(--bg-2); }
  .news-entry time {
    font-family: var(--label); font-size: 13px; letter-spacing: 0.18em;
    color: var(--accent-deep); white-space: nowrap;
  }
  .news-entry .cat {
    font-family: var(--label); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--muted); border: 1px solid var(--line); padding: 4px 12px;
  }
  .news-entry .title {
    font-family: var(--jp); font-size: 16px; color: var(--ink); flex: 1; min-width: 200px;
    transition: color .3s;
  }
  .news-entry:hover .title { color: var(--accent-deep); }
  @media (max-width: 600px) {
    .news-entry { gap: 8px 18px; padding: 24px 4px; }
    .news-entry .title { min-width: 100%; order: 3; }
  }
  .post { max-width: 720px; margin: 0 auto; }
  .post__meta { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
  .post__meta time {
    font-family: var(--label); font-size: 13px; letter-spacing: 0.18em; color: var(--accent-deep);
  }
  .post__meta .cat {
    font-family: var(--label); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--muted); border: 1px solid var(--line); padding: 4px 12px;
  }
  .post__title {
    font-family: var(--jp-mincho); font-size: clamp(24px, 4vw, 34px);
    letter-spacing: 0.04em; line-height: 1.5; margin-bottom: 36px;
  }
  .post__body p {
    font-family: var(--jp-mincho); font-size: 16px; line-height: 2.3; letter-spacing: 0.05em;
    color: var(--ink); margin-bottom: 22px;
  }
  .post__back { text-align: center; margin-top: 56px; }
