/* =================================================================== PARTNER SERVICES section css =================================================================== */
.partner-services {
    padding-block: var(--sectionGap);

    & .partner-services__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--g30);
    }

    & .partner-services__grid--2 { grid-template-columns: repeat(2, 1fr); }

    & .partner-services__card {
        position: relative;
        display: flex; flex-direction: column;
        gap: var(--sp12);
        padding: var(--sp40);
        background: var(--white);
        border: 1px solid var(--line);
        border-radius: var(--r-md);
        transition: var(--transition);

        &:hover { border-color: transparent; box-shadow: var(--shadow-sm); }
        &:hover .partner-services__num { background: var(--primary); color: var(--white); }
    }

    & .partner-services__num {
        display: grid; place-items: center;
        width: 52px; height: 52px;
        margin-bottom: var(--sp10);
        background: var(--blue-50);
        border-radius: var(--r-md);
        font-size: var(--f16);
        font-weight: 600;
        color: var(--primary);
        transition: var(--transition);
    }

    & .partner-services__title { font-size: var(--f20); line-height: 1.3; letter-spacing: -.01em; }

    & .partner-services__text { font-size: var(--f15); }

    & .partner-services__sub { font-size: var(--f14); color: var(--muted); }

    & .partner-services__list { margin-top: var(--sp10); }
    & .partner-services__list li { padding-left: calc(var(--sp30) + var(--sp8)); font-size: var(--f15); }

    /* compact tag list (Business Builders, Sakas) */
    & .partner-services__tags {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--sp15);
    }

    & .partner-services__tag {
        display: flex; align-items: center;
        gap: var(--sp15);
        padding: var(--sp20) var(--sp25);
        background: var(--surface-1);
        border-radius: var(--r-md);
        font-size: var(--f16);
        font-weight: 600;
        color: var(--ink);
        transition: var(--transition);

        & span:first-child { font-size: var(--f14); color: var(--primary); }
        & small { display: block; font-size: var(--f13); font-weight: 500; color: var(--muted); }
        &:hover { background: var(--blue-50); }
    }

    /* featured engagement panel */
    & .partner-services__feature {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: var(--sp50);
        margin-top: var(--sp60);
        padding: var(--sp50);
        background: var(--surface-1);
        border: 1px solid var(--line);
        border-radius: var(--r-md);
    }

    & .partner-services__feature-kicker {
        display: block;
        margin-bottom: var(--sp10);
        font-size: var(--f13);
        font-weight: 600;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--primary);
    }

    & .partner-services__feature-title { margin-bottom: var(--sp20); font-size: var(--f32); }

    & .partner-services__card p + p { margin-top: 0; }

    & .partner-services__gains {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--sp15);
    }

    & .partner-services__gain:last-child:nth-child(odd) { grid-column: 1 / -1; }

    & .partner-services__gain {
        padding: var(--sp20);
        background: var(--white);
        border: 1px solid var(--line);
        border-radius: var(--r-md);
        box-shadow: var(--shadow-sm);

        & h4 { margin-bottom: var(--sp4); font-size: var(--f16); letter-spacing: 0; }
        & p { font-size: var(--f14); }
    }
}

/* =================================================================== RESPONSIVE =================================================================== */
@media (max-width: 1199.98px) {
    .partner-services {
        & .partner-services__card { padding: var(--sp30); }
        & .partner-services__feature { grid-template-columns: 1fr; padding: var(--sp40); }
    }
}

@media (max-width: 991.98px) {
    .partner-services {
        & .partner-services__grid, & .partner-services__tags { grid-template-columns: 1fr 1fr; }
    }
}

@media (max-width: 767.98px) {
    .partner-services {
        & .partner-services__grid, & .partner-services__grid--2, & .partner-services__tags { grid-template-columns: 1fr; }
        & .partner-services__feature { padding: var(--sp30) var(--sp20); }
        & .partner-services__gains { grid-template-columns: 1fr; }
    }
}
