/* Cache-safe image geometry revision: preserve proportions, fill teaser frames. */
.home-facility-card{grid-template-columns:180px minmax(0,1fr);align-items:center}
.home-facility-card .teaser-art{position:relative;width:100%;height:auto;min-height:0;padding:0;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#e5eaf0}
.home-facility-card .teaser-art>img.manufacturing-real-thumb,
.home-facility-card .teaser-art>img.facility-real-thumb{position:static;display:block;width:100%;height:auto;max-width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%}
.home-facility-card .teaser-art>img.facility-real-thumb{object-position:50% 58%}
/* Uncropped documentary photographs and certificates use their own native ratio. */
.manufacturing-static-photo img,.recognition-main img,.recognition-alternate img,.home-recognition-photo img{height:auto;aspect-ratio:auto;object-fit:contain}
/* Product artwork is native 4:3. Fill frames by proportional cropping, never fill/stretch. */
.category-card-visual img,.buyer-hero-grid figure.category-ai-hero img{object-fit:cover}
@media(max-width:1100px){.home-facility-card{grid-template-columns:145px minmax(0,1fr)}}
@media(max-width:760px){.home-facility-card{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:600px){.home-facility-card{grid-template-columns:minmax(0,1fr)}.home-facility-card .teaser-art{width:100%;height:auto;padding:0;aspect-ratio:4/3}}

/* Flowing gallery cards: percentage heights must not size against an auto-height picture. */
.home-gallery-grid .gallery-card picture{display:block;height:auto;aspect-ratio:4/3}
.home-gallery-grid .gallery-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
/* Stacked mobile photo features need intrinsic height, otherwise a 100%/100% cycle can collapse. */
@media(max-width:900px){.office-photo-feature picture,.office-photo-feature img{height:auto}.office-photo-feature img{aspect-ratio:auto;object-fit:cover}}

.home-gallery-grid .gallery-card{width:100%;max-width:100%;box-sizing:border-box}
.home-gallery-grid .gallery-card picture{width:100%;max-width:100%;box-sizing:border-box}

/* V3: restored static poster + navy map. Full-width art makes the map labels readable. */
.home-facilities-grid{align-items:start}
.home-facilities-grid .home-facility-card{grid-template-columns:minmax(0,1fr);gap:21px;align-items:start}
.home-facilities-grid .home-facility-card .teaser-art{width:100%;height:auto;padding:0;aspect-ratio:8/5;background:#0b1c36}
.home-facilities-grid .home-facility-card .teaser-art>img{position:static;display:block;width:100%;height:auto;max-width:100%;aspect-ratio:8/5;object-fit:cover;object-position:center}
.home-facilities-grid .home-facility-card .teaser-map>img{object-fit:contain;aspect-ratio:8/5}
