@font-face {
    font-family: 'STAPORT Partners Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/Inter-Regular-Latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'STAPORT Partners Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('fonts/Inter-Regular-LatinExt.woff2') format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Bildora's full-height sticky title sits behind a normal-flow card stream. */
body.staport-brand #partenaires.staport-bildora-partners {
    --staport-partners-opacity: 1;
    --staport-partners-blur: 0px;
    --staport-partners-scale: 1;
    --container-max-width: 1390px;
    isolation: isolate;
    overflow: clip;
    padding: 0;
    gap: 0;
}

/* Reuse the qualifications artwork and brand-blue tint behind the glass. */
body.staport-brand #partenaires.staport-bildora-partners::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-color: var(--uicore-primary-color, #0b4e9c);
    -webkit-mask: url("../../uploads/2026/10/CyberGuard-Testimonial-BG.webp") left top / 100% auto no-repeat;
    mask: url("../../uploads/2026/10/CyberGuard-Testimonial-BG.webp") left top / 100% auto no-repeat;
    mask-mode: alpha;
}

#partenaires.staport-bildora-partners .staport-partners-shell {
    width: 100%;
    max-width: 1390px;
    margin-inline: auto;
    flex-shrink: 0;
    overflow: visible;
}

#partenaires .staport-partners-title-block {
    position: sticky;
    top: 0;
    height: 100vh;
    min-height: 100vh;
    flex-shrink: 0;
    z-index: 1;
    opacity: var(--staport-partners-opacity);
    pointer-events: none;
}

#partenaires .staport-partners-title-content {
    width: 100%;
    max-width: 900px;
    filter: blur(var(--staport-partners-blur));
    transform: scale(var(--staport-partners-scale));
    transform-origin: center;
}

#partenaires .staport-partners-badge,
#partenaires .staport-partners-heading,
#partenaires .staport-partners-intro,
#partenaires .staport-partner-name {
    font-family: 'STAPORT Partners Inter', Inter, sans-serif;
}

#partenaires .staport-partners-badge .elementor-heading-title,
#partenaires .staport-partners-heading .elementor-heading-title,
#partenaires .staport-partner-name .elementor-heading-title {
    font-family: inherit;
    margin: 0;
}

#partenaires .staport-partners-badge {
    width: auto;
    border-radius: 50px;
}

#partenaires .staport-partners-badge > .elementor-widget-container {
    border-radius: 50px;
}

#partenaires .staport-partners-intro {
    width: 100%;
    max-width: 600px;
}

#partenaires .staport-partners-intro p {
    margin: 0;
}

#partenaires .staport-partners-stream {
    position: relative;
    z-index: 2;
    width: 100%;
    flex-shrink: 0;
}

#partenaires .staport-partners-row {
    width: 100%;
    flex-shrink: 0;
}

#partenaires .staport-partner-stagger {
    width: 400px;
    max-width: 100%;
    flex-shrink: 0;
}

#partenaires .staport-partner-card {
    position: relative;
    isolation: isolate;
    width: 400px;
    max-width: 100%;
    min-width: 0;
    flex-shrink: 0;
    border: 1px solid rgba(219, 237, 255, .3);
    border-radius: 16px;
    overflow: hidden;
    background-color: transparent;
    background-image: linear-gradient(135deg, rgba(225, 241, 255, .16), rgba(214, 235, 255, .055) 45%, rgba(128, 183, 246, .035));
    -webkit-backdrop-filter: blur(24px) saturate(130%);
    backdrop-filter: blur(24px) saturate(130%);
    box-shadow: 0 24px 64px rgba(2, 12, 31, .22), inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 -1px 0 rgba(3, 18, 40, .16);
}

#partenaires .staport-partner-card::before,
#partenaires .staport-partner-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
}

#partenaires .staport-partner-card::before {
    background-image: linear-gradient(115deg, transparent 20%, rgba(255, 255, 255, .07) 34%, rgba(255, 255, 255, .015) 44%, transparent 58%);
}

