/* Image layout contracts, loaded last on every public page. */
img{max-width:100%}
.products-overview .product-overview-visual{grid-template-rows:auto 1fr}
.product-overview-visual .overview-image{width:100%;height:auto;min-height:0;aspect-ratio:3/2;object-fit:contain}
.product-overview-visual .overview-copy{min-height:220px}
/* Explanatory artwork must remain completely visible, at its native ratio. */
#product-human .human-art{aspect-ratio:auto;min-height:0;align-self:start}
#product-human .human-art>img{position:static;inset:auto;display:block;width:100%;height:auto;object-fit:contain}
#product-human .human-art::after{display:none}
#product-human .human-art .art-conversation,#product-human .human-art .art-label{display:none}
.face-showcase-image>img,.chat-showcase-image>img,
.receptionist-page .receptionist-hero img,
.blog-post-image img,.about-hero figure img,
.use-hero-visual img,.use-split figure img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.blog-card>img{height:auto;min-height:0;aspect-ratio:3/2;object-fit:contain;align-self:start}
/* Portrait galleries intentionally crop to a frame; never stretch the source. */
.avatar-portrait img,.team-photo img,.founder-portrait img{object-fit:cover}
@media(max-width:900px){.blog-card>img{height:auto;min-height:0}}
@media(max-width:600px){.product-overview-visual .overview-copy{min-height:210px}}
