/*
|--------------------------------------------------------------------------
| VINCIT MANAGEMENT CONSULTING
| FILE       : 18-team.css
| PURPOSE    : Our Consulting Team
| VERSION    : 1.2.0
|--------------------------------------------------------------------------
*/


/* ==============================================================
   TEAM PAGE BASE
============================================================== */

.team-page {
    overflow: hidden;
    background: #ffffff;
}

.team-page .container {
    position: relative;
}


/* ==============================================================
   EYEBROW
============================================================== */

.team-page .team-eyebrow {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;

    color: #d9a441 !important;

    font-family: "Manrope", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.2 !important;
    text-transform: uppercase;

    margin: 0 !important;
}

.team-page .team-eyebrow::before {
    content: "" !important;

    width: 34px !important;
    height: 1px !important;

    flex: 0 0 34px;

    background: #d9a441 !important;
}

.team-page .team-eyebrow--dark {
    color: #16805a !important;
}


/* ==============================================================
   HERO
============================================================== */

.team-page .team-hero {
    position: relative;

    min-height: 610px;

    display: flex;
    align-items: center;

    background: #073957 !important;

    color: #ffffff;

    overflow: hidden;
}

.team-page .team-hero::after {
    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    right: -220px;
    top: -260px;

    border: 1px solid rgba(217, 164, 65, 0.22);

    border-radius: 50%;

    pointer-events: none;
}

.team-page .team-hero__inner {
    position: relative;
    z-index: 2;

    max-width: 1100px;

    padding: 90px 0 95px;
}

.team-page .team-hero h1 {
    max-width: 1050px !important;

    margin: 38px 0 28px !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(58px, 7vw, 104px) !important;

    font-weight: 600 !important;

    line-height: 0.94 !important;

    letter-spacing: -0.045em !important;

    color: #ffffff !important;
}

.team-page .team-hero h1 span {
    color: #42a866 !important;
}

.team-page .team-hero__line {
    width: 48px !important;
    height: 2px !important;

    margin: 0 0 24px !important;

    background: #d9a441 !important;
}

.team-page .team-hero p {
    max-width: 780px !important;

    margin: 0 !important;

    color: rgba(255, 255, 255, 0.84) !important;

    font-family: "Manrope", sans-serif !important;
    font-size: 18px !important;

    line-height: 1.8 !important;
}

.team-page .team-hero p strong {
    color: #ffffff !important;
}


/* ==============================================================
   EXPERIENCE
============================================================== */

.team-page .team-experience {
    padding: 110px 0 !important;

    background: #ffffff !important;
}

.team-page .team-experience__grid {
    display: grid !important;

    grid-template-columns:
        minmax(260px, 0.55fr)
        minmax(0, 1.45fr) !important;

    gap: 90px !important;

    align-items: center;
}

.team-page .team-experience__number {
    display: flex !important;
    flex-direction: column;

    padding: 20px 70px 20px 0 !important;

    border-right: 1px solid #dce5e0 !important;
}

.team-page .team-experience__number span {
    display: block !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(110px, 12vw, 175px) !important;

    font-weight: 600 !important;

    line-height: 0.78 !important;

    letter-spacing: -0.07em !important;

    color: #298b59 !important;
}

.team-page .team-experience__number small {
    display: block !important;

    margin-top: 30px !important;

    color: #073957 !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 11px !important;

    font-weight: 700 !important;

    letter-spacing: 0.14em !important;

    line-height: 1.5 !important;

    text-transform: uppercase;
}

.team-page .team-experience__content h2 {
    max-width: 720px !important;

    margin: 25px 0 22px !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(44px, 5vw, 68px) !important;

    font-weight: 600 !important;

    line-height: 0.98 !important;

    letter-spacing: -0.035em !important;

    color: #073957 !important;
}

.team-page .team-experience__content h2 span {
    color: #298b59 !important;
}

.team-page .team-experience__content p {
    max-width: 820px !important;

    margin: 0 0 20px !important;

    color: #55758c !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 16px !important;

    line-height: 1.8 !important;
}

.team-page .team-experience__content .team-experience__lead {
    color: #073957 !important;

    font-size: 19px !important;

    line-height: 1.7 !important;
}


