/* Factory marks retain their original proportions. The space reserved for them
   is wide enough for wordmarks and tall enough for compact symbols. */
.matrix-app .manufacturer-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
}
.matrix-app .manufacturer-cell > div { width: 100%; min-width: 0; }
.matrix-app .manufacturer-cell .factory-logo {
  display: block;
  width: min(100%, 280px);
  height: 92px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: left center;
  background: #fff;
}
.matrix-app .manufacturer-cell .initial-mark { width: 82px; min-width: 82px; height: 82px; }

.page-manufacturers .manufacturer-entry {
  grid-template-columns: 220px minmax(0, 1fr) 250px;
  gap: 28px;
}
.page-manufacturers .manufacturer-mark {
  display: flex;
  align-items: center;
  min-height: 104px;
  padding-top: 0;
}
.page-manufacturers .manufacturer-mark img {
  display: block;
  width: 210px;
  height: 100px;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: left center;
}
.page-manufacturers .manufacturer-mark span { overflow-wrap: anywhere; }

.profile-heading .factory-identity { gap: 28px; }
.profile-heading .factory-logo {
  display: block;
  width: 240px;
  height: 112px;
  max-width: 240px;
  max-height: none;
  object-fit: contain;
  object-position: left center;
}
.profile-heading .factory-wordmark { width: 240px; overflow-wrap: anywhere; }

.product-row .product-company-brand {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  max-width: 100%;
  margin: 11px 0 5px;
  color: #244b68;
  font-weight: 600;
}
.product-row .product-company-logo {
  display: block;
  width: 200px;
  height: 64px;
  max-width: 200px;
  max-height: none;
  flex: 0 0 200px;
  object-fit: contain;
  object-position: left center;
  background: #fff;
}
.product-row .product-company-brand span { overflow-wrap: anywhere; }

@media (max-width: 1100px) and (min-width: 801px) {
  .page-manufacturers .manufacturer-entry { grid-template-columns: 165px minmax(0, 1fr) 210px; gap: 20px; }
  .page-manufacturers .manufacturer-mark img { width: 165px; height: 86px; }
  .profile-heading .factory-logo { width: 190px; max-width: 190px; height: 100px; }
  .profile-heading .factory-wordmark { width: 190px; }
}
@media (max-width: 800px) {
  .page-manufacturers .manufacturer-entry { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .page-manufacturers .manufacturer-mark { display: flex; min-height: 94px; }
  .page-manufacturers .manufacturer-mark img { width: min(100%, 270px); height: 92px; }
  .page-manufacturers .index-focus { grid-column: 1; }
  .profile-heading .factory-identity { display: block; }
  .profile-heading .factory-logo { width: min(100%, 280px); max-width: 280px; height: 100px; margin: 0 0 18px; }
  .profile-heading .factory-wordmark { width: auto; max-width: 100%; margin: 0 0 18px; }
  .product-row .product-company-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
  .product-row .product-company-logo { width: min(100%, 240px); max-width: 240px; height: 74px; flex: 0 0 auto; }
}
@media (max-width: 760px) {
  .matrix-app .manufacturer-cell .factory-logo { width: min(100%, 280px); height: 86px; }
  .matrix-app .manufacturer-cell .initial-mark { width: 76px; min-width: 76px; height: 76px; }
}
/* These official logos use white lettering on a transparent background. */
img[src$="weekly-20260928-camelot-logo.webp"],img[src$="weekly-20260928-chanyee-logo.webp"]{background:#123151;padding:12px;border-radius:4px;box-sizing:border-box}
.capability-record+.capability-record{margin-top:36px;padding-top:32px;border-top:1px solid #dce4eb}.capability-record>h3{font-size:23px;margin:0 0 18px}
