.grid-4-8-12,
.grid-2 {
    display: grid;
    column-gap: var(--size);
    grid-auto-rows: min-content;
}

.grid-2 {grid-template-columns: repeat(2, 1fr);}
.grid-4-8-12 {grid-template-columns: repeat(4, 1fr);}
@media only screen and (min-width: 768px) {
    .grid-4-8-12 {grid-template-columns: repeat(8, 1fr);}
}
@media only screen and (min-width: 1096px) {
    .grid-4-8-12,
    .grid-2 {column-gap: 2.5rem;}
    
    .grid-4-8-12 {grid-template-columns: repeat(12, 1fr);}
}

.grid-no_gap {column-gap: 0;}