.team{
    background: url("../images/team_back.webp") top/100% auto no-repeat;
    padding-top: var(--header-height-max);
    overflow: hidden;
}

.intro{
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    padding-top: calc(60 * var(--rpx));
    padding-bottom: calc(120 * var(--rpx));
}

.intro .left{
    width: calc(100% - 684 * var(--rpx));
    color: #fff;
}

.intro .left .page-title{
    font-size: calc(68 * var(--rpx));
    line-height: calc(82em / 68);
    font-weight: bold;
}

/*animation*/
.page-title, .intro-list li, .intro .right, .member{
    opacity: 0;
}

.intro-list{
    display: block;
    list-style: none;
    margin-bottom: 0;
    margin-top: calc(50 * var(--rpx));
    padding-left: 0;
    width: calc(640 * var(--rpx));
}

.intro-list li{
    padding-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .5);
    display: flex;
    align-items: flex-start;
    height: calc(80 * var(--rpx));
    overflow: hidden;

    gap: calc(20 * var(--rpx));
    transition: .8s cubic-bezier(0.15, 1, 0.336, 1);
}

.intro-list li:last-of-type{
    border-bottom: 1px solid rgba(255, 255, 255, .5);
}

.intro-list li.active{
    height: calc(190 * var(--rpx-75));
}

.intro-list .num{
    margin-top: calc(15 * var(--rpx));
    flex: 0 0 auto;
    width: calc(50 * var(--rpx));
    height: calc(50 * var(--rpx));
    background-color: #fff2;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    box-shadow: inset 0 1px 1px #ffff;
    transition: .3s;
}

.intro-list .active .num{
    background-color: #fff;
    color: #272727;
}

.intro-list .title{
    font-size: calc(24rem / 16);
    line-height: calc(50 * var(--rpx));
    margin-top: calc(15 * var(--rpx));
    margin-bottom: calc(15 * var(--rpx));
    font-weight: bold;
}

.intro-list p{
    line-height: 1.5em;
}

.intro-list p.list-item{
    position: relative;
    padding-left: 1em;
}

.intro-list p.list-item::before{
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.5em;
}

.intro-list .desc p+p{
    margin-top: .5em;
}

.intro .right{
    width: calc(684 * var(--rpx));
    height: auto;
}

.intro .figure-ctn{
    width: 100%;
    aspect-ratio: 713.8/345;
    position: relative;
    padding-left: 10%;
}

.figure-ctn svg{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: .3s;
}

.figure-ctn svg path{
    transition: opacity .6s;
}

.figure-ctn svg .hidden{
    opacity: 0;
    transition: opacity .2s;
}

.hotzone{
    position: absolute;
    width: 50%;
    height: 100%;
    z-index: 210;
    left: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    cursor: default;
    text-align: center;
    font-size: calc(24rem / 16);
    color: #191905;
    transition: .4s;
}

.hotzone2{
    left: 55%;
}

.hotzone.active{
    font-weight: bold;
    color: #fff;
}

.team-members{
    padding: calc(72 * var(--rpx)) calc(90 * var(--rpx-50));
    --gap-x: calc(40 * var(--rpx));
    --gap-y: calc(100 * var(--rpx-50));
    --column: 4;
}

.member{
    cursor: pointer;
    padding-bottom: calc(20 * var(--rpx));
}

.member .avatar img{
    display: block;
    width: 100%;
    transition: .3s;
}

.avatar{
    border-radius: 50%;
    overflow: hidden;
    transition: .3s;
    position: relative;
    z-index: 210;
    transform: scale(1.01);
}

.avatar img{
    position: relative;
    z-index: 220;
}

.avatar-back{
    position: absolute;
    z-index: 215;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: url("../images/avatar_back.webp") center/cover no-repeat;
    transition: .6s cubic-bezier(0.15, 1, 0.336, 1);
}

.member:hover .avatar{
    transform: scale(1.03);
}

.member:hover .avatar img{
    transform: scale(1.06);
}

.name{
    text-align: center;
    font-weight: bold;
    font-size: calc(24rem / 16);
    margin-top: calc(24em / 24);
}

