#introduction{
    position:relative;
    margin-top:108px;
    margin-bottom:130px;

    h1{font-size:96px; line-height:90px;}

    >*{
        position:relative;
        z-index:2;
    }

    >div.text-block{
        max-width:75%;
    }

    >div.img-block{
        position:absolute;
        top:-35px;
        left:50%;
        z-index:1;
        width: 789px;

        >img{
            width:100%;
            z-index:2;
        }
        >div.img-darkener{
            z-index: 2;
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            background: linear-gradient(to top, black 5%, transparent 50%);
        }
    }
}

#products-list{
    display:grid;
    grid-template-columns:49% 49%;
    grid-template-rows: repeat(auto-fill, 708px);
    position:relative;
    z-index:2;
    gap: 24px 2%;

    .product-item{
        display: grid;
        grid-template-rows: 540px 160px;
        row-gap: 8px;
    }

    .frame>.blurry{
        position:absolute;
        backdrop-filter: blur(15px);
        background: rgba(0, 0, 0, 0.6);
        top: 0;
        left: 0;
        right:0;
        bottom:0;
        z-index: -1;
    }

    .frame-content p{
        margin-block-start: 20px;
        margin-block-end: 20px;
    }

    .course-attributes{
        display: flex;
        justify-content: space-around;
    }

    .course-attributes h2{
        line-height:44px;
        font-size:40px;
    }

    p.gray{
        font-size:16px;
        line-height:20px;
        margin-block-end:0;
        margin-block-start: 0;
    }

    .bottom-frame{
        /*padding:32px 60px;*/

        h2{
            font-size:48px;
            line-height:64px;
        }

        .frame-content{
            display:flex;
            justify-content: space-around;
            align-items: center;
        }

        button{
            height:84px;
            width:84px;
            border-radius:50%;
            padding:0;
        }
    }
}


@media only screen and (max-width: 1440px){
    #introduction>div.text-block{
        max-width:800px;
    }
}


@media only screen and (max-width: 1280px){
    #introduction>h1{font-size:64px; line-height:64px;}
    #introduction>div.text-block{
        max-width:560px;
    }
    #introduction>div.img-block{
        top: -85px;
        width: 560px;
    }

    #products-list .course-attributes{
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    #products-list .bottom-frame h2{
        font-size:36px;
        line-height:36px;
    }
}


@media only screen and (max-width: 1000px){
    p{
        font-size:20px;
        line-height:24px;
    }

    #introduction{
        margin-top:550px;

        div.img-block{
            width:552px;
            top:-550px;
            left:20%;
        }

        div.text-block{
            max-width:100%;
        }
    }

    #products-list{
        display:block;

        >.product-item{
            display:block;
            margin-block: 20px;
        }

        .course-attributes{
            flex-direction:row;
            padding-top: 1rem;
            border-top: solid 1px gray;
        }
    }
}

@media only screen and (max-width: 768px){
    p{
        font-size:20px;
        line-height:24px;
    }

    #introduction{
        margin-top:550px;

        div.img-block{
            width:552px;
            top:-550px;
            left:calc((100vw - 552px) / 2 - 20px);
        }

        div.text-block{
            max-width:100%;
        }
    }

    #products-list{
        .course-attributes{flex-direction:column;}
    }

    #products-list .bottom-frame .button{
        width:64px;
        height:64px;
    }
}

@media only screen and (max-width: 560px){
    #introduction{
        margin-top: 90vw;
        margin-bottom: 60px;

        h1{margin-block: 1.4rem;}

        div.img-block{
            max-width: 90vw;
            left: auto;
            top: -90vw;
        }
    }
}

@media only screen and (max-width: 425px){
    #products-list .bottom-frame .button{
        width:52px;
        height:52px;
    }
}