#singular-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--gutter);
    grid-template-areas:
    'a a a b';
}

#singular-main {
    grid-area: a;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--gutter);
}

#sidebar {
    grid-area: b;
}





@media only screen and (max-width: 1024px) and (orientation: portrait) {
    #singular-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--gutter);
        grid-template-areas:
        'a'
        'b';
    }
}



@media only screen and (max-width: 640px) and (orientation: portrait) {
    #singular-grid {
        grid-template-areas:
        'a'
        'b';
    }

    #singular-main {
        grid-template-columns: minmax(0, 1fr);
    }
}