/* ============================
      hero
============================ */
.sec-hero{

    min-height: 890px;

    padding: 305px 0 134px;

    background-position: center;

    background-size: cover;

    background-repeat: no-repeat;

    background-color: #1A1613;

}



.inner-hero{

    padding-right: 52px;

    gap: 20px;

}



.hero-content_left{

    max-width: 592px;

    width: 100%;

    padding-top: 101px;

}



.hero-content_left h1{

    margin: 0 0 29px;

}

.hero-content_left .hero-text_img{
    margin: 0 0 33px;
    aspect-ratio: 397/150;
    max-width: 397px;
}

.hero-content_left .hero-text_img img{
    height: 100%;
    width: 100%;
}


.hero-content_left p{

    font-family: "Plus Jakarta Sans", sans-serif;

    font-weight: 400;

    font-size: clamp(16px, 1.736vw, 25px);

    line-height: calc(28/25);

    letter-spacing: -0.04em;

    color: #fff;

    margin: 0 0 44px;

    max-width: 455px;

    width: 100%;



}



.hero-content_left p span,

.hero-content_left p i,

.hero-content_right p span{

    font-weight: 800;

}



.hero-content_right{

    max-width: 532px;

    width: 100%;

}



.hero-content_right p{

    font-weight: 200;

    font-size: 70px;

    line-height: 60px;

    letter-spacing: -0.04em;

    color: #fff;

}



.hero-content_right p:last-child{

    text-align: end;

}



/* ============================

    progress

============================ */

.inner-progress{

    padding: 120px 0 182px;

}



.inner-progress h2{
    font-family: 'TeXGyreAdventor';

    max-width: 677px;

    width: 100%;

    margin: 0 0 138px;

    font-size: clamp(30px, 4.861vw, 70px);

}



.progress-list{

    gap: 78.5px;

}



.progress-list_item{

    width: calc(33.333% - 52.333px);

}



.progress-list_item .text-title{

    margin: 0 0 45px;

    font-size: clamp(14px, 2.083vw, 30px);

}



.progress-list_item p{

    letter-spacing: 0;

    line-height: 34px;

}



/* ============================

    programs

============================ */

.programs-list_item{

    width: 50%;

    padding: 270px 20px 62px 51px;

    position: relative;
    overflow: hidden;

}

.programs-list_item .overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;

    background-size: cover;

    background-repeat: no-repeat;
    z-index: 1;
    transition: all 0.5s;
}

.programs-list_item .overlay::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    transition: all 0.5s;
}

.programs-list_item:hover .overlay::after{
    opacity: 1;
}

.programs-list_item:hover .overlay{
    scale: 1.1;
}

.programs-list_item:hover .programs-list_item--title,
.programs-list_item:hover .programs-list_item--title a{
    color: #B9D8F4;
}


.programs-list_item .programs-list_item--icon{

    display: flex;

    height: fit-content;

    margin: 0 0 11px;
    position: relative;
    z-index: 5;

}



.programs-list_item .programs-list_item--title{

    max-width: 425px;

    width: 100%;

    color: #fff;
    position: relative;
    z-index: 5;
    transition: all 0.5s;

}



.programs-list_item .programs-list_item--title a{

    color: #fff;
    transition: all 0.5s;

}



/* ============================

    profile

============================ */

.inner-profile{

    padding: 159px 0 117px;

}

.profile-content_left,

.profile-content_right{

    width: 50%;

}



.profile-content_left{

    padding: 3px 83px 0 0;

}



.profile-content_left .profile-content_left--avata{

    aspect-ratio: 466/466;

    overflow: hidden;

    max-height: 466px;

}



.profile-content_left .profile-content_left--avata img{

    height: 100%;

    width: 100%;

    border-radius: 50%;

}



.profile-content_right{

    padding: 0 0 0 34px;

}



.profile-content_right .profile-content_right--content{

    max-width: 489px;

    width: 100%;

}



.profile-content_right .text-title{
    text-transform: uppercase;
    font-family: 'hanson';
    margin: 0 0 45px;
    letter-spacing: 0.05em;
    line-height: calc(28/30);
}



.profile-content_right .desc{

    margin: 0 0 29px;

    color: #000;

}



