/* The redesigned ecosystem cards are maintained in ecosystem.css. */
.ecosystem-program__cta a img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

/* Section identity: pale marker, order, divider, product mark and headline. */
.ecosystem-program__heading {
    grid-template-columns: minmax(310px, 1fr) minmax(0, 1.5fr);
    gap: clamp(32px, 5vw, 76px);
}

.ecosystem-program__brand {
    position: relative;
    min-height: 58px;
    justify-content: flex-start;
    padding-left: 18px;
}

.ecosystem-program__brand::before {
    position: absolute;
    top: 7px;
    bottom: 7px;
    left: 0;
    width: 7px;
    background: #fff0cd;
    content: "";
}

.ecosystem-program__brand span {
    padding-right: 18px;
    border-right: 2px solid #efded2;
    color: #f36b2c;
    font-size: 18px;
    line-height: 1;
}

.ecosystem-program__brand strong {
    font-size: clamp(34px, 3.35vw, 50px);
}

.ecosystem-program__partner {
    width: 112px;
    max-height: 46px;
    margin-left: 4px;
}

.ecosystem-program__heading h2 {
    font-size: clamp(27px, 2.5vw, 38px);
}

/* Unified full-width light-yellow background strip containing both stats and CTAs */
.ecosystem-program-strip,
.ecosystem-stats-strip {
    width: 100%;
    background: linear-gradient(180deg, #fffef8 0%, #fff9e7 50%, #fff2cb 100%);
    border-top: none !important;
    padding-top: 36px;
    padding-bottom: 46px;
}

.ecosystem-program-strip .ecosystem-stats,
.ecosystem-stats-strip .ecosystem-stats {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0;
    margin-bottom: 34px;
    background: transparent !important;
}

/* Seamless CTA buttons row sitting directly on the bottom of the same light-yellow canvas */

/* Balanced, airy stat cards aligned flush with the feature card */
.ecosystem-stat {
    display: flex;
    min-height: 126px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 22px 18px 20px;
    border: 1px solid #fae8c3;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 4px 16px rgba(116, 67, 23, 0.05);
    text-align: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ecosystem-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(116, 67, 23, 0.1);
}

.ecosystem-stat strong {
    color: #ef6b2d;
    font-size: clamp(22px, 2.1vw, 30px);
    font-weight: 850;
    line-height: 1.15;
    letter-spacing: -0.01em;
    text-transform: uppercase;
}

.ecosystem-stat span {
    min-width: 60px;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1.5px solid #eedec8;
    color: #554c41;
    font-size: clamp(11.5px, 0.95vw, 13.5px);
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Same CTA visual language and interaction as the homepage strips. */
.ecosystem-program__cta {
    min-height: 112px;
    padding-block: 18px;
    background: linear-gradient(180deg, #fffdf0 0%, #fff3bd 48%, #ffe39a 100%);
}

.ecosystem-program__cta .container {
    gap: clamp(16px, 2.25vw, 32px);
}

.ecosystem-program__cta a {
    min-width: 380px;
    min-height: 64px;
    gap: 10px;
    padding: 5px 25px 5px 12px;
    border: 2px solid #f4762b;
    background: #fff;
    color: #191919;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.15;
    box-shadow: 0 7px 18px rgba(117, 67, 36, .08);
    transition: color 350ms ease, background-color 350ms ease, border-color 350ms ease, box-shadow 420ms ease, transform 420ms cubic-bezier(.16, 1, .3, 1);
}

.ecosystem-program__cta a b {
    font-size: 26px;
    font-weight: 500;
}

.ecosystem-program__cta a span {
    display: inline;
}

.ecosystem-program__cta a:hover,
.ecosystem-program__cta a:focus-visible {
    border-color: #e2ad39;
    background: linear-gradient(135deg, #fff0b5 0%, #ffdda0 52%, #ffc96f 100%);
    color: #171717;
    text-decoration: none;
    box-shadow: 0 13px 26px rgba(198, 124, 24, .2);
    transform: translate3d(0, -3px, 0);
}

.ecosystem-program__cta a:focus-visible {
    outline: 3px solid rgba(244, 118, 43, .28);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .ecosystem-program__heading {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ecosystem-program__heading h2 {
        padding-left: 18px;
    }
}

@media (max-width: 767px) {
    .ecosystem-program__brand strong {
        font-size: 30px;
    }

    .ecosystem-program__heading h2 {
        font-size: 23px;
    }

    .ecosystem-stat {
        min-height: 104px;
        padding: 14px 10px 12px;
    }

    .ecosystem-stat strong {
        font-size: clamp(16px, 3.5vw, 22px);
    }

    .ecosystem-stat span {
        min-width: 60px;
        margin-top: 6px;
        padding-top: 6px;
        font-size: 11.5px;
    }

    .ecosystem-program__cta .container {
        flex-direction: column;
        gap: 12px;
    }

    .ecosystem-program__cta a {
        width: min(100%, 310px);
        min-width: 0;
        min-height: 58px;
        font-size: 13px;
    }

    .ecosystem-program__cta a img {
        width: 48px;
        height: 48px;
    }

    .ecosystem-program__cta a span {
        display: inline;
    }
}

/* Correct the intro proportions visible at desktop widths. */
.ecosystem-intro::before {
    height: 300px;
}

.ecosystem-intro h1 {
    max-width: 860px;
    padding-bottom: 18px;
}

.ecosystem-intro__art {
    width: clamp(105px, 8.5vw, 145px);
    height: 135px;
}

.ecosystem-intro__art--left {
    left: max(28px, calc(50% - 650px));
}

.ecosystem-intro__art--right {
    right: max(28px, calc(50% - 650px));
}

.ecosystem-nav {
    padding-top: 24px;
}

.ecosystem-nav a {
    border-radius: 22px;
    padding-left: 76px;
}

.ecosystem-nav b {
    top: -9px;
    left: -7px;
    transform: none;
}

@media (max-width: 1300px) {
    .ecosystem-intro__art--left {
        left: 20px;
    }

    .ecosystem-intro__art--right {
        right: 20px;
    }

    .ecosystem-intro h1 {
        max-width: 760px;
    }
}

@media (max-width: 900px) {
    .ecosystem-intro::before {
        height: 260px;
    }

    .ecosystem-intro__art {
        width: 82px;
        height: 95px;
    }

    .ecosystem-intro h1 {
        max-width: 610px;
    }
}

@media (max-width: 767px) {
    .ecosystem-intro::before {
        height: 210px;
    }

    .ecosystem-intro h1 {
        padding-bottom: 20px;
    }

    .ecosystem-nav {
        padding-top: 22px;
    }

    .ecosystem-nav a {
        padding-left: 62px;
        border-radius: 18px;
    }

    .ecosystem-nav b {
        top: -6px;
        left: -5px;
    }
}

/* Intro polish: tuck the background under the rounded header and keep art clear of copy. */
.ecosystem-intro {
    margin-top: -46px;
    padding-top: 46px;
}

.ecosystem-intro h1 {
    max-width: 900px;
    margin-inline: auto;
}

.ecosystem-intro__art {
    top: 88px;
    width: clamp(105px, 10vw, 155px);
    height: 135px;
}

.ecosystem-intro__art--left {
    left: max(24px, calc(50% - 510px));
}

.ecosystem-intro__art--right {
    right: max(24px, calc(50% - 510px));
}

.ecosystem-nav a {
    transition: background-color 260ms ease, box-shadow 320ms ease, transform 320ms cubic-bezier(.16, 1, .3, 1);
}

.ecosystem-nav a:hover,
.ecosystem-nav a:focus-visible {
    background: #fff7d3;
    box-shadow: 0 8px 16px rgba(115, 82, 45, .16), 0 4px 0 rgba(106, 83, 51, .12);
    transform: translateY(-4px);
}

.ecosystem-nav a:focus-visible {
    outline: 3px solid rgba(244, 118, 43, .25);
    outline-offset: 3px;
}

.ecosystem-intro__actions a {
    min-width: 380px;
    min-height: 64px;
    padding: 5px 25px 5px 12px;
    font-size: 15px;
}

.ecosystem-intro__actions a img {
    width: 58px;
    height: 58px;
}

@media (max-width: 1100px) {
    .ecosystem-intro__art--left {
        left: 18px;
    }

    .ecosystem-intro__art--right {
        right: 18px;
    }

    .ecosystem-intro h1 {
        max-width: 720px;
    }
}

@media (max-width: 767px) {
    .ecosystem-intro {
        margin-top: -30px;
        padding-top: 30px;
    }

    .ecosystem-intro__art {
        top: 92px;
        width: 66px;
        height: 78px;
    }

    .ecosystem-intro__actions a {
        width: min(100% - 28px, 310px);
        min-width: 0;
        min-height: 58px;
        padding: 5px 22px 5px 12px;
        font-size: 13px;
    }

    .ecosystem-intro__actions a img {
        width: 48px;
        height: 48px;
    }
}

/* Desktop intro geometry — kept last deliberately. */
.ecosystem-intro::before {
    height: 300px;
}

.ecosystem-intro h1 {
    max-width: 860px;
    padding-bottom: 18px;
}

.ecosystem-intro__art {
    width: clamp(105px, 8.5vw, 145px);
    height: 135px;
}

.ecosystem-intro__art--left {
    left: max(28px, calc(50% - 650px));
}

.ecosystem-intro__art--right {
    right: max(28px, calc(50% - 650px));
}

.ecosystem-nav {
    padding-top: 24px;
}

.ecosystem-nav a {
    padding-left: 76px;
    border-radius: 22px;
}

.ecosystem-nav b {
    top: -9px;
    left: -7px;
    transform: none;
}

@media (max-width: 1300px) {
    .ecosystem-intro__art--left {
        left: 20px;
    }

    .ecosystem-intro__art--right {
        right: 20px;
    }

    .ecosystem-intro h1 {
        max-width: 760px;
    }
}

@media (max-width: 900px) {
    .ecosystem-intro::before {
        height: 260px;
    }

    .ecosystem-intro__art {
        width: 82px;
        height: 95px;
    }

    .ecosystem-intro h1 {
        max-width: 610px;
    }
}

@media (max-width: 767px) {
    .ecosystem-intro::before {
        height: 210px;
    }

    .ecosystem-intro h1 {
        padding-bottom: 20px;
    }

    .ecosystem-nav {
        padding-top: 22px;
    }

    .ecosystem-nav a {
        padding-left: 62px;
        border-radius: 18px;
    }

    .ecosystem-nav b {
        top: -6px;
        left: -5px;
    }
}

/* Final alignment with the supplied ecosystem art direction. */
.ecosystem-page a,
.ecosystem-page a:hover,
.ecosystem-page a:focus,
.ecosystem-page a:focus-visible {
    text-decoration: none !important;
}

.ecosystem-intro {
    padding: 0 0 20px;
    background: linear-gradient(180deg, #fff 0 74%, #fff3cd 100%);
}

.ecosystem-intro > .container {
    width: 100%;
    max-width: none;
}

.ecosystem-intro .ecosystem-kicker,
.ecosystem-intro h1 {
    position: relative;
    z-index: 1;
}

.ecosystem-intro .ecosystem-kicker {
    margin: 0;
    padding-top: 48px;
    font-size: clamp(17px, 1.65vw, 23px);
}

.ecosystem-intro h1 {
    margin-bottom: 0;
    padding-bottom: 50px;
    font-size: clamp(34px, 4vw, 58px);
}

.ecosystem-intro::before {
    position: absolute;
    inset: 0 0 auto;
    height: 220px;
    background: linear-gradient(90deg, #ffe0cf 0%, #fff7ec 48%, #fff 100%);
    content: "";
}

.ecosystem-intro__art {
    z-index: 2;
    top: 42px;
    width: clamp(130px, 17vw, 220px);
    height: 150px;
}

.ecosystem-intro__art--left {
    left: max(25px, calc(50% - 510px));
}

.ecosystem-intro__art--right {
    right: max(25px, calc(50% - 510px));
}



.ecosystem-intro__actions {
    position: relative;
    z-index: 3;
    gap: 20px;
    margin-top: 20px;
}

.ecosystem-intro__actions a {
    display: inline-flex;
    min-width: 330px;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 5px 20px 5px 8px;
    border: 2px solid #f4762b;
    border-radius: 999px;
    background: #fff;
    color: #191919;
    font-size: 13px;
    font-weight: 850;
    box-shadow: 0 7px 18px rgba(117, 67, 36, .08);
    transition: color 350ms ease, background-color 350ms ease, border-color 350ms ease, box-shadow 420ms ease, transform 420ms cubic-bezier(.16, 1, .3, 1);
}

.ecosystem-intro__actions a img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.ecosystem-intro__actions a b {
    font-size: 24px;
    font-weight: 500;
}

.ecosystem-intro__actions a:hover,
.ecosystem-intro__actions a:focus-visible {
    border-color: #e2ad39;
    background: linear-gradient(135deg, #fff0b5 0%, #ffdda0 52%, #ffc96f 100%);
    color: #171717;
    box-shadow: 0 13px 26px rgba(198, 124, 24, .2);
    transform: translate3d(0, -3px, 0);
}

.ecosystem-program {
    padding-top: 64px;
}

.ecosystem-program__heading {
    align-items: start;
    margin-bottom: 30px;
}

.ecosystem-program__brand {
    min-height: 78px;
    align-items: flex-start;
    padding-top: 0;
    padding-left: 24px;
}

.ecosystem-program__brand::before {
    top: 0;
    bottom: auto;
    width: 8px;
    height: 62px;
}

.ecosystem-program__brand span {
    margin-top: 11px;
    padding-right: 20px;
    font-size: 22px;
}

.ecosystem-program__logo {
    width: 210px;
    height: 76px;
    object-fit: contain;
    object-position: left center;
}

.ecosystem-program--m-intesol .ecosystem-program__logo {
    width: 180px;
    height: 64px;
}

.ecosystem-program__heading h2 {
    padding-top: 0;
    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.08;
}

.ecosystem-feature {
    grid-template-columns: 38% minmax(0, 1fr);
    gap: 12px;
    padding: 10px;
    margin-bottom: 50px;
}

.ecosystem-feature__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: flex-start;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid #f0c562;
    background: linear-gradient(145deg, #fff3cf 0%, #fee59e 48%, #fed76e 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
    color: #38260e;
}

.ecosystem-feature__copy h3 {
    align-self: flex-start;
    width: calc(100% * 2 / 3);
    max-width: 68%;
    box-sizing: border-box;
    margin: 0 0 22px;
    padding: 16px 28px;
    border-radius: 0 0 22px 0;
    border-right: 2px solid #e0ae48;
    border-bottom: 2px solid #e0ae48;
    background: linear-gradient(180deg, #ffffff 0%, #fffdf4 40%, #fff7da 100%);
    box-shadow: 2px 4px 12px rgba(130, 80, 18, 0.1);
    color: #211910;
    font-size: clamp(17px, 1.55vw, 23px);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.01em;
}

.ecosystem-feature__copy p {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0 28px 26px;
    color: #3b2812;
    font-size: clamp(15px, 1.25vw, 17.5px);
    font-weight: 550;
    line-height: 1.65;
}

@media (max-width: 900px) {
    .ecosystem-intro__art {
        opacity: .82;
    }

    .ecosystem-program__heading h2 {
        padding-top: 0;
        padding-left: 24px;
    }
}

@media (max-width: 767px) {
    .ecosystem-intro .ecosystem-kicker {
        padding-top: 30px;
        font-size: 14px;
    }

    .ecosystem-intro h1 {
        padding: 8px 52px 34px;
        font-size: 28px;
    }

    .ecosystem-intro::before {
        height: 180px;
    }

    .ecosystem-intro__art {
        top: 63px;
        width: 78px;
        height: 90px;
    }



    .ecosystem-intro__actions {
        flex-direction: column;
        align-items: center;
    }

    .ecosystem-intro__actions a {
        width: min(100% - 28px, 330px);
        min-width: 0;
    }

    .ecosystem-program {
        padding-top: 44px;
    }

    .ecosystem-program__brand {
        min-height: 68px;
        padding-left: 18px;
    }

    .ecosystem-program__brand::before {
        height: 54px;
    }

    .ecosystem-program__brand span {
        margin-top: 9px;
        padding-right: 14px;
        font-size: 18px;
    }

    .ecosystem-program__logo {
        width: 170px;
        height: 62px;
    }

    .ecosystem-program__heading h2 {
        padding-left: 18px;
        font-size: 27px;
    }

    .ecosystem-feature {
        gap: 10px;
        margin-bottom: 30px;
    }

    .ecosystem-feature__copy h3 {
        width: 80%;
        max-width: 85%;
        padding: 13px 20px;
        font-size: 16.5px;
        border-radius: 0 0 18px 0;
    }

    .ecosystem-feature__copy p {
        padding: 0 20px 22px;
        font-size: 14.5px;
        line-height: 1.55;
    }

    .ecosystem-program-strip,
    .ecosystem-stats-strip {
        padding-top: 24px;
        padding-bottom: 34px;
    }

    .ecosystem-program-strip .ecosystem-stats,
    .ecosystem-stats-strip .ecosystem-stats {
        gap: 10px;
        margin-bottom: 22px;
        padding: 0;
    }


    .ecosystem-stat {
        min-height: 104px;
        padding: 14px 10px 12px;
    }

    .ecosystem-stat strong {
        font-size: clamp(16px, 3.5vw, 22px);
    }

    .ecosystem-stat span {
        margin-top: 6px;
        padding-top: 6px;
        font-size: 11.5px;
    }
}

/* Keep these final values last so earlier responsive/layout rules cannot override them. */
body.page-template-page-ecosystem {
    overflow-x: clip;
    background: #fff0e7;
}

.ecosystem-page {
    overflow: visible;
}

.ecosystem-program__heading {
    grid-template-columns: 40% minmax(0, 1fr);
    grid-template-areas:
        "order partner"
        "brand title";
    align-items: center;
    gap: 12px 28px;
}

.ecosystem-program__order {
    grid-area: order;
    display: flex;
    height: 42px;
    align-items: center;
    gap: 14px;
    color: #f36b2c;
}

.ecosystem-program__order::before {
    width: 8px;
    height: 42px;
    background: #fff0cd;
    content: "";
}

.ecosystem-program__order span {
    font-size: 28px;
    font-weight: 850;
    line-height: 42px;
}

.ecosystem-program__partner-logo {
    grid-area: partner;
    width: 155px;
    max-height: 54px;
    justify-self: end;
    align-self: center;
    object-fit: contain;
    object-position: right center;
}

.ecosystem-program__brand {
    grid-area: brand;
    min-height: 105px;
    align-items: center;
    justify-content: flex-start;
    padding-left: 36px;
}

.ecosystem-program__brand::before {
    display: none;
}

.ecosystem-program__brand span {
    height: 64px;
    margin-top: 0;
    padding-right: 4px;
    border-right: 0;
    font-size: 52px;
    font-weight: 900;
    line-height: 64px;
}

.ecosystem-program__logo {
    width: min(100%, 360px);
    height: 105px;
    object-position: left center;
}

.ecosystem-program--m-intesol .ecosystem-program__logo {
    width: min(100%, 280px);
    height: 92px;
}

.ecosystem-program__logo-text {
    color: #f36b2c;
    font-size: clamp(38px, 3.4vw, 52px);
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.ecosystem-program__heading h2 {
    grid-area: title;
    align-self: center;
    padding-top: 0;
    color: #242424;
    font-size: clamp(30px, 2.8vw, 42px);
    font-weight: 850;
}

.ecosystem-stats__mascot {
    right: -42px;
    bottom: -8px;
    width: 140px;
    height: 145px;
}

.ecosystem-intro {
    position: relative !important;
    padding: 76px 0 65px !important;
    background: linear-gradient(180deg, #fffdfa 0%, #fff7ee 55%, #ffeee0 100%) !important;
    text-align: center !important;
}

.ecosystem-intro::before {
    display: none !important;
}

.ecosystem-intro .ecosystem-kicker {
    margin: 0 0 14px !important;
    font-size: clamp(14px, 1.2vw, 18px) !important;
    letter-spacing: 0.04em !important;
}

.ecosystem-intro h1 {
    max-width: 860px !important;
    margin: 0 auto 36px !important;
    padding-bottom: 0 !important;
    font-size: clamp(30px, 3.5vw, 50px) !important;
    font-weight: 850 !important;
    line-height: 1.12 !important;
}

/* --------------------------------------------------------------------------
   ECOSYSTEM PROGRAM QUICK NAV - FEATURE IDENTITY CARDS (Image 1 Mockup)
-------------------------------------------------------------------------- */
.ecosystem-nav {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 18px !important;
    max-width: 1100px !important;
    margin: 80px auto 56px !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 5 !important;
    overflow: visible !important;
}

.ecosystem-nav a.ecosystem-nav-card,
.ecosystem-nav-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    min-width: 0 !important;
    height: 160px !important;
    min-height: 160px !important;
    padding: 16px 12px 26px !important;
    background: #ffffff !important;
    border: 2px solid #f06a28 !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 18px rgba(240, 106, 40, 0.08) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    cursor: pointer;
    transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), 
                box-shadow 0.28s ease, 
                border-color 0.28s ease,
                background-color 0.28s ease !important;
}

/* Badge '01' - '05' sitting on top-left border - LARGER NUMBER as requested */
.ecosystem-nav-card__badge {
    position: absolute !important;
    top: -16px !important;
    left: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 18px !important;
    background: #ffe6cb !important;
    color: #e85d17 !important;
    font-size: 20px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    border-radius: 999px !important;
    letter-spacing: -0.01em !important;
    box-shadow: 0 3px 8px rgba(232, 93, 23, 0.18) !important;
    z-index: 3 !important;
    pointer-events: none;
    transition: transform 0.25s ease, background 0.25s ease !important;
}

/* Mascot perched on top border - SHIFTED DOWN & LARGER as requested */
.ecosystem-nav-card__mascot {
    position: absolute !important;
    bottom: calc(100% - 32px) !important;
    right: 10px !important;
    width: 108px !important;
    height: 98px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    pointer-events: none !important;
    z-index: 2 !important;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.ecosystem-nav-card__mascot img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1)) !important;
    display: block !important;
}

/* Title centered inside the card */
.ecosystem-nav-card__title {
    display: block !important;
    color: #1a1a1a !important;
    font-size: clamp(15px, 1.18vw, 18px) !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 4px !important;
    transition: color 0.25s ease !important;
}

/* Hover & Focus interactions */
.ecosystem-nav a.ecosystem-nav-card:hover,
.ecosystem-nav a.ecosystem-nav-card:focus-visible {
    transform: translateY(-6px) !important;
    background: #ffffff !important;
    border-color: #f06a28 !important;
    box-shadow: 0 14px 30px rgba(240, 106, 40, 0.22) !important;
    outline: none !important;
}

.ecosystem-nav a.ecosystem-nav-card:hover .ecosystem-nav-card__mascot,
.ecosystem-nav a.ecosystem-nav-card:focus-visible .ecosystem-nav-card__mascot {
    transform: translateY(-6px) scale(1.08) !important;
}

.ecosystem-nav a.ecosystem-nav-card:hover .ecosystem-nav-card__badge,
.ecosystem-nav a.ecosystem-nav-card:focus-visible .ecosystem-nav-card__badge {
    background: #ffd9b3 !important;
    transform: scale(1.06) !important;
}

.ecosystem-nav a.ecosystem-nav-card:hover .ecosystem-nav-card__title,
.ecosystem-nav a.ecosystem-nav-card:focus-visible .ecosystem-nav-card__title {
    color: #f06a28 !important;
}

/* --------------------------------------------------------------------------
   CTA STRIP: Inherit 100% natural styles, animations & hover from home.css
   Generous top padding & visible overflow so hover & mascot float never clip
-------------------------------------------------------------------------- */
.ecosystem-page .home-cta-strip--ecosystem {
    background: transparent !important;
    min-height: auto !important;
    padding-block: 30px 18px !important;
    box-shadow: none !important;
    border: none !important;
    overflow: visible !important;
}

.ecosystem-page .home-cta-strip--ecosystem > .container {
    overflow: visible !important;
}

@media (max-width: 1100px) {
    .ecosystem-intro__art--left {
        left: 18px;
    }

    .ecosystem-intro__art--right {
        right: 18px;
    }

    .ecosystem-intro h1 {
        max-width: 720px;
    }

    .ecosystem-nav {
        gap: 14px !important;
        margin-top: 65px !important;
        margin-bottom: 45px !important;
    }

    .ecosystem-nav a.ecosystem-nav-card {
        height: 145px !important;
        min-height: 145px !important;
        padding: 14px 8px 24px !important;
        border-radius: 18px !important;
    }

    .ecosystem-nav-card__mascot {
        width: 95px !important;
        height: 86px !important;
        bottom: calc(100% - 28px) !important;
        right: 8px !important;
    }

    .ecosystem-nav-card__badge {
        font-size: 17px !important;
        padding: 3px 15px !important;
        left: 12px !important;
        top: -14px !important;
    }

    .ecosystem-nav-card__title {
        font-size: 15px !important;
    }

}

@media (max-width: 767px) {
    .ecosystem-intro {
        margin-top: -30px;
        padding-top: 40px !important;
        padding-bottom: 35px !important;
    }

    .ecosystem-intro__art {
        display: none !important;
    }

    .ecosystem-program__heading {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "order partner"
            "brand brand"
            "title title";
        gap: 10px;
    }

    .ecosystem-program__order {
        height: 34px;
    }

    .ecosystem-program__order::before {
        width: 7px;
        height: 34px;
    }

    .ecosystem-program__order span {
        font-size: 23px;
        line-height: 34px;
    }

    .ecosystem-program__partner-logo {
        width: 120px;
        max-height: 42px;
    }

    .ecosystem-program__brand {
        min-height: 66px;
        padding-left: 18px;
    }

    .ecosystem-program__brand::before {
        height: 52px;
    }

    .ecosystem-program__brand span {
        height: 52px;
        padding-right: 3px;
        font-size: 40px;
        line-height: 52px;
    }

    .ecosystem-program__logo {
        width: 190px;
        height: 70px;
    }

    .ecosystem-program__logo-text {
        font-size: 38px;
    }

    .ecosystem-program--m-intesol .ecosystem-program__logo {
        width: 170px;
        height: 62px;
    }

    .ecosystem-program__heading h2 {
        padding-left: 18px;
    }

    .ecosystem-stats__mascot {
        right: -18px;
        bottom: -2px;
        width: 90px;
        height: 95px;
    }

    .ecosystem-intro h1 {
        padding-bottom: 12px;
    }

    .ecosystem-nav {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 14px !important;
        padding: 50px 16px 18px !important;
        margin: 10px -16px 36px !important;
        scrollbar-width: none !important;
    }

    .ecosystem-nav::-webkit-scrollbar {
        display: none !important;
    }

    .ecosystem-nav a.ecosystem-nav-card {
        flex: 0 0 160px !important;
        min-width: 160px !important;
        height: 142px !important;
        min-height: 142px !important;
        padding: 14px 8px 20px !important;
        scroll-snap-align: center !important;
    }

    .ecosystem-nav-card__mascot {
        width: 88px !important;
        height: 80px !important;
        bottom: calc(100% - 26px) !important;
        right: 8px !important;
    }

    .ecosystem-nav-card__badge {
        font-size: 16px !important;
        padding: 3px 14px !important;
        left: 12px !important;
        top: -13px !important;
    }

    .ecosystem-nav-card__title {
        font-size: 14px !important;
    }
}
