@layer components {
  .team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--block-space-half);

    @media (min-width: 48rem) {
      grid-template-columns: repeat(3, 1fr);
      gap: var(--block-space);
    }
  }

  .team-card {
    aspect-ratio: 1;
    border: var(--border-standard);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: var(--block-space-half);
    transition: opacity 300ms;
    overflow: hidden;

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

    html[data-theme="dark"] & {
      opacity: 0.9;
    }
  }

  .team-card--stripes {
    background: linear-gradient(135deg, var(--color-blue-lighter) 25%, transparent 25%),
                linear-gradient(225deg, var(--color-blue-lighter) 25%, transparent 25%),
                linear-gradient(45deg, var(--color-blue-lighter) 25%, transparent 25%),
                linear-gradient(315deg, var(--color-blue-lighter) 25%, var(--color-blue-lightest) 25%);
    background-size: 20px 20px;
    background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
  }

  .team-card--dots {
    background-color: var(--color-blue-lightest);
    background-image: radial-gradient(circle, var(--color-blue-lighter) 1px, transparent 1px);
    background-size: 10px 10px;
  }

  .team-card--grid {
    background: linear-gradient(90deg, var(--color-blue-lighter) 1px, transparent 1px),
                linear-gradient(0deg, var(--color-blue-lighter) 1px, transparent 1px);
    background-size: 15px 15px;
    background-color: var(--color-blue-lightest);
  }

  .team-card__name {
    color: var(--color-gray-darker);
    font-size: var(--text-medium);
    margin-block-end: var(--block-space-half);
    font-weight: 400;
    overflow-wrap: break-word;
    word-break: break-word;

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

  .team-card__role {
    color: var(--color-gray-dark);
    font-size: var(--text-small);
    line-height: var(--leading-tight);
    font-style: normal;
  }
}