/* ==============================================================
   INDUSTRIES
============================================================== */

.team-page .team-industries {
    padding: 105px 0 115px !important;

    background: #f4f7f5 !important;
}

.team-page .team-section-heading {
    max-width: 900px !important;

    margin: 0 0 55px !important;
}

.team-page .team-section-heading h2 {
    max-width: 800px !important;

    margin: 25px 0 22px !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(44px, 5vw, 70px) !important;

    font-weight: 600 !important;

    line-height: 0.98 !important;

    letter-spacing: -0.035em !important;

    color: #073957 !important;
}

.team-page .team-section-heading h2 span {
    color: #298b59 !important;
}

.team-page .team-section-heading p {
    max-width: 760px !important;

    margin: 0 !important;

    color: #55758c !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 16px !important;

    line-height: 1.8 !important;
}


/* INDUSTRY CARDS */

.team-page .team-industries__grid {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 0 !important;

    width: 100% !important;

    background: #ffffff !important;

    border-top: 1px solid #dce5e0 !important;
    border-left: 1px solid #dce5e0 !important;
}

.team-page .team-industry-card {
    display: block !important;

    min-height: 190px !important;

    padding: 30px !important;

    background: #ffffff !important;

    border-right: 1px solid #dce5e0 !important;
    border-bottom: 1px solid #dce5e0 !important;

    box-sizing: border-box;
}

.team-page .team-industry-card span {
    display: block !important;

    margin: 0 0 45px !important;

    color: #d39d37 !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 12px !important;

    font-weight: 700 !important;
}

.team-page .team-industry-card h3 {
    max-width: 230px !important;

    margin: 0 !important;

    font-family: "Playfair Display", serif !important;

    font-size: 24px !important;

    font-weight: 600 !important;

    line-height: 1.1 !important;

    color: #073957 !important;
}

.team-page .team-industries__note {
    max-width: 850px !important;

    margin: 45px 0 0 !important;

    padding-left: 24px !important;

    border-left: 2px solid #d9a441 !important;
}

.team-page .team-industries__note p {
    margin: 0 !important;

    color: #315f7e !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 15px !important;

    line-height: 1.8 !important;
}


/* ==============================================================
   CONSULTING + CORPORATE
============================================================== */

.team-page .team-perspective {
    padding: 110px 0 !important;

    background: #ffffff !important;
}

.team-page .team-perspective__grid {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr) !important;

    gap: 90px !important;

    align-items: start !important;

    margin: 0 0 60px !important;
}

.team-page .team-perspective__heading h2 {
    max-width: 680px !important;

    margin: 25px 0 0 !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(44px, 5vw, 68px) !important;

    font-weight: 600 !important;

    line-height: 0.98 !important;

    letter-spacing: -0.035em !important;

    color: #073957 !important;
}

.team-page .team-perspective__heading h2 span {
    color: #298b59 !important;
}

.team-page .team-perspective__content {
    padding-top: 3px !important;
}

.team-page .team-perspective__content p {
    max-width: 700px !important;

    margin: 0 0 20px !important;

    color: #55758c !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 16px !important;

    line-height: 1.8 !important;
}

.team-page .team-perspective__content .team-perspective__lead {
    color: #073957 !important;

    font-size: 19px !important;

    line-height: 1.7 !important;
}


/* ==============================================================
   PRINCIPLES
============================================================== */

.team-page .team-principles {
    display: grid !important;

    grid-template-columns:
        repeat(5, minmax(0, 1fr)) !important;

    width: 100% !important;

    border-top: 1px solid #dce5e0 !important;
    border-bottom: 1px solid #dce5e0 !important;
}

.team-page .team-principle {
    display: block !important;

    min-height: 245px !important;

    padding: 30px 25px !important;

    border-right: 1px solid #dce5e0 !important;

    box-sizing: border-box;
}

.team-page .team-principle:last-child {
    border-right: 0 !important;
}

.team-page .team-principle > span {
    display: block !important;

    margin: 0 0 42px !important;

    color: #d39d37 !important;

    font-size: 12px !important;

    font-weight: 700 !important;
}

