.article-image {
  width: min(920px, calc(100vw - 48px));
  margin: 32px 0 42px;
  transform: translateX(-58px);
}
.article-image__frame {
  overflow: hidden;
  border: 1px solid var(--content-line);
  background: #e9e3d8;
  box-shadow: 0 24px 70px rgba(23, 23, 23, 0.09);
}
.article-image img { width: 100%; height: auto; display: block; }
.article-image figcaption {
  max-width: 680px;
  margin: 14px 0 0 58px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  color: var(--content-muted);
  font-size: 13px;
  line-height: 1.55;
}
.article-image figcaption span {
  color: var(--content-brand-dark);
  font: 800 18px "Fraunces", Georgia, serif;
}
@media (max-width: 820px) {
  .article-image { width: 100%; margin-left: 0; transform: none; }
  .article-image figcaption { margin-left: 0; }
}
@media (max-width: 560px) {
  .article-image { width: calc(100vw - 32px); margin: 26px 0 34px; }
  .article-image__frame { aspect-ratio: 4 / 3; }
  .article-image img {
    height: 100%;
    object-fit: cover;
    object-position: 50% 52%;
  }
}
@media print {
  .article-image { width: 100%; margin: 8mm 0; transform: none; break-inside: avoid; }
  .article-image figcaption { margin-left: 0; }
}
