.tm-about {
    padding: 60px 0;
    background: linear-gradient(135deg, #f4f8ff 0%, #ffffff 55%, #effcf8 100%);
    position: relative;
    overflow: hidden;
    font-family: 'Segoe UI', Arial, sans-serif
}

.tm-about:before {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: rgba(14, 183, 221, .12)
}

.tm-about:after {
    content: "";
    position: absolute;
    bottom: -100px;
    left: -100px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(1, 214, 163, .12)
}

.tm-about .container {
    position: relative;
    z-index: 2
}

.tm-img-wrap {
    position: relative;
    margin: 0 auto;
    padding: 0 20px 20px 0
}

.tm-img-wrap:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 85%;
    height: 85%;
    border-radius: 20px;
    background: linear-gradient(135deg, #01d6a3, #0eb7dd)
}

.tm-img-box {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: 6px solid #ffffff;
    box-shadow: 0 15px 35px rgba(40, 51, 140, .2);
    background: #ffffff
}

.tm-img-box img {
    width: 100%;
    display: block;
    height: auto
}

.tm-exp-badge {
    position: absolute;
    left: -10px;
    bottom: 40px;
    background: #28338c;
    color: #ffffff;
    padding: 14px 20px;
    border-radius: 14px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(40, 51, 140, .35);
    border-left: 5px solid #01d6a3
}

.tm-exp-badge strong {
    display: block;
    font-size: 30px;
    line-height: 1
}

.tm-exp-badge span {
    font-size: 13px;
    letter-spacing: .5px
}

.tm-name {
    font-size: 36px;
    font-weight: 700;
    color: #28338c;
    margin-bottom: 6px
}

.tm-designation {
    font-size: 17px;
    font-weight: 600;
    color: #0eb7dd;
    margin-bottom: 7px
}

.tm-line {
    width: 70px;
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(90deg, #28338c, #0eb7dd, #01d6a3);
    margin-bottom: 20px
}

.tm-text {
    color: #4a5568;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 14px
}

.tm-text b {
    color: #28338c
}

.tm-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 15px 0 20px;
    padding: 0;
    list-style: none
}

.tm-points li {
    flex: 1 1 calc(50% - 12px);
    min-width: 230px;
    background: #ffffff;
    border-radius: 12px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 5px 18px rgba(40, 51, 140, .08);
    color: #28338c;
    font-weight: 600;
    font-size: 14px;
    transition: .3s
}

.tm-points li i {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01d6a3, #0eb7dd);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px
}

.tm-points li:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(14, 183, 221, .25)
}

.tm-btn {
    display: inline-block;
    background: linear-gradient(135deg, #28338c, #0eb7dd);
    color: #ffffff;
    padding: 13px 32px;
    border-radius: 30px;
    font-weight: 600;
    text-decoration: none;
    transition: .3s;
    box-shadow: 0 8px 20px rgba(40, 51, 140, .3)
}

.tm-btn:hover {
    background: linear-gradient(135deg, #01d6a3, #0eb7dd);
    color: #ffffff;
    transform: translateY(-3px)
}

@media(max-width:991px) {
    .tm-about {
        padding: 60px 0
    }

    .tm-name {
        font-size: 30px
    }

    .tm-img-wrap {
        margin-bottom: 40px
    }
}

@media(max-width:575px) {
    .tm-name {
        font-size: 26px
    }

    .tm-points li {
        flex: 1 1 100%
    }

    .tm-exp-badge {
        left: 0
    }
}



.tm-proc {
    margin-top: 60px;
    background: #ffffff;
    border-radius: 20px;
    padding: 35px 30px;
    box-shadow: 0 12px 35px rgba(40, 51, 140, .1);
    border-top: 5px solid #01d6a3
}

.tm-proc h3 {
    color: #28338c;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 22px
}

.tm-proc-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin-bottom: 10px;
    border-radius: 10px;
    background: #f4f8ff;
    color: #28338c;
    font-size: 15px;
    font-weight: 500;
    transition: .3s
}

.tm-proc-item i {
    color: #01d6a3
}

.tm-proc-item:hover {
    background: #28338c;
    color: #ffffff
}

.tm-proc-item:hover i {
    color: #01d6a3
}


.tm-memb {
    padding: 70px 0;
    background: linear-gradient(135deg, #ebfff9 0%, #ebfff9 100%);
    font-family: 'Segoe UI', Arial, sans-serif;
    position: relative;
    overflow: hidden
}

.tm-memb:before {
    content: "";
    position: absolute;
    top: -90px;
    left: -90px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: rgba(14, 183, 221, .10)
}

.tm-memb:after {
    content: "";
    position: absolute;
    bottom: -90px;
    right: -90px;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: rgba(1, 214, 163, .10)
}

.tm-memb .container {
    position: relative;
    z-index: 2
}

.tm-memb-head {
    text-align: center;
    margin-bottom: 45px
}

.tm-memb-title {
    font-size: 34px;
    font-weight: 700;
    color: #28338c;
    margin: 0 0 14px
}

.tm-memb-line {
    width: 80px;
    height: 4px;
    border-radius: 4px;
    margin: 0 auto;
    background: linear-gradient(90deg, #28338c, #0eb7dd, #01d6a3)
}

.tm-memb-card {
    position: relative;
    height: 100%;
    background: #ffffff;
    border-radius: 18px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 8px 25px rgba(40, 51, 140, .08);
    overflow: hidden;
    transition: .35s
}

.tm-memb-card:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #28338c, #0eb7dd, #01d6a3)
}

.tm-memb-card:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: linear-gradient(180deg, rgba(14, 183, 221, 0), rgba(1, 214, 163, .10));
    transition: .35s
}

.tm-memb-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 40px rgba(14, 183, 221, .25)
}