.team-page .team-principle h3 {
    margin: 0 0 13px !important;

    font-family: "Playfair Display", serif !important;

    font-size: 25px !important;

    font-weight: 600 !important;

    line-height: 1.1 !important;

    color: #073957 !important;
}

.team-page .team-principle p {
    margin: 0 !important;

    color: #55758c !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 14px !important;

    line-height: 1.7 !important;
}


/* ==============================================================
   REGIONAL PRESENCE
============================================================== */

.team-page .team-region {
    padding: 105px 0 75px !important;

    background: #073957 !important;

    color: #ffffff !important;
}

.team-page .team-region__grid {
    display: grid !important;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(0, 1.05fr) !important;

    gap: 90px !important;

    align-items: start !important;
}

.team-page .team-region h2 {
    max-width: 650px !important;

    margin: 25px 0 0 !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(44px, 5vw, 68px) !important;

    font-weight: 600 !important;

    line-height: 0.98 !important;

    letter-spacing: -0.035em !important;

    color: #ffffff !important;
}

.team-page .team-region h2 span {
    color: #42a866 !important;
}

.team-page .team-region__content {
    padding-top: 3px !important;
}

.team-page .team-region__content p {
    max-width: 680px !important;

    margin: 0 0 20px !important;

    color: rgba(255,255,255,0.76) !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 15px !important;

    line-height: 1.8 !important;
}

.team-page .team-region__content .team-region__lead {
    color: #ffffff !important;

    font-size: 19px !important;
}


/* LOCATION ROW */

.team-page .team-region__locations {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    margin-top: 65px !important;

    border-top: 1px solid rgba(255,255,255,0.18) !important;
}

.team-page .team-region__locations > div {
    padding: 28px 25px !important;

    border-right: 1px solid rgba(255,255,255,0.18) !important;
}

.team-page .team-region__locations > div:last-of-type {
    border-right: 0 !important;
}

.team-page .team-region__locations strong {
    display: block !important;

    margin: 0 0 7px !important;

    font-family: "Playfair Display", serif !important;

    font-size: 25px !important;

    font-weight: 600 !important;

    line-height: 1.1 !important;

    color: #ffffff !important;
}

.team-page .team-region__locations span:not(.team-region__dot) {
    display: block !important;

    color: rgba(255,255,255,0.52) !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 10px !important;

    font-weight: 700 !important;

    letter-spacing: 0.11em !important;

    text-transform: uppercase;
}

.team-page .team-region__dot {
    display: none !important;
}


/* ==============================================================
   COLLECTIVE EXPERIENCE
============================================================== */

.team-page .team-collective {
    padding: 105px 0 110px !important;

    background: #ffffff !important;

    text-align: center !important;
}

.team-page .team-collective__inner {
    max-width: 1000px !important;

    margin: 0 auto !important;
}

.team-page .team-collective__number {
    display: block !important;

    margin: 35px 0 5px !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(110px, 15vw, 190px) !important;

    font-weight: 600 !important;

    line-height: 0.78 !important;

    letter-spacing: -0.07em !important;

    color: #298b59 !important;
}

.team-page .team-collective h2 {
    margin: 30px 0 18px !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(42px, 5vw, 64px) !important;

    font-weight: 600 !important;

    line-height: 1 !important;

    color: #073957 !important;
}

.team-page .team-collective h2 span {
    color: #298b59 !important;
}

.team-page .team-collective p {
    margin: 0 !important;

    color: #55758c !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 17px !important;

    line-height: 1.7 !important;
}


/* ==============================================================
   CTA
============================================================== */

.team-page .team-cta {
    padding: 95px 0 !important;

    background: #298f59 !important;

    color: #ffffff !important;
}

.team-page .team-cta__inner {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(0, 0.8fr) !important;

    gap: 80px !important;

    align-items: center !important;
}

.team-page .team-cta h2 {
    max-width: 850px !important;

    margin: 25px 0 0 !important;

    font-family: "Playfair Display", serif !important;

    font-size: clamp(44px, 5vw, 70px) !important;

    font-weight: 600 !important;

    line-height: 0.98 !important;

    letter-spacing: -0.035em !important;

    color: #ffffff !important;
}

