/* Version 3: publication resources and small typographic refinements. */
.publication-item { grid-template-columns: 78px minmax(0, 1fr); gap: 12px 28px; align-items: start; }
.publication-item .pub-actions { grid-column: 2; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 9px 18px; margin-top: -1px; }
.publication-item .pub-actions a { display: inline-flex; align-items: center; white-space: normal; line-height: 1.45; font-size: 12px; padding: 5px 0; text-decoration: none; }
.publication-item .pub-actions a:hover, .publication-item .pub-actions a:focus-visible { text-decoration: underline; }
.publication-item .pub-actions a.resource-link { color: #365d61; font-weight: 650; }
.pub-resource-note { font-size: 13px; line-height: 1.7; color: #637375; max-width: 760px; margin: 2px 0 15px; }
.publication-list .publication-item { padding-top: 26px; padding-bottom: 29px; }
@media (max-width: 760px) { .publication-item { grid-template-columns: 60px minmax(0,1fr); gap: 10px 17px; } .publication-item .pub-actions { grid-column: 2; } }
@media (max-width: 420px) { .publication-item { grid-template-columns: 1fr; } .publication-item .pub-actions { grid-column: 1; } }
/* Keep the original hero illustration inside its own area on narrow screens. */
@media (max-width: 420px) {
  .hero-v2 .hero-art { height: 300px; overflow: hidden; }
  .hero-v2 .connection-svg { width: min(330px, 100%); height: 292px; object-fit: contain; max-width: 100%; transform: none; }
  .hero-v2 .hero-meta { margin-top: 38px; padding-bottom: 10px; }
}

/* Version 3.1: no-results guidance and filter accessibility. */
.no-publications { background:#fffefa; border:1px solid #d6ddd7; padding:18px 22px; color:#526567; font-size:13px; line-height:1.6; }
.no-publications[hidden] { display:none !important; }
.publication-item[hidden] { display:none !important; }