.tm-memb-card:hover:after {
    height: 60%
}

.tm-memb-logo {
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    position: relative;
    z-index: 2
}

.tm-memb-logo img {
    max-width: 100%;
    max-height: 150px;
    object-fit: contain;
    /* filter: grayscale(80%); */
    opacity: .85;
    transition: .35s
}

.tm-memb-card:hover .tm-memb-logo img {
    /* filter: grayscale(0); */
    opacity: 1;
    transform: scale(1.07)
}

.tm-memb-name {
    position: relative;
    z-index: 2;
    font-size: 15px;
    font-weight: 600;
    color: #28338c;
    line-height: 1.4;
    margin: 0;
    padding-top: 14px;
    border-top: 1px dashed rgba(14, 183, 221, .5)
}

@media(max-width:991px) {
    .tm-memb {
        padding: 55px 0
    }

    .tm-memb-title {
        font-size: 28px
    }
}

@media(max-width:575px) {
    .tm-memb-title {
        font-size: 24px
    }

    .tm-memb-logo {
        height: 110px
    }
}


.tm-svc-card {
    position: relative;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 12px 35px rgba(40, 51, 140, .12);
    transition: .4s
}

.tm-svc-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 22px 50px rgba(14, 183, 221, .3)
}

.tm-svc-img {
    position: relative;
    aspect-ratio: 3/2;
    overflow: hidden;
    border-radius: 24px 24px 90px 24px
}

.tm-svc-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: .6s
}

.tm-svc-card:hover .tm-svc-img img {
    transform: scale(1.12)
}

.tm-svc-icon {
    position: absolute;
    right: 24px;
    top: 210px;
    z-index: 4;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01d6a3, #0eb7dd);
    color: #ffffff;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 5px solid #ffffff;
    box-shadow: 0 10px 25px rgba(14, 183, 221, .4);
    transition: .5s
}

.tm-svc-card:hover .tm-svc-icon {
    transform: rotate(360deg)
}

.tm-svc-body {
    padding: 30px 20px 20px
}

.tm-svc-title {
    font-size: 24px;
    font-weight: 700;
    color: #28338c;
    margin: 0 0 6px;
    position: relative;
    padding-bottom: 4px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}

.tm-svc-title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50px;
    height: 3px;
    border-radius: 4px;
    background: linear-gradient(90deg, #28338c, #0eb7dd, #01d6a3);
    transition: .4s
}

.tm-svc-card:hover .tm-svc-title:after {
    width: 100px
}

.tm-svc-text {
    color: #4a5568;
    font-size: 15px;
    line-height: 1.7;
    margin: 10px 0 16px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.tm-svc-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #28338c, #0eb7dd);
    color: #ffffff;
    font-weight: 400;
    font-size: 15px;
    text-decoration: none;
    padding: 8px 20px;
    border-radius: 30px;
    box-shadow: 0 8px 20px rgba(40, 51, 140, .3);
    transition: .3s
}

.tm-svc-btn i {
    transition: .3s
}

.tm-svc-btn:hover {
    background: linear-gradient(135deg, #01d6a3, #0eb7dd);
    color: #ffffff
}

.tm-svc-btn:hover i {
    transform: translateX(6px)
}

@media(max-width:575px) {
    .tm-svc-icon {
        top: 172px;
        width: 62px;
        height: 62px;
        font-size: 24px
    }

    .tm-svc-title {
        font-size: 21px
    }
}





.tm-cta {
    position: relative;
    overflow: hidden;
    padding: 35px 0;
    background: linear-gradient(120deg, #28338c 0%, #28338c 55%, #1d2a7a 100%);
    font-family: 'Segoe UI', Arial, sans-serif
}

.tm-cta:before {
    content: "";
    position: absolute;
    top: -120px;
    right: -80px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: rgba(14, 183, 221, .22)
}

.tm-cta:after {
    content: "";
    position: absolute;
    bottom: -130px;
    left: -90px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(1, 214, 163, .18)
}

.tm-cta .container {
    position: relative;
    z-index: 2
}

.tm-cta-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 24px;
    padding: 25px 30px;
    backdrop-filter: blur(6px)
}

.tm-cta-left {
    display: flex;
    align-items: center;
    gap: 22px;
    flex: 1 1 480px
}

.tm-cta-icon {
    position: relative;
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01d6a3, #0eb7dd);
    color: #ffffff;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center
}

.tm-cta-icon:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid #01d6a3;
    animation: tmPulse 1.8s infinite
}

