

.ns-team{
    position:relative;
    padding:90px 0;
    background:#f6f6f6;
    overflow:hidden;
}

/* Background Decoration */

.ns-team::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    background:rgba(0,0,0,.025);
    top:-220px;
    right:-220px;
}

.ns-team::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(0,0,0,.02);
    left:-180px;
    bottom:-180px;
}

/* Container */

.ns-team .container{
    position:relative;
    z-index:2;
}

.ns-team-badge{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:10px 26px;

    background:#ffffff;

    border:1px solid #d9d9d9;

    border-radius:50px;

    color:#111;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:2px;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

}

.ns-team-title{

    margin-top:28px;

    margin-bottom:22px;

    color:#111;

    font-size:48px;

    font-weight:800;

    line-height:1.2;

}

.ns-team-title span{

    color:#666;

}

.ns-team-subtitle{

    max-width:760px;

    margin:auto;

    color:#666;

    font-size:18px;

    line-height:1.9;

}



.ns-team .row.g-4{

    margin-top:55px;

}


.ns-team-card{

    position:relative;

    background:#fff;

    border:1px solid #e5e5e5;

    border-radius:24px;

    overflow:hidden;

    height:100%;

    transition:.40s ease;

    box-shadow:0 18px 45px rgba(0,0,0,.05);

}

.ns-team-card:hover{

    transform:translateY(-12px);

    border-color:#cfcfcf;

    box-shadow:0 30px 60px rgba(0,0,0,.12);

}

.ns-team-image{

    position:relative;

    padding:40px 40px 20px;

    text-align:center;

}

.ns-team-image::before{

    content:"";

    position:absolute;

    width:150px;

    height:150px;

    border-radius:50%;

    background:#efefef;

    left:50%;

    transform:translateX(-50%);

    top:28px;

}

.ns-team-image img{

    position:relative;

    width:140px;

    height:140px;

    border-radius:50%;

    object-fit:cover;

    border:6px solid #fff;

    box-shadow:0 12px 30px rgba(0,0,0,.10);

    transition:.40s;

}

.ns-team-card:hover .ns-team-image img{

    transform:scale(1.06);

}

.ns-team-content{

    padding:20px 30px 35px;

    text-align:center;

}

/* Role */

.ns-team-role{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:#111;

    color:#fff;

    font-size:12px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:22px;

}

/* Doctor Name */

.ns-team-name{

    color:#111;

    font-size:24px;

    font-weight:700;

    margin-bottom:10px;

    line-height:1.4;

}

/* Qualification */

.ns-team-degree{

    color:#666;

    font-size:15px;

    font-weight:600;

    margin-bottom:25px;

}

/* Divider */

.ns-team-divider{

    width:70px;

    height:3px;

    background:#111;

    margin:0 auto 24px;

    opacity:.15;

    border-radius:30px;

}

/* Registration */

.ns-team-label{

    color:#888;

    font-size:13px;

    margin-bottom:8px;

}

.ns-team-number{

    color:#111;

    font-size:15px;

    font-weight:700;

    letter-spacing:.3px;

}


.ns-team-card:hover .ns-team-role{

    background:#2f2f2f;

}

.ns-team-card:hover .ns-team-name{

    color:#000;

}

.ns-team-card:hover .ns-team-divider{

    width:95px;

    transition:.35s;

}

.ns-team-card:hover .ns-team-image::before{

    background:#e5e5e5;

}


.ns-team-trust{

    margin-top:70px;

    background:#ffffff;

    border:1px solid #e4e4e4;

    border-radius:28px;

    padding:70px 60px;

    text-align:center;

    box-shadow:0 18px 45px rgba(0,0,0,.05);

}

