.page-hero {
  background: linear-gradient(135deg, var(--pink-pale) 0%, var(--blue-light) 100%);
  padding: 60px 24px 52px; text-align: center;
  border-bottom: 2px solid var(--pink-light);
}
.page-hero h1 { font-size: clamp(28px, 5vw, 42px); font-weight: 900; margin-bottom: 10px; }
.page-hero p { color: var(--text-mid); font-size: 15px; max-width: 480px; margin: 0 auto; text-wrap: balance; }

.news-body { max-width: 760px; margin: 52px auto 80px; padding: 0 24px; }
.news-list { display: flex; flex-direction: column; gap: 20px; }
.news-card {
  display: block; text-decoration: none; color: var(--text);
  background: var(--white); border: 2px solid var(--border);
  border-radius: var(--radius); padding: 24px;
  transition: all 0.2s;
}
.news-card:hover {
  border-color: var(--pink-light); box-shadow: var(--shadow);
  transform: translateY(-2px); text-decoration: none;
}
.news-card time { font-size: 13px; color: var(--text-light); font-weight: 600; }
.news-card h3 { font-size: 18px; font-weight: 800; margin: 8px 0 6px; }
.news-card p { font-size: 14px; color: var(--text-mid); margin: 0; }

@media (max-width: 640px) {
  .page-hero { padding: 36px 16px 28px; }
  .page-hero h1 { font-size: 24px; }
  .news-body { padding: 0 16px; margin-top: 32px; margin-bottom: 56px; }
}
