.mainSlider .mainCard .card__text h1 {
    color: #fff;
    font-size: clamp(38px, 4.4vw, 64px);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.03;
    margin: 0;
    max-width: 780px;
}

.mainSlider .mainCard .card__text .heroIntro {
    color: rgba(255, 255, 255, .86);
    font-size: 18px;
    line-height: 1.45;
    margin: 16px 0 0;
    max-width: 650px;
}

.cardClickArea:focus-visible {
    outline: 3px solid #f2c665;
    outline-offset: -12px;
}

.heroServiceTags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
    max-width: 680px;
    pointer-events: none;
    position: relative;
    z-index: 3;
}

.heroServiceTags span {
    background: rgba(245, 247, 248, .12);
    border: 1px solid rgba(245, 247, 248, .32);
    color: #fff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    padding: 10px 12px;
    text-transform: uppercase;
}

.heroCtas {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
    position: relative;
    z-index: 3;
}

.heroSignalBoard {
    background: rgba(14, 31, 38, .72);
    border: 1px solid rgba(245, 247, 248, .2);
    color: #fff;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 1.15fr) minmax(250px, .85fr);
    margin-top: 24px;
    max-width: 760px;
    pointer-events: none;
    position: relative;
    z-index: 3;
}

.heroPipeline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.heroPipeline span {
    border-right: 1px solid rgba(245, 247, 248, .16);
    display: grid;
    gap: 8px;
    min-height: 112px;
    padding: 16px 14px;
}

.heroPipeline b {
    color: #f2c665;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.heroPipeline strong {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.heroPipeline em {
    color: rgba(255, 255, 255, .66);
    font-size: 13px;
    font-style: normal;
    line-height: 1.2;
}

.heroMatrix {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.heroMatrix span {
    align-items: center;
    border-bottom: 1px solid rgba(245, 247, 248, .13);
    border-left: 1px solid rgba(245, 247, 248, .16);
    color: rgba(255, 255, 255, .88);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    justify-content: center;
    letter-spacing: .03em;
    min-height: 56px;
    text-align: center;
    text-transform: uppercase;
}

.heroMatrix span:nth-last-child(-n+2) {
    border-bottom: 0;
}

.heroCtas .btn,
.academyActions .btn,
.searchForm .btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    text-decoration: none;
}

.heroCtaPrimary,
.academyActions .btn-primary {
    background: #f5f7f8;
    border: 1px solid rgba(255, 255, 255, .72);
    color: #172126;
}

.heroCtaPrimary:hover {
    background: #fff;
    color: #0f5f78;
}

.heroCtaSecondary,
.academyGhostBtn {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .48);
    color: #fff;
}

.heroCtaSecondary:hover {
    background: rgba(255, 255, 255, .22);
    color: #fff;
}

.homeSolveSection,
.homeAcademySection,
.homeInsightsSection,
.siteSearchPage {
    color: #182329;
}

.homeSolveSection,
.homeInsightsSection {
    padding: 96px 0;
}

.homeInfoStatsSection.pb-160,
.homeClientsSection.pb-160,
.homeTestimonialsSection.pb-160 {
    padding-bottom: 96px !important;
}

.homeInfoStatsSection .headerWithDecor {
    padding-bottom: 96px !important;
    padding-top: 76px !important;
}

.clients .clientLogoItem {
    align-items: center;
    display: flex;
    justify-content: center;
}

.homeAcademySection {
    padding: 36px 0 110px;
}

.homeSectionKicker {
    align-items: center;
    color: #257f9b;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 10px;
    letter-spacing: .08em;
    line-height: 1;
    margin-bottom: 22px;
    text-transform: uppercase;
}

.homeSectionKicker:before {
    background: #e4b64f;
    content: "";
    display: inline-block;
    height: 10px;
    width: 10px;
}

.homeSplitHeader {
    align-items: end;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .7fr);
    margin-bottom: 38px;
}

.homeSplitHeader h2 {
    font-size: clamp(36px, 4vw, 62px);
    line-height: 1.03;
    margin: 0;
    max-width: 720px;
}

.homeSplitHeader p {
    color: #56636a;
    font-size: 18px;
    line-height: 1.6;
    margin: 0;
}

.solutionMatrix {
    border: 1px solid #d8e1e5;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.solutionTile {
    background: #fff;
    color: #182329;
    display: grid;
    gap: 15px;
    min-height: 250px;
    padding: 30px;
    position: relative;
    text-decoration: none;
}

.solutionTile:not(:nth-child(3n)) {
    border-right: 1px solid #d8e1e5;
}

.solutionTile:nth-child(n+4) {
    border-top: 1px solid #d8e1e5;
}

.solutionTile:hover {
    background: #f4fafc;
    color: #182329;
}

