.heading {
    display: block;
    text-align: right;
    align-content: right;
}

@media (min-width: 1200px) {

    .heading {
        padding: 2rem 0 2rem;
        width: 100%;
        height: 20rem;
    }

    .grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(25%, 1fr));
        grid-gap: 3rem;
        margin: 0 3% 0 3%
    }
}

@media (max-width: 1200px) {

    .heading {
        padding: 2rem 0 2rem;
        width: 100%;
        height: 20rem;
    }

    .grid {
        margin: 0 0.5% 0 0.5%;
        grid-gap: 3rem;
        margin-bottom: 1rem;
    }
}

.grid > div {
    background: #EDE7F6;
    padding: 1.5rem;
    border-radius: 0.5rem;
    margin-bottom: 3rem;
}

body {
    min-width: 500px;
    margin: 2rem;
    font: 17px system-ui;
}