/* ─────────────────────────────────────────────
   BRANDS · Warm Intelligence
   Service grid + brand roster
   ───────────────────────────────────────────── */

/* 3-column variant of cap-grid */
.cap-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
  .cap-grid--3 { grid-template-columns: 1fr; }
  .cap-grid--3 .cap-cell { border-right: 0 !important; border-bottom: 1px solid var(--rule); }
  .cap-grid--3 .cap-cell:last-child { border-bottom: 0; }
}

/* CTA link inside cap-cell */
.brand-cta {
  font-family: var(--font-sans);
  font-size: var(--t-body-sm);
  font-weight: 500;
  color: var(--accent);
  transition: color var(--dur-fast) var(--ease);
  margin-top: var(--s-2);
}
.brand-cta:hover { color: var(--accent-deep); }

/* Brand roster */
.roster {
  padding: var(--s-7) 0;
  border-bottom: 1px solid var(--rule);
}
.roster__title {
  font-family: var(--font-serif);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: var(--tracking-display);
  margin: 0 0 var(--s-6);
  max-width: 50ch;
}
.roster__title b { font-weight: 600; }

.roster__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--rule);
}
.roster__grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
.roster__cell {
  padding: var(--s-5) var(--s-4);
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  display: grid;
  gap: var(--s-4);
  align-content: start;
}
.roster__grid--4 .roster__cell:nth-child(4n) { border-right: 0; }
.roster__grid--4 .roster__cell:nth-last-child(-n+4) { border-bottom: 0; }
.roster__grid:not(.roster__grid--4) .roster__cell:last-child { border-right: 0; }

.roster__name {
  font-family: var(--font-serif);
  font-size: var(--t-title-md);
  font-weight: 400;
  line-height: 1.1;
  margin: 0;
}

.roster__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--s-2);
}
.roster__list li {
  font-family: var(--font-sans);
  font-size: var(--t-body);
  font-weight: 400;
  color: var(--ink-soft);
  padding: 6px 0;
  border-bottom: 1px solid var(--rule);
}
.roster__list li:last-child { border-bottom: 0; }

@media (max-width: 1100px) {
  .roster__grid--4 { grid-template-columns: repeat(2, 1fr); }
  .roster__grid--4 .roster__cell:nth-child(4n) { border-right: 1px solid var(--rule); }
  .roster__grid--4 .roster__cell:nth-child(2n) { border-right: 0; }
  .roster__grid--4 .roster__cell:nth-last-child(-n+4) { border-bottom: 1px solid var(--rule); }
  .roster__grid--4 .roster__cell:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 900px) {
  .roster__grid, .roster__grid--4 { grid-template-columns: 1fr; }
  .roster__cell { border-right: 0 !important; border-bottom: 1px solid var(--rule); }
  .roster__cell:last-child { border-bottom: 0; }
}