.solutionTile span,
.academyCard span {
    align-items: center;
    background: #eff7fa;
    color: #257f9b;
    display: inline-flex;
    font-size: 22px;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.solutionTile strong,
.academyCard strong,
.insightCard strong,
.searchResultItem strong {
    color: #172126;
    display: block;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
}

.solutionTile em,
.academyCard em,
.insightCard em,
.searchResultItem em {
    color: #5f6c73;
    display: block;
    font-size: 15px;
    font-style: normal;
    line-height: 1.5;
}

.academyPanel {
    background: #12252d;
    color: #fff;
    display: grid;
    gap: 42px;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    padding: 46px;
}

.academyLead h2 {
    color: #fff;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.04;
    margin-bottom: 18px;
}

.academyLead p {
    color: rgba(255, 255, 255, .78);
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 28px;
}

.academyActions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.academyGhostBtn {
    color: #fff;
}

.academyGrid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academyCard {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    display: grid;
    gap: 12px;
    min-height: 210px;
    padding: 24px;
    text-decoration: none;
}

.academyCard:hover {
    background: rgba(255, 255, 255, .13);
}

.academyCard span {
    background: rgba(228, 182, 79, .18);
    color: #f2c665;
}

.academyCard strong {
    color: #fff;
}

.academyCard em {
    color: rgba(255, 255, 255, .72);
}

.homeTextLink {
    align-items: center;
    color: #257f9b;
    display: inline-flex;
    font-weight: 700;
    gap: 8px;
    justify-self: end;
    text-decoration: none;
}

.homeTextLink:hover {
    color: #172126;
}

.insightCards {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.insightCard {
    border: 1px solid #d8e1e5;
    color: #172126;
    display: grid;
    gap: 14px;
    min-height: 320px;
    padding: 20px;
    text-decoration: none;
}

.insightCard:hover {
    background: #f7fbfc;
    color: #172126;
}

.insightCard picture {
    background: #eef4f6;
    display: block;
    height: 160px;
    margin: -20px -20px 4px;
    overflow: hidden;
}

.insightCard img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.insightCard span,
.searchResultItem span,
.searchMeta span {
    color: #257f9b;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.siteSearchPage {
    padding-bottom: 90px;
}

.searchHero {
    background: #f5f8f9;
    padding: 80px 0 54px;
}

.searchHero h1 {
    font-size: clamp(38px, 5vw, 72px);
    font-weight: 300;
    letter-spacing: 0;
    line-height: 1.04;
    margin-bottom: 28px;
    max-width: 860px;
}

.searchForm {
    max-width: 850px;
}

.searchForm label {
    color: #56636a;
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 8px;
}

.searchForm > div {
    display: flex;
    gap: 10px;
}

.searchForm input {
    border: 1px solid #cfdadd;
    border-radius: 0;
    flex: 1;
    font-size: 18px;
    min-height: 54px;
    min-width: 0;
    padding: 0 16px;
}

.searchResults {
    padding: 44px 0 0;
}

.searchMeta {
    align-items: baseline;
    display: flex;
    gap: 10px;
    margin-bottom: 32px;
}

.searchMeta strong {
    font-size: 36px;
    font-weight: 300;
}

.searchGroup {
    margin-bottom: 40px;
}

.searchGroup h2 {
    border-bottom: 1px solid #d8e1e5;
    font-size: 26px;
    font-weight: 500;
    margin-bottom: 14px;
    padding-bottom: 14px;
}

.searchResultList {
    display: grid;
    gap: 12px;
}

.searchResultItem {
    border: 1px solid #d8e1e5;
    color: #172126;
    display: grid;
    gap: 8px;
    padding: 20px;
    text-decoration: none;
}

.searchResultItem:hover {
    background: #f7fbfc;
}

.searchEmpty {
    background: #f7fbfc;
    border: 1px solid #d8e1e5;
    padding: 28px;
}

.searchEmpty h2 {
    margin-bottom: 8px;
}

.searchTypeFilters,
.searchSuggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
}

.searchTypeFilters a,
.searchSuggestions a {
    align-items: center;
    border: 1px solid #cfdadd;
    color: #172126;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    text-decoration: none;
}

.searchTypeFilters a.is-active,
.searchTypeFilters a:hover,
.searchSuggestions a:hover {
    background: #172126;
    border-color: #172126;
    color: #fff;
}

.searchTypeFilters span {
    color: #6a777d;
    font-size: 12px;
}

.searchTypeFilters a.is-active span,
.searchTypeFilters a:hover span {
    color: rgba(255, 255, 255, .72);
}

.searchSuggestions {
    margin: 18px 0 0;
}

.homeProofSection {
    padding: 82px 0;
}

.homeProofSection .homeSectionHead {
    align-items: end;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    margin-bottom: 30px;
}

.homeProofSection h2,
.contactThanksHero h1 {
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 300;
    letter-spacing: 0;
    line-height: 1.02;
    margin: 0;
}

.homeProofSection .homeSectionHead p {
    color: #56636a;
    font-size: 17px;
    line-height: 1.5;
    margin: 0;
}

.homeProofGrid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.proofCard {
    background: #fff;
    border: 1px solid #d8e1e5;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 360px;
    padding: 22px;
}

.proofCardTop {
    align-items: center;
    display: flex;
    gap: 14px;
}

.proofCardTop img {
    background: #f5f8f9;
    border: 1px solid #d8e1e5;
    height: 46px;
    object-fit: contain;
    width: 74px;
}

.proofCardTop span,
.proofMeta span,
.proofMetric span {
    color: #6a777d;
    display: block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

.proofCardTop strong {
    color: #172126;
    display: block;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.2;
    margin-top: 4px;
}

.proofMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.proofMeta span {
    background: #f5f8f9;
    border: 1px solid #d8e1e5;
    padding: 6px 8px;
}

.proofMetric strong {
    color: #2b8caf;
    display: block;
    font-size: 44px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: .95;
}

.proofCard p {
    color: #3d4a50;
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}

.proofLink {
    color: #172126;
    font-weight: 800;
    margin-top: auto;
    text-decoration: none;
}

.contactThanksHero {
    background: #f5f8f9;
    border-bottom: 1px solid #d8e1e5;
    padding: 88px 0 64px;
}

.contactThanksHero p {
    color: #3d4a50;
    font-size: 18px;
    line-height: 1.55;
    margin: 22px 0 0;
    max-width: 760px;
}

.contactThanksActions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.contactThanksNext {
    padding: 52px 0 80px;
}

.thanksNextGrid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.thanksNextGrid div {
    border: 1px solid #d8e1e5;
    padding: 22px;
}

.thanksNextGrid span {
    color: #2b8caf;
    display: block;
    font-size: 34px;
    font-weight: 300;
    line-height: 1;
    margin-bottom: 14px;
}

.thanksNextGrid strong {
    color: #172126;
    display: block;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 8px;
}

.thanksNextGrid p,
.thanksSupportLine {
    color: #56636a;
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}

.thanksSupportLine {
    margin-top: 22px;
}

@media (max-width: 992px) {
    .homeSplitHeader,
    .academyPanel {
        grid-template-columns: 1fr;
    }

    .solutionMatrix,
    .insightCards,
    .homeProofGrid,
    .thanksNextGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homeProofSection .homeSectionHead {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .solutionTile:not(:nth-child(3n)) {
        border-right: 0;
    }

    .solutionTile:not(:nth-child(2n)) {
        border-right: 1px solid #d8e1e5;
    }

    .solutionTile:nth-child(n+3) {
        border-top: 1px solid #d8e1e5;
    }

    .homeTextLink {
        justify-self: start;
    }
}

@media (max-width: 768px) {
    .mainSlider .mainCard .card__text h1 {
        font-size: 32px;
        line-height: 1.1;
    }

    .mainSlider .mainCard .card__text .heroIntro {
        font-size: 15px;
        margin-top: 16px;
    }

    .heroServiceTags {
        gap: 6px;
        margin-top: 14px;
    }

    .heroServiceTags span {
        font-size: 11px;
        padding: 8px 9px;
    }

    .heroCtas {
        align-items: center;
        flex-direction: row;
        gap: 8px;
        margin-top: 18px;
    }

    .heroCtas .btn {
        flex: 1 1 145px;
        font-size: 14px;
        display: inline-flex !important;
        min-height: 44px;
        padding: 0 14px;
        width: auto;
    }

    html .mainSlider .mainCard .card__text .heroCtas .btn {
        display: inline-flex !important;
    }

    .mainSlider .mainCard .card__text .mobileServiceBtnWrap {
        display: none !important;
    }

    .heroSignalBoard {
        display: none;
    }

    .homeSolveSection,
    .homeInsightsSection {
        padding: 58px 0;
    }

    .homeInfoStatsSection.pb-160,
    .homeClientsSection.pb-160,
    .homeTestimonialsSection.pb-160 {
        padding-bottom: 56px !important;
    }

    .homeInfoStatsSection .headerWithDecor {
        padding-bottom: 56px !important;
        padding-top: 48px !important;
    }

    .homeAcademySection {
        padding: 18px 0 64px;
    }

    .solutionMatrix,
    .academyGrid,
    .insightCards,
    .homeProofGrid,
    .thanksNextGrid {
        grid-template-columns: 1fr;
    }

    .solutionTile,
    .academyCard {
        min-height: auto;
    }

    .solutionTile,
    .solutionTile:not(:nth-child(2n)),
    .solutionTile:not(:nth-child(3n)) {
        border-right: 0;
    }

    .solutionTile + .solutionTile {
        border-top: 1px solid #d8e1e5;
    }

    .academyPanel {
        padding: 28px 20px;
    }

    .searchForm > div {
        flex-direction: column;
    }

    .homeProofSection,
    .contactThanksHero,
    .contactThanksNext {
        padding: 56px 0;
    }
}

/*
 * Premium homepage refresh.
 * Scoped to body.main so search and other public pages keep their existing page-level styling.
 */
body.main {
    --td-ink: #141414;
    --td-ink-soft: #343434;
    --td-muted: #686965;
    --td-bg: #f7f4ee;
    --td-surface: #fffdf8;
    --td-surface-strong: #ffffff;
    --td-line: rgba(20, 20, 20, .11);
    --td-line-strong: rgba(20, 20, 20, .18);
    --td-gold: #a98338;
    --td-gold-soft: #eadcc1;
    --td-forest: #2f4a40;
    --td-blue: #315f6b;
    --td-plum: #5b454d;
    --td-dark: #111212;
    --td-dark-soft: #1b1c1c;
    --td-radius: 8px;
    --td-shadow: 0 24px 70px rgba(28, 24, 18, .12);
    --td-shadow-soft: 0 14px 36px rgba(28, 24, 18, .08);
    background: linear-gradient(180deg, #fbfaf7 0%, var(--td-bg) 44%, #fbfaf7 100%);
    color: var(--td-ink);
    font-family: "Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x: hidden;
}

body.main *,
body.main *::before,
body.main *::after {
    letter-spacing: 0;
}

body.main .container,
body.main .container-fluid {
    --bs-gutter-x: 32px;
}

body.main a,
body.main button,
body.main .btn {
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease;
}

body.main a:focus-visible,
body.main button:focus-visible,
body.main .btn:focus-visible,
body.main .cardClickArea:focus-visible {
    outline: 2px solid var(--td-gold);
    outline-offset: 3px;
}

body.main .btn,
body.main .heroCtas .btn,
body.main .academyActions .btn,
body.main .homeIndustriesSection .btn,
body.main .searchForm .btn {
    align-items: center;
    border-radius: var(--td-radius);
    display: inline-flex;
    font-size: 15px;
    font-weight: 700;
    justify-content: center;
    line-height: 1;
    min-height: 48px;
    padding: 0 22px;
    text-decoration: none;
}

body.main header {
    background: rgba(255, 253, 248, .82);
    border: 1px solid rgba(20, 20, 20, .08);
    border-radius: var(--td-radius);
    box-shadow: 0 18px 50px rgba(20, 20, 20, .08);
    left: 14px;
    padding: 12px 0;
    right: 14px;
    top: 10px;
    z-index: 20;
}

body.main header .container-fluid {
    max-width: 1480px;
}

body.main header .container-fluid > .row .col-12 {
    height: 46px;
}

body.main header .logo {
    align-items: center;
    display: inline-flex;
}

body.main header .logo img {
    border-radius: 6px;
    height: 42px;
    width: auto;
}

body.main header nav > ul {
    gap: 2px;
}

body.main header nav > ul > li {
    padding: 0 8px;
}

body.main header nav > ul > li > a,
body.main header nav > ul > li > span {
    border-radius: var(--td-radius);
    color: rgba(20, 20, 20, .78);
    font-size: 15px;
    font-weight: 600;
    height: 42px;
    padding: 0 10px;
    text-decoration: none;
}

body.main header nav > ul > li > a:hover,
body.main header nav > ul > li > span:hover {
    background: rgba(20, 20, 20, .055);
    color: var(--td-ink);
}

body.main header nav > ul > li.hasSubmenu:hover {
    background: transparent;
    border-radius: var(--td-radius);
    box-shadow: none;
}

body.main header nav > ul > li ul {
    background: rgba(255, 253, 248, .96);
    border: 1px solid rgba(20, 20, 20, .09);
    border-radius: var(--td-radius);
    box-shadow: 0 22px 55px rgba(20, 20, 20, .12);
    margin-top: 8px;
    min-width: 230px;
    padding: 10px;
}

body.main header nav > ul > li ul li {
    border-bottom: 0;
    padding: 0;
}

body.main header nav > ul > li ul li + li {
    margin-top: 2px;
}

body.main header nav > ul > li ul li a {
    border-radius: 6px;
    color: var(--td-ink-soft);
    display: block;
    font-size: 14px;
    line-height: 1.25;
    padding: 11px 12px;
}

body.main header nav > ul > li ul li a:hover {
    background: #f2eee6;
    color: var(--td-ink);
}

body.main header nav > ul > li.navActionPrimary > a {
    background: var(--td-dark);
    border: 1px solid var(--td-dark);
    box-shadow: 0 10px 25px rgba(20, 20, 20, .14);
    color: #fff;
    min-height: 42px;
    padding: 0 16px;
}

body.main header nav > ul > li.navActionPrimary > a:hover {
    background: var(--td-gold);
    border-color: var(--td-gold);
    color: #fff;
    transform: translateY(-1px);
}

body.main header nav > ul > li.navActionSecondary > a,
body.main header nav > ul > li.navActionSecondary > span {
    background: rgba(255, 255, 255, .46);
    border: 1px solid rgba(20, 20, 20, .12);
    color: var(--td-ink);
    min-height: 42px;
    padding: 0 14px;
}

body.main header nav > ul > li.navActionSecondary > a:hover,
body.main header nav > ul > li.navActionSecondary > span:hover {
    border-color: rgba(169, 131, 56, .42);
    color: var(--td-gold);
}

body.main .headerBell {
    background: rgba(255, 255, 255, .5);
    border: 1px solid rgba(20, 20, 20, .1);
    color: var(--td-ink);
}

body.main .headerBell:hover {
    background: #fff;
    color: var(--td-gold);
}

body.main .headerBellBadge {
    background: var(--td-gold);
}

body.main .mainSlider {
    background: transparent;
    height: auto !important;
    min-height: calc(100svh - 70px);
    padding: 12px 14px 0;
}

body.main .mainSlider .container-fluid {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

body.main .mainSlider .section__cards {
    align-items: stretch;
    display: flex;
    gap: 10px;
    height: calc(100svh - 82px);
    max-height: none;
    min-height: 720px;
}

body.main .mainSlider .mainCard,
body.main .mainSlider .mainCard:hover {
    background: var(--td-dark);
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: var(--td-radius);
    box-shadow: var(--td-shadow);
    flex: 0 0 84px;
    min-width: 0;
    overflow: hidden;
    position: relative;
}

body.main .mainSlider .mainCard.active,
body.main .mainSlider .mainCard.active:hover {
    flex: 1 1 auto !important;
}

body.main .mainSlider .mainCard picture,
body.main .mainSlider .mainCard picture img {
    display: block;
    height: 100%;
    width: 100%;
}

body.main .mainSlider .mainCard picture {
    inset: 0;
    position: absolute;
}

body.main .mainSlider .mainCard picture img {
    filter: saturate(.92) contrast(1.04);
    object-fit: cover;
}

body.main .mainSlider .mainCard::before {
    background: linear-gradient(90deg, rgba(10, 10, 10, .78) 0%, rgba(10, 10, 10, .54) 38%, rgba(10, 10, 10, .16) 76%, rgba(10, 10, 10, .34) 100%);
    content: "";
    inset: 0;
    position: absolute;
    z-index: 1;
}

body.main .mainSlider .mainCard::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0));
    content: "";
    height: 42%;
    inset: 0 0 auto;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

body.main .mainSlider .mainCard .card__name {
    bottom: 22px;
    color: rgba(255, 255, 255, .86);
    font-size: 14px;
    font-weight: 700;
    left: 50%;
    line-height: 1.1;
    max-height: 68%;
    opacity: 1;
    padding: 0;
    position: absolute;
    text-align: left;
    text-transform: none;
    top: auto;
    transform: translateX(-50%) rotate(180deg);
    white-space: normal;
    width: 28px;
    writing-mode: vertical-rl;
    z-index: 3;
}

body.main .mainSlider .mainCard.active .card__name {
    opacity: 0;
}

body.main .mainSlider .mainCard .card__text,
body.main .mainSlider .mainCard .card__info {
    pointer-events: none;
}

body.main .mainSlider .mainCard.active .card__text {
    pointer-events: auto;
}

body.main .mainSlider .mainCard .card__info,
body.main .mainSlider .mainCard:not(.active) .card__text {
    display: none !important;
}

body.main .mainSlider .mainCard .card__text {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: center;
    max-width: 980px;
    padding: 56px 7% 58px;
    position: absolute;
    width: 100%;
    z-index: 3;
}

body.main .mainSlider .mainCard .card__text h1,
body.main .mainSlider .mainCard .card__text h2 {
    color: #fff;
    font-size: 64px;
    font-weight: 500;
    line-height: .98;
    margin: 0;
    max-width: 830px;
    text-wrap: balance;
}

body.main .mainSlider .mainCard .card__text .heroIntro {
    color: rgba(255, 255, 255, .82);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.55;
    margin: 22px 0 0;
    max-width: 650px;
}

body.main .heroServiceTags {
    gap: 8px;
    margin-top: 22px;
    max-width: 720px;
}

body.main .heroServiceTags span {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 999px;
    color: rgba(255, 255, 255, .9);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    padding: 9px 12px;
    text-transform: none;
}

body.main .heroCtas {
    gap: 10px;
    margin-top: 26px;
}

body.main .heroCtaPrimary,
body.main .academyActions .btn-primary,
body.main .homeIndustriesSection .btn-primary {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .72);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .18);
    color: var(--td-ink);
}

body.main .heroCtaPrimary:hover,
body.main .academyActions .btn-primary:hover,
body.main .homeIndustriesSection .btn-primary:hover {
    background: var(--td-gold);
    border-color: var(--td-gold);
    color: #fff;
    transform: translateY(-2px);
}

body.main .heroCtaSecondary,
body.main .academyGhostBtn {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .28);
    color: #fff;
}