.ns-team-icon{

    width:90px;

    height:90px;

    margin:0 auto 30px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#111;

    color:#fff;

    font-size:34px;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.ns-team-trust h3{

    color:#111;

    font-size:38px;

    font-weight:800;

    margin-bottom:22px;

}

.ns-team-trust p{

    max-width:900px;

    margin:0 auto;

    color:#666;

    font-size:17px;

    line-height:1.9;

}



.ns-team-stats{

    margin-top:60px;

    row-gap:25px;

}

.ns-team-stat{

    background:#f8f8f8;

    border:1px solid #e5e5e5;

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    transition:.35s;

    height:100%;

}

.ns-team-stat:hover{

    transform:translateY(-8px);

    background:#111;

    border-color:#111;

    box-shadow:0 20px 45px rgba(0,0,0,.18);

}

.ns-team-stat-number{

    font-size:42px;

    font-weight:800;

    color:#111;

    margin-bottom:10px;

    transition:.35s;

}

.ns-team-stat-title{

    color:#666;

    font-size:15px;

    font-weight:600;

    transition:.35s;

}

.ns-team-stat:hover .ns-team-stat-number,

.ns-team-stat:hover .ns-team-stat-title{

    color:#fff;

}


.ns-team-feature{

    background:#fafafa;

    border:1px solid #e7e7e7;

    border-radius:22px;

    padding:40px 30px;

    text-align:center;

    height:100%;

    transition:.35s;

}

.ns-team-feature:hover{

    transform:translateY(-10px);

    background:#ffffff;

    box-shadow:0 18px 40px rgba(0,0,0,.08);

}

.ns-team-feature i{

    width:72px;

    height:72px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 22px;

    background:#111;

    color:#fff;

    font-size:28px;

}

.ns-team-feature h5{

    color:#111;

    font-size:22px;

    font-weight:700;

    margin-bottom:16px;

}

.ns-team-feature p{

    color:#666;

    line-height:1.8;

    font-size:15px;

    margin:0;

}



.ns-team-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:18px 42px;

    border-radius:60px;

    background:#111;

    color:#fff;

    font-size:16px;

    font-weight:700;

    letter-spacing:.4px;

    transition:.35s;

    box-shadow:0 18px 40px rgba(0,0,0,.18);

}

.ns-team-btn:hover{

    background:#2d2d2d;

    color:#fff;

    transform:translateY(-5px);

    box-shadow:0 25px 50px rgba(0,0,0,.22);

}

.ns-team-btn i{

    font-size:18px;

}



.ns-team-floating-btn{

    position:fixed;

    right:25px;

    bottom:25px;

    z-index:9999;

    display:flex;

    align-items:center;

    gap:14px;

    padding:15px 22px;

    background:#111;

    color:#fff;

    border-radius:60px;

    box-shadow:0 18px 40px rgba(0,0,0,.25);

    transition:.35s;

}

.ns-team-floating-btn:hover{

    background:#2c2c2c;

    color:#fff;

    transform:translateY(-6px);

}

.ns-team-floating-icon{

    width:46px;

    height:46px;

    border-radius:50%;

    background:#fff;

    color:#111;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

    flex-shrink:0;

}

.ns-team-floating-text{

    font-weight:700;

    font-size:15px;

    white-space:nowrap;

}

@media (max-width:991px){

    .ns-team-trust{

        padding:50px 35px;

    }

    .ns-team-trust h3{

        font-size:30px;

    }

    .ns-team-feature{

        margin-bottom:24px;

    }

}

@media (max-width:767px){

    .ns-team-trust{

        padding:40px 25px;

    }

    .ns-team-icon{

        width:72px;

        height:72px;

        font-size:28px;

    }

    .ns-team-trust h3{

        font-size:26px;

    }

    .ns-team-trust p{

        font-size:15px;

    }

    .ns-team-stat{

        padding:28px 20px;

    }

    .ns-team-stat-number{

        font-size:34px;

    }

    .ns-team-feature{

        padding:30px 22px;

    }

    .ns-team-feature h5{

        font-size:20px;

    }

    .ns-team-btn{

        width:100%;

        padding:16px 20px;

    }

    .ns-team-floating-btn{

        right:15px;

        bottom:15px;

        padding:12px 18px;

    }

    .ns-team-floating-text{

        display:none;

    }

    .ns-team-floating-icon{

        margin:0;

    }

}

.ns-team *,
.ns-team *::before,
.ns-team *::after{
    transition:
        background-color .35s ease,
        color .35s ease,
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease,
        opacity .35s ease;
}


