/*=========================================================
    Homepage Section
    Client Showcase
    Part 1A
    Variables • Reset • Global Styles • Section • Container
=========================================================*/


/*=========================================================
    CSS Variables
=========================================================*/

:root{

    /* Brand Colors */

    --client-primary:#2563eb;
    --client-primary-light:#3b82f6;
    --client-primary-dark:#1d4ed8;

    /* Background */

    --client-bg:#ffffff;
    --client-section-bg:#f8fafc;
    --client-card-bg:#ffffff;

    /* Typography */

    --client-heading:#0f172a;
    --client-text:#334155;
    --client-muted:#64748b;

    /* Border */

    --client-border:#e2e8f0;

    /* Radius */

    --client-radius-sm:12px;
    --client-radius:20px;
    --client-radius-lg:28px;

    /* Shadows */

    --client-shadow-sm:0 6px 20px rgba(15,23,42,.05);
    --client-shadow-md:0 15px 40px rgba(15,23,42,.08);
    --client-shadow-lg:0 25px 60px rgba(15,23,42,.14);

    /* Width */

    --client-container:1320px;

    /* Transition */

    --client-transition:.35s ease;

}



/*=========================================================
    Global Reset
=========================================================*/

#client-showcase,
#client-showcase *{
    box-sizing:border-box;
}

#client-showcase img{
    display:block;
    max-width:100%;
    height:auto;
}

#client-showcase a{
    text-decoration:none;
}

#client-showcase h1,
#client-showcase h2,
#client-showcase h3,
#client-showcase h4,
#client-showcase h5,
#client-showcase h6,
#client-showcase p{
    margin:0;
}

#client-showcase ul,
#client-showcase ol{
    margin:0;
    padding:0;
    list-style:none;
}



/*=========================================================
    Main Section
=========================================================*/

#client-showcase{

    position:relative;

    overflow:hidden;

    width:100%;

    background:var(--client-section-bg);

    padding:110px 20px;

    isolation:isolate;

}



/*=========================================================
    Decorative Background
=========================================================*/

#client-showcase::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    top:-220px;

    right:-180px;

    border-radius:50%;

    background:rgba(37,99,235,.05);

    filter:blur(20px);

    z-index:-1;

}

#client-showcase::after{

    content:"";

    position:absolute;

    width:360px;

    height:360px;

    left:-180px;

    bottom:-180px;

    border-radius:50%;

    background:rgba(59,130,246,.05);

    filter:blur(25px);

    z-index:-1;

}



/*=========================================================
    Main Container
=========================================================*/

.client-container{

    width:100%;

    max-width:var(--client-container);

    margin:0 auto;

    position:relative;

    z-index:2;

}



/*=========================================================
    Common Card Style
=========================================================*/

.client-card,
.stat-box,
.logo-item{

    background:var(--client-card-bg);

    border:1px solid var(--client-border);

    border-radius:var(--client-radius);

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

}



/*=========================================================
    Hover
=========================================================*/

.client-card:hover,
.stat-box:hover,
.logo-item:hover{

    transform:translateY(-8px);

    box-shadow:var(--client-shadow-lg);

}



/*=========================================================
    Focus Accessibility
=========================================================*/

.client-card:focus-within,
.logo-item:focus-within{

    outline:3px solid rgba(37,99,235,.25);

    outline-offset:4px;

}



/*=========================================================
    Performance
=========================================================*/

.client-card,
.logo-item,
.stat-box{

    will-change:transform;

    backface-visibility:hidden;

    -webkit-font-smoothing:antialiased;

}



/*=========================================================
    Large Desktop
=========================================================*/

@media (min-width:1600px){

    .client-container{

        max-width:1450px;

    }

}



/*=========================================================
    Laptop
=========================================================*/

@media (max-width:1200px){

    #client-showcase{

        padding:100px 30px;

    }

}



/*=========================================================
    Tablet
=========================================================*/

@media (max-width:992px){

    #client-showcase{

        padding:90px 24px;

    }

}



/*=========================================================
    Mobile
=========================================================*/

@media (max-width:768px){

    #client-showcase{

        padding:80px 18px;

    }

}



/*=========================================================
    Small Mobile
=========================================================*/

@media (max-width:576px){

    #client-showcase{

        padding:70px 15px;

    }

}



/*=========================================================
    Reduced Motion
=========================================================*/