body.main .heroCtaSecondary:hover,
body.main .academyGhostBtn:hover {
    background: rgba(255, 255, 255, .18);
    border-color: rgba(255, 255, 255, .52);
    color: #fff;
    transform: translateY(-2px);
}

body.main .heroSignalBoard {
    display: none;
}

body.main .heroPipeline span {
    border-right: 1px solid rgba(255, 255, 255, .14);
    min-height: 104px;
    padding: 17px 16px;
}

body.main .heroPipeline b {
    color: var(--td-gold-soft);
    font-size: 12px;
    font-weight: 800;
}

body.main .heroPipeline strong {
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}

body.main .heroPipeline em {
    color: rgba(255, 255, 255, .68);
    font-size: 13px;
}

body.main .heroMatrix span {
    border-color: rgba(255, 255, 255, .13);
    color: rgba(255, 255, 255, .82);
    font-size: 12px;
    font-weight: 700;
    min-height: 52px;
    text-transform: none;
}

body.main .mainSlider .mainCard .card__info {
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    background: rgba(13, 13, 13, .42);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--td-radius);
    bottom: 24px;
    left: 7%;
    max-width: 720px;
    padding: 16px 18px;
    position: absolute;
    right: auto;
    width: 58%;
    z-index: 4;
}

body.main .mainSlider .mainCard .card__info h3 {
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    font-weight: 800;
    margin: 0;
    text-transform: none;
}

