/* ==========================================================================
   Section: Team grid — Figma 118:1419 (Management), 118:1451 (Craftsmen)
   Centred head, then photo cards with a bordered text body. Four 295px cards
   across by default; the `--cols-3` modifier draws three 390px ones.
   ========================================================================== */

.trustav-team {
  padding-block: clamp(3rem, 6vw, 5.625rem);
}

.trustav-team__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px; /* Figma 118:1423 */
  margin-bottom: 56px; /* Figma 118:1420 — 159px head-to-cards minus the head. */
  text-align: center;
}

.trustav-team__title {
  margin: 0;
  max-width: 822px; /* Figma 118:1424 */
  font-size: var(--fs-h2);
  color: var(--c-black);
}

.trustav-team__intro {
  margin: 0;
  max-width: 882px; /* Figma 118:1425 */
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  color: var(--c-neutral-1);
}

/* Flex, not grid, so a short last row sits centred (client, 2026-09-30). */
.trustav-team__grid {
  --team-cols: 4;
  --team-gap: 20px; /* Figma 120:3138 — 295px cards at 0/315/630/945 */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--team-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.trustav-team--cols-3 .trustav-team__grid {
  --team-cols: 3;
  --team-gap: 35px; /* Figma 120:3180 — 390px cards at 0/425/850 */
}

.trustav-team__card {
  display: flex;
  flex-direction: column;
  width: calc((100% - (var(--team-cols) - 1) * var(--team-gap)) / var(--team-cols));
}

.trustav-team__figure {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 295 / 320; /* Figma 120:3156 */
  background-color: var(--c-neutral-4);
}

.trustav-team--cols-3 .trustav-team__figure {
  aspect-ratio: 390 / 320; /* Figma 120:3182 */
}

.trustav-team__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.trustav-team__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 18px; /* Figma 120:3158 */
  padding: 28px 24px; /* Figma 120:3157 */
  border: var(--border-width) solid var(--c-border);
  border-top: 0;
}

.trustav-team__names {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

.trustav-team__role {
  margin: 0;
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-medium);
  line-height: var(--lh-tight);
  letter-spacing: 0.31em; /* Figma 120:3160 — 3.72px on 12px */
  color: var(--c-accent);
  text-transform: uppercase;
}

.trustav-team__name {
  margin: 0;
  font-family: var(--ff-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  color: var(--c-black);
}

.trustav-team__text {
  margin: 0;
  font-size: var(--fs-body-sm);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  color: var(--c-neutral-1);
}

/* --- Responsive ---------------------------------------------------------- */
@media (max-width: 1024px) {
  .trustav-team .trustav-team__grid {
    --team-cols: 2;
  }

  .trustav-team__head {
    margin-bottom: var(--space-3xl);
  }
}

@media (max-width: 560px) {
  .trustav-team .trustav-team__grid {
    --team-cols: 1;
  }
}
