
/* =========================================================
   SOFTLYSIS — CLIENTS PAGE
   DARK + LIGHT THEME
   ========================================================= */


/* =========================================================
   PAGE VARIABLES
   ========================================================= */

.clients-page {

    --clients-bg: #070b14;
    --clients-bg-soft: #0c1220;

    --clients-card: rgba(255,255,255,0.045);
    --clients-card-hover: rgba(255,255,255,0.075);

    --clients-border: rgba(255,255,255,0.10);

    --clients-text: #ffffff;
    --clients-text-soft: #aab4c7;
    --clients-text-muted: #778297;

    --clients-accent: #6d92ff;
    --clients-accent-hover: #8ba8ff;

    --clients-shadow:
        0 25px 70px rgba(0,0,0,.18);

    background:
        radial-gradient(
            circle at 85% 0%,
            rgba(80,124,255,.12),
            transparent 30%
        ),
        var(--clients-bg);

    color: var(--clients-text);

    overflow: hidden;

}


/* =========================================================
   LIGHT THEME
   ========================================================= */

[data-theme="light"] .clients-page {

    --clients-bg: #f7f9fc;
    --clients-bg-soft: #ffffff;

    --clients-card: rgba(255,255,255,.88);
    --clients-card-hover: #ffffff;

    --clients-border: rgba(15,23,42,.10);

    --clients-text: #111827;
    --clients-text-soft: #526074;
    --clients-text-muted: #748096;

    --clients-accent: #315fdc;
    --clients-accent-hover: #234fc7;

    --clients-shadow:
        0 25px 70px rgba(15,23,42,.09);

    background:
        radial-gradient(
            circle at 85% 0%,
            rgba(49,95,220,.08),
            transparent 30%
        ),
        var(--clients-bg);

}


/* =========================================================
   CONTAINER
   ========================================================= */

.clients-container {

    width: min(
        1180px,
        calc(100% - 40px)
    );

    margin: 0 auto;

}


/* =========================================================
   HERO
   ========================================================= */

.clients-hero {

    position: relative;

    padding:
        50px
        0
        100px;

}


.clients-hero-grid {

    display: grid;

    grid-template-columns:
        minmax(0,1.1fr)
        minmax(360px,.9fr);

    gap: 80px;

    align-items: center;

}


.clients-eyebrow {

    display: inline-block;

    margin-bottom: 22px;

    color: var(--clients-accent);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .18em;

}


.clients-hero-content h1 {

    max-width: 760px;

    margin: 0;

    font-size:
        clamp(
            44px,
            6vw,
            76px
        );

    line-height: .98;

    letter-spacing: -.05em;

    font-weight: 800;

}


.clients-hero-content h1 span {

    display: block;

    color: var(--clients-accent);

}


.clients-hero-content p {

    max-width: 650px;

    margin:
        30px
        0
        0;

    color: var(--clients-text-soft);

    font-size: 17px;

    line-height: 1.8;

}


/* =========================================================
   HERO BUTTONS
   ========================================================= */

.clients-hero-actions {

    display: flex;

    flex-wrap: wrap;

    gap: 14px;

    margin-top: 34px;

}


.clients-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    min-height: 50px;

    padding:
        0
        22px;

    border-radius: 12px;

    text-decoration: none;

    font-size: 14px;

    font-weight: 700;

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease,
        border-color .25s ease;

}


.clients-btn:hover {

    transform: translateY(-3px);

}


.clients-btn-primary {

    background: var(--clients-accent);

    color: #ffffff !important;

    border:
        1px solid
        var(--clients-accent);

}


.clients-btn-primary:hover {

    background: var(--clients-accent-hover);

    border-color: var(--clients-accent-hover);

    color: #ffffff !important;

}


.clients-btn-secondary {

    background: var(--clients-card);

    border:
        1px solid
        var(--clients-border);

    color: var(--clients-text) !important;

    backdrop-filter: blur(14px);

}


.clients-btn-secondary:hover {

    border-color: var(--clients-accent);

    color: var(--clients-accent) !important;

}


/* =========================================================
   HERO VISUAL
   ========================================================= */

.clients-hero-visual {

    position: relative;

    min-height: 390px;

    display: flex;

    align-items: center;

    justify-content: center;

}


.clients-visual-card {

    position: relative;

    z-index: 2;

    width: min(
        100%,
        430px
    );

    padding: 34px;

    border:
        1px solid
        var(--clients-border);

    border-radius: 28px;

    background: var(--clients-card);

    box-shadow: var(--clients-shadow);

    backdrop-filter: blur(20px);

}


.clients-visual-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    color: var(--clients-text-muted);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: .16em;

}


