Add CSS grid, better breakpoints, slightly better layout