.logo-layout { display: grid; grid-template-columns: repeat(var(--logo-columns, 5), minmax(0, 1fr));
  gap: var(--logo-gap, 24px); padding: clamp(12px, 2vw, 24px); box-sizing: border-box;
  background: var(--logo-background, transparent); border-radius: 16px; }
.business-logos { --logo-site-background: var(--bg, #fafbfc); }
.logo-frame { position: relative; display: block; width: 100%; aspect-ratio: var(--logo-ratio, 12 / 5);
  box-sizing: border-box;
  border: 1px solid var(--logo-border, #e5eaf0); border-radius: 12px;
  background: var(--logo-site-background, #fafbfc); overflow: hidden; }
.logo-artwork { position: absolute; inset: var(--logo-padding, 10%); overflow: hidden; }
.logo-artwork > img, .logo-artwork > .logo-cropped { display: block; width: 100%; height: 100%;
  padding: 0; margin: 0; border: 0; border-radius: 0; background: none; object-fit: contain; }
.logo-artwork > [hidden] { display: none; }
@media (max-width: 700px) {
  .logo-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
