/* Keep research figures inside the reading column at every viewport size. */
.research-article .article-layout article,
.research-article .article-section { min-width: 0; }
.research-article article :is(.agent-figure, .design-figure) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.research-article .agent-figure-image { max-width: 100%; min-width: 0; }
.research-article article figure img { max-width: 100%; object-fit: contain; }
.research-article .agent-figure img {
  display: block;
  width: 100%;
  height: auto;
}
.research-article .figure-zoom-target { cursor: zoom-in; }
.figure-zoom-target:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: 4px; }
.figure-zoom {
  position: fixed;
  inset: 0;
  width: 75vw;
  height: 75vh;
  height: 75dvh;
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  border: 0;
  overflow: visible;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 12px 48px rgb(0 0 0 / 20%);
  color: var(--ink-primary, #121e36);
  cursor: zoom-out;
}
.figure-zoom::backdrop { background: rgb(18 30 54 / 65%); }
.figure-zoom .figure-zoom-media {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0;
  object-fit: contain;
  background: transparent;
  cursor: zoom-out;
}
.figure-zoom-close {
  position: absolute;
  right: -12px;
  top: -40px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #121e36;
  font-size: 24px;
  line-height: 1;
}
@media print { .figure-zoom { display: none; } }
