/* Shared compact, edge-to-edge case photography. */
.shop-site.case-page .case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;max-width:960px;margin:28px auto 48px;align-items:start}
.shop-site.case-page .case-gallery--portrait{max-width:800px}
.shop-site.case-page .case-gallery--three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:960px}
.shop-site.case-page .case-gallery>figure{min-width:0;margin:0}
.shop-site.case-page .case-gallery .photo{display:block;position:relative;width:100%;height:auto;aspect-ratio:4/3;max-height:none;border-radius:12px;overflow:hidden;padding:0;background:transparent}
.shop-site.case-page .case-gallery--portrait .photo{aspect-ratio:3/4}
.shop-site.case-page .case-gallery img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 50%}
.shop-site.case-page .case-gallery .photo--omo-visitors img{object-position:50% 42%}
.shop-site.case-page .case-gallery .photo--omo-lineup img{object-position:50% 56%}
/* A portrait product hero keeps its natural format without side padding. */
.shop-site.case-page.green .hero-photo{max-width:480px;margin-inline:auto}
.shop-site.case-page.green .hero-photo .photo{height:auto;aspect-ratio:3/4}
.shop-site.case-page.green .hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
.shop-site.case-page .case-intro>*{min-width:0}
.shop-site.case-page .case-intro h1{overflow-wrap:anywhere}
@media(max-width:620px){
 .shop-site.case-page .case-gallery{gap:12px;margin:24px auto 36px}
 .shop-site.case-page .case-gallery--three{grid-template-columns:repeat(3,minmax(0,1fr))}
 .shop-site.case-page .case-gallery .photo{border-radius:8px}
 .shop-site.case-page.green .hero-photo{max-width:320px}
}
