/* ==========================================================================
   BPoint Home — Trusted by / client logos
   ========================================================================== */

.bp-home .trustedby { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 52px 0; background: #fff; }
.bp-home .trustedby .tb-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.bp-home .trustedby .tb-label {
  font-family: var(--display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--slate-2);
  white-space: nowrap;
}
.bp-home .trustedby .tb-line { flex: 1; height: 1px; background: var(--line); min-width: 40px; }
.bp-home .trustedby .tb-note { font-size: 13px; color: var(--slate-3); white-space: nowrap; }
.bp-home .trustedby .tb-link { color: var(--blue); text-decoration: underline; }

.bp-home .client-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.bp-home .client-logo {
  height: 72px;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 12px 14px;
  transition: .18s;
  text-align: center;
}
.bp-home .client-logo:hover { border-color: var(--line-strong); box-shadow: var(--shadow-sm); background: var(--paper); }
/* Text fallback (client with no logo image yet). Muted to sit at the same
   visual weight as the greyscaled real logos beside it, and brightening on
   hover to match their behaviour. */
.bp-home .client-logo .cl-name {
  font-family: var(--display);
  font-weight: 700;
  font-size: 13.5px;
  letter-spacing: .02em;
  color: var(--slate-2);
  line-height: 1.1;
  opacity: .78;
  transition: .2s;
}
.bp-home .client-logo:hover .cl-name { color: var(--navy); opacity: 1; }
.bp-home .client-logo .cl-sector {
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--slate-3);
  font-weight: 600;
  font-family: var(--display);
}
.bp-home .client-logo img { max-height: 48px; max-width: 100%; width: auto; object-fit: contain; filter: grayscale(1); opacity: .68; transition: .2s; }
.bp-home .client-logo:hover img { filter: none; opacity: 1; }

.bp-home .tb-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
}
.bp-home .tb-cta p { font-size: 14.5px; color: var(--slate); max-width: 560px; }

@media (max-width: 980px) { .bp-home .client-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .bp-home .client-grid { grid-template-columns: repeat(2, 1fr); } }
