:root {
    --moderate-violet: hsl(263, 55%, 52%);
    --very-dark-grayish-blue: hsl(217, 19%, 35%);
    --very-dark-blackish-blue: hsl(219, 29%, 14%);
    --white: hsl(0, 0%, 100%);
    --light-gray: hsl(0, 0%, 81%);
    --light-grayish-blue: hsl(210, 46%, 95%);
    --border-violet: rgba(186, 155, 236, 0.5);
    font-size: 13px;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--light-grayish-blue);
    font-family: 'Barlow Semi Condensed', sans-serif;
    margin: 0;
}

.card {
    border-radius: 0.6rem;
    padding: 1.98rem;
    margin: 2rem;
    box-sizing: border-box;
    max-width: 22rem;
}

.profile {
    display: grid;
    grid-template-columns: 2.8rem 1fr;
    grid-template-rows: 2.8rem;
}

.profile-icon {
    border-radius: 50%;
    box-sizing: border-box;
    border: 0.2rem solid var(--profile-color);
    grid-column: 1/2;
    max-width: 100%;
}

.name-status {
    grid-column: 2/3;
    margin-left: 1.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.name {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
}

.graduate-status {
    margin: 0;
    opacity: 50%;
    font-weight: 400;
}

.summary {
    font-size: 1.61rem;
    color: white;
    margin: 0.9rem 0;
    font-weight: 660;
}

.review {
    opacity: 70%;
    font-size: 1rem;
    margin: 0.2rem 0;
}

.one {
    background-color: var(--moderate-violet);
    color: var(--light-gray);
    background-image: url(./images/bg-pattern-quotation.svg);
    background-repeat: no-repeat;
    background-position: top right 1.6rem;
    --profile-color: var(--border-violet);
}

.one > .review {
    padding-right: 1.8rem;
}

.two {
    background-color: var(--very-dark-grayish-blue);
    color: var(--light-gray);
    --profile-color: var(--white);
}

.three {
    background-color: var(--white);
    color: var(--very-dark-grayish-blue);
    --profile-color: var(--white);
}

.three > .summary {
    color: var(--very-dark-grayish-blue);
}

.four {
    background-color: var(--very-dark-blackish-blue);
    color: var(--light-gray);
    --profile-color: var(--border-violet);
}

.four > .review {
    padding-right: 0.7;
}

.five {
    background-color: var(--white);
    color: var(--very-dark-blackish-blue);
    --profile-color: var(--white);
}

.five > .summary {
    color: var(--very-dark-blackish-blue);
}

.five > .review {
    padding-right: 0.8rem;
}

@media(min-width: 30rem) {
    .grid-container {
        margin: 2rem;
        display: grid;
        max-width: 62rem;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 1fr);
        gap: 1rem;
    }
    .card {
        max-width: 62rem;
        min-width: 17.7rem;
        margin: 0;
    }
    .one {
        grid-area: 1 / 1 / span 1 / span 2;
    }
    .two {
        grid-area: 2 / 1 / span 1 / span 1;
    }
    .three {
        grid-area: 2 / 2 / span 1 / span 1;
    }
    .four {
        grid-area: 3 / 1 / span 1 / span 2; 
    }
    .five {
        grid-area: 4 / 1 / span 1 / span 2;
    }
}

@media(min-width: 65.5rem) {
    .grid-container {
        max-width: 86rem;
        max-height: 43rem;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: 1.25fr 1fr;
        gap: 2rem;
    }
    .card {
        max-width: 48rem;
    }
    .one {
        grid-area: 1 / 1 / span 1 / span 2;
        background-position: top right 6rem;
    }
    .two {
        grid-area: 1 / 3 / span 1 / span 1;
    }
    .three {
        grid-area: 2 / 1 / span 1 / span 1;
    }
    .four {
        grid-area: 2 / 2 / span 1 / span 2; 
    }
    .five {
        grid-area: 1 / 4 / span 2 / span 1;
    }
    .one > .review {
        padding-right: 0.825rem;
    }
    .two > .review {
        padding-right: 1rem;
    }
    .three > .summary {
        padding-right: 1rem;    
    }
    .five > .summary {
        margin-bottom: 1.5rem;
    }
    .five > .review {
        padding-right: 2rem;
    }
    .attribution {
        margin-top: 1rem;
    }    
}