/* Shared media rhythm. Product silhouettes stay complete; scenes use a centered crop. */
:root{--kopus-media-ratio:4/3}
.hero-media.hero-scene{height:auto}
.hero-media.hero-scene .wp-block-image img,
.simple-product-grid .category-visual .wp-block-image img,
.simple-product-grid .category-visual img,
.oem-media .wp-block-image img,
.factory-media .wp-block-image img,
.factory-media .factory-detail img,
.evidence .wp-block-image img{
 display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:var(--kopus-media-ratio);border-radius:6px
}
.hero-media.hero-scene .wp-block-image img,
.simple-product-grid .category-visual img{object-fit:contain;object-position:center}
.oem-media .wp-block-image img{object-fit:contain;object-position:center;background:#fff}
.factory-media .wp-block-image img,.evidence .wp-block-image img{object-fit:cover;object-position:center}
.factory-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}
.factory-media .factory-detail{margin-top:0}
.factory-media>.support{grid-column:1/-1;margin-top:0}
.kc-section .kc-hero-image img{width:100%;height:auto;aspect-ratio:var(--kopus-media-ratio);object-fit:contain}
.kc-section .kc-product-image{aspect-ratio:var(--kopus-media-ratio);height:auto}
.kc-section .kc-product-image img{width:100%;height:100%;object-fit:contain}
.kc-section .kc-editorial-media>img,
.kc-section .kc-guide-media>video{width:100%;height:auto;aspect-ratio:var(--kopus-media-ratio);object-fit:contain;background:#fff}
.kc-section .kc-evidence img{width:100%;height:auto;aspect-ratio:var(--kopus-media-ratio);object-fit:cover}
.kp-product .kp-gallery .kp-main-image{width:100%;height:auto;max-height:none;aspect-ratio:var(--kopus-media-ratio);object-fit:contain}
.wp-block-video video{display:block;width:100%;height:auto;aspect-ratio:var(--kopus-media-ratio);object-fit:contain;background:#fff}
.wp-block-post-featured-image img{width:100%;height:auto;aspect-ratio:var(--kopus-media-ratio);object-fit:cover}
/* Logos, icons, inquiry thumbnails and gallery detail thumbnails keep their own proportions. */

/* Six equal factory photographs, aligned with the shared 4:3 media rhythm. */
#factory.factory-showcase .factory-heading-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-bottom:34px}
#factory.factory-showcase .factory-heading h2{margin-bottom:0;max-width:580px}
#factory.factory-showcase .factory-brief{padding-top:32px}
#factory.factory-showcase .factory-brief p{font-size:15px;line-height:1.65;margin-bottom:16px}
#factory.factory-showcase .factory-brief strong{color:#fff;font-weight:600}
#factory.factory-showcase .factory-six-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
#factory.factory-showcase .factory-grid-photo{margin:0;min-width:0}
#factory.factory-showcase .factory-grid-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:6px}
#factory.factory-showcase figcaption{font-family:var(--wp--preset--font-family--system);font-size:13px;line-height:1.5;color:#b5bfc1;margin:12px 0 0;text-align:left}
@media(max-width:850px){#factory.factory-showcase .factory-heading-row{grid-template-columns:1fr;gap:20px;margin-bottom:28px}#factory.factory-showcase .factory-brief{padding-top:0}#factory.factory-showcase .factory-six-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}}
@media(max-width:560px){#factory.factory-showcase .factory-six-grid{grid-template-columns:1fr;gap:26px}}
/* Give white product photography a visible, quiet frame on the white homepage. */
.hero-media.hero-scene .wp-block-image,
.simple-product-grid .category-visual,
.oem-media .wp-block-image{background:#F5F6F7;border-radius:6px;overflow:hidden}
.oem-media .wp-block-image img{background:transparent;mix-blend-mode:multiply}

/* Restore approved white hero independently of shared catalogue media ratios. */
.hero-media.hero-scene .wp-block-image{background:var(--paper);height:auto}
.hero-media.hero-scene .wp-block-image img{height:490px;aspect-ratio:auto;object-fit:contain;object-position:center;padding:12px;background:transparent;mix-blend-mode:multiply}
@media(min-width:1600px){.hero-media.hero-scene .wp-block-image img{height:530px}}
@media(max-width:1080px){.hero-media.hero-scene .wp-block-image img{height:440px}}
@media(max-width:850px){.hero-media.hero-scene .wp-block-image img{height:410px}}
@media(max-width:560px){.hero-media.hero-scene .wp-block-image img{height:285px;padding:0}}
