/* Same project-owned image, framing and 16:9 proportion in every listing. */
.pvi-card-image.pv-project-preview {
  position:relative; box-sizing:border-box; width:100%; max-width:100%;
  height:auto; min-height:0; aspect-ratio:16/9; overflow:hidden;
  border:0; border-radius:0; text-decoration:none; vertical-align:top;
}
.pvi-card-image.pv-project-preview:not(.pvcv-composite) {
  display:flex; align-items:center; justify-content:center; padding:0;
}
.pvi-card-image.pv-project-preview > img {
  display:block; width:100%; max-width:100%; height:100%; min-height:0; max-height:none;
  aspect-ratio:auto; object-fit:contain; object-position:center;
  margin:0; padding:0; border:0; background:transparent; transform:none;
}
.pvi-card-image.pv-project-preview.pvi-image-cover > img { object-fit:cover; }
.pvi-card-image.pv-project-preview.pvi-position-top > img { object-position:center top; }
.pvi-card-image.pv-project-preview.pvi-position-bottom > img { object-position:center bottom; }
.pvi-card-image.pv-project-preview.pvi-image-window > img {
  position:absolute; width:var(--pvi-window-width)!important; max-width:none!important;
  height:auto!important; left:var(--pvi-window-left); top:var(--pvi-window-top); object-fit:initial;
}
.pv-project-preview.pvcv-composite img {
  margin:0; aspect-ratio:auto; background:transparent; transform:none; max-height:none;
}
.pv-project-preview.pvcv-composite .pvcv-tv-frame img { height:auto; }
.pv-project-preview.pvcv-composite .pvcv-flat img { height:100%; }
.pv-project-image:has(.pv-project-preview),
.wp-block-post-featured-image:has(.pv-project-preview) {
  height:auto!important; min-height:0!important; aspect-ratio:16/9!important;
  padding:0; overflow:hidden;
}
.pv-project-image > a:has(.pv-project-preview),
.wp-block-post-featured-image > a:has(.pv-project-preview) { height:auto; }
.pv-project-card:hover .pv-project-preview img { transform:none; }
.pva-case > .pv-project-preview { margin-bottom:24px; }
.pva-case > h3 { margin-top:0; }
.pva-case > h3 > a { color:inherit; text-decoration:none; }
.pvw-project-image:has(.pv-project-preview) { display:block; height:auto; aspect-ratio:auto; }
.pvw-project-image > .pv-project-preview { position:relative; inset:auto; padding:0; }
.pv-project-preview:focus-visible { outline:3px solid var(--pv-accent); outline-offset:4px; }