.clients-visual-top i {

    color: var(--clients-accent);

    font-size: 20px;

}


.clients-visual-number {

    margin-top: 55px;

    font-size:
        clamp(
            70px,
            9vw,
            108px
        );

    line-height: .9;

    font-weight: 800;

    letter-spacing: -.07em;

}


.clients-visual-number span {

    color: var(--clients-accent);

}


.clients-visual-card p {

    max-width: 320px;

    margin:
        25px
        0
        28px;

    color: var(--clients-text-soft);

    line-height: 1.7;

}


.clients-visual-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

}


.clients-visual-tags span {

    padding:
        8px
        12px;

    border-radius: 100px;

    background:
        rgba(109,146,255,.09);

    border:
        1px solid
        rgba(109,146,255,.18);

    color: var(--clients-text-soft);

    font-size: 11px;

}


.clients-glow {

    position: absolute;

    border-radius: 50%;

    pointer-events: none;

}


.clients-glow-one {

    width: 190px;

    height: 190px;

    top: 15px;

    right: 10px;

    background:
        rgba(79,124,255,.16);

    filter: blur(2px);

}


.clients-glow-two {

    width: 130px;

    height: 130px;

    bottom: 15px;

    left: 15px;

    background:
        rgba(99,102,241,.12);

    filter: blur(2px);

}


/* =========================================================
   SHOWCASE
   ========================================================= */

.clients-showcase {

    padding:
        115px
        0;

    background: var(--clients-bg-soft);

    border-top:
        1px solid
        var(--clients-border);

    border-bottom:
        1px solid
        var(--clients-border);

}


.clients-section-heading {

    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 60px;

    align-items: end;

    margin-bottom: 80px;

}


.clients-section-heading span {

    color: var(--clients-accent);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .17em;

}


.clients-section-heading h2 {

    margin:
        12px
        0
        0;

    font-size:
        clamp(
            34px,
            4vw,
            52px
        );

    line-height: 1;

    letter-spacing: -.04em;

}


.clients-section-heading p {

    margin: 0;

    color: var(--clients-text-soft);

    line-height: 1.8;

}


/* =========================================================
   CATEGORY
   ========================================================= */

.client-category {

    margin-top: 95px;

}


.client-category:first-of-type {

    margin-top: 0;

}


.client-category-header {

    display: grid;

    grid-template-columns: 70px 1fr;

    gap: 22px;

    align-items: start;

    margin-bottom: 35px;

}


.client-category-number {

    padding-top: 4px;

    color: var(--clients-accent);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: .08em;

}


.client-category-header span {

    color: var(--clients-text-muted);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: .15em;

}


.client-category-header h3 {

    max-width: 750px;

    margin:
        10px
        0
        0;

    font-size:
        clamp(
            28px,
            3.5vw,
            42px
        );

    line-height: 1.08;

    letter-spacing: -.035em;

}


/* =========================================================
   CLIENT GRID
   ========================================================= */

.client-category-grid {

    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    border-top:
        1px solid
        var(--clients-border);

    border-left:
        1px solid
        var(--clients-border);

}


/* =========================================================
   CLIENT CARD
   ========================================================= */

.client-card {

    position: relative;

    min-height: 300px;

    padding: 30px;

    display: flex;

    flex-direction: column;

    border-right:
        1px solid
        var(--clients-border);

    border-bottom:
        1px solid
        var(--clients-border);

    background: transparent;

    transition:
        background .3s ease,
        transform .3s ease;

}


.client-card:hover {

    background: var(--clients-card-hover);

}


.client-card-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

}


.client-card-index {

    color: var(--clients-text-muted);

    font-size: 10px;

    font-weight: 700;

}


.client-card-top i {

    color: var(--clients-text-muted);

    font-size: 18px;

    transition:
        color .25s ease,
        transform .25s ease;

}


.client-card:hover .client-card-top i {

    color: var(--clients-accent);

    transform: translate(3px,-3px);

}


/* =========================================================
   CLIENT LOGO
   ========================================================= */

.client-logo-text {

    min-height: 70px;

    display: flex;

    align-items: center;

    margin-top: 25px;

    color: var(--clients-text);

    font-size: 24px;

    font-weight: 800;

    letter-spacing: -.03em;

}


.client-card h4 {

    margin:
        5px
        0
        10px;

    color: var(--clients-text);

    font-size: 18px;

    line-height: 1.3;

}


.client-card p {

    margin: 0;

    color: var(--clients-text-soft);

    font-size: 13px;

    line-height: 1.6;

}


/* =========================================================
   CLIENT LINK
   ========================================================= */

.client-card-link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    width: fit-content;

    margin-top: auto;

    padding-top: 25px;

    color: var(--clients-text) !important;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    transition:
        color .25s ease,
        gap .25s ease;

}


