We're struggling with this (80 people) and basically decided we have to get the entire company together twice a year. I'm not saying this is any perfect best practice, just that there is something that always gets lost in translation when we are remote. That gets cleared up instantly when we are together.
But what do you do for the weeks and months in between? Like, how do people turn to one another in real time?
(full disclosure, we're building a platform that integrates with Calendar, Zoom, and Slack to try to solve this problem and let people turn to one another in real-time, without interrupting heads-down time. Would love to interview you for user research if you're up for it)