@media (prefers-reduced-motion:reduce){

    #client-showcase *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}

/*=========================================================
    Homepage Section
    Client Showcase
    Part 1B
    Header • Statistics
=========================================================*/


/*=========================================================
    Section Header
=========================================================*/

.client-header{

    max-width:900px;

    margin:0 auto 80px;

    text-align:center;

}



/*=========================================================
    Subtitle
=========================================================*/

.client-subtitle{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:12px 24px;

    background:rgba(37,99,235,.08);

    border:1px solid rgba(37,99,235,.12);

    border-radius:50px;

    color:var(--client-primary);

    font-size:.90rem;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

}



/*=========================================================
    Main Heading
=========================================================*/

.client-title{

    margin-top:28px;

    font-size:clamp(2.5rem,5vw,4rem);

    font-weight:800;

    line-height:1.15;

    color:var(--client-heading);

    text-wrap:balance;

}



/*=========================================================
    Description
=========================================================*/

.client-description{

    max-width:760px;

    margin:28px auto 0;

    font-size:1.08rem;

    line-height:1.9;

    color:var(--client-text);

}



/*=========================================================
    Statistics Grid
=========================================================*/

.client-stats{

    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:30px;

    margin-bottom:80px;

}



/*=========================================================
    Statistics Card
=========================================================*/

.stat-box{

    position:relative;

    overflow:hidden;

    padding:45px 30px;

    text-align:center;

    box-shadow:var(--client-shadow-sm);

}



/*=========================================================
    Top Accent
=========================================================*/

.stat-box::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        var(--client-primary),
        var(--client-primary-light)
    );

}



/*=========================================================
    Number
=========================================================*/

.stat-box h3{

    margin:0 0 18px;

    font-size:clamp(2.8rem,4vw,3.8rem);

    font-weight:800;

    line-height:1;

    color:var(--client-primary);

}



/*=========================================================
    Label
=========================================================*/

.stat-box p{

    margin:0;

    font-size:1rem;

    font-weight:600;

    color:var(--client-muted);

    text-transform:uppercase;

    letter-spacing:.06em;

}



/*=========================================================
    Hover Effects
=========================================================*/

.stat-box:hover{

    border-color:rgba(37,99,235,.15);

}



/*=========================================================
    Large Desktop
=========================================================*/

@media (min-width:1600px){

    .client-header{

        max-width:980px;

    }

}



/*=========================================================
    Laptop
=========================================================*/

@media (max-width:1200px){

    .client-header{

        margin-bottom:70px;

    }

    .client-stats{

        gap:24px;

    }

}



/*=========================================================
    Tablet Landscape
=========================================================*/

@media (max-width:992px){

    .client-header{

        margin-bottom:60px;

    }

    .client-title{

        font-size:2.9rem;

    }

    .client-description{

        font-size:1rem;

    }

    .client-stats{

        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:22px;

    }

    .stat-box{

        padding:36px 24px;

    }

}



/*=========================================================
    Tablet Portrait
=========================================================*/

@media (max-width:768px){

    .client-header{

        margin-bottom:50px;

    }

    .client-subtitle{

        font-size:.80rem;

        padding:10px 18px;

    }

    .client-title{

        margin-top:22px;

        font-size:2.3rem;

    }

    .client-description{

        margin-top:22px;

        font-size:.98rem;

        line-height:1.8;

    }

    .client-stats{

        grid-template-columns:1fr;

        gap:20px;

        margin-bottom:60px;

    }

    .stat-box{

        padding:32px 22px;

    }

}



/*=========================================================
    Mobile
=========================================================*/

@media (max-width:576px){

    .client-header{

        margin-bottom:45px;

    }

    .client-subtitle{

        width:100%;

        justify-content:center;

        font-size:.75rem;

        padding:10px 16px;

    }

    .client-title{

        font-size:2rem;

        line-height:1.25;

    }

    .client-description{

        font-size:.95rem;

    }

    .stat-box{

        padding:28px 20px;

    }

    .stat-box h3{

        font-size:2.5rem;

    }

    .stat-box p{

        font-size:.88rem;

    }

}



/*=========================================================
    Extra Small Devices
=========================================================*/

@media (max-width:380px){

    .client-title{

        font-size:1.75rem;

    }

    .client-description{

        font-size:.92rem;

    }

    .stat-box{

        padding:24px 18px;

    }

    .stat-box h3{

        font-size:2.2rem;

    }

}

/*=========================================================
    Homepage Section
    Client Showcase
    Part 2
    Client Cards • Logo Grid • CTA Button
=========================================================*/


/*=========================================================
    Client Card
=========================================================*/

.client-card{

    position:relative;

    overflow:hidden;

    padding:60px;

    margin-bottom:50px;

    background:var(--client-card-bg);

    border:1px solid var(--client-border);

    border-radius:var(--client-radius-lg);

    box-shadow:var(--client-shadow-sm);

}

.client-card:last-child{

    margin-bottom:0;

}

.client-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        var(--client-primary),
        var(--client-primary-light)
    );

}



