.speakers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  text-align: center;
}

@media (max-width: 900px) {
  .speakers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .speakers {
    grid-template-columns: 1fr;
  }
}

.speaker {
  position: relative;
  border: 1px solid var(--divider-color);
  border-radius: var(--radius);
  padding: 2rem;

  /* Ombre à zéro au repos : elle existe pour la transition mais n'est pas visible */
  box-shadow: 0 0 0 0 var(--dark-primary-color);

  /* Transition sur tout, en steps pour le rendu pixel saccadé */
  transition:
    transform var(--transition-pixel),
    box-shadow var(--transition-pixel),
    border-color var(--transition-pixel),
    background var(--transition-pixel);
}

.speaker:hover {
  border-color: var(--default-primary-color);
  transform: translate(-2px, -2px);
  box-shadow: var(--shadow-pixel);
  z-index: 2; /* important : passe au-dessus des voisines */
  outline: none;
}

.speaker:hover h2 a {
  color: var(--default-primary-color);
}

.socials {
  margin-top: 1rem;
}

.company {
  margin-bottom: 1rem;
}
