/* =====================================================================
   1415 — Home Page "Brands" strip. Configurable module (rp_brands):
   centred header + red "View all case studies" link (top-right), then a
   row of brand logos (or the brand name as a text wordmark fallback).
   Loaded by the catalog controller via addStyle().
   ===================================================================== */
.rp-brands { --red:#db0f16; --red-dark:#b50c12; --ink:#1c1c1c; --muted:#5a5a5a;
  font-family:'Outfit',sans-serif; margin:34px 0; }
.rp-brands * { box-sizing:border-box; }

/* header: centred title, view-all pinned right */
.rp-brands__head { position:relative; display:flex; align-items:center; justify-content:center; min-height:28px; margin:0 0 30px; }
.rp-brands__title { margin:0; font-size:19px; font-weight:700; color:var(--ink); text-align:center; letter-spacing:-.005em; }
.rp-brands__viewall {
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  font-size:14px; font-weight:600; color:var(--red); text-decoration:none;
  white-space:nowrap; display:inline-flex; align-items:center; gap:7px;
}
.rp-brands__viewall:hover { color:var(--red-dark); text-decoration:underline; }

/* row of brands */
.rp-brands__row {
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap;
}
.rp-brands__item { flex:1 1 auto; display:flex; align-items:center; justify-content:center; min-width:120px; }

.rp-brands__brand { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; color:inherit;
  opacity:.85; transition:opacity .15s ease, transform .15s ease; }
a.rp-brands__brand:hover { opacity:1; transform:translateY(-1px); }

.rp-brands__logo { display:block; max-height:38px; max-width:150px; width:auto; height:auto; object-fit:contain; }

/* text fallback (used when a brand has no uploaded logo) */
.rp-brands__name { font-size:22px; font-weight:800; letter-spacing:-.02em; color:var(--muted); line-height:1; white-space:nowrap; }

/* responsive */
@media (max-width:900px){
  .rp-brands__head { flex-direction:column; gap:12px; align-items:center; }
  .rp-brands__viewall { position:static; transform:none; }
  .rp-brands__row { gap:22px 30px; justify-content:center; }
  .rp-brands__item { flex:0 0 auto; min-width:0; }
}
@media (max-width:560px){
  .rp-brands__name { font-size:19px; }
  .rp-brands__logo { max-height:32px; }
}