/*=========================================================
    Card Header
=========================================================*/

.card-header{

    max-width:820px;

    margin:0 auto 50px;

    text-align:center;

}

.card-tag{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 24px;

    border-radius:50px;

    background:rgba(37,99,235,.08);

    border:1px solid rgba(37,99,235,.12);

    color:var(--client-primary);

    font-size:.85rem;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.card-header h3{

    margin-top:24px;

    font-size:clamp(2rem,4vw,2.8rem);

    line-height:1.25;

    font-weight:800;

    color:var(--client-heading);

}

.card-header p{

    max-width:760px;

    margin:22px auto 0;

    font-size:1.05rem;

    line-height:1.9;

    color:var(--client-text);

}



/*=========================================================
    Logo Grid
=========================================================*/

.logo-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:24px;

    align-items:stretch;

}



/*=========================================================
    Logo Card
=========================================================*/

.logo-item{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:150px;

    padding:28px;

    background:#ffffff;

    border:1px solid var(--client-border);

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 5px 20px rgba(15,23,42,.04);

}

.logo-item::before{

    content:"";

    position:absolute;

    inset:0;

    opacity:0;

    background:linear-gradient(
        135deg,
        rgba(37,99,235,.03),
        rgba(59,130,246,.08)
    );

    transition:opacity .35s ease;

}

.logo-item:hover::before{

    opacity:1;

}

.logo-item:hover{

    border-color:rgba(37,99,235,.20);

}



/*=========================================================
    Logo Images
=========================================================*/

.logo-item img{

    position:relative;

    z-index:2;

    width:auto;

    max-width:80%;

    max-height:60px;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.75;

    transition:all .35s ease;

}

.logo-item:hover img{

    filter:grayscale(0);

    opacity:1;

    transform:scale(1.05);

}



/*=========================================================
    CTA Button
=========================================================*/

.client-button-wrapper{

    margin-top:70px;

    text-align:center;

}

.client-view-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    min-width:240px;

    padding:18px 36px;

    border-radius:60px;

    background:linear-gradient(
        135deg,
        var(--client-primary),
        var(--client-primary-dark)
    );

    color:#ffffff;

    font-size:1rem;

    font-weight:700;

    letter-spacing:.02em;

    transition:all .35s ease;

    box-shadow:0 15px 35px rgba(37,99,235,.25);

}

.client-view-btn:hover{

    transform:translateY(-4px);

    box-shadow:0 25px 50px rgba(37,99,235,.30);

}

.client-view-btn:active{

    transform:translateY(0);

}



/*=========================================================
    Laptop
=========================================================*/

@media (max-width:1200px){

    .client-card{

        padding:50px;

    }

    .logo-grid{

        grid-template-columns:repeat(3,minmax(0,1fr));

    }

}



/*=========================================================
    Tablet Landscape
=========================================================*/

@media (max-width:992px){

    .client-card{

        padding:40px;

    }

    .card-header{

        margin-bottom:40px;

    }

    .card-header h3{

        font-size:2rem;

    }

    .logo-grid{

        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:20px;

    }

    .logo-item{

        min-height:130px;

        padding:22px;

    }

}



/*=========================================================
    Tablet Portrait
=========================================================*/

@media (max-width:768px){

    .client-card{

        padding:32px 24px;

        margin-bottom:35px;

    }

    .card-tag{

        font-size:.78rem;

    }

    .card-header h3{

        font-size:1.7rem;

    }

    .card-header p{

        font-size:1rem;

    }

    .logo-grid{

        grid-template-columns:repeat(2,1fr);

        gap:18px;

    }

    .logo-item{

        min-height:120px;

        padding:20px;

    }

    .logo-item img{

        max-height:52px;

    }

}



/*=========================================================
    Mobile
=========================================================*/

@media (max-width:576px){

    .client-card{

        padding:26px 18px;

    }

    .card-header{

        margin-bottom:30px;

    }

    .card-tag{

        width:100%;

        padding:10px 14px;

        font-size:.74rem;

    }

    .card-header h3{

        font-size:1.45rem;

    }

    .card-header p{

        font-size:.95rem;

        line-height:1.75;

    }

    .logo-grid{

        grid-template-columns:1fr;

        gap:16px;

    }

    .logo-item{

        min-height:100px;

        padding:18px;

    }

    .logo-item img{

        max-height:46px;

        max-width:75%;

    }

    .client-button-wrapper{

        margin-top:50px;

    }

    .client-view-btn{

        width:100%;

        min-width:unset;

        padding:16px 24px;

        font-size:.95rem;

    }

}



/*=========================================================
    Extra Small Devices
=========================================================*/

