@layer components {
  .team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-2);
    max-inline-size: var(--content-mid);

    @media (min-width: 48rem) {
      gap: var(--space-4);
    }
  }

  .team-card {
    aspect-ratio: 1;
    border: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: var(--space-2);
    transition: opacity 300ms;

    @media (min-width: 48rem) {
      padding: var(--space-4);
    }
  }

  .team-card__name {
    color: var(--color-text);
    font-size: var(--text-sm);
    margin-block-end: var(--space-1);
    font-weight: 400;

    @media (min-width: 48rem) {
      font-size: var(--text-lg);
    }
  }

  .team-card__role {
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    font-style: italic;
  }
}
