grid{margin:0 auto;max-width:95vw;background:#333;display:grid;grid-template-columns:repeat(4,1fr);gap:1vh}
div{width:23vw;background:#A99;text-align:center;border:1px solid black}
div a{font-size:5vh}
@media screen and (max-width:1000px) {
    grid{grid-template-columns:repeat(3,1fr)}
    div{width:31vw}}
@media screen and (max-width:500px) {
    grid{grid-template-columns:1fr 1fr}
    div a{font-size:3vh}
    div{width:44vw;font-size:2vh}}