/* Sharp photo display — natural aspect ratio, no cover crop or blur */

.img-sharp {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ファイルのピクセル寸法のまま表示（はみ出す場合のみ max-width: 100% で縮小） */
.img-intrinsic {
  width: auto;
  height: auto;
  max-width: 100%;
}

.interview-figure--sharp {
  overflow: visible;
}

.interview-figure--sharp > .img-sharp {
  width: 100%;
  max-width: var(--interview-photo-w, 400px);
}

#interviews .interview-figure--w400.interview-figure--sharp > .img-sharp,
#message .interview-figure--w400.interview-figure--sharp > .img-sharp,
#message .interview-figure--w400.interview-figure--sharp .interview-figure__media > .img-sharp {
  width: 400px;
  max-width: 100%;
}

.interview-figure--sharp .interview-figure__media {
  display: contents;
  background: transparent;
  overflow: visible;
  aspect-ratio: auto !important;
  height: auto !important;
}

.interview-figure--sharp .interview-figure__media > .img-sharp {
  width: 100%;
}

.interview-hero__photo--sharp {
  aspect-ratio: auto !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  width: min(100%, 400px);
}

.interview-hero__photo--sharp .img-sharp {
  width: 100%;
  border-radius: 0.125rem;
}

.interview-story-card:has(.interview-hero__photo--sharp) {
  overflow: visible;
}

/* Card thumbnails: fixed aspect crop; sources are 1000px+ */
.card-thumb {
  overflow: hidden;
  background: #f1f5f9;
}

.card-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