body.main .desktopServiceBtn {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .22);
    color: #fff;
    min-height: 40px;
    padding: 0 14px;
}

body.main .desktopServiceBtn:hover {
    background: #fff;
    color: var(--td-ink);
}

body.main .mainSlider .card__progress {
    background: rgba(255, 255, 255, .15);
    border-radius: 999px;
    height: 3px;
    margin: 13px 0 12px;
    overflow: hidden;
}

body.main .mainSlider .card__progress-line {
    background: var(--td-gold-soft);
    border-radius: inherit;
}

body.main .mainSlider .links {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

body.main .mainSlider .links span {
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    line-height: 1.2;
}

body.main .homeSolveSection,
body.main .homeAcademySection,
body.main .homeInsightsSection,
body.main .homeProofSection,
body.main .homeClientsSection,
body.main .homeTestimonialsSection,
body.main .homeIndustriesSection {
    color: var(--td-ink);
    position: relative;
}

body.main .homeSolveSection,
body.main .homeInsightsSection,
body.main .homeProofSection,
body.main .homeClientsSection,
body.main .homeIndustriesSection {
    padding: 96px 0;
}

body.main .homeSolveSection {
    padding-top: 72px;
}

body.main .homeSectionKicker {
    color: var(--td-gold);
    font-size: 14px;
    font-weight: 800;
    gap: 10px;
    letter-spacing: 0;
    margin-bottom: 20px;
    text-transform: none;
}

body.main .homeSectionKicker::before {
    background: var(--td-gold);
    border-radius: 999px;
    height: 7px;
    width: 7px;
}

body.main .homeSplitHeader {
    align-items: end;
    gap: 42px;
    margin-bottom: 38px;
}

body.main .homeSplitHeader h2,
body.main .homeProofSection h2,
body.main .academyLead h2,
body.main .homeInfoStatsSection h3,
body.main .clientLead h3,
body.main .testimonalsHeader h3,
body.main .testimonalsHeader h4,
body.main .homeIndustriesSection h3 {
    color: var(--td-ink);
    font-weight: 500;
    letter-spacing: 0;
}

body.main .homeSplitHeader h2,
body.main .homeProofSection h2,
body.main .academyLead h2 {
    font-size: 54px;
    line-height: 1.02;
    margin: 0;
    text-wrap: balance;
}

body.main .homeSplitHeader p,
body.main .homeProofSection .homeSectionHead p,
body.main .academyLead p,
body.main .homeInfoStatsSection .lead,
body.main .clientLead .lead {
    color: var(--td-muted);
    font-size: 18px;
    line-height: 1.62;
}

body.main .solutionMatrix {
    border: 0;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.main .solutionTile,
body.main .solutionTile:not(:nth-child(2n)),
body.main .solutionTile:not(:nth-child(3n)),
body.main .solutionTile:nth-child(n+3),
body.main .solutionTile:nth-child(n+4) {
    background: rgba(255, 253, 248, .78);
    border: 1px solid var(--td-line) !important;
    border-radius: var(--td-radius);
    box-shadow: var(--td-shadow-soft);
    color: var(--td-ink);
    gap: 16px;
    min-height: 246px;
    overflow: hidden;
    padding: 28px;
}

body.main .solutionTile::after,
body.main .academyCard::after,
body.main .proofCard::after,
body.main .insightCard::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, .68), rgba(255, 255, 255, 0));
    content: "";
    height: 46px;
    inset: 0 0 auto;
    opacity: .75;
    pointer-events: none;
    position: absolute;
}

