/* Reviewed source images fill their existing stable slots; other slots stay blank. */
.media-filled { position:relative; background:#fff; }
.media-filled > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:scale-down; padding:16px; }
.media-fit-cover > img { object-fit:cover; padding:0; }
.media-detail-main.media-filled > img { padding:24px; }
.media-hero.media-product-pair { display:grid; grid-template-columns:1.35fr .65fr; gap:8px; padding:24px; }
.media-pair-item { position:relative; min-width:0; min-height:0; }
.media-pair-item img { position:absolute; inset:0 0 36px; width:100%; height:calc(100% - 36px); object-fit:scale-down; }
.media-pair-label { position:absolute; bottom:0; left:0; right:0; font-size:13px; line-height:20px; text-align:center; color:var(--muted); }
.brand.brand-with-mark { display:inline-flex; flex-direction:row; align-items:center; gap:9px; }
.brand-mark { display:block; width:44px; height:auto; flex:none; }
.brand-name { display:block; }
.brand-name .brand-caption { display:block; }
.detail-media-figure { margin:0; min-width:0; }
.detail-media-caption { margin-top:10px; color:var(--muted); font-size:13px; line-height:21px; overflow-wrap:anywhere; }
.detail-media-caption span { display:block; }
.detail-barrier .media-detail-main.media-filled { aspect-ratio:16/9; }
.company-page .company-location-media.media-filled,
.contact-page .contact-factory-media.media-filled { aspect-ratio:16/9; }
.context-media-figure .company-agenda-media,
.context-media-figure .contact-factory-media { margin-bottom:0; }
.factory-agenda-grid .context-media-figure,
.contact-factory-block > .context-media-figure { margin-bottom:24px; }
@media(max-width:767px) {
 .brand-mark { width:36px; }
 .brand.brand-with-mark { gap:7px; }
 .media-filled > img { padding:12px; }
 .media-detail-main.media-filled > img { padding:20px; }
 .media-fit-cover > img { padding:0; }
 .media-hero.media-product-pair { padding:12px; gap:8px; }
 .media-pair-item img { bottom:28px; height:calc(100% - 28px); }
 .media-pair-label { font-size:12px; line-height:18px; }
 .category-barrier-gates .media-product-wide.media-filled { aspect-ratio:16/9; }
}
