/* Customer profiles share the site's light panels, blue accents and type scale. */
#page-solutions .customer-showcase {
  width:calc(100% - 64px);
  max-width:1160px;
  margin:80px auto;
  scroll-margin-top:160px;
}
.customer-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.customer-profile {
  min-width:0;
  padding:30px;
  background:#fff;
  border:1px solid #dfe5ec;
  border-radius:20px;
}
.customer-profile-logo {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:88px;
  margin-bottom:24px;
}
.customer-profile-logo img { display:block; width:auto; height:auto; max-width:min(100%,260px); max-height:88px; object-fit:contain; }
/* Fit the actual marks into the shared row, excluding source white margins.
   BMC's viewport also excludes the unrelated line at the source's right edge. */
.customer-profile-logo .customer-logo-crop {
  position:relative;
  display:block;
  flex:none;
  height:100%;
  max-width:100%;
  overflow:hidden;
  aspect-ratio:var(--logo-ratio);
}
.customer-logo-crop.is-tonghua { --logo-ratio:182/137; --logo-width:131.868132%; --logo-left:-15.934066%; --logo-top:-35.766423%; }
.customer-logo-crop.is-bmc { --logo-ratio:277/199; --logo-width:144.404332%; --logo-left:-19.855596%; --logo-top:-44.221106%; }
.customer-logo-crop.is-lens { --logo-ratio:184/120; --logo-width:130.434783%; --logo-left:-19.021739%; --logo-top:-47.5%; }
.customer-profile-logo .customer-logo-crop img {
  position:absolute;
  left:var(--logo-left);
  top:var(--logo-top);
  width:var(--logo-width);
  height:auto;
  max-width:none;
  max-height:none;
  margin:0;
}
.customer-profile-logo.is-inverse { width:260px; max-width:100%; padding:16px; box-sizing:border-box; border-radius:12px; background:#26394b; }
.customer-profile-logo.is-inverse img { max-width:100%; }
.customer-profile-logo.is-monochrome img { filter:brightness(0); }
/* The China Gas source includes generous white margins; fit the visible mark
   into the same logo row without changing its proportions or the source. */
.customer-profile-logo.is-chinagas { width:260px; max-width:100%; overflow:hidden; }
.customer-profile-logo.is-chinagas img { width:100%; max-height:none; flex:none; }
.customer-name-mark { color:#1e6797; font-size:34px; line-height:1.3; font-weight:650; letter-spacing:.12em; }
.customer-profile-copy h3 { margin:0 0 16px; color:#101318; font-size:20px; line-height:1.5; font-weight:650; overflow-wrap:break-word; }
.customer-profile-copy p { margin:0; color:#66707c; font-size:14px; line-height:1.95; text-align:left; overflow-wrap:break-word; }
.customer-profile-grid.is-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.customer-profile-grid.is-single { grid-template-columns:1fr; max-width:960px; margin:auto; }
.customer-profile-grid.is-single .customer-profile { display:grid; grid-template-columns:210px minmax(0,1fr); align-items:center; gap:36px; padding:40px; }
.customer-profile-grid.is-single .customer-profile-logo { height:120px; margin:0; justify-content:center; }
.customer-profile-grid.is-single .customer-profile-logo img { max-width:100%; max-height:120px; }
@media(max-width:1000px) {
  .customer-profile-grid.is-three { grid-template-columns:1fr; }
  .customer-profile-grid.is-three .customer-profile { display:grid; grid-template-columns:200px minmax(0,1fr); gap:28px; align-items:center; }
  .customer-profile-grid.is-three .customer-profile-logo { margin:0; }
}
@media(max-width:700px) {
  #page-solutions .customer-showcase { width:calc(100% - 32px); margin:52px auto; }
  .customer-profile-grid { grid-template-columns:1fr; gap:18px; }
  .customer-profile,.customer-profile-grid.is-single .customer-profile,.customer-profile-grid.is-three .customer-profile { display:block; padding:24px; border-radius:16px; }
  .customer-profile-logo,.customer-profile-grid.is-single .customer-profile-logo,.customer-profile-grid.is-three .customer-profile-logo { height:76px; margin-bottom:22px; justify-content:flex-start; }
  .customer-profile-logo img,.customer-profile-grid.is-single .customer-profile-logo img { max-height:76px; }
  .customer-profile-copy h3 { font-size:19px; margin-bottom:14px; }
}

/* Other solution pages share the same visible mark scale as group tax.
   Only whitespace is clipped; source images and proportions are preserved. */
.customer-profile-logo .customer-logo-fit {
  display:block; position:relative; flex:none; overflow:hidden;
  width:min(260px,calc(var(--customer-logo-height,88px) * var(--logo-scale)));
  max-width:100%; aspect-ratio:var(--logo-ratio);
}
.customer-profile-logo .customer-logo-fit img,
.customer-profile-grid.is-single .customer-profile-logo .customer-logo-fit img {
  position:absolute; left:var(--logo-left); top:var(--logo-top);
  width:var(--logo-width); height:auto; max-width:none; max-height:none; margin:0;
}
.customer-profile-grid.is-single .customer-profile { grid-template-columns:260px minmax(0,1fr); }
.customer-profile-grid.is-single .customer-profile-logo { height:88px; }
@media(max-width:700px) {
  .customer-profile-logo { --customer-logo-height:76px; }
  .customer-profile-grid.is-single .customer-profile-logo { height:76px; }
}

/* A text-only customer mark may occupy several lines in any language.
   Let it reserve its real height; image marks retain their original sizing. */
#page-solutions .customer-profile-logo:has(> .customer-name-mark) {
  height:auto;
  min-height:var(--customer-logo-height,88px);
}
#page-solutions .customer-name-mark { min-width:0; overflow-wrap:anywhere; }
