/* Homepage styles, scoped to preserve the rest of the site. */
.home-intro { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 2rem; align-items: start; }
.home-intro .post-title { margin-bottom: .65rem; }
.home-affiliation { color: #595959; font-size: .9rem; line-height: 1.5; }
.home-portrait { width: 180px; max-width: 100%; height: auto; border-radius: 2px; }
.home-section { margin-top: 1.6rem; }
.home-overview h2 { font-size: 1.4rem; margin-top: 0; }
.home-links { font-size: .9rem; }
.home-links span { padding: 0 .35rem; }
.home-updates { border-top: 1px solid #e8e8e8; padding-top: 1.3rem; }
.home-updates ul { list-style: none; padding: 0; }
.home-updates li { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 1rem; margin-bottom: .65rem; font-size: .9rem; }
.home-updates time { color: #666; }
@media (max-width: 600px) {
  .home-intro { grid-template-columns: minmax(0, 1fr) 110px; gap: 1rem; }
  .home-intro .post-title { font-size: 1.8rem; }
  .home-updates li { grid-template-columns: 1fr; gap: .1rem; }
}
@media (max-width: 400px) {
  .home-intro { grid-template-columns: 1fr; }
  .home-portrait { width: 130px; }
}

.home-contact { font-size: .9rem; line-height: 1.6; }

/* Generated updates: keep paragraphs and nested paper lists compact. */
.home-updates .update-body p { margin: 0 0 .4rem; }
.home-updates .update-body p:last-child { margin-bottom: 0; }
.home-updates .update-body ul { list-style: disc; padding-left: 1.2rem; margin: .4rem 0; }
.home-updates .update-body li { display: list-item; margin-bottom: .25rem; font-size: inherit; }
.home-updates .updates-year { font-size: 1.1rem; margin: 1.5rem 0 .7rem; }
