/* Keep original image proportions; align only the top edges of each grid row. */
.home-page .project-grid,
.case-page .case-gallery{align-items:start}
.home-page .project-grid .project,
.case-page .case-gallery>.case-figure{align-self:start}
.home-page .project-grid .media-scroll,
.case-page .case-gallery .media-scroll{translate:none;transition:none}
/* Reveal with opacity only so neighbouring images never shift independently. */
.home-page .project-grid .project.reveal-ready,
.case-page .case-gallery>.case-figure.reveal-ready{transform:none}
.home-page .project-grid .project-media,
.case-page .case-gallery .project-media{aspect-ratio:auto;height:auto;min-height:0}
.home-page .project-grid .project-media>img,
.home-page .project-grid .project-media>video,
.case-page .case-gallery .project-media>img,
.case-page .case-gallery .project-media>video{
 position:static;inset:auto;width:100%;height:auto;
 max-width:100%;max-height:none;object-fit:contain;object-position:center
}
/* Embedded players need their video frame; photographs and artwork stay intrinsic. */
.home-page .project-grid .project-media:has(>iframe),
.case-page .case-gallery .project-media:has(>iframe),
.case-page .case-gallery .project-media.youtube-preview{aspect-ratio:16/9}
