/* Partners — agency columns with brands underneath */

.partners-section {
  background: var(--azul-midnight-ink);
  color: #fff;
  padding: clamp(72px, 10vw, 120px) 0 clamp(80px, 11vw, 140px);
}

.partners-section__inner {
  width: min(1280px, calc(100% - (var(--gutter) * 2)));
  margin: 0 auto;
}

.partners-section__headline {
  margin: 0 0 clamp(48px, 7vw, 72px);
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: clamp(1.2rem, 2.15vw, 1.85rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #fff;
  white-space: nowrap;
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 36px) clamp(12px, 2vw, 28px);
  align-items: start;
}

.partners-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
}

.partners-col__agency {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 118px;
  margin-bottom: clamp(18px, 2.4vw, 26px);
}

.partners-col__agency img {
  max-width: min(240px, 100%);
  max-height: 110px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.partners-col__brands {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(12px, 1.6vw, 18px);
  width: 100%;
}

.partners-col__brands li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
}

.partners-col__brands img {
  max-width: min(176px, 96%);
  max-height: 64px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.partners-col img {
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

/* White-on-black source files: drop black plate, keep white mark */
.partners-col img.partners-logo--knockout,
.partners-azul__brands img.partners-logo--knockout {
  filter: none;
  mix-blend-mode: lighten;
  opacity: 1;
}

/* Azul — logo on top, then five brand columns aligned with agencies */
.partners-azul {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(28px, 3.5vw, 40px);
  margin-top: clamp(28px, 4vw, 48px);
  padding-top: clamp(28px, 4vw, 40px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.partners-azul__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.partners-azul__logo img {
  width: min(280px, 55%);
  height: auto;
  max-height: 56px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.95;
}

.partners-azul__brands {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 28px);
  align-items: center;
  justify-items: center;
}

.partners-azul__brands li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
}

.partners-azul__brands img {
  max-width: min(176px, 96%);
  max-height: 64px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

@media (max-width: 1100px) {
  .partners-section__headline {
    white-space: normal;
    font-size: clamp(1.25rem, 2.6vw, 1.7rem);
  }
}

@media (max-width: 980px) {
  .partners-grid,
  .partners-azul__brands {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .partners-grid,
  .partners-azul__brands {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 16px;
  }

  .partners-col__agency img {
    max-height: 72px;
  }
}
