:root{
  --lilac:#a9a4ff;   /* cor de fundo aproximada do mockup */
  --ink:#0a0f18;
}

.partners{
  position: relative;
  background: var(--lilac);
  color: #fff;
  padding: 64px 0 90px;  /* extra para o recorte não sobrepor conteúdo */
}

/* recorte branco diagonal (decorativo) */
.partners::after{
  content:"";
  position:absolute;
  left:-8%;
  top:-36px;
  width:49%;
  height:75px;
  background:var(--lilac);
  pointer-events:none;
}

.partners .wrap{max-width:1200px;margin:0 auto;padding-top: 20px}

/* layout 2 colunas */
.grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 40px;
  align-items: center;
}

.partners .title{
  margin:0 0 18px;
  font-size: clamp(28px,4vw,56px);
  font-weight: 900;
  letter-spacing:.02em;
}
.partners .title .u{margin-right:8px}

.lead{
  margin:0;
  font-size: clamp(18px,1.5vw,24px) !important;
  line-height:1.45;
  color: rgba(255,255,255,.92);
  text-align: justify;
}

/* coluna direita */
.right{
  display:flex;
  grid-template-rows: auto auto;
  align-items:start;
  justify-items:end;
  gap: 22px;
  height: 100%;
  justify-content: center;
  align-items: center;
}

.logo-row{
  display:grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 22px;
}

/* cartão de logo (placeholder) – substitui por <img> ou SVG */
/* .logo{
  display:grid;
  place-items:center;
  min-height: 88px;
  padding: 14px 18px;
  border: 2px solid rgba(255,255,255,.9);
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  color:#fff;
  font-weight: 800;
  font-size: clamp(18px,2vw,28px);
  text-align:center;
} */

/* ---------- mobile ---------- */
@media (max-width: 900px){
  .grid{grid-template-columns:1fr}
  .right{justify-items:start;text-align:left}
  .logo-row{grid-template-columns: repeat(2, 1fr)}
}

@media (max-width: 520px){
  .logo-row{grid-template-columns:1fr}
}

.banner-partners-white {
  position: absolute;
  bottom: -200px;
  left: 0;
}
