/* TeamVibe client revisions, 13 Nov 2026
   Include AFTER home-platinum.css. Keep original JS and carousel selectors. */

/* Hero: white canvas, lower heading, compact height to bring logos into view */
#home.pl-hero { background: #fff !important; padding: 0 !important; }
#home.pl-hero .pl-hero-shell {
    background: #fff !important;
    background-image: none !important;
    overflow: visible !important;
    isolation: isolate;
}
#home.pl-hero .pl-hero-shell::before,
#home.pl-hero .pl-hero-shell::after { content: none !important; display: none !important; }
#home.pl-hero .pl-hero-main { overflow: visible !important; }
#home.pl-hero .pl-reference-carousel { overflow: visible !important; }
#home.pl-hero .pl-ref-stage { border: 4px solid #fff; box-sizing: border-box; }
#home.pl-hero .pl-hero-mia { pointer-events: none !important; }

/* Neutral controls sit below, not over the character or video */
#home.pl-hero .pl-hero-main > .pl-ref-arrow {
    position: absolute !important;
    top: auto !important;
    bottom: -52px !important;
    width: 39px !important;
    height: 39px !important;
    display: grid !important;
    place-items: center !important;
    padding: 10px !important;
    border: 1px solid #e4e6ea !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #19263e !important;
    box-shadow: 0 4px 12px rgba(22,34,51,.08) !important;
    transform: none !important;
    z-index: 30 !important;
}
#home.pl-hero .pl-hero-main > .pl-ref-prev {
    left: calc(50% - 44px) !important;
    right: auto !important;
}
#home.pl-hero .pl-hero-main > .pl-ref-next {
    left: calc(50% + 5px) !important;
    right: auto !important;
}
#home.pl-hero .pl-hero-main > .pl-ref-arrow:hover,
#home.pl-hero .pl-hero-main > .pl-ref-arrow:focus-visible {
    border-color: var(--orange-500, #f47720) !important;
    color: var(--orange-600, #eb631c) !important;
    background: #fff7f2 !important;
}
#home.pl-hero .pl-ref-arrow svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

@media (min-width: 1200px) {
    #home.pl-hero .pl-hero-shell {
        height: 660px !important;
        min-height: 660px !important;
        padding: 0 !important;
    }
    #home.pl-hero .pl-hero-toprow { top: 74px !important; }
    #home.pl-hero .pl-hero-main {
        top: 155px !important;
        height: 430px !important;
        margin: 0 !important;
    }
    #home.pl-hero .pl-reference-carousel { height: 430px !important; }
    #home.pl-hero .pl-ref-stage { height: 430px !important; }
    #home.pl-hero .pl-hero-mia {
        height: 440px !important;
        width: 305px !important;
        right: -122px !important;
        bottom: 0 !important;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    #home.pl-hero .pl-hero-shell { height: auto !important; min-height: 0 !important; padding: 65px 0 78px !important; }
    #home.pl-hero .pl-hero-main { margin-top: 35px !important; }
    #home.pl-hero .pl-ref-stage { height: 360px !important; }
}
@media (max-width: 991px) {
    #home.pl-hero .pl-hero-shell { height: auto !important; min-height: 0 !important; padding: 36px 0 75px !important; }
    #home.pl-hero .pl-hero-main { margin-top: 24px !important; }
    #home.pl-hero .pl-ref-stage { height: auto !important; min-height: 0 !important; aspect-ratio: 16 / 8.5 !important; }
    #home.pl-hero .pl-hero-mia { right: -12px !important; width: 170px !important; height: 265px !important; bottom: 0 !important; }
}
@media (max-width: 600px) {
    #home.pl-hero .pl-hero-shell { padding: 35px 0 67px !important; }
    #home.pl-hero .pl-hero-main { margin-top: 18px !important; width: calc(100% - 20px) !important; }
    #home.pl-hero .pl-reference-carousel { width: 100% !important; }
    #home.pl-hero .pl-ref-stage { aspect-ratio: 16 / 10 !important; border-width: 2px; }
    #home.pl-hero .pl-hero-mia { right: -10px !important; width: 105px !important; height: 180px !important; bottom: 0 !important; }
    #home.pl-hero .pl-hero-main > .pl-ref-arrow { bottom: -46px !important; width: 36px !important; height: 36px !important; }
}

/* Partner strip: tighten gutters and vertical rhythm */



/* ==========================================
   PARTNER LOGOS — TEAMBUILDING STYLE
========================================== */

.pl-logo-strip {
    padding: 10px 0 !important;
    margin: 0 !important;
    background: #fff;
}

.pl-logo-strip .pl-logo-strip-inner {
    min-height: 85px !important;
    gap: 24px !important;
    align-items: center;
}

.pl-logo-strip .pl-hero-logo-marquee {
    height: 85px !important;
}

.pl-logo-strip .pl-hero-logo-group {
    gap: 25px !important;
    padding-right: 25px !important;
}

.pl-logo-strip .pl-hero-logo {
    width: 155px !important;
    min-width: 155px !important;
    max-width: 155px !important;
    height: 80px !important;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pl-logo-strip .pl-hero-logo img {
    width: 150px !important;
    height: 65px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
    opacity: 1 !important;
}

/* Tablet */
@media (max-width: 991px) {
    .pl-logo-strip .pl-hero-logo {
        width: 130px !important;
        min-width: 130px !important;
        max-width: 130px !important;
        height: 70px !important;
    }

    .pl-logo-strip .pl-hero-logo img {
        width: 125px !important;
        height: 58px !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .pl-logo-strip .pl-logo-strip-inner {
        gap: 12px !important;
    }

    .pl-logo-strip .pl-hero-logo-marquee {
        height: 65px !important;
    }

    .pl-logo-strip .pl-hero-logo-group {
        gap: 16px !important;
        padding-right: 16px !important;
    }

    .pl-logo-strip .pl-hero-logo {
        width: 115px !important;
        min-width: 115px !important;
        max-width: 115px !important;
        height: 60px !important;
    }

    .pl-logo-strip .pl-hero-logo img {
        width: 110px !important;
        height: 50px !important;
    }
}
