.research-project { display: grid; grid-template-columns: 152px minmax(0, 1fr); align-items: start; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--line); scroll-margin-top: 1.5rem; }
.research-project:last-child { border-bottom: 0; padding-bottom: 0; }
.research-thumbnail { display: block; width: 152px; height: 152px; object-fit: contain; border-radius: 2px; }
.research-project-content { min-width: 0; }
.research-project h2 { font-size: 1.4rem; font-weight: 600; margin: 0 0 1.1rem; }
.research-project h3 { font-size: 1rem; font-weight: 600; margin: 1rem 0 .35rem; }
.research-project p { margin: 0; }
.research-project p + p { margin-top: .75rem; }
.research-project .research-placeholder { color: var(--muted); }
.research-media { margin: 1.5rem 0 0; }
/* Expand into the right margin of the centered 740px content area, preserving the left edge. */
.research-media[data-research-animation] { width: calc(100% + max(0px, (100vw - 740px) / 2 - 1.5rem)); }
.research-media img { display: block; width: 100%; height: auto; border-radius: 2px; }
.research-media figcaption { margin-top: .5rem; color: var(--muted); font-size: .8125rem; line-height: 1.5; }
.research-team-photo { width: 100%; }
@media (max-width: 600px) {
  .research-project { grid-template-columns: 80px minmax(0, 1fr); gap: 1rem; padding: 1.5rem 0; }
  .research-thumbnail { width: 80px; height: 80px; }
  .research-project h2 { font-size: 1.2rem; }
}
@media (max-width: 360px) {
  .research-project { grid-template-columns: 64px minmax(0, 1fr); gap: .75rem; }
  .research-thumbnail { width: 64px; height: 64px; }
}
@media print {
  .project-index { display: none; }
  .research-project { break-inside: avoid; }
  .research-media[data-research-animation] { width: 100%; }
}