.profile-content_right .desc p{
    margin: 0;
    font-size: 20px;
    letter-spacing: 0.07em;
}



.profile-content_right .desc a{

    font-weight: 800;

    color: #000;

}



.main-hero .container{

    max-width: 1360px;

    position: relative;

    z-index: 2;

}



/* ============================

    crew hero

============================ */

.main-hero{

    min-height: 725px;

    background-repeat: no-repeat;

    background-position: center;

    background-size: cover;

    background-color: #1A1613;

    position: relative;

    overflow: hidden;

}



.inner-main_hero{

    padding: 85px 0 95px 88px;

}



.inner-main_hero p{

    display: none;

}



.inner-main_hero .the-title{

    max-width: 467px;

    width: 100%;

}



/* ============================

    spotlight

============================ */

.main-spotlight{

    position: relative;

}

.inner-spotlight{

    padding: 159px 0 80px;

}



.inner-spotlight .spotlight-content{

    width: 50%;

}



.inner-spotlight .spotlight-content:first-child{

    padding: 0 60px 0 0;

}



.spotlight-content .spotlight-content_thumb{

    max-width: 498px;

    width: 100%;

    aspect-ratio: 498/600;

    overflow: hidden;

}



.spotlight-content .spotlight-content_thumb img{

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.inner-spotlight .spotlight-content:last-child{

    padding: 148px 0 0 38px;

}



.inner-spotlight .spotlight-content .text-title{

    margin: 0 0 27px;

    max-width: 519px;

    width: 100%;

}



.inner-spotlight .spotlight-content p{

    font-family: "Plus Jakarta Sans", sans-serif;   

    line-height: calc(34/16);

    max-width: 499px;

    width: 100%;

    letter-spacing: 0.01em;
    font-size: 16px;

}



/* ============================

    pricing

============================ */

.sec-pricing{

    padding: 164px 0 149px;

    background-position: center;

    background-repeat: no-repeat;

    background-size: cover;

    overflow: hidden;

    position: relative;

    z-index: 2;

}



.sec-pricing .container{

    max-width: 1340px;

}



.pricing-slider{

    overflow: visible !important;

    padding: 0 0 82px !important;

}



.pricing-slider .swiper-slide{

    max-width: 413px;

    width: 100%;

    box-shadow: -10px 10px 32px 0px #000000A6;

    background: rgba(86, 75, 87, 0.53);

    border-radius: 20px;

    overflow: hidden;

    transition: all 0.7s;

    position: relative;

    top: 0;

    height: auto !important;

}



.pricing-slider .swiper-slide:hover{
    background: #1D1D1C;
    top: -71px;

}

.pricing-slider .swiper-slide:hover .btn-card{
    background: #BDCEDD;
    color: #000;
}



/* .pricing-slider .swiper-slide.swiper-slide-active,

.pricing-slider .swiper-slide:hover{

    background: #1D1D1C;

} */



.pricing-card{

    padding: 60px 24px 71px 36px;

    min-height: 732px;

    height: 100%;

    gap: 20px;

}



.pricing-card .card-icon{

    display: flex;

    height: fit-content;

    margin: 0 0 72px;

}



.pricing-card .card-name{

    font-family: "Fustat", sans-serif;

    font-weight: 800;

    font-size: 40px;

    line-height: 34px;

    letter-spacing: -0.04em;

    color: #fff;

    max-width: 155px;

    margin: 0 0 105px;

}



.pricing-card .pricing-number{

    font-weight: 800;

    font-size: 100px;

    line-height: calc(32/100);

    letter-spacing: -0.04em;

    margin: 0 0 39px -12px;

    color: #fff;

}



.pricing-card .pricing-card_top span{

    font-weight: 400;

    font-size: 30px;

    line-height: 29px;

    letter-spacing: -0.04em;

    color: #fff;

    display: block;

}



.pricing-card .pricing-card_bottom .btn-card{

    font-weight: 700;

    font-size: 20px;

    line-height: 51px;

    letter-spacing: -0.04em;

    padding: 5px 19px 4px 23px;

    color: #776E80;

    background: #D9D9D9;

    margin: 0 0 53px;

    display: inline-block;

}



.pricing-card_bottom--desc{

    min-height: 56px;

    max-width: 200px;

}



.pricing-card_bottom--desc p{

    font-weight: 400;

    font-size: 30px;

    line-height: calc(28/30);

    letter-spacing: -0.04em;

    color: #fff;

}

.hidden-pc{

    display: none;

}

.swiper-scrollbar{
    background: #D9D9D9 !important;
    border-radius: 100px !important;
    height: 26px !important;
}

.swiper-scrollbar .swiper-scrollbar-drag{
    background: #BDCEDD !important;
    border-radius: 100px !important;
}


.hero-bg_mb{

    position: absolute;

    width: 100%;

    height: 100%;

    top: 0;

    left: 0;

    background-position: center bottom;

    background-repeat: no-repeat;

    background-size: 100%;

    display: none;

}



.vg-hero .hero-bg_mb{

    background-position: center top;

    background-size: cover;

}



.main-spotlight .logo-overlay{

    max-width: 1174px;

    width: 100%;

    margin: 0 auto;

    position: absolute;

    top: 461px;

    z-index: 0;

    aspect-ratio: 1174/912;

    overflow: hidden;

}



.main-spotlight .logo-overlay img{

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.contact-main{
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    min-height: 1691px;
    padding: 299px 0;
    background-color: #1A1613;
}

.contact-main .container{
    max-width: 1330px;
}

.inner-contact h1{
    max-width: 517px;
    width: 100%;
    margin: 0 0 25px;
}

.inner-contact p{
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 40px;
    letter-spacing: -0.04em;
    max-width: 542px;
    width: 100%;
    color: #fff;
    margin: 0 0 69px;
}

.inner-contact .btn-contact{
    min-height: 84px;
    width: fit-content;
    color: #fff;
    gap: 14px;
}

.inner-contact .btn-contact span{
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 600;
    font-size: 30px;
    letter-spacing: -0.04em;
    line-height: 75px;
    padding: 0 0 9px;
}

.inner-contact .btn-contact_email{
    background: #776E80;
    padding: 0 15px 0 14px;
    
}

.inner-contact .contact-info{
    gap: 14px;
}

.inner-contact .btn-contact_phone{
    background: #2E3943;
    padding: 0 25px 0 15px;
}


@media(min-width: 1440px){

    .inner-progress{

        padding: 120px 15px 182px 5px;

    }

    .progress-list{

        padding-left: 8px;

    }

    .profile-content_right .desc{

        padding-left: 2px;

    }
    .bp-spotlight .inner-spotlight .spotlight-content:last-child{
        margin-left: -11px;
    }

    .sec-hero .container,
    .contact-main .container{
        max-width: 100%;
        padding: 0 59px;
    }

    .inner-header{
        padding: 0 61px;
    }

    .sec-pricing{
        background-position: top center;
    }

}



@media(min-width: 767px){

    /* ============================

        blue-print

    ============================ */

    .bp-hero .inner-main_hero{

        padding: 71px 0 67px 49px;

    }



    .bp-spotlight .spotlight-content_thumb{

        aspect-ratio: 488/626;

        max-width: 488px;

    }



    .bp-spotlight .spotlight-content .spotlight-content_logo{

        display: flex;

        height: fit-content;

        margin: 0 0 54px;

    }



    .bp-spotlight .spotlight-content .text-title{

        max-width: 410px;

    }

    .vg-spotlight .spotlight-content .text-title{
        max-width: 542px;
    }



    .bp-spotlight .inner-spotlight .spotlight-content:first-child{

        padding: 0 65px 0 0;

    }



    .bp-spotlight .inner-spotlight .spotlight-content:last-child{

        padding: 85px 0 0;

    }



    /* .bp-spotlight .inner-spotlight .spotlight-content p{

        letter-spacing: -0.02em;

    } */



    .sec-pricing.bp-pricing{

        padding: 132px 0 61px;

        background-size: 100%;

        background-position: top -1% center;

    }



    .sec-pricing.bp-pricing .container{

        max-width: 1380px;

    }



    .sec-pricing.bp-pricing .pricing-slider{

        padding: 0 0 88px !important;

    }



    .sec-pricing.bp-pricing .pricing-slider .custom-progressbar{

        width: calc(100% - 47px) !important;

        margin: 0 23px 0 24px;

    }



    .vg-pricing{

        background-position: bottom right;

        background-size: contain;

        padding: 174px 0 85px;

    }

    .vg-pricing .container{
        max-width: 1146px;
    }



    .vg-spotlight .inner-spotlight{

        padding: 142px 0 21px;

    }



}



@media(max-width: 1024px){

    .progress-list{

        gap: 48px;

    }

    .progress-list_item{

        width: calc(33.333% - (80px / 3));

    }

    .progress-list_item .text-title{

        margin: 0 0 30px;

    }

    .inner-progress h2{

        margin: 0 0 80px;

    }

    .inner-progress{

        padding: 100px 0 120px;

    }

    .inner-profile{

        padding: 100px 0;

    }

    .site-footer{

        padding: 150px 0 120px;

    }

    .inner-spotlight .spotlight-content:first-child{

        padding: 0;

    }

    .bp-spotlight .inner-spotlight .spotlight-content:first-child{

        padding: 0 20px 0 0;

    }

    .inner-spotlight .spotlight-content:last-child{

        padding: 48px 0 0 38px;

    }

    .inner-spotlight{

        padding: 100px 0 60px;

    }

}



@media(max-width: 767px){

    .sec-hero{

        padding: 83px 0 0;

        background-position: bottom center;

        min-height: 842px;

        

    }

    .inner-hero{

        padding-right: 0;

    }

    .hero-content_right{

        display: none;

    }

    .hero-content_left{

        padding: 0 15px;

    }

    .hero-content_left .hero-text_img{
        margin: 0 0 20px;
    }

    .hero-content_left p{

        max-width: 278px;

        margin: 0;

    }

    .hero-content_left .btn-global{

        display: none;

    }

    .inner-progress{

        padding: 57px 30px 59px;

    }

    .inner-progress h2{

        margin: 0 0 55px;

        text-align: center;

    }

    .progress-list{

        flex-wrap: wrap;

    }

    .progress-list_item{

        width: 100%;

        text-align: center;

    }

    .progress-list_item .text-title{

        letter-spacing: 0.04em;

        margin: 0 0 27px 5px;

    }

    .progress-list_item p{

        line-height: calc(23/14);

        font-size: 14px;

        letter-spacing: 0.04em;

    }



    .inner-profile{

        padding: 55px 8px 47px 7px;

    }

    .profile-content_left .profile-content_left--avata{

        max-height: 246px;

    }

    .profile-content_left, .profile-content_right{

        width: 100%;

    }

    .profile-content_left{

        padding: 0;

        justify-content: center;

        margin: 0 0 43px;

    }

    .profile-content_right{

        padding: 0;

    }

    .profile-content_right .profile-content_right--content{

        max-width: 100%;
        text-align: center;

    }

    .profile-content_right .btn-global{

        background: #B9D8F4;

    }

    .profile-content_right .desc{

        margin: 0 0 18px;

    }

    .main-hero{

        align-items: start;

        min-height: 1200px;

        background-position: left 48% bottom;

        background-size: 159%;

    }

    .inner-main_hero{

        padding: 83px 0 95px 15px;

    }

    .inner-main_hero .the-title{

        line-height: calc(34/40);

        letter-spacing: 0.03em;

        margin: 0 0 20px;

    }

    .inner-main_hero p{

        display: block;

        font-family: "Plus Jakarta Sans", sans-serif;  

        font-weight: 400;

        font-size: 16px;

        line-height: 19px;

        letter-spacing: -0.04em;

        color: #fff;

    }

    .main-spotlight .container{

        padding: 0;

    }

    .inner-spotlight .spotlight-content{

        width: 100%;

    }

    .inner-spotlight{

        flex-direction: column-reverse;

        padding: 68px 0 0;

        gap: 58px;

    }

    .inner-spotlight .spotlight-content:last-child{

        padding: 0 29px 0 35px;

    }

    .inner-spotlight .spotlight-content .text-title{

        display: none;

    }

    .inner-spotlight .spotlight-content p{

        line-height: calc(23/14);

        font-size: 14px;

        letter-spacing: 0.02em;

        max-width: 100%;

    }

    .hidden-mb{

        display: none;

    }

    .hidden-pc{

        display: block;

    }

    .spotlight-content .spotlight-content_thumb{

        aspect-ratio: 498 / 610;

        max-width: 100%;

    }

    .sec-pricing{

        background-image: none !important;

        padding: 46px 0 81px;

    }

    .pricing-bg_mb{

        position: absolute;

        top: 0;

        left: 0;

        width: 100%;

        height: 100%;

        background-position: left center;

        background-size: 100%;

        background-repeat: no-repeat;

    }

    .bp-spotlight .inner-spotlight{

        padding: 87px 0 0;

        gap: 98px;

    }

    .bp-spotlight .inner-spotlight .spotlight-content:last-child{

        padding: 0 32px;

    }

    .bp-spotlight .spotlight-content .spotlight-content_logo{

        display: none;

    }

    .vg-pricing .pricing-bg_mb,

    .bp-pricing .pricing-bg_mb{

        background-position: bottom;

    }

    .bp-hero{

        background-image: none !important;

    }

    .bp-hero .inner-main_hero{

        min-height: 815px;

    }

    .hero-bg_mb{

        display: block;

    }

    .bp-spotlight .inner-spotlight .spotlight-content:first-child{

        padding: 0;

    }
.pricing-slider .swiper-slide:hover{
        top: -20px;
    }


.inner-contact .btn-contact span{
        font-size: 20px;
        padding: 0;
    }
    .programs-list_item{

        width: 100%;

        padding: 143px 20px 33px 28px;
        min-height: 400px;
        display: flex;
        align-items: end;

    }

    .programs-list_item img{

        width: 35px;

    }

    .programs-list_item .programs-list_item--title{

        font-size: 34px;

        letter-spacing: -0.07em;

    }

    .programs-list_item .programs-list_item--icon{

        margin: 0 0 5px;

    }
    .profile-content_right--content{
        text-align: center;
    }
    .profile-content_right .desc p{
        font-size: 14px;
        line-height: calc(23/14);
    }
    .inner-footer .footer-title_image{
        aspect-ratio: 220/83.12;
        width: 220px;
    }
    .swiper-scrollbar{
        height: 12px !important;
    }
    .crew-hero.main-hero{
        min-height: 842px;
    }
    .contact-main{
        padding: 137px 0;
        min-height: 842px;
    }
    .inner-contact p{
        font-size: 16px;
        line-height: calc(19/16);
        margin: 0 0 31px;
        max-width: 254px;
    }
    .inner-contact .contact-info{
        gap: 4px;
    }
    .inner-contact .btn-contact{
        min-height: 50px;
    }
    .inner-contact .btn-contact span{
        line-height: 50px;
    }
}

@media(max-width: 550px){
    .main-hero{
        min-height: 842px;
    }
    .crew-hero.main-hero{
        min-height: 613px;
    }
}

@media(max-width: 480px){

    .pricing-card{

        min-height: 447px;

        padding: 68px 148px 32px 43px;

    }

    .pricing-card .card-icon{

        margin: 0 0 26px;

    }

    .pricing-card .card-name{

        font-size: 30px;

        line-height: 29px;

        margin: 0 0 41px;

        max-width: 117px;

    }

    .pricing-card .pricing-number{

        font-size: 50px;

        margin: 0;

        line-height: 32px;

        margin: 0 0 5px;

    }

    .pricing-card .pricing-card_top span{

        font-size: 16px;

        line-height: 1;

        margin: 0 0 4px;

        min-height: 48px;

    }

    .pricing-card .pricing-card_bottom .btn-card{

        background: #B9D8F4;

        color: #fff;

        margin: 0 0 28px;

    }

    .pricing-card_bottom--desc{

        min-height: 51px;

    }

    .pricing-card_bottom--desc p{

        font-size: 16px;

    }

    .sec-pricing .container{

        padding: 0 27px;

    }

    .pricing-slider{

        padding: 0 0 57px !important;

    }

    .pricing-slider .custom-progressbar{

        height: 12px !important;

        width: calc(100% - 67px) !important;

        margin: 0 43px 0 24px;

    }

    .custom-progressbar .progress-fill-width{

        background: #AD964D;

        height: 12px;

    }

    .pricing-bg_mb{

        background-size: 174%;

        background-position: left 3% top 41%;

    }

    .bp-pricing .pricing-bg_mb{

        background-size: 100%;

        background-position: bottom;

    }
    
}