@keyframes nsFadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes nsFadeScale{

    from{

        opacity:0;

        transform:scale(.9);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}

@keyframes nsFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes nsPulse{

    0%{

        box-shadow:0 0 0 rgba(0,0,0,.15);

    }

    50%{

        box-shadow:0 18px 45px rgba(0,0,0,.25);

    }

    100%{

        box-shadow:0 0 0 rgba(0,0,0,.15);

    }

}

.ns-team-badge{

    animation:nsFadeScale .8s ease;

}

.ns-team-title{

    animation:nsFadeUp .9s ease;

}

.ns-team-subtitle{

    animation:nsFadeUp 1.1s ease;

}


.ns-team-card:nth-child(1){

    animation:nsFadeUp .7s ease;

}

.ns-team-card:nth-child(2){

    animation:nsFadeUp .9s ease;

}

.ns-team-card:nth-child(3){

    animation:nsFadeUp 1.1s ease;

}

.ns-team-card:nth-child(4){

    animation:nsFadeUp 1.3s ease;

}



.ns-team-card{

    overflow:hidden;

}

.ns-team-card::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:60%;

    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.6),
        transparent
    );

    transform:skewX(-25deg);

}

.ns-team-card:hover::before{

    left:170%;

    transition:1s;

}

.ns-team-card:hover{

    cursor:pointer;

}



.ns-team-image{

    overflow:hidden;

}

.ns-team-image img{

    animation:nsFloat 5s ease-in-out infinite;

}

.ns-team-card:hover img{

    filter:grayscale(0%);

}

.ns-team-image img{

    filter:grayscale(20%);

}



.ns-team-role{

    position:relative;

    overflow:hidden;

}

.ns-team-role::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.2),
        transparent
    );

    transform:translateX(-150%);

}

.ns-team-card:hover .ns-team-role::after{

    transform:translateX(200%);

    transition:.9s;

}


.ns-team-trust{

    animation:nsFadeUp 1.2s ease;

}

.ns-team-icon{

    animation:nsPulse 3s infinite;

}

.ns-team-feature:hover i{

    transform:rotate(8deg) scale(1.08);

}

.ns-team-stat{

    position:relative;

    overflow:hidden;

}

.ns-team-stat::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(255,255,255,.15),
        transparent
    );

    opacity:0;

}

.ns-team-stat:hover::before{

    opacity:1;

}


.ns-team-btn{

    position:relative;

    overflow:hidden;

}

.ns-team-btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-100%;

    width:50%;

    height:100%;

    background:rgba(255,255,255,.18);

    transform:skewX(-25deg);

}

.ns-team-btn:hover::before{

    left:160%;

    transition:.9s;

}


.ns-team-floating-btn{

    animation:nsFloat 3s ease-in-out infinite;

}

.ns-team-floating-btn:hover{

    animation:none;

}


.ns-team ::-webkit-scrollbar{

    width:8px;

}

.ns-team ::-webkit-scrollbar-thumb{

    background:#999;

    border-radius:20px;

}

.ns-team ::-webkit-scrollbar-track{

    background:#eee;

}


@media(min-width:1400px){

    .ns-team{

        padding:120px 0;

    }

    .ns-team-title{

        font-size:56px;

    }

}


@media(max-width:1200px){

    .ns-team-title{

        font-size:42px;

    }

}


@media(max-width:992px){

    .ns-team{

        padding:80px 0;

    }

    .ns-team-title{

        font-size:36px;

    }

    .ns-team-subtitle{

        font-size:17px;

    }

    .ns-team-card{

        margin-bottom:30px;

    }

}

@media(max-width:768px){

    .ns-team{

        padding:70px 0;

    }

    .ns-team-title{

        font-size:30px;

    }

    .ns-team-subtitle{

        font-size:16px;

        line-height:1.8;

    }

    .ns-team-badge{

        font-size:11px;

        padding:8px 18px;

    }

    .ns-team-name{

        font-size:22px;

    }

    .ns-team-degree{

        font-size:14px;

    }

    .ns-team-image{

        padding:30px 20px 15px;

    }

    .ns-team-image img{

        width:120px;

        height:120px;

    }

}

@media(max-width:576px){

    .ns-team{

        padding:60px 0;

    }

    .ns-team-title{

        font-size:26px;

    }

    .ns-team-subtitle{

        font-size:15px;

    }

    .ns-team-card{

        border-radius:18px;

    }

    .ns-team-floating-btn{

        width:60px;

        height:60px;

        justify-content:center;

        padding:0;

        border-radius:50%;

    }

    .ns-team-floating-icon{

        margin:0;

    }

    .ns-team-floating-text{

        display:none;

    }

}

@media (prefers-reduced-motion: reduce){

    .ns-team *,
    .ns-team *::before,
    .ns-team *::after{

        animation:none !important;

        transition:none !important;

    }

}