body.main .solutionTile:hover {
    background: #fff;
    border-color: rgba(169, 131, 56, .34) !important;
    color: var(--td-ink);
    transform: translateY(-3px);
}

body.main .solutionTile span,
body.main .academyCard span {
    background: #f1eadc;
    border: 1px solid rgba(169, 131, 56, .22);
    border-radius: var(--td-radius);
    color: var(--td-gold);
    font-size: 20px;
    height: 46px;
    width: 46px;
}

body.main .solutionTile:nth-child(2) span {
    background: #e6eef0;
    border-color: rgba(49, 95, 107, .2);
    color: var(--td-blue);
}

body.main .solutionTile:nth-child(3) span,
body.main .solutionTile:nth-child(6) span {
    background: #e8eee9;
    border-color: rgba(47, 74, 64, .18);
    color: var(--td-forest);
}

body.main .solutionTile:nth-child(4) span {
    background: #f0e8ea;
    border-color: rgba(91, 69, 77, .18);
    color: var(--td-plum);
}

body.main .solutionTile strong,
body.main .academyCard strong,
body.main .insightCard strong,
body.main .proofCardTop strong {
    color: var(--td-ink);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.18;
}

body.main .solutionTile em,
body.main .academyCard em,
body.main .insightCard em {
    color: var(--td-muted);
    font-size: 15px;
    line-height: 1.55;
}

body.main .homeInfoStatsSection {
    background: var(--td-dark);
    border-radius: 0;
    color: #fff;
    margin: 0;
    overflow: hidden;
    padding-bottom: 108px !important;
    position: relative;
}

body.main .homeInfoStatsSection .headerWithDecor {
    color: rgba(255, 255, 255, .88);
    font-size: 46px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.05;
    padding-bottom: 86px !important;
    padding-top: 86px !important;
    text-align: center;
}

body.main .homeInfoStatsSection .container {
    position: relative;
    z-index: 2;
}

body.main .homeInfoStatsSection h3 {
    color: #fff;
    font-size: 42px;
    line-height: 1.08;
    margin-bottom: 20px;
    text-wrap: balance;
}

body.main .homeInfoStatsSection .lead {
    color: rgba(255, 255, 255, .68);
    font-weight: 400;
    margin-bottom: 18px;
}

body.main .glanceNumbers {
    --bs-gutter-x: 14px;
    --bs-gutter-y: 14px;
}

body.main .glanceNumbers > div {
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: var(--td-radius);
    min-height: 178px;
    padding: 24px !important;
}

body.main .glanceNumbers > div em {
    display: none !important;
}

body.main .numbers {
    color: var(--td-gold-soft);
    display: block;
    font-size: 48px;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 13px;
}

