/* Company page — exclusive partnerships.
   Independent stylesheet to avoid altering the shared 450KB main.css. */

.spek-company-page .company-partnerships {
    position: relative;
    padding: clamp(84px, 9vw, 148px) 0;
    isolation: isolate;
}

.spek-company-page .company-partnerships__shell {
    position: relative;
    overflow: hidden;
    padding: clamp(30px, 5.4vw, 82px);
    border: 1px solid rgba(29, 64, 101, .1);
    border-radius: clamp(22px, 3.4vw, 42px);
    background: linear-gradient(134deg, rgba(245, 250, 253, .98), rgba(255, 255, 255, .98) 52%, rgba(237, 247, 251, .98));
    box-shadow: 0 24px 80px rgba(23, 53, 83, .07);
}

.spek-company-page .company-partnerships__shell::before {
    position: absolute;
    top: 0;
    left: clamp(30px, 5.4vw, 82px);
    width: 76px;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, #223c70 0 63%, #db2e36 63% 100%);
}

.spek-company-page .company-partnerships__heading {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    align-items: end;
    gap: clamp(22px, 4vw, 64px);
    margin-bottom: clamp(34px, 4.5vw, 62px);
}

.spek-company-page .company-partnerships__heading .eyebrow {
    display: inline-block;
    margin-bottom: 16px;
}

.spek-company-page .company-partnerships__heading h2 {
    max-width: 690px;
    margin: 0;
    color: #21385f;
    font-size: clamp(36px, 4.3vw, 64px);
    font-weight: 700;
    line-height: 1.03;
    letter-spacing: -.045em;
    overflow-wrap: break-word;
}

.spek-company-page .company-partnerships__heading > p {
    max-width: 470px;
    margin: 0;
    color: #516578;
    font-size: clamp(15px, 1.35vw, 17px);
    line-height: 1.7;
}

.spek-company-page .company-partnerships__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(14px, 1.65vw, 22px);
}

.spek-company-page .company-partner-card {
    display: flex;
    grid-column: span 2;
    min-width: 0;
    min-height: 365px;
    flex-direction: column;
    padding: clamp(17px, 2vw, 26px);
    border: 1px solid rgba(33, 56, 95, .11);
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    color: #21385f;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(29, 64, 101, .045);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.spek-company-page .company-partner-card:nth-child(n + 4) {
    grid-column: span 3;
}

.spek-company-page .company-partner-card:hover,
.spek-company-page .company-partner-card:focus-visible {
    border-color: rgba(29, 73, 116, .29);
    box-shadow: 0 18px 44px rgba(29, 64, 101, .12);
    transform: translateY(-4px);
}

.spek-company-page .company-partner-card:focus-visible {
    outline: 3px solid #0f4c81;
    outline-offset: 4px;
}

.spek-company-page .company-partner-card__logo-stage {
    display: flex;
    min-height: 142px;
    align-items: center;
    justify-content: center;
    padding: 18px 22px;
    overflow: hidden;
    border: 1px solid rgba(30, 62, 98, .065);
    border-radius: 15px;
    background: #f3f8fb;
}

.spek-company-page .company-partner-card__logo-stage img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(100%, 255px);
    max-height: 104px;
    object-fit: contain;
}

.spek-company-page .company-partner-card--jbmc .company-partner-card__logo-stage {
    border-color: transparent;
    background: #ce242f;
}

.spek-company-page .company-partner-card__content {
    flex: 1 1 auto;
    padding: 23px 2px 16px;
}

.spek-company-page .company-partner-card__country {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    color: #54788f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .105em;
    text-transform: uppercase;
}

.spek-company-page .company-partner-card__country::before {
    display: block;
    width: 15px;
    height: 3px;
    content: "";
    background: #d92d37;
}

.spek-company-page .company-partner-card__content h3 {
    margin: 0 0 8px;
    color: #21385f;
    font-size: clamp(21px, 2vw, 26px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.spek-company-page .company-partner-card__content p {
    margin: 0;
    color: #566b7d;
    font-size: 14px;
    line-height: 1.62;
}

.spek-company-page .company-partner-card__visit {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 15px;
    border-top: 1px solid rgba(32, 62, 96, .09);
    color: #214c78;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .015em;
}

.spek-company-page .company-partner-card__visit svg {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    transition: transform .2s ease;
}

.spek-company-page .company-partner-card:hover .company-partner-card__visit svg,
.spek-company-page .company-partner-card:focus-visible .company-partner-card__visit svg {
    transform: translate(2px, -2px);
}

@media (max-width: 1020px) {
    .spek-company-page .company-partnerships__heading {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .spek-company-page .company-partnerships__heading > p {
        max-width: 660px;
    }

    .spek-company-page .company-partnerships__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .spek-company-page .company-partner-card,
    .spek-company-page .company-partner-card:nth-child(n + 4) {
        grid-column: span 1;
    }

    .spek-company-page .company-partner-card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .spek-company-page .company-partnerships {
        padding: 72px 0;
    }

    .spek-company-page .company-partnerships__shell {
        padding: 28px 16px 18px;
        border-radius: 24px;
    }

    .spek-company-page .company-partnerships__shell::before {
        left: 18px;
    }

    .spek-company-page .company-partnerships__heading {
        padding: 0 6px;
        margin-bottom: 28px;
    }

    .spek-company-page .company-partnerships__heading h2 {
        font-size: clamp(33px, 9vw, 45px);
    }

    .spek-company-page .company-partnerships__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 13px;
    }

    .spek-company-page .company-partner-card,
    .spek-company-page .company-partner-card:nth-child(n + 4),
    .spek-company-page .company-partner-card:last-child {
        grid-column: 1;
    }

    .spek-company-page .company-partner-card {
        min-height: 0;
        padding: 16px;
        border-radius: 17px;
    }

    .spek-company-page .company-partner-card__logo-stage {
        min-height: 126px;
    }

    .spek-company-page .company-partner-card__content {
        padding: 20px 2px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .spek-company-page .company-partner-card,
    .spek-company-page .company-partner-card__visit svg {
        transition: none;
    }
}


/* The partnerships section follows the four quality cards directly. */
.spek-company-page .company-quality--overview {
    padding-bottom: 0;
}