@keyframes tmPulse {
    0% {
        transform: scale(1);
        opacity: .9
    }

    100% {
        transform: scale(1.55);
        opacity: 0
    }
}

.tm-cta-title {
    font-size: 26px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 10px;
    line-height: 1.35
}

.tm-cta-call {
    font-size: 20px;
    font-weight: 600;
    color: #ffffff;
    margin: 0
}

.tm-cta-call a {
    color: #01d6a3;
    text-decoration: none;
    font-size: 26px;
    font-weight: 700;
    margin-left: 6px;
    transition: .3s
}

.tm-cta-call a:hover {
    color: #0eb7dd
}

.tm-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg, #01d6a3, #0eb7dd);
    color: #ffffff;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 15px 30px;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(1, 214, 163, .4);
    transition: .3s
}

.tm-cta-btn i {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ffffff;
    color: #28338c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: .3s
}

.tm-cta-btn:hover {
    background: #ffffff;
    color: #28338c;
}

.tm-cta-btn:hover i {
    background: #28338c;
    color: #ffffff;
    transform: translateX(4px)
}

@media(max-width:991px) {
    .tm-cta-box {
        padding: 30px 26px;
        text-align: center;
        justify-content: center
    }

    .tm-cta-left {
        justify-content: center;
        flex-direction: column;
        text-align: center
    }

    .tm-cta-title {
        font-size: 23px
    }
}

@media(max-width:575px) {
    .tm-cta-title {
        font-size: 20px
    }

    .tm-cta-call {
        font-size: 17px
    }

    .tm-cta-call a {
        font-size: 22px;
        display: block;
        margin: 4px 0 0
    }

    .tm-cta-btn {
        padding: 15px 26px;
        font-size: 14px
    }
}



.tm-doc-card {
    position: relative;
    background: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    text-align: center;
    box-shadow: 0 12px 35px rgba(40, 51, 140, .13);
    transition: .4s
}

.tm-doc-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 50px rgba(14, 183, 221, .3)
}

.tm-doc-top {
    position: relative;
    height: 150px;
    background: linear-gradient(135deg, #28338c, #0eb7dd)
}

.tm-doc-top:before {
    content: "";
    position: absolute;
    top: -40px;
    right: -40px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: rgba(1, 214, 163, .35)
}

.tm-doc-top:after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12)
}

.tm-doc-photo {
    position: relative;
    z-index: 2;
    width: 240px;
    height: 240px;
    margin: -125px auto 0;
    border-radius: 50%;
    padding: 5px;
    background: linear-gradient(135deg, #01d6a3, #0eb7dd, #28338c)
}

.tm-doc-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #ffffff;
    display: block;
    background: #ffffff
}

.tm-doc-exp {
    position: absolute;
    right: -6px;
    bottom: 6px;
    z-index: 3;
    background: #01d6a3;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 20px;
    border: 3px solid #ffffff
}

.tm-doc-body {
    padding: 18px 15px 6px
}

.tm-doc-name {
    font-size: 22px;
    font-weight: 700;
    color: #28338c;
    margin: 0 0 6px
}

.tm-doc-role {
    font-size: 14px;
    font-weight: 600;
    color: #0eb7dd;
    line-height: 1.5;
    margin: 0 0 14px
}

.tm-doc-text {
    font-size: 14px;
    line-height: 1.7;
    color: #4a5568;
    margin: 0 0 16px
}

.tm-doc-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 10px
}

.tm-doc-tags span {
    background: rgba(14, 183, 221, .12);
    color: #28338c;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px
}

.tm-doc-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 15px;
    border-top: 1px dashed rgba(14, 183, 221, .5);
    margin-top: 6px
}

.tm-doc-social {
    display: flex;
    gap: 8px
}

.tm-doc-social a {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f4f8ff;
    color: #28338c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    text-decoration: none;
    transition: .3s
}

.tm-doc-social a:hover {
    background: #01d6a3;
    color: #ffffff;
    transform: translateY(-3px)
}

.tm-doc-btn {
    background: linear-gradient(135deg, #28338c, #0eb7dd);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 30px;
    transition: .3s
}

.tm-doc-btn:hover {
    background: linear-gradient(135deg, #01d6a3, #0eb7dd);
    color: #ffffff
}

@media(max-width:575px) {
    .tm-doc-card {
        max-width: 100%
    }
}