:root{
    /*===== Primary =====*/
    --red: hsl(0, 78%, 62%);
    --cyan: hsl(180, 62%, 55%);
    --orange: hsl(34, 97%, 64%);
    --blue: hsl(212, 86%, 64%);
    
    /*===== Neutral =====*/
    --grey-500: hsl(234, 12%, 34%);
    --grey-400: hsl(212, 6%, 44%);
    --bg-color: hsl(0, 0%, 98%);
    --white: hsl(0, 0%, 100%);
    /*===== Fonts =====*/
    --font-family: "Poppins", serif;
}
/*===== Global =====*/
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-family);
    font-size: 15px;
}
.main-container{
    min-width: 320px;
    padding: 3rem 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--bg-color);
}
.section__header{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 .1rem;
    margin-bottom: 3.5rem;
}
.section__title{
    font-size: 1.7rem;
    font-weight: 200;
    color: var(--grey-400);
}
.section__subtitle{
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--grey-500);
    margin-bottom: .8rem;
}
.section__description{
    font-size: 1.050rem;
    font-weight: 200;
    color: var(--grey-500);
}
/*===== Card =====*/
.section__body{
    display: flex;
    justify-content: center;
}
.section__cards{
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    justify-content: center;
    align-items: center;
}
.card{
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 300px;
    background-color: var(--white);
    border-radius: .8rem;
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: 0px 30px 30px -22px hsla(212, 86%, 64%, 0.231);;
}
.card h2{
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--grey-500);
    margin-bottom: .3rem;
}
.card p{
    font-size: .9rem;
    font-weight: 200;
    color: var(--grey-500);
    margin-bottom: 2rem;
}
.card figure{
    align-self: end;
}
.card__image--supervisor::before,
.card__image--teamBuilder::before,
.card__image--karma::before,
.card__image--claculator::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: var(--red);
    border-top-left-radius: .8rem;
    border-top-right-radius: .8rem;
}
.card__image--supervisor::before{
    background-color: var(--cyan);
}
.card__image--karma::before{
    background-color: var(--orange);
}
.card__image--claculator::before{
    background-color: var(--blue);
}

/*===== Media Queries =====*/
@media (width >= 768px){
    .main-container{
        height: 100vh;
    }
    .section__title{
        font-size: 1.9rem;
    }
    .section__subtitle{
        font-size: 1.9rem;
    }
    .section__description{
        max-width: 400px;
        font-size: .8rem;
    }
    .section__cards{
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 2rem;
    }
}
@media (width >= 1024px){
    .section__header{
        margin-bottom: 5rem;
    }
    .section__title{
        font-size: 2.3rem;
    }
    .section__subtitle{
        font-size: 2.3rem;
    }
    .section__description{
        max-width: 500px;
        font-size: 1rem;
    }
    .card{
        max-width: 350px;
    }
    .section__cards{
        grid-template-columns: repeat(3, 350px);
        grid-template-rows: repeat(4, 100px);
    }
    .card--teamBuilder{
        grid-column: 2 / 3;
        grid-row: 1 /  3;
    }
    .card--claculator{
        grid-column: 3 / 4;
        grid-row: 2 / 4;
    }
    .card--supervisor{
        grid-column: 1 / 2;
        grid-row: 2 / 4;
    }
    .card--karma{
        grid-column: 2 / 4;
        grid-row: 3 / 5;
    }
}