body.main .glanceNumbers h4 {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

body.main .glanceNumbers p {
    color: rgba(255, 255, 255, .62);
    font-size: 14px;
    line-height: 1.45;
}

body.main .homeAcademySection {
    background: linear-gradient(180deg, var(--td-dark) 0, var(--td-dark) 38%, transparent 38%, transparent 100%);
    padding: 42px 0 106px;
}

body.main .academyPanel {
    background: linear-gradient(135deg, #171818 0%, #202423 58%, #2a211a 100%);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--td-radius);
    box-shadow: var(--td-shadow);
    gap: 46px;
    overflow: hidden;
    padding: 44px;
    position: relative;
}

body.main .academyPanel::before {
    background: linear-gradient(90deg, rgba(169, 131, 56, .5), rgba(255, 255, 255, 0));
    content: "";
    height: 1px;
    inset: 0 0 auto;
    position: absolute;
}

body.main .academyLead h2 {
    color: #fff;
    font-size: 48px;
    line-height: 1.04;
    margin-bottom: 18px;
}

body.main .academyLead p {
    color: rgba(255, 255, 255, .72);
}

body.main .academyGrid {
    gap: 12px;
}

body.main .academyCard {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: var(--td-radius);
    gap: 13px;
    min-height: 204px;
    overflow: hidden;
    padding: 23px;
    position: relative;
}

body.main .academyCard:hover {
    background: rgba(255, 255, 255, .13);
    border-color: rgba(234, 220, 193, .36);
    transform: translateY(-3px);
}

body.main .academyCard span {
    background: rgba(234, 220, 193, .13);
    border-color: rgba(234, 220, 193, .2);
    color: var(--td-gold-soft);
}

body.main .academyCard strong {
    color: #fff;
}

body.main .academyCard em {
    color: rgba(255, 255, 255, .66);
}

body.main .homeClientsSection {
    background: #fbfaf7;
    padding-top: 96px;
}

body.main .clientLead {
    padding-right: 20px;
}

body.main .clientLead h3 {
    font-size: 44px;
    line-height: 1.06;
    margin-bottom: 18px;
}

body.main .clientLead .lead {
    font-weight: 400;
}

body.main .clients {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
}

body.main .clients a,
body.main .clients span,
body.main .clients .clientLogoItem {
    align-items: center;
    background: #fff;
    border: 1px solid var(--td-line);
    border-radius: var(--td-radius);
    box-shadow: 0 12px 28px rgba(28, 24, 18, .055);
    display: flex;
    flex-direction: column;
    gap: 9px;
    height: 126px;
    justify-content: center;
    padding: 16px;
    text-align: center;
    width: 100%;
}

body.main .clients a::after,
body.main .clients .clientLogoItem::after {
    color: var(--td-ink-soft);
    content: attr(aria-label);
    display: block;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    max-width: 170px;
}

body.main .clients a:hover,
body.main .clients .clientLogoItem:hover {
    border-color: rgba(169, 131, 56, .34);
    box-shadow: 0 18px 38px rgba(28, 24, 18, .09);
    transform: translateY(-2px);
}

body.main .clients img {
    filter: none;
    max-height: 56px;
    max-width: 150px;
    object-fit: contain;
    opacity: .7;
    transition: filter .2s ease, opacity .2s ease;
}

body.main .clients a:hover img,
body.main .clients .clientLogoItem:hover img {
    filter: grayscale(0);
    opacity: 1;
}

body.main .homeProofSection {
    background: #f7f4ee;
}

body.main .homeProofSection .homeSectionHead {
    gap: 38px;
    margin-bottom: 34px;
}

body.main .homeProofGrid {
    gap: 12px;
}

body.main .proofCard {
    background: rgba(255, 253, 248, .86);
    border: 1px solid var(--td-line);
    border-radius: var(--td-radius);
    box-shadow: var(--td-shadow-soft);
    gap: 16px;
    min-height: 348px;
    overflow: hidden;
    padding: 24px;
    position: relative;
}

body.main .proofCard:hover {
    border-color: rgba(169, 131, 56, .32);
    transform: translateY(-3px);
}

body.main .proofCardTop img {
    background: #fff;
    border: 1px solid var(--td-line);
    border-radius: 6px;
    height: 48px;
    padding: 8px;
    width: 76px;
}

body.main .proofCardTop span,
body.main .proofMeta span,
body.main .proofMetric span,
body.main .insightCard span {
    color: var(--td-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

body.main .proofMeta span {
    background: #f1ede5;
    border: 1px solid rgba(20, 20, 20, .08);
    border-radius: 999px;
    padding: 6px 10px;
}

body.main .proofMetric strong {
    color: var(--td-gold);
    font-size: 46px;
    font-weight: 500;
}

body.main .proofCard p {
    color: var(--td-muted);
    font-size: 15px;
    line-height: 1.58;
}

body.main .proofLink,
body.main .homeTextLink {
    color: var(--td-ink);
    font-weight: 800;
    gap: 8px;
}

body.main .proofLink:hover,
body.main .homeTextLink:hover {
    color: var(--td-gold);
}

body.main .homeTestimonialsSection {
    background: var(--td-dark);
    color: #fff;
    padding-bottom: 104px !important;
}

body.main .testimonalsHeader {
    background: linear-gradient(135deg, #111212 0%, #1f2322 60%, #2b2119 100%);
    overflow: hidden;
    padding: 88px 0 150px;
    position: relative;
}

body.main .testimonalsHeader > img {
    filter: grayscale(1);
    inset: auto 0 -120px auto;
    max-height: 360px;
    opacity: .1;
    position: absolute;
    width: auto;
}

body.main .testimonalsHeader h3,
body.main .testimonalsHeader h4 {
    color: #fff;
    margin: 0;
}

body.main .testimonalsHeader h3 {
    font-size: 54px;
    line-height: 1;
}

body.main .testimonalsHeader h4 {
    color: rgba(255, 255, 255, .7);
    font-size: 27px;
    line-height: 1.22;
    max-width: 620px;
}

body.main .testimonalSlider {
    margin-top: -90px;
    padding: 0 max(32px, calc((100vw - 1320px) / 2 + 16px));
}

body.main .testimonalSlider .slick-list {
    overflow: visible;
}

body.main .testimonalSlider .slick-slide {
    padding: 0 8px;
}

body.main .testimonalSlider::after {
    display: none !important;
}

body.main .testimonalSlider .slick-slide > div > div {
    background: #fffdf8;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: var(--td-radius);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
    color: var(--td-ink);
    min-height: 318px;
    padding: 30px;
}

body.main .testimonalSlider .iconHolder {
    align-items: center;
    background: #f3eee5;
    border: 1px solid rgba(20, 20, 20, .08);
    border-radius: var(--td-radius);
    display: inline-flex;
    height: 56px;
    justify-content: center;
    margin-bottom: 24px;
    padding: 10px;
    width: 88px;
}

body.main .testimonalSlider .iconHolder img {
    filter: grayscale(1);
    max-height: 36px;
    max-width: 66px;
    object-fit: contain;
}

body.main .testimonalSlider h5 {
    color: var(--td-ink);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.16;
    margin-bottom: 16px;
}

body.main .testimonalSlider p {
    color: var(--td-muted);
    font-size: 15px;
    line-height: 1.58;
}

body.main .testimonalNavigation {
    align-items: center;
    display: flex;
    gap: 13px;
    justify-content: center;
    margin-top: 30px;
}

body.main .testimonalsArrow {
    align-items: center;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: var(--td-radius);
    color: #fff;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

body.main .testimonalsArrow:hover {
    background: #fff;
    color: var(--td-ink);
}

body.main .testimonalsDots .slick-dots {
    align-items: center;
    display: flex;
    gap: 7px;
    margin: 0;
    padding: 0;
}

body.main .testimonalsDots li {
    list-style: none;
}

body.main .testimonalsDots button {
    background: rgba(255, 255, 255, .24);
    border: 0;
    border-radius: 999px;
    color: transparent;
    display: block;
    height: 7px;
    overflow: hidden;
    padding: 0;
    width: 7px;
}

body.main .testimonalsDots .slick-active button {
    background: var(--td-gold-soft);
    width: 22px;
}

body.main .homeInsightsSection {
    background: #fbfaf7;
}

body.main .insightCards {
    gap: 12px;
}

body.main .insightCard {
    background: #fff;
    border: 1px solid var(--td-line);
    border-radius: var(--td-radius);
    box-shadow: var(--td-shadow-soft);
    gap: 15px;
    min-height: 346px;
    overflow: hidden;
    padding: 22px;
    position: relative;
}

body.main .insightCard:hover {
    background: #fff;
    border-color: rgba(169, 131, 56, .34);
    color: var(--td-ink);
    transform: translateY(-3px);
}

body.main .insightCard picture {
    background: #f0ebe1;
    border-radius: 6px;
    height: 166px;
    margin: 0 0 4px;
}

body.main .insightCard img {
    filter: saturate(.92);
}

body.main .homeIndustriesSection {
    background: #f7f4ee;
    overflow: hidden;
    padding-bottom: 86px !important;
}

body.main .industrieBg.top,
body.main .industrieBg.bottom {
    background: transparent;
    padding: 0;
}

body.main .industrieBg.top {
    margin-bottom: 34px;
}

body.main .homeIndustriesSection h3 {
    font-size: 54px;
    line-height: 1.04;
    margin: 0;
}

body.main .industries {
    height: 560px;
    margin: 0;
    overflow: visible;
}

body.main .industries .slick-list {
    overflow: visible;
}

body.main .industries .slick-slide {
    padding: 0 8px;
}

body.main .industries .item {
    background: #172326;
    border-radius: var(--td-radius);
    box-shadow: var(--td-shadow);
    height: 520px;
    margin: 0;
    overflow: hidden;
    position: relative;
}

body.main .industries .item picture,
body.main .industries .item picture img {
    display: block;
    height: 100%;
    width: 100%;
}

body.main .industries .item picture img {
    filter: saturate(.92) contrast(1.04);
    opacity: .94;
    object-fit: cover;
}

body.main .industries .item::after {
    background: linear-gradient(180deg, rgba(17, 18, 18, 0) 0%, rgba(17, 18, 18, .18) 38%, rgba(17, 18, 18, .88) 100%);
    content: "";
    inset: 0;
    position: absolute;
}

body.main .industries .iContent {
    bottom: 0;
    color: #fff;
    left: 0;
    padding: 28px;
    position: absolute;
    right: 0;
    z-index: 2;
    display: grid !important;
    gap: 14px;
}

body.main .industries .iContent h4 {
    color: #fff;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.08;
    margin: 0 0 14px;
}

body.main .industries .iContent .info {
    align-items: flex-start;
    display: grid !important;
    gap: 18px;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.main .industries .iContent p {
    color: rgba(255, 255, 255, .74);
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
    max-width: 360px;
}

body.main .industries .iContent > i {
    display: none;
}

body.main .industrieBg.bottom {
    margin-top: 34px;
}

body.main .industrieBg.bottom p {
    color: var(--td-muted);
    font-size: 16px;
    margin: 0;
}

body.main .industrieBg.bottom i {
    color: var(--td-gold);
    margin-right: 8px;
}

body.main footer {
    background: var(--td-dark);
    color: rgba(255, 255, 255, .72);
    padding: 72px 0 34px;
}

body.main footer .container-fluid {
    max-width: 1480px;
}

body.main footer hr {
    border-color: rgba(255, 255, 255, .12);
    margin: 0 0 44px;
    opacity: 1;
}

body.main footer .footerContacts {
    color: rgba(255, 255, 255, .66);
    gap: 18px;
}

body.main footer .footerContacts img {
    border-radius: 6px;
    filter: brightness(1.08);
}

body.main footer .footerContacts strong,
body.main footer h4.light {
    color: #fff;
    font-weight: 700;
}

body.main footer .footerContacts a,
body.main footer .links a,
body.main footer .cr a {
    color: rgba(255, 255, 255, .68);
    text-decoration: none;
}

body.main footer .footerContacts a:hover,
body.main footer .links a:hover,
body.main footer .cr a:hover {
    color: var(--td-gold-soft);
}

body.main footer h4.light {
    font-size: 17px;
    margin-bottom: 14px;
}

body.main footer .links {
    gap: 7px;
}

body.main footer .links a {
    border-radius: 6px;
    display: flex;
    font-size: 14px;
    justify-content: space-between;
    line-height: 1.25;
    padding: 7px 0;
}

body.main footer .links a i {
    color: rgba(234, 220, 193, .5);
    margin-left: 8px;
}

body.main footer hr.small {
    border-color: rgba(255, 255, 255, .1);
    margin: 24px 0;
}

body.main footer .cr {
    color: rgba(255, 255, 255, .54);
    font-size: 13px;
    line-height: 1.55;
}

@media (max-width: 1199.98px) {
    body.main header nav > ul > li {
        padding: 0 4px;
    }

    body.main header nav > ul > li > a,
    body.main header nav > ul > li > span {
        font-size: 14px;
        padding: 0 7px;
    }

    body.main .mainSlider .mainCard .card__text h1,
    body.main .mainSlider .mainCard .card__text h2 {
        font-size: 54px;
    }

    body.main .mainSlider .mainCard .card__info {
        width: 68%;
    }

    body.main .homeSplitHeader h2,
    body.main .homeProofSection h2,
    body.main .testimonalsHeader h3,
    body.main .homeIndustriesSection h3 {
        font-size: 46px;
    }
}

@media (max-width: 991.98px) {
    body.main header {
        left: 10px;
        right: 10px;
        top: 8px;
    }

    body.main header .container-fluid > .row .col-12 {
        height: 44px;
    }

    body.main .mobileNavBtn {
        background: rgba(20, 20, 20, .045);
        border-radius: var(--td-radius);
    }

    body.main .mobileNavBtn .hamburgerIcon > span {
        background: var(--td-ink);
    }

    body.main header nav:not(.opened) {
        display: none;
    }

    body.main nav.opened {
        background: rgba(255, 253, 248, .98);
        border: 1px solid rgba(20, 20, 20, .1);
        border-radius: var(--td-radius);
        box-shadow: 0 24px 70px rgba(20, 20, 20, .16);
        left: 10px !important;
        right: 10px !important;
        display: flex;
    }

    body.main nav.opened > ul > li > a,
    body.main nav.opened > ul > li > span {
        color: var(--td-ink);
        font-size: 15px;
        font-weight: 650;
        padding: 14px 18px;
    }

    body.main nav.opened > ul > li.navActionPrimary > a {
        background: var(--td-dark) !important;
        border-color: var(--td-dark) !important;
    }

    body.main nav.opened > ul > li.navActionSecondary > a,
    body.main nav.opened > ul > li.navActionSecondary > span {
        background: #fff !important;
        border-color: rgba(20, 20, 20, .1) !important;
    }

    body.main .mainSlider {
        padding: 10px 10px 34px;
    }

    body.main .mainSlider .section__cards {
        flex-direction: column;
        gap: 8px;
        height: auto;
        max-height: none;
        min-height: 0;
    }

    body.main .mainSlider .mainCard,
    body.main .mainSlider .mainCard:hover {
        flex: 0 0 60px;
        min-height: 60px;
    }

    body.main .mainSlider .mainCard.active,
    body.main .mainSlider .mainCard.active:hover {
        flex: 0 0 auto !important;
        min-height: 620px;
    }

    body.main .mainSlider .mainCard .card__name {
        bottom: auto;
        left: 18px;
        right: 54px;
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        writing-mode: horizontal-tb;
    }

    body.main .mainSlider .mainCard.active .card__name {
        opacity: 0;
    }

    body.main .mainSlider .mainCard .card__text {
        justify-content: flex-start;
        padding: 46px 24px 28px;
    }

    body.main .mainSlider .mainCard .card__text h1,
    body.main .mainSlider .mainCard .card__text h2 {
        font-size: 46px;
        line-height: 1.02;
    }

    body.main .heroSignalBoard {
        grid-template-columns: 1fr;
        max-width: 100%;
    }

    body.main .heroMatrix {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.main .mainSlider .mainCard .card__info {
        bottom: 24px;
        left: 24px;
        right: 24px;
        width: auto;
    }

    body.main .homeSplitHeader,
    body.main .homeProofSection .homeSectionHead,
    body.main .academyPanel {
        grid-template-columns: 1fr;
    }

    body.main .solutionMatrix,
    body.main .insightCards,
    body.main .homeProofGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.main .homeClientsSection .row {
        gap: 28px;
    }
}

@media (max-width: 767.98px) {
    body.main .container,
    body.main .container-fluid {
        --bs-gutter-x: 24px;
    }

    body.main .btn,
    body.main .heroCtas .btn,
    body.main .academyActions .btn {
        min-height: 46px;
        padding: 0 16px;
    }

    body.main .mainSlider .mainCard.active,
    body.main .mainSlider .mainCard.active:hover {
        min-height: 560px;
    }

    body.main .mainSlider .mainCard .card__text {
        padding: 34px 20px 24px;
    }

    body.main .mainSlider .mainCard .card__text h1,
    body.main .mainSlider .mainCard .card__text h2 {
        font-size: 36px;
        line-height: 1.04;
        max-width: 100%;
        overflow-wrap: break-word;
    }

    body.main .mainSlider .mainCard .card__text .heroIntro {
        font-size: 16px;
        line-height: 1.5;
        margin-top: 16px;
    }

    body.main .heroServiceTags {
        gap: 7px;
        margin-top: 16px;
    }

    body.main .heroServiceTags span {
        font-size: 12px;
        padding: 8px 10px;
    }

    body.main .heroCtas {
        align-items: stretch;
        flex-direction: column;
        margin-top: 18px;
        width: min(100%, 420px);
    }

    body.main .heroCtas .btn {
        flex: 0 0 auto;
        width: 100%;
    }

    body.main .heroSignalBoard {
        display: none;
    }

    body.main .heroPipeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.main .heroPipeline span {
        min-height: 84px;
        padding: 14px 13px;
    }

    body.main .heroMatrix {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.main .mainSlider .mainCard .card__info {
        display: none;
    }

    body.main .homeSolveSection,
    body.main .homeInsightsSection,
    body.main .homeProofSection,
    body.main .homeClientsSection,
    body.main .homeIndustriesSection {
        padding: 66px 0;
    }

    body.main .homeSolveSection {
        padding-top: 48px;
    }

    body.main .homeInfoStatsSection {
        padding-bottom: 68px !important;
    }

    body.main .homeInfoStatsSection .headerWithDecor {
        font-size: 34px;
        padding-bottom: 54px !important;
        padding-top: 58px !important;
    }

    body.main .homeInfoStatsSection h3,
    body.main .clientLead h3,
    body.main .academyLead h2,
    body.main .homeSplitHeader h2,
    body.main .homeProofSection h2,
    body.main .testimonalsHeader h3,
    body.main .homeIndustriesSection h3 {
        font-size: 34px;
        line-height: 1.06;
        text-align: left;
    }

    body.main .homeSplitHeader p,
    body.main .homeProofSection .homeSectionHead p,
    body.main .academyLead p,
    body.main .homeInfoStatsSection .lead,
    body.main .clientLead .lead {
        font-size: 16px;
    }

    body.main .solutionMatrix,
    body.main .academyGrid,
    body.main .insightCards,
    body.main .homeProofGrid {
        grid-template-columns: 1fr;
    }

    body.main .solutionTile,
    body.main .solutionTile:not(:nth-child(2n)),
    body.main .solutionTile:not(:nth-child(3n)),
    body.main .solutionTile:nth-child(n+3),
    body.main .solutionTile:nth-child(n+4),
    body.main .academyCard {
        min-height: auto;
    }

    body.main .academyPanel {
        padding: 28px 20px;
    }

    body.main .academyActions {
        align-items: stretch;
        flex-direction: column;
    }

    body.main .academyActions .btn {
        width: 100%;
    }

    body.main .clients {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.main .clients a,
    body.main .clients span,
    body.main .clients .clientLogoItem {
        height: 84px;
        padding: 14px;
    }

    body.main .testimonalsHeader {
        padding: 64px 0 120px;
    }

    body.main .testimonalsHeader h4 {
        font-size: 20px;
        margin-top: 14px;
        text-align: left;
    }

    body.main .testimonalSlider {
        margin-top: -78px;
        padding: 0 20px;
    }

    body.main .testimonalSlider .slick-slide > div > div {
        min-height: 300px;
        padding: 24px;
    }

    body.main .industries {
        height: 510px;
    }

    body.main .industries .item {
        height: 470px;
    }

    body.main .industries .iContent {
        padding: 22px;
    }

    body.main .industries .iContent h4 {
        font-size: 24px;
    }

    body.main footer {
        padding-top: 52px;
    }

    body.main footer .footerContacts {
        gap: 14px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.main footer .footerContacts img {
        grid-column: span 2 / span 2;
    }

    body.main footer h4.light {
        border-color: rgba(255, 255, 255, .12);
        color: #fff;
        font-size: 20px;
    }

    body.main footer .light.h4::after,
    body.main footer h4.light::after {
        color: rgba(255, 255, 255, .72);
    }
}

@media (max-width: 420px) {
    body.main .mainSlider .mainCard.active,
    body.main .mainSlider .mainCard.active:hover {
        min-height: 600px;
    }

    body.main .mainSlider .mainCard .card__text h1,
    body.main .mainSlider .mainCard .card__text h2 {
        font-size: 32px;
    }

}
