/* =====================================================
   TPS-003 GOAL GRADIENT SECTION
   Executive Third-Party Risk Health Check
   ===================================================== */

/* SECTION */

.tps-progress-section{
    background:#EDEFF4;
    padding:80px 0;
    position:relative;
}

/* LAYOUT */

.tps-progress-row{
    max-width:1280px;
    margin:0 auto;
}

.tps-progress-column{
    padding:10px;
}

/* CARDS */

.tps-progress-card{
    background:#ffffff;
    border:1px solid #e2e6f0;
    border-radius:20px;
    padding:32px;
    box-shadow:0 12px 32px rgba(20,33,61,.08);
    height:auto;
    transition:all .3s ease;
}

.tps-gap-card{
    background:#ffffff;
    border:1px solid #e2e6f0;
    border-radius:20px;
    padding:32px;
    box-shadow:0 12px 32px rgba(20,33,61,.08);
    height:auto;
    transition:all .3s ease;
}

/* CARD ACCENTS */

.tps-progress-card{
    border-left:4px solid #17d2b8;
}

.tps-gap-card{
    border-left:4px solid #ff6b35;
}

/* OPTIONAL HOVER */

.tps-progress-card:hover,
.tps-gap-card:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(20,33,61,.12);
}

/* DIVIDERS */

.tps-divider-teal{
    width:60px;
    height:4px;
    background:#17d2b8;
    border-radius:4px;
    margin:20px 0;
}

.tps-divider-orange{
    width:60px;
    height:4px;
    background:#ff6b35;
    border-radius:4px;
    margin:20px 0;
}

/* PROGRESS LIST */

.tps-progress-list{
    list-style:none;
    padding:0;
    margin:0;
}

.tps-progress-list li{
    position:relative;
    padding:10px 0 10px 32px;
}

.tps-progress-list li:before{
    content:"✓";
    position:absolute;
    left:0;
    color:#17d2b8;
    font-weight:700;
}

/* GAP LIST */

.tps-gap-list{
    list-style:none;
    padding:0;
    margin:0;
}

.tps-gap-list li{
    position:relative;
    padding:10px 0 10px 32px;
}

.tps-gap-list li:before{
    content:"⚠";
    position:absolute;
    left:0;
    color:#ff6b35;
    font-weight:700;
}

/* PROGRESS JOURNEY CARD */

.tps-journey-card{
    background:#ffffff;
    border-radius:20px;
    padding:32px;
    border:1px solid #e2e6f0;
    box-shadow:0 12px 32px rgba(20,33,61,.08);
}

.tps-stage{
    background:#f9fafb;
    border-radius:10px;
    padding:14px 18px;
    margin-bottom:12px;
}

.tps-stage-complete{
    border-left:4px solid #17d2b8;
}

.tps-stage-active{
    border-left:4px solid #ff6b35;
    background:#fff7f3;
}

.tps-stage-future{
    border-left:4px solid #cbd2e1;
}

/* MOBILE */

@media(max-width:768px){

    .tps-progress-section{
        padding:50px 0;
    }

    .tps-progress-column{
        padding:8px;
    }

.tps-progress-card,
.tps-gap-card,
.tps-journey-card{
    padding:24px;
    margin-bottom:20px;
    min-height:auto;
}

}
/* TPS Maturity Progress */

.tps-maturity{
    max-width:720px;
    margin:0 auto 32px auto;
    text-align:center;
}

.tps-maturity-label{
    font-weight:600;
    color:#14213d;
    margin-bottom:12px;
}

.tps-maturity-bar{
    height:18px;
    background:#e2e6f0;
    border-radius:999px;
    overflow:hidden;
    margin-bottom:12px;
}

.tps-maturity-fill{
    width:80%;
    height:100%;
    background:linear-gradient(
        90deg,
        #17d2b8 0%,
        #ff6b35 100%
    );
    border-radius:999px;
}

.tps-maturity-text{
    color:#6b7280;
}
/* =====================================================
   TPS TESTIMONIAL CARDS
   ===================================================== */

.tps-testimonial-card{
    background:#ffffff;
    border:1px solid #e2e6f0;
    border-radius:20px;
    padding:32px;
    box-shadow:0 12px 32px rgba(20,33,61,.08);
    height:100%;
    text-align:center;
    transition:all .3s ease;
}

.tps-testimonial-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 40px rgba(20,33,61,.12);
}

.tps-testimonial-avatar{
    width:80px;
    height:80px;
    border-radius:50%;
    overflow:hidden;
    margin:0 auto 20px auto;
    border:3px solid #17d2b8;
}

.tps-testimonial-quote{
    color:#14213d;
    font-style:italic;
    line-height:1.7;
    margin-bottom:24px;
}

.tps-testimonial-name{
    color:#14213d;
    font-weight:700;
    margin-bottom:6px;
}

.tps-testimonial-title{
    color:#6b7280;
    font-size:14px;
    margin-bottom:12px;
}

.tps-testimonial-source{
    color:#ff6b35;
    font-size:13px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.5px;
}

/* Section Header */

.tps-testimonial-heading{
    text-align:center;
    margin-bottom:16px;
}

.tps-testimonial-subheading{
    text-align:center;
    max-width:700px;
    margin:0 auto 50px auto;
    color:#6b7280;
}

/* Equal Height */

.tps-testimonial-card{
    min-height:420px;
}

/* Mobile */

@media(max-width:768px){

    .tps-testimonial-card{
        min-height:auto;
        padding:24px;
        margin-bottom:20px;
    }

}