/* Dizittal responsive media system: preserve intentionally different shapes. */
:root{--dz-image-placeholder:#eceae5}
img{max-width:100%}
/* Reserve responsive image geometry before the bytes arrive; never distort the asset. */
.v3 .hero-main-image,.v3 .v3-photo,.v3 .service-hero-art,.v3 .work-photo,
.v3 .media-card .card-art,.v3 .recipe-photo,.v3 .hero-minis a,
.cms-work-card .cms-figure,.cms-resource-card>.cms-figure,
.cms-zoom .cms-figure,.cms-feature .cms-figure,.cms-work-gallery .cms-figure,
.cms-logo .cms-figure{min-width:0;background-color:var(--dz-image-placeholder)}
/* Default media preserves intrinsic proportions. Specific designs opt into cropping. */
.cms-figure{min-width:0}
.cms-figure>img{display:block;max-width:100%;height:auto;object-fit:contain}
.cms-feature .cms-figure{overflow:hidden;border-radius:14px}
.cms-feature .cms-figure>img{width:100%;height:auto;aspect-ratio:16/9;max-height:none;object-fit:contain}
.cms-work-card .cms-zoom{display:flex;flex-direction:column;height:auto;min-width:0}
.cms-work-card .cms-zoom>.cms-figure{width:100%;overflow:hidden;border-radius:8px}
.cms-work-card .cms-zoom .cms-figure>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;max-height:none}
.cms-resource-card>.cms-figure{overflow:hidden;display:block}
.cms-resource-card>.cms-figure>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;max-height:none;border-radius:0}
.cms-logo{height:auto;min-height:150px;aspect-ratio:16/7;overflow:hidden}
.cms-logo .cms-figure{width:100%;height:100%;display:block}
.cms-logo .cms-figure>img{width:100%;height:100%;max-height:none;object-fit:contain;padding:10px;background:transparent}
.cms-work-gallery .cms-figure{overflow:hidden;border-radius:12px}
.cms-work-gallery .cms-figure>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.cms-thumbnails .cms-figure{aspect-ratio:4/3;overflow:hidden}
.cms-thumbnails img{height:100%;width:100%;object-fit:contain}
/* Editorial media keeps intentionally different shapes by placement. */
.v3 .work-photo{aspect-ratio:5/4}
.v3 .work-photo>img,.v3 .media-card .card-art>img{display:block;width:100%;height:100%;object-fit:cover}
.v3 .media-card .card-art{aspect-ratio:16/10}
.v3 .hero-main-image{aspect-ratio:16/10;overflow:hidden}
.v3 .hero-main-image>img{width:100%;height:100%;object-fit:cover}
.v3 .v3-photo{aspect-ratio:4/3;overflow:hidden}
.v3 .v3-photo>img{width:100%;height:100%;object-fit:cover}
.v3 .service-hero-art{aspect-ratio:16/10;overflow:hidden}
.v3 .service-hero-art>img{width:100%;height:100%;object-fit:cover}
/* Never crop company / partner marks or diagrams as if they were photos. */
.v3 .brand img,.brand img,.site-footer .brand img{object-fit:contain}
.v3 img[src*='/mockups/'],.v3 img[src*='/svg/']{object-position:center}
/* Broken-media placeholder, same geometry as its original container. */
img.dz-image-fallback{object-fit:contain!important;object-position:center!important;padding:clamp(8px,2vw,22px);background:var(--dz-image-placeholder)!important;box-sizing:border-box}
.cms-modal img.dz-image-fallback{min-width:200px;min-height:140px}
@media(max-width:1000px){
.cms-feature .cms-figure>img{aspect-ratio:3/2}
.cms-work-card .cms-zoom .cms-figure>img{aspect-ratio:5/4}
.cms-resource-card>.cms-figure>img{aspect-ratio:3/2}
.v3 .hero-main-image{aspect-ratio:3/2}
.v3 .work-photo{aspect-ratio:6/5}
.v3 .v3-photo{aspect-ratio:5/4}
}
@media(max-width:700px){
.cms-feature .cms-figure>img{aspect-ratio:4/3}
.cms-work-card .cms-zoom .cms-figure>img{aspect-ratio:4/3}
.cms-work-gallery .cms-figure>img{aspect-ratio:4/3}
.cms-resource-card>.cms-figure>img{aspect-ratio:16/11}
.cms-logo{aspect-ratio:2/1;min-height:120px}
.v3 .hero-main-image{aspect-ratio:4/3}
.v3 .work-photo,.v3 .work-section .work-grid:has(>.work-card:nth-child(3):last-child) .work-photo{aspect-ratio:5/4}
.v3 .media-card .card-art{aspect-ratio:4/3}
.v3 .v3-photo{aspect-ratio:4/3}
.v3 .service-hero-art{aspect-ratio:4/3}
}
@media(max-width:420px){
.cms-work-card .cms-zoom .cms-figure>img{aspect-ratio:5/4}
.cms-resource-card>.cms-figure>img{aspect-ratio:4/3}
.v3 .work-photo{aspect-ratio:6/5}
}
