I just noticed that by commenting wp_reset_postdata (at the end of the loop) there is no repeating of boxes, but get_permalink( $post->ID ) does’t work, all 3 posts link to same single post.
<?php endforeach; ?>
<?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
endif; ?>