/* One neutral surface; optical framing keeps the original brand artwork intact. */
#main .partner-logo-wall { grid-template-columns: repeat(5, minmax(0, 1fr)); background: transparent; }
#main .partner-logo {
  min-width: 0;
  min-height: 164px;
  padding: 26px 22px;
  background: #fafbf9;
  cursor: default;
  isolation: isolate;
  transform: none;
  transition: background-color 260ms ease-out;
}
#main .partner-logo::before { display: none; }
#main .partner-logo:hover { background: #edf1f3; transform: none; }
#main .partner-mark {
  position: relative;
  display: grid;
  width: 100%;
  height: 110px;
  min-width: 0;
  place-items: center;
  mix-blend-mode: multiply;
  --artwork-height: 110px;
}
#main .partner-artwork {
  position: relative;
  display: block;
  width: min(100%, calc(var(--artwork-size) * var(--logo-scale, 1)), calc(var(--artwork-height) * var(--artwork-ratio)));
  aspect-ratio: var(--artwork-ratio);
  overflow: hidden;
  transition: translate 300ms cubic-bezier(.22, 1, .36, 1);
}
#main .partner-logo:hover .partner-artwork { translate: 0 -3px; }
#main .partner-mark img {
  position: absolute;
  display: block;
  width: 100%; height: 100%;
  max-width: none; max-height: none;
  object-fit: contain;
  filter: none;
  transform: none;
  transition: none;
}
#main .partner-artwork.is-framed img { object-fit: fill; }
/* A few source scans have off-white paper; avoid sharpening or altering their geometry. */
#main .partner-mark img[src="/assets/partners/geely-auto.png"],
#main .partner-mark img[src="/assets/partners/bestune.png"] { filter: contrast(1.09); }
#main .partner-mark .partner-fallback { position: absolute; font-size: 17px; }
#main .partner-mark [hidden] { display: none; }
@media (max-width: 1100px) {
  #main .partner-logo-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #main .partner-logo { padding-inline: 18px; }
}
@media (max-width: 800px) {
  #main .partner-logo-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #main .partner-logo { min-height: 140px; padding: 18px; }
  #main .partner-mark { height: 96px; --artwork-height: 96px; }
}
@media (max-width: 560px) {
  #main .partner-logo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #main .partner-logo { min-height: 132px; padding: 17px 20px; }
  #main .partner-mark { height: 96px; }
  #main .partner-artwork { width: min(100%, calc(var(--artwork-size) * var(--logo-scale, 1) * .88), calc(var(--artwork-height) * var(--artwork-ratio))); }
}
@media (prefers-reduced-motion: reduce) {
  #main .partner-logo, #main .partner-artwork { transition: none; }
  #main .partner-logo:hover .partner-artwork { translate: none; }
}