.client-card-link:hover {

    color: var(--clients-accent) !important;

    gap: 12px;

}


/* =========================================================
   EXPERIENCE
   ========================================================= */

.clients-experience {

    padding:
        120px
        0;

}


.clients-experience-grid {

    display: grid;

    grid-template-columns:
        .9fr
        1.1fr;

    gap: 100px;

}


.clients-experience-heading span {

    color: var(--clients-accent);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .17em;

}


.clients-experience-heading h2 {

    margin:
        18px
        0
        0;

    font-size:
        clamp(
            35px,
            4vw,
            55px
        );

    line-height: 1.05;

    letter-spacing: -.045em;

}


.clients-experience-heading h2 strong {

    display: block;

    color: var(--clients-accent);

}


.clients-experience-content {

    display: flex;

    flex-direction: column;

}


.client-feature {

    display: grid;

    grid-template-columns:
        58px
        1fr;

    gap: 22px;

    padding:
        28px
        0;

    border-bottom:
        1px solid
        var(--clients-border);

}


.client-feature:first-child {

    padding-top: 0;

}


.client-feature-icon {

    width: 52px;

    height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 15px;

    background:
        rgba(109,146,255,.10);

    border:
        1px solid
        rgba(109,146,255,.18);

    color: var(--clients-accent);

    font-size: 20px;

}


.client-feature h3 {

    margin:
        0
        0
        8px;

    font-size: 19px;

}


.client-feature p {

    margin: 0;

    color: var(--clients-text-soft);

    line-height: 1.7;

}


/* =========================================================
   CTA
   ========================================================= */

.clients-cta {

    padding:
        0
        0
        110px;

}


.clients-cta-card {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

    padding: 55px;

    border:
        1px solid
        var(--clients-border);

    border-radius: 28px;

    background:
        linear-gradient(
            135deg,
            rgba(109,146,255,.12),
            var(--clients-card)
        );

}


.clients-cta-card > div > span {

    color: var(--clients-accent);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .17em;

}


.clients-cta-card h2 {

    max-width: 700px;

    margin:
        14px
        0
        0;

    font-size:
        clamp(
            32px,
            4vw,
            52px
        );

    line-height: 1.05;

    letter-spacing: -.04em;

}


.clients-cta-card h2 strong {

    color: var(--clients-accent);

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .clients-hero-grid {

        grid-template-columns: 1fr;

        gap: 65px;

    }


    .clients-hero-content {

        max-width: 800px;

    }


    .clients-hero-visual {

        min-height: 350px;

    }


    .clients-section-heading {

        grid-template-columns: 1fr;

        gap: 20px;

    }


    .client-category-grid {

        grid-template-columns:
            repeat(2,1fr);

    }


    .clients-experience-grid {

        grid-template-columns: 1fr;

        gap: 60px;

    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .clients-container {

        width:
            calc(100% - 28px);

    }


    .clients-hero {

        padding:
            110px
            0
            80px;

    }


    .clients-hero-content h1 {

        font-size:
            clamp(
                42px,
                13vw,
                64px
            );

    }


    .clients-hero-content p {

        font-size: 15px;

    }


    .clients-hero-actions {

        flex-direction: column;

        align-items: stretch;

    }


    .clients-btn {

        width: 100%;

    }


    .clients-visual-card {

        padding: 26px;

        border-radius: 22px;

    }


    .clients-visual-number {

        margin-top: 45px;

    }


    .clients-showcase,
    .clients-experience {

        padding:
            80px
            0;

    }


    .clients-section-heading {

        margin-bottom: 55px;

    }


    .client-category {

        margin-top: 70px;

    }


    .client-category-header {

        grid-template-columns:
            45px
            1fr;

        gap: 12px;

    }


    .client-category-header h3 {

        font-size: 28px;

    }


    .client-category-grid {

        grid-template-columns: 1fr;

    }


    .client-card {

        min-height: 270px;

        padding: 25px;

    }


    .clients-cta {

        padding-bottom: 80px;

    }


    .clients-cta-card {

        flex-direction: column;

        align-items: flex-start;

        padding: 32px 25px;

        border-radius: 22px;

    }


    .clients-cta-card .clients-btn {

        width: auto;

    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .clients-hero {

        padding-top: 95px;

    }


    .clients-hero-content h1 {

        font-size: 40px;

    }


    .client-feature {

        grid-template-columns:
            46px
            1fr;

        gap: 15px;

    }


    .client-feature-icon {

        width: 44px;

        height: 44px;

        font-size: 17px;

    }


    .clients-cta-card .clients-btn {

        width: 100%;

    }

} 
