.news-section { margin-bottom: 3rem; }
.news-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.news-heading .title { margin: 0; }
.news-count { color: #697386; font-size: 0.8rem; }

.news-feed {
  max-height: 390px;
  overflow-y: auto;
  border: 1px solid #e4e8ed;
  border-radius: 14px;
  background: #fff;
  scrollbar-width: thin;
  scrollbar-color: #b6c2d0 #f5f7fa;
  scrollbar-gutter: stable;
}
.news-feed:focus-visible { outline: 3px solid #336cb0; outline-offset: 4px; }
.news-feed::-webkit-scrollbar { width: 7px; }
.news-feed::-webkit-scrollbar-track { background: #f5f7fa; border-radius: 8px; }
.news-feed::-webkit-scrollbar-thumb { background: #b6c2d0; border-radius: 8px; }
.news-list { list-style: none; margin: 0; padding: 0; }

.news-card {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
  padding: 1.25rem;
}
.news-card + .news-card { border-top: 1px solid #edf0f4; }
.news-card:hover, .news-card:focus-within { background: #fafbfd; }
.news-image {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 128px;
  height: 92px;
  overflow: hidden;
  border-radius: 8px;
  background: #f4f6f9;
}
.news-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.news-image--logo { padding: 12px; background: #fff; border: 1px solid #edf0f4; }
.news-image--logo img { object-fit: contain; }
/* The official KAIST asset includes generous white margins around the mark. */
.news-image--logo img[alt="KAIST"] { transform: scale(2); }
.news-image--award { gap: 7px; color: #916718; background: #fbf6e9; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; }
.news-body { min-width: 0; }
.news-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 0.35rem; font-size: 0.72rem; line-height: 1.5; }
.news-meta time { color: #566175; font-weight: 600; }
.news-category { color: #365a82; background: #edf3fa; padding: 1px 7px; border-radius: 4px; }
.news-title { color: #202938; font-size: 1rem; font-weight: 600; line-height: 1.4; margin: 0 0 0.35rem; }
.news-description { color: #596273; font-size: 0.875rem; line-height: 1.6; margin: 0; }
.news-links { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin-top: 0.45rem; font-size: 0.8rem; }
.news-links a { color: #285c98; text-decoration: none; overflow-wrap: anywhere; }
.news-links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.news-links a:focus-visible { outline: 2px solid #336cb0; outline-offset: 3px; border-radius: 2px; }
.news-scroll-hint { margin: 0.6rem 0 0; text-align: right; font-size: 0.75rem; color: #697386; }
.news-scroll-hint span { margin-right: 0.3rem; }

@media (max-width: 600px) {
  .news-feed { max-height: 430px; }
  .news-card { grid-template-columns: 76px minmax(0, 1fr); gap: 0.85rem; padding: 1rem; align-items: start; }
  .news-image { width: 76px; height: 68px; margin-top: 2px; }
  .news-image--logo { padding: 7px; }
  .news-category { font-size: 0.66rem; }
  .news-title { font-size: 0.9rem; }
  .news-description { font-size: 0.8rem; }
}

@media print {
  .news-feed { max-height: none; overflow: visible; }
  .news-card { break-inside: avoid; }
  .news-scroll-hint { display: none; }
}
