:root{
    --Red: hsl(0, 78%, 62%);
    --Cyan: hsl(180, 62%, 55%);
    --Orange: hsl(34, 97%, 64%);
    --Blue: hsl(212, 86%, 64%);
    --Grey500: hsl(234, 12%, 34%);
    --Grey400: hsl(212, 6%, 44%);
    --White: hsl(0, 0%, 100%);
}

*{
    font-family: 'Poppins',sans-serif;
}

body{
    background-color: var(--White);
    margin: 0;
    height: 100vh;
}

h1{
    font-size: 2rem;
    text-align: center;
}

.light-title{
    font-weight: 200;
}

.bold-title{
    font-weight: 600;
}

h2{
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    margin-top: 0;
    
}

p{
    font-size: 0.6rem;
    font-weight: 300;
    margin-top: 0;
    color: var(--Grey500);
    
}

.text{
    font-size: 0.9rem;
    text-align: center;
    font-weight: 400;
}

.grid-container{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    width: 900px;
    gap: 30px;
    margin: 3rem auto;
    background-color: transparent;
    
    
}

.card{
    background-color: var(--White);
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(20, 40, 100, 0.07);
    position: relative;
    display: flex;
    flex-direction: column;
    height: 150px;
    
    
}

.card img{
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    width: 50px;
}

.card1{
        grid-column: 1;
        grid-row: 1 / span 2; 
        align-self: center; 
        border-top: 4px solid var(--Cyan);
       
        
}

.card2{
    grid-column: 2;
    border-top: 4px solid var(--Red);
}

.card3{
    grid-column: 2;
    grid-row: 2;
    border-top: 4px solid var(--Orange);
}

.card4{
    grid-column: 3;
    grid-row: 1 / span 2; 
    align-self: center; 
    border-top: 4px solid var(--Blue);
}

@media screen and (max-width: 950px) {
    .grid-container {
        width: 90%;
        max-width: 600px;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, auto);
        margin: 2rem auto;
    }

    .card {
        height: auto;
        min-height: 180px;
    }

    .card1, .card2, .card3, .card4 {
        grid-column: 1;
        align-self: stretch;
    }

    .card1 {
        grid-row: 1;
    }

    .card2 {
        grid-row: 2;
    }

    .card3 {
        grid-row: 3;
    }

    .card4 {
        grid-row: 4;
    }

    h1 {
        font-size: 1.5rem;
        padding: 0 1rem;
    }

    .text {
        font-size: 0.8rem;
        padding: 0 1.5rem;
    }
}


@media screen and (max-width: 480px) {
    h1 {
        font-size: 1.3rem;
    }

    .text br {
        display: none; 
    }

    .grid-container {
        width: 85%;
        gap: 20px;
    }

    .card {
        padding: 1.2rem;
    }
    
    .card img {
        width: 40px;
        bottom: 1.5rem;
        right: 1.5rem;
    }
}