#partenaires .staport-partner-card::after {
    background-image: url('glass-grain.svg');
    background-size: 180px 180px;
    opacity: .14;
    mix-blend-mode: soft-light;
}

#partenaires .staport-partner-card > .elementor-element {
    position: relative;
    z-index: 1;
}

#partenaires .staport-partner-logo {
    width: 100%;
    min-width: 0;
    height: 300px;
    flex-shrink: 0;
    background-color: transparent;
}

#partenaires .staport-partner-logo > .elementor-widget-container {
    display: grid;
    place-items: center;
    height: 100%;
}

#partenaires .staport-partner-logo img {
    display: block;
    width: 260px;
    max-width: 90%;
    height: 230px;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(2, 13, 32, .16));
}

#partenaires .staport-partner-name {
    width: 100%;
}

@media (min-width: 768px) and (max-width: 1199px) {
    #partenaires .staport-partners-shell {
        padding-bottom: 80px;
    }
    #partenaires .staport-partners-stream {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
        align-items: start;
    }
    #partenaires .staport-partners-row-pair {
        grid-column: span 2;
        gap: 24px;
    }
    #partenaires .staport-partners-row-left {
        padding-left: 0;
    }
    #partenaires .staport-partner-stagger,
    #partenaires .staport-partners-row-pair > .staport-partner-card {
        flex: 0 0 calc((100% - 24px) / 2);
        width: calc((100% - 24px) / 2);
    }
    #partenaires .staport-partner-stagger {
        padding-top: 0;
    }
    #partenaires .staport-partner-card {
        width: 100%;
    }
    #partenaires .staport-partner-logo {
        height: 280px;
    }
}

@media (max-width: 767px) {
    #partenaires .staport-partners-shell {
        gap: 40px;
        padding: 60px 16px;
    }
    #partenaires .staport-partners-title-block {
        position: relative;
        top: auto;
        height: auto;
        min-height: 0;
        opacity: 1;
    }
    #partenaires .staport-partners-title-content {
        filter: none;
        transform: none;
    }
    #partenaires .staport-partners-heading .elementor-heading-title {
        font-size: 36px;
        line-height: 1.1;
        letter-spacing: -.035em;
    }
    #partenaires .staport-partners-stream,
    #partenaires .staport-partners-row-pair {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }
    #partenaires .staport-partners-row-left,
    #partenaires .staport-partner-stagger {
        padding: 0;
    }
    #partenaires .staport-partner-stagger,
    #partenaires .staport-partner-card {
        width: 100%;
    }
    #partenaires .staport-partner-card {
        min-height: 360px;
        -webkit-backdrop-filter: blur(16px) saturate(130%);
        backdrop-filter: blur(16px) saturate(130%);
    }
    #partenaires .staport-partner-logo {
        height: 240px;
    }
    #partenaires .staport-partner-logo img {
        height: 200px;
    }
}

/* A compact, fully visible layout when motion is disabled or in the editor. */
body.elementor-editor-active #partenaires .staport-partners-title-block {
    position: relative;
    height: auto;
    min-height: 0;
    padding: 80px 0 30px;
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    #partenaires .staport-partners-title-block {
        position: relative;
        height: auto;
        min-height: 0;
        padding: 80px 0 30px;
        opacity: 1;
    }
    #partenaires .staport-partners-title-content {
        filter: none;
        transform: none;
    }
    @media (min-width: 768px) {
        #partenaires .staport-partners-stream {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 24px;
            align-items: start;
        }
        #partenaires .staport-partners-row-pair {
            grid-column: span 2;
            gap: 24px;
        }
        #partenaires .staport-partners-row-left,
        #partenaires .staport-partner-stagger {
            padding: 0;
        }
        #partenaires .staport-partner-stagger,
        #partenaires .staport-partner-card {
            width: 100%;
        }
        #partenaires .staport-partners-row-pair > * {
            flex: 0 0 calc((100% - 24px) / 2);
            width: calc((100% - 24px) / 2);
        }
    }
}