@media (max-width:380px){

    .client-card{

        padding:22px 16px;

    }

    .card-header h3{

        font-size:1.35rem;

    }

    .logo-item{

        min-height:90px;

    }

}




/*=========================================================
    Homepage Section
    Client Showcase
    Part 3
    Animations • Accessibility • Performance • Print
=========================================================*/


/*=========================================================
    Scroll Animation
=========================================================*/

.client-header,
.client-stats,
.client-card{

    opacity:0;

    transform:translateY(50px);

    transition:

        opacity .8s ease,

        transform .8s ease;

}

.client-show{

    opacity:1 !important;

    transform:translateY(0) !important;

}



/*=========================================================
    Hover Animation
=========================================================*/

.client-card,
.stat-box,
.logo-item,
.logo-item img,
.client-view-btn{

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease,

        background .35s ease,

        color .35s ease,

        opacity .35s ease,

        filter .35s ease;

}



/*=========================================================
    Card Hover
=========================================================*/

.client-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--client-shadow-lg);

}

.stat-box:hover{

    transform:translateY(-6px);

}

.logo-item:hover{

    transform:translateY(-6px);

}



/*=========================================================
    Keyboard Accessibility
=========================================================*/

.client-view-btn:focus-visible,
.logo-item:focus-visible,
.stat-box:focus-visible,
.client-card:focus-visible{

    outline:3px solid rgba(37,99,235,.35);

    outline-offset:4px;

}



/*=========================================================
    Selection
=========================================================*/

#client-showcase ::selection{

    background:rgba(37,99,235,.20);

    color:var(--client-heading);

}



/*=========================================================
    Smooth Image Rendering
=========================================================*/

.logo-item img{

    image-rendering:auto;

}



/*=========================================================
    Reduce Motion
=========================================================*/

@media (prefers-reduced-motion:reduce){

    html{

        scroll-behavior:auto;

    }

    .client-header,
    .client-stats,
    .client-card{

        opacity:1;

        transform:none;

    }

    .client-card,
    .stat-box,
    .logo-item,
    .logo-item img,
    .client-view-btn{

        transition:none !important;

        animation:none !important;

    }

}



/*=========================================================
    Touch Devices
=========================================================*/

@media (hover:none){

    .client-card:hover,
    .stat-box:hover,
    .logo-item:hover,
    .client-view-btn:hover{

        transform:none;

    }

}



/*=========================================================
    Large Desktop
=========================================================*/

@media (min-width:1600px){

    .client-container{

        max-width:1440px;

    }

}



/*=========================================================
    Laptop
=========================================================*/

@media (max-width:1200px){

    .client-container{

        max-width:1140px;

    }

}



/*=========================================================
    Tablet Landscape
=========================================================*/

@media (max-width:992px){

    .client-container{

        max-width:100%;

    }

}



/*=========================================================
    Tablet Portrait
=========================================================*/

@media (max-width:768px){

    .client-button-wrapper{

        margin-top:45px;

    }

}



/*=========================================================
    Mobile
=========================================================*/

@media (max-width:576px){

    #client-showcase{

        overflow:hidden;

    }

    .client-container{

        padding:0;

    }

}



/*=========================================================
    High Resolution Displays
=========================================================*/

@media (-webkit-min-device-pixel-ratio:2),
(min-resolution:192dpi){

    .logo-item img{

        image-rendering:auto;

    }

}



/*=========================================================
    Print Styles
=========================================================*/

@media print{

    #client-showcase{

        background:#ffffff;

        padding:30px 0;

    }

    .client-card,
    .stat-box,
    .logo-item{

        box-shadow:none !important;

        border:1px solid #cccccc;

        transform:none !important;

    }

    .client-view-btn{

        display:none;

    }

}



/*=========================================================
    Performance
=========================================================*/

.client-header,
.client-stats,
.client-card,
.stat-box,
.logo-item{

    will-change:transform,opacity;

}



/*=========================================================
    Overflow Protection
=========================================================*/

.client-container,
.client-card,
.logo-grid,
.logo-item{

    min-width:0;

}

.logo-item img{

    max-width:100%;

}



/*=========================================================
    End of Stylesheet
=========================================================*/


/*==============================
Fix Card Header Layout
==============================*/

.card-header{

    display:block !important;

    width:100% !important;

    max-width:800px;

    margin:0 auto 40px;

    text-align:center;

}

.card-header h3{

    display:block;

    width:100%;

    max-width:100%;

    margin:20px auto;

}

.card-header p{

    display:block;

    width:100%;

    max-width:700px;

    margin:20px auto 0;

}

.card-tag{

    display:inline-block;

    max-width:100%;

}


.client-card{

    overflow:hidden;

}

.card-header,
.logo-grid,
.client-stats{

    min-width:0;

    width:100%;

}