/* Photos keep their native ratio; the hero background fills the desktop frame. */
#header-carousel .carousel-item>img { object-position: center center !important; }
#tong-quan img.production-planning-photo { display:block; width:100%; height:auto!important; max-height:none; object-fit:contain!important; border-radius:20px; box-shadow:0 16px 42px rgba(18,53,77,.08); }
#luong-van-hanh .production-workflow-photo { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:0; margin:0 0 32px; overflow:hidden; border:1px solid #dce7ef; border-radius:18px; background:#fff; }
#luong-van-hanh .production-workflow-photo img { display:block; width:100%; height:auto!important; object-fit:contain!important; }
#luong-van-hanh .production-workflow-photo figcaption { padding:28px 32px; min-width:0; }
#luong-van-hanh .production-workflow-photo h3 { margin:12px 0; font-size:24px; line-height:1.4; color:#183f5a; }
#luong-van-hanh .production-workflow-photo p { margin:0; font-size:15px; line-height:1.8; color:#677f91; }
@media(max-width:767.98px) {
  /* Separate image and copy so mobile retains the whole image without cropping. */
  #header-carousel .carousel-item>img { position:relative!important; inset:auto!important; height:auto!important; width:100%!important; object-fit:contain!important; }
  #header-carousel .carousel-caption { min-height:0!important; padding:38px 20px 42px!important; background:#143a53!important; }
  #header-carousel .carousel-item { min-height:0!important; }
  #luong-van-hanh .production-workflow-photo { grid-template-columns:1fr; }
  #luong-van-hanh .production-workflow-photo figcaption { padding:22px; }
  #luong-van-hanh .production-workflow-photo h3 { font-size:22px; }
}
