/* =================================================================== PARTNER HERO section css (shared by every partner profile) =================================================================== */
.partner-hero {
    padding-block: var(--sp80) var(--sp100);

    & .partner-hero__logo {
        display: block;
        width: auto; max-width: 240px; max-height: 64px;
        margin-bottom: var(--sp30);
        object-fit: contain;
        object-position: left;
    }

    & .partner-hero__logo--chip {
        box-sizing: content-box;
        padding: var(--sp15) var(--sp20);
        background: var(--white);
        border: 1px solid var(--line);
        border-radius: var(--r-md);
    }

    /* white-on-transparent logo files, shown dark on the light hero */
    & .partner-hero__logo--dark { filter: brightness(0); opacity: .88; }

    /* pale colour logos: deepen for contrast on the light hero */
    & .partner-hero__logo--deepen { filter: saturate(1.6) brightness(.72); }

    & .partner-hero__actions { margin-top: var(--sp40); }

    & .partner-hero__card {
        position: relative;
        width: 100%;
        max-width: 420px;
        padding: var(--sp15);
        background: var(--white);
        border: 1px solid var(--line);
        border-radius: var(--r-md);
        box-shadow: var(--shadow-sm);
    }

    & .partner-hero__photo {
        width: 100%;
        aspect-ratio: 4 / 5;
        object-fit: cover;
        object-position: top;
        border-radius: var(--r-md);
    }

    & .partner-hero__caption {
        display: flex; flex-direction: column;
        gap: 2px;
        padding: var(--sp20) var(--sp10) var(--sp8);
    }

    & .partner-hero__name { font-size: var(--f20); color: var(--black); letter-spacing: -.01em; }

    & .partner-hero__role {
        font-size: var(--f13);
        font-weight: 600;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: var(--primary);
    }

    & .partner-hero__facts {
        display: grid;
        gap: var(--sp10);
    }

    & .partner-hero__fact {
        display: flex; flex-direction: column;
        gap: var(--sp4);
        padding: var(--sp25);
        background: var(--white);
        border: 1px solid var(--line);
        border-left: 3px solid var(--primary);
        border-radius: var(--r-md);
        box-shadow: var(--shadow-sm);
    }

    & .partner-hero__fact-num {
        font-size: var(--f40);
        font-weight: 600;
        line-height: 1;
        letter-spacing: -.03em;
        color: var(--primary);
    }

    & .partner-hero__fact-label { font-size: var(--f15); color: var(--body); }
}

/* =================================================================== RESPONSIVE =================================================================== */
@media (max-width: 991.98px) {
    .partner-hero {
        & .partner-hero__card { max-width: 360px; }
    }
}

@media (max-width: 575.98px) {
    .partner-hero {
        & .partner-hero__logo { max-width: 190px; max-height: 52px; }
    }
}
