* { margin: 0; padding: 0; box-sizing: border-box; } :root { --grid-rows: repeat(2, 1fr); } html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { font-family: Helvetica, system-ui, sans-serif; color: #000; padding: 1.5rem; line-height: 1; } .buds { display: grid; grid-template-columns: var(--grid-rows); } svg { width: 100%; } @media only screen and (min-width: 800px) { :root { --grid-rows: repeat(3, 1fr); } } @media only screen and (min-width: 1280px) { :root { --grid-rows: repeat(4, 1fr); } } @media only screen and (min-width: 1600px) { :root { --grid-rows: repeat(5, 1fr); } }