.member{
    background: radial-gradient(50% 50% ellipse, #AFC0E0, #fff0) center 0/0% 0% no-repeat;
    transition: background-size .3s;
}

.member:hover{
    background-size: 100% 100%;
}

.dialog-profile{
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    visibility: hidden;
    overflow: hidden;
    transition: .2s;
    max-height: calc(9 / 16 * 100vw);
    box-shadow: 0 0 0 50vw rgba(0, 0, 0, .5);
}


.dialog-profile.active{
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
    background-color: rgba(0, 0, 0, .3);
    visibility: visible;
    transition: .3s;
}

.portrait{
    position: absolute;
    width: calc(640vw / 19.2);
    height: auto;
    left: calc(45vw / 19.2);
    bottom: calc(-20vw / 19.2);
    transform: translateX(-40%);
    filter: brightness(0%);
    opacity: 0;
    z-index: 1000;
}

.active .portrait{
    transform: none;
    filter: none;
    opacity: 1;
    transition: transform .8s cubic-bezier(0.15, 1, 0.336, 1), opacity .4s, filter .6s .4s;
}

.profile{
    position: absolute;
    width: 80%;
    height: 100%;
    top: 0;
    right: 0;
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
    background: linear-gradient(120deg, #9CB3DC, #FFF);
    transform: translateX(40%);
    opacity: 0;
    transition: .2s;
    z-index: 980;
}

.profile .content{
    position: absolute;
    width: calc(720 * var(--rpx-50));
    height: calc(720 * var(--rpx));
    top: 0;
    bottom: 0;
    margin: auto;
    right: calc(140 * var(--rpx-50));
    text-align: left;
    transition: .2s;
    transform: translateX(12%);
    opacity: 0;
}

.active .profile .content{
    transform: none;
    opacity: 1;
    transition: transform cubic-bezier(0.15, 1, 0.336, 1) .5s .4s, opacity .2s .4s;
}

.profile .content .name{
    text-align: left;
    font-size: calc(32 * var(--rpx));

    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
}

.profile .content .name .en{
    margin-left: .5em;
    font-size: calc(24 * var(--rpx));
    margin-bottom: .15em;
}

.profile .title{
    font-size: calc(24 * var(--rpx));
    margin-top: calc(24 * var(--rpx));
}

.profile .desc{
    max-height: calc(450 * var(--rpx-50));
    overflow: auto;
    font-size: calc(18 * var(--rpx));
    line-height: calc(30em / 18);
    margin-top: calc(36 * var(--rpx));
    padding-right: 10px;
}


.profile .desc::-webkit-scrollbar {
    width: 2px;
    background: #0002;
    border-radius: 1px;
}

.profile .desc::-webkit-scrollbar-thumb {
    background-color: rgb(25, 25, 25);
}

.profile .content::-webkit-scrollbar-track {
    background: transparent;
}

.profile .desc p+p{
    margin-top: calc(30em / 18);
}

.profile-stripe{
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    aspect-ratio: 1/1;
}

.active .profile{
    transform: none;
    opacity: 1;
    transition: transform .7s cubic-bezier(0.15, 1, 0.336, 1), opacity .4s;
}

.dialog-profile .btn-close{
    position: absolute;
    right: calc(80vw / 19.2);
    top: calc(80vw / 19.2);
    width: calc(60vw / 19.2);
    height: calc(60vw / 19.2);
    background: url("../images/btn_profile_close.svg") center/contain no-repeat;
    cursor: pointer;
    transition: .3s;
    z-index: 1005;
    transform: scale(0);
}

.dialog-profile.active .btn-close{
    transform: scale(1);
}

.dialog-profile.active .btn-close:hover{
    transform: scale(1.05);
}

.kmind-logo{
    position: absolute;
    z-index: 1010;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: calc(540vw / 19.2);
    height: auto;
    opacity: 0;
    transform: translateX(-80%);
    transition: .2s;
}

.active .kmind-logo{
    transform: none;
    opacity: .2;
    transition: .8s cubic-bezier(0.15, 1, 0.336, 1);
}

@media (max-width: 960px) {
    .team{
        background: url("../images/team_back.webp") left top/250% auto no-repeat
    }

    .intro{
        flex-direction: column;
    }

    .intro .left{
        width: 80%;
    }

    .intro .right{
        width: 80%;
        margin-top: calc(60 * var(--rpx));
    }

    .intro-list{
        width: 100%;
    }

    .team-members {
        --column: 3;
        padding: calc(40 * var(--rpx));
    }


    .profile .content{
        width: calc(800vw / 19.2);
        height: calc(800vw / 19.2);
    }

    .portrait{
        left: calc(30vw / 19.2);
        width: calc(720vw / 19.2);
    }

    .profile .content .name{
        margin-top: 0;
    }

    .profile .desc{
        max-height: calc(480vw / 19.2);
    }

    .dialog-profile .btn-close{
        width: calc(100vw / 19.2);
        height: calc(100vw / 19.2);
    }
}

@media (max-width: 750px) {
    .intro{
        padding-top: calc(80 * var(--rpx));
    }


    .intro .left,
    .intro .right{
        width: 100%;
    }

    .intro-list .title{
        font-size: calc(32 * var(--rpx));
    }

    .team-members {
        --column: 3;
        --gap-x: calc(30 * var(--rpx));
        --gap-y: calc(40 * var(--rpx));
        padding-left: 0;
        padding-right: 0;
    }

    .intro-list{
        margin-top: calc(80 * var(--rpx));
        font-size: calc(24 * var(--rpx));
    }

    .intro-list .title{
        line-height: calc(60 * var(--rpx));
        margin-top: calc(30 * var(--rpx));
        margin-bottom: calc(30 * var(--rpx));
    }

    .intro-list .desc{
        font-size: calc(28 * var(--rpx));
        line-height: 1.4em;
    }

    .intro-list .num{
        margin-top: calc(30 * var(--rpx));
    }

    .intro-list li{
        height: calc(120 * var(--rpx))
    }
    .intro-list li.active{
        height: calc(300 * var(--rpx));
    }

    .intro .figure-ctn {
        width: 102.5%;
        margin-left: -2.5%;
    }

    .hotzone{
        font-size: calc(32 * var(--rpx));
    }

    .dialog-profile{
        width: 100vw;
        height: 100vh;
        left: 0;
        top: 0;
        max-height: unset;
    }

    .profile{
        width: 100%;
        height: 70%;
        top: 30%;
        left: 0;
        clip-path: polygon(100% 0, 100% 0, 100% 100%, 0 100%, 0 12%);
    }

    .portrait{
        z-index: 950;
        width: calc(680 * var(--rpx));
        left: 0;
        right: 0;
        top: 0;
        bottom: unset;
        margin: 0 auto ;
    }

    .profile .content{
        width: var(--wrapper-width);
        height: calc(60vh - 280 * var(--rpx));
        align-items: flex-end;
        left: var(--wrapper-margin);
        top: calc(240 * var(--rpx));
        margin: 0;
    }

    .profile .content .name{
        justify-content: flex-start;
        font-size: calc(48 * var(--rpx));
    }

    .dialog-profile .btn-close{
        width: calc(80 * var(--rpx));
        height: calc(80 * var(--rpx));
        background-color: #fff8;
        top: 40vh;
        border-radius: 50%;
    }
    
    .profile .title{
        text-align: left;
        font-size: calc(32 * var(--rpx));
        margin-top: calc(26 * var(--rpx));
    }

    .profile .desc{
        font-size: calc(28 * var(--rpx));
        margin-top: calc(72 * var(--rpx));
        max-height: calc(100% - 260 * var(--rpx));
    }

    .profile-stripe{
    }

    .kmind-logo{
        bottom: 0;
        width: 100%;
    }


    body:has(.dialog-profile.active){
        overflow: hidden;
    }

    .name{
        font-size: calc(32 * var(--rpx));
    }

    @supports (height: 100dvh) {

        .dialog-profile{
            height: 100dvh;
        }
    }
}