.team-page .team-cta h2 span {
    color: #e2b052 !important;
}

.team-page .team-cta__action p {
    max-width: 520px !important;

    margin: 0 0 28px !important;

    color: rgba(255,255,255,0.86) !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 16px !important;

    line-height: 1.75 !important;
}

.team-page .team-cta__button {
    display: inline-flex !important;

    align-items: center;
    gap: 14px;

    padding: 17px 25px !important;

    background: #ffffff !important;

    color: #073957 !important;

    font-family: "Manrope", sans-serif !important;

    font-size: 14px !important;

    font-weight: 700 !important;

    text-decoration: none !important;
}

.team-page .team-cta__button span {
    color: #d39d37 !important;

    font-size: 19px !important;
}


/* ==============================================================
   TABLET
============================================================== */

@media (max-width: 1050px) {

    .team-page .team-industries__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    .team-page .team-principles {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

    .team-page .team-principle:nth-child(3) {
        border-right: 0 !important;
    }

    .team-page .team-principle:nth-child(4),
    .team-page .team-principle:nth-child(5) {
        border-top: 1px solid #dce5e0 !important;
    }

    .team-page .team-region__locations {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    .team-page .team-region__locations > div:nth-child(2) {
        border-right: 0 !important;
    }

    .team-page .team-region__locations > div:nth-child(3),
    .team-page .team-region__locations > div:nth-child(4) {
        border-top: 1px solid rgba(255,255,255,0.18) !important;
    }
}


/* ==============================================================
   MOBILE
============================================================== */

@media (max-width: 800px) {

    .team-page .team-hero {
        min-height: 520px;
    }

    .team-page .team-hero__inner {
        padding: 75px 0 80px;
    }

    .team-page .team-hero h1 {
        font-size: clamp(52px, 13vw, 82px) !important;
    }

    .team-page .team-experience,
    .team-page .team-industries,
    .team-page .team-perspective,
    .team-page .team-region {
        padding: 80px 0 !important;
    }

    .team-page .team-experience__grid,
    .team-page .team-perspective__grid,
    .team-page .team-region__grid,
    .team-page .team-cta__inner {
        grid-template-columns: 1fr !important;

        gap: 50px !important;
    }

    .team-page .team-experience__number {
        padding: 15px 0 35px !important;

        border-right: 0 !important;

        border-bottom: 1px solid #dce5e0 !important;
    }

    .team-page .team-industries__grid {
        grid-template-columns: 1fr !important;
    }

    .team-page .team-principles {
        grid-template-columns: 1fr !important;
    }

    .team-page .team-principle {
        min-height: auto !important;

        border-right: 0 !important;

        border-bottom: 1px solid #dce5e0 !important;
    }

    .team-page .team-principle:last-child {
        border-bottom: 0 !important;
    }

    .team-page .team-region__locations {
        grid-template-columns: 1fr !important;
    }

    .team-page .team-region__locations > div {
        border-right: 0 !important;

        border-bottom: 1px solid rgba(255,255,255,0.18) !important;
    }

    .team-page .team-region__locations > div:last-of-type {
        border-bottom: 0 !important;
    }

    .team-page .team-collective {
        padding: 80px 0 !important;
    }

    .team-page .team-collective__number {
        font-size: 125px !important;
    }

    .team-page .team-cta {
        padding: 75px 0 !important;
    }
}


/* ==============================================================
   SMALL MOBILE
============================================================== */

@media (max-width: 500px) {

    .team-page .team-hero h1 {
        font-size: 50px !important;
    }

    .team-page .team-hero p {
        font-size: 16px !important;
    }

    .team-page .team-experience__content h2,
    .team-page .team-section-heading h2,
    .team-page .team-perspective__heading h2,
    .team-page .team-region h2 {
        font-size: 43px !important;
    }

    .team-page .team-industry-card {
        min-height: 160px !important;
    }

    .team-page .team-industry-card span {
        margin-bottom: 30px !important;
    }

    .team-page .team-collective__number {
        font-size: 105px !important;
    }

    .team-page .team-collective h2,
    .team-page .team-cta h2 {
        font-size: 42px !important;
    }
}