/* ==========================================================
   ECOSYSTEM
   ========================================================== */


/* ==========================================================
   01. HERO
   ========================================================== */

.arg-ecosystem-hero {
    padding: 110px 0 140px;

    overflow: hidden;

    background: var(--arg-canvas);
}

.arg-ecosystem-hero__layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;

    gap: clamp(80px, 9vw, 150px);

    min-height: 600px;
}

.arg-ecosystem-hero__content h1 {
    max-width: 780px;

    margin: 0;

    color: var(--arg-ink);

    font-size: clamp(52px, 5vw, 76px);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.05em;
}

.arg-ecosystem-hero__description {
    max-width: 620px;

    margin: 30px 0 38px;

    color: var(--arg-text);

    font-size: 18px;
    line-height: 1.75;
}


/* ==========================================================
   HERO ECOSYSTEM VISUAL
   ========================================================== */

.arg-ecosystem-orbit {
    position: relative;

    min-height: 480px;
}


/* Center */

.arg-ecosystem-orbit__center {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;

    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: space-between;

    width: 230px;
    height: 230px;

    padding: 28px;

    border-radius: var(--arg-radius-lg);

    color: var(--arg-white);
    background: var(--arg-blue);

    transform: translate(-50%, -50%);
}

.arg-ecosystem-orbit__center > span {
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .1em;

    opacity: .65;
}

.arg-ecosystem-orbit__center strong {
    font-size: 26px;
    font-weight: 600;
    letter-spacing: -.03em;
}

.arg-ecosystem-orbit__center small {
    font-size: 12px;
    line-height: 1.5;

    opacity: .75;
}


/* Children */

.arg-ecosystem-orbit__item {
    position: absolute;
    z-index: 2;

    display: flex;
    flex-direction: column;

    width: 190px;
    min-height: 130px;

    padding: 22px;

    border: 1px solid var(--arg-line);
    border-radius: var(--arg-radius);

    background: var(--arg-white);
}

.arg-ecosystem-orbit__item > span {
    margin-bottom: 25px;

    color: var(--arg-blue);

    font-size: 9px;
    font-weight: 600;
}

.arg-ecosystem-orbit__item strong {
    color: var(--arg-ink);

    font-size: 18px;
    font-weight: 600;
}

.arg-ecosystem-orbit__item small {
    margin-top: 7px;

    color: var(--arg-muted);

    font-size: 9px;
}

.arg-ecosystem-orbit__item--cloutela {
    top: 0;
    left: 0;
}

.arg-ecosystem-orbit__item--casys {
    top: 30px;
    right: 0;
}

.arg-ecosystem-orbit__item--partner {
    right: 35px;
    bottom: 0;
}


/* Lines */

.arg-ecosystem-orbit__line {
    position: absolute;
    z-index: 1;

    display: block;

    height: 1px;

    background: var(--arg-line);

    transform-origin: left center;
}

.arg-ecosystem-orbit__line--one {
    top: 145px;
    left: 175px;

    width: 190px;

    transform: rotate(24deg);
}

.arg-ecosystem-orbit__line--two {
    top: 150px;
    left: 56%;

    width: 180px;

    transform: rotate(-25deg);
}

.arg-ecosystem-orbit__line--three {
    top: 60%;
    left: 57%;

    width: 190px;

    transform: rotate(30deg);
}


/* ==========================================================
   COMMON HEADER
   ========================================================== */

.arg-ecosystem-header {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    align-items: end;

    gap: clamp(60px, 9vw, 150px);

    margin-bottom: 90px;
}

.arg-ecosystem-header h2 {
    margin: 0;

    color: var(--arg-ink);

    font-size: clamp(44px, 4.2vw, 62px);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.arg-ecosystem-header__description {
    max-width: 500px;

    margin: 0;

    color: var(--arg-text);

    font-size: 16px;
    line-height: 1.75;
}


/* ==========================================================
   02. ECOSYSTEM MAP
   ========================================================== */

.arg-ecosystem-map {
    padding: 150px 0;

    background: var(--arg-white);
}

.arg-ecosystem-map__parent {
    max-width: 420px;

    margin: 0 auto;

    padding: 32px 38px;

    border-radius: var(--arg-radius-lg);

    color: var(--arg-white);
    background: var(--arg-blue);
}

.arg-ecosystem-map__number {
    display: block;

    margin-bottom: 28px;

    font-size: 9px;
    font-weight: 600;
    letter-spacing: .1em;
}

.arg-ecosystem-map__parent > p:not(.arg-ecosystem-map__copy) {
    margin: 0 0 12px;

    font-size: 9px;
    font-weight: 600;
    letter-spacing: .1em;

    opacity: .6;
}

.arg-ecosystem-map__parent h3 {
    margin: 0;

    color: var(--arg-white);

    font-size: 38px;
    font-weight: 600;
    letter-spacing: -.04em;
}

.arg-ecosystem-map__copy {
    max-width: 320px;

    margin: 24px 0 32px;

    font-size: 13px;
    line-height: 1.65;
}

.arg-ecosystem-map__parent .arg-ecosystem-map__copy {
    margin: 20px 0 24px;

    opacity: .75;
}

.arg-ecosystem-map__role {
    display: inline-block;

    padding-top: 16px;

    border-top: 1px solid currentColor;

    font-size: 8px;
    font-weight: 600;
    letter-spacing: .12em;

    opacity: .7;
}


/* Connector */

.arg-ecosystem-map__connector {
    position: relative;

    width: 66.666%;
    height: 72px;

    margin: 0 auto;
}

.arg-ecosystem-map__connector::before {
    position: absolute;
    top: 0;
    left: 50%;

    width: 1px;
    height: 36px;

    content: "";

    background: var(--arg-line);
}

.arg-ecosystem-map__connector::after {
    position: absolute;
    top: 36px;
    left: 0;

    width: 100%;
    height: 1px;

    content: "";

    background: var(--arg-line);
}

.arg-ecosystem-map__connector span::before,
.arg-ecosystem-map__connector span::after {
    position: absolute;
    top: 36px;

    width: 1px;
    height: 36px;

    content: "";

    background: var(--arg-line);
}

.arg-ecosystem-map__connector span::before {
    left: 0;
}

.arg-ecosystem-map__connector span::after {
    right: 0;
}


/* Children */

.arg-ecosystem-map__children {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    border-top: 1px solid var(--arg-line);
    border-bottom: 1px solid var(--arg-line);
}

.arg-ecosystem-map__item {
    min-height: 300px;

    padding: 34px 26px;
}

.arg-ecosystem-map__item + .arg-ecosystem-map__item {
    border-left: 1px solid var(--arg-line);
}

.arg-ecosystem-map__item > p:not(.arg-ecosystem-map__copy) {
    margin: 0 0 12px;

    color: var(--arg-muted);

    font-size: 8px;
    font-weight: 600;
    letter-spacing: .1em;
}

.arg-ecosystem-map__item h3 {
    margin: 0;

    color: var(--arg-ink);

    font-size: 30px;
    font-weight: 600;
    letter-spacing: -.035em;
}

.arg-ecosystem-map__item .arg-ecosystem-map__number {
    color: var(--arg-blue);
}

.arg-ecosystem-map__item .arg-ecosystem-map__copy {
    color: var(--arg-text);

    font-size: 14px;
    line-height: 1.65;
}

.arg-ecosystem-map__item .arg-ecosystem-map__role {
    color: var(--arg-blue);
}


/* ==========================================================
   03. PRODUCT — CLOUTELA
   ========================================================== */

.arg-ecosystem-product {
    padding: 150px 0;

    background: var(--arg-canvas);
}

.arg-ecosystem-product__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: center;

    gap: clamp(70px, 9vw, 150px);
}

.arg-ecosystem-product__visual {
    margin: 0;
}

.arg-ecosystem-product__visual img {
    display: block;

    width: 100%;
    aspect-ratio: 1.45 / 1;

    border-radius: var(--arg-radius-lg);

    object-fit: cover;
}

.arg-ecosystem-product__visual figcaption {
    margin-top: 13px;

    color: var(--arg-muted);

    font-size: 10px;
}

.arg-ecosystem-product__top {
    display: flex;
    align-items: center;

    gap: 20px;

    margin-bottom: 50px;
}

.arg-ecosystem-product__top span {
    color: var(--arg-blue);

    font-size: 10px;
    font-weight: 600;
}

.arg-ecosystem-product__top p {
    margin: 0;

    color: var(--arg-muted);

    font-size: 9px;
    font-weight: 600;
    letter-spacing: .1em;
}

.arg-ecosystem-product__content h2 {
    margin: 0;

    color: var(--arg-ink);

    font-size: clamp(48px, 5vw, 72px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.05em;
}

.arg-ecosystem-product__content h3 {
    max-width: 560px;

    margin: 28px 0 0;

    color: var(--arg-ink);

    font-size: clamp(27px, 2.4vw, 36px);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -.035em;
}

.arg-ecosystem-product__description {
    max-width: 560px;

    margin: 28px 0 0;

    color: var(--arg-text);

    font-size: 15px;
    line-height: 1.75;
}

.arg-ecosystem-product__meta {
    display: flex;
    flex-wrap: wrap;

    margin-top: 30px;
}

.arg-ecosystem-product__link {
    display: inline-flex;
    align-items: center;

    gap: 12px;

    margin-top: 38px;

    color: var(--arg-ink);

    font-size: 13px;
    font-weight: 600;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 991.98px) {

    .arg-ecosystem-hero__layout,
    .arg-ecosystem-product__layout,
    .arg-ecosystem-header {
        grid-template-columns: minmax(0, 1fr);
    }

    .arg-ecosystem-hero__layout {
        gap: 70px;

        min-height: 0;
    }

    .arg-ecosystem-header {
        gap: 34px;
    }

    .arg-ecosystem-orbit {
        max-width: 700px;
    }

}


@media (max-width: 767.98px) {

    .arg-ecosystem-hero {
        padding: 64px 0 90px;
    }

    .arg-ecosystem-hero__content h1 {
        font-size: clamp(40px, 10.5vw, 52px);
    }

    .arg-ecosystem-hero__description {
        font-size: 17px;
    }


    /* Hero visual becomes structured stack */

    .arg-ecosystem-orbit {
        display: grid;

        gap: 10px;

        min-height: 0;
    }

    .arg-ecosystem-orbit__center,
    .arg-ecosystem-orbit__item {
        position: static;

        width: 100%;
        height: auto;
        min-height: 130px;

        transform: none;
    }

    .arg-ecosystem-orbit__center {
        min-height: 190px;
    }

    .arg-ecosystem-orbit__line {
        display: none;
    }


    /* Ecosystem */

    .arg-ecosystem-map,
    .arg-ecosystem-product {
        padding: 90px 0;
    }

    .arg-ecosystem-header {
        margin-bottom: 58px;
    }

    .arg-ecosystem-header h2 {
        font-size: clamp(36px, 10vw, 46px);
    }

    .arg-ecosystem-map__parent {
        margin: 0;

        padding: 30px;
    }

    .arg-ecosystem-map__connector {
        width: 1px;
        height: 50px;

        margin: 0 0 0 30px;

        background: var(--arg-line);
    }

    .arg-ecosystem-map__connector::before,
    .arg-ecosystem-map__connector::after,
    .arg-ecosystem-map__connector span {
        display: none;
    }

    .arg-ecosystem-map__children {
        grid-template-columns: minmax(0, 1fr);
    }

    .arg-ecosystem-map__item {
        min-height: 0;

        padding: 30px 0;
    }

    .arg-ecosystem-map__item + .arg-ecosystem-map__item {
        border-top: 1px solid var(--arg-line);
        border-left: 0;
    }


    /* Product */

    .arg-ecosystem-product__layout {
        gap: 48px;
    }

    .arg-ecosystem-product__visual img {
        aspect-ratio: 1.25 / 1;
    }

    .arg-ecosystem-product__top {
        margin-bottom: 32px;
    }

    .arg-ecosystem-product__content h2 {
        font-size: 48px;
    }

}

/* ==========================================================
   04. CASYS
   ========================================================== */

.arg-ecosystem-product--casys {
    background: var(--arg-white);
}

.arg-ecosystem-product__layout--reverse {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
}


/* ==========================================================
   05. PARTNERSHIP
   ========================================================== */

.arg-ecosystem-partnership {
    padding: 150px 0;

    background: var(--arg-canvas);
}

.arg-ecosystem-partnership__header {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    align-items: end;

    gap: clamp(60px, 9vw, 150px);

    margin-bottom: 90px;
}

.arg-ecosystem-partnership__header h2 {
    max-width: 800px;

    margin: 0;

    color: var(--arg-ink);

    font-size: clamp(44px, 4.2vw, 62px);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.arg-ecosystem-partnership__header > p {
    max-width: 500px;

    margin: 0;

    color: var(--arg-text);

    font-size: 16px;
    line-height: 1.75;
}


/* Showcase */

.arg-ecosystem-partnership__showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: center;

    gap: clamp(70px, 9vw, 150px);

    padding-top: 80px;

    border-top: 1px solid var(--arg-line);
}

.arg-ecosystem-partnership__visual {
    margin: 0;
}

.arg-ecosystem-partnership__visual img {
    display: block;

    width: 100%;
    aspect-ratio: 1.45 / 1;

    border-radius: var(--arg-radius-lg);

    object-fit: cover;
}

.arg-ecosystem-partnership__index {
    display: flex;
    align-items: center;

    gap: 20px;

    margin-bottom: 46px;
}

.arg-ecosystem-partnership__index span:first-child {
    color: var(--arg-blue);

    font-size: 10px;
    font-weight: 600;
}

.arg-ecosystem-partnership__index span:last-child {
    color: var(--arg-muted);

    font-size: 9px;
    font-weight: 600;
    letter-spacing: .1em;
}

.arg-ecosystem-partnership__content h3 {
    margin: 0;

    color: var(--arg-ink);

    font-size: clamp(44px, 4.5vw, 64px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.05em;
}

.arg-ecosystem-partnership__content > p {
    max-width: 550px;

    margin: 28px 0 0;

    color: var(--arg-text);

    font-size: 15px;
    line-height: 1.75;
}


/* Points */

.arg-ecosystem-partnership__points {
    margin-top: 36px;

    border-top: 1px solid var(--arg-line);
}

.arg-ecosystem-partnership__points > div {
    display: grid;
    grid-template-columns: 30px 90px minmax(0, 1fr);

    gap: 16px;

    padding: 16px 0;

    border-bottom: 1px solid var(--arg-line);
}

.arg-ecosystem-partnership__points span {
    color: var(--arg-blue);

    font-size: 9px;
}

.arg-ecosystem-partnership__points strong {
    color: var(--arg-ink);

    font-size: 12px;
    font-weight: 600;
}

.arg-ecosystem-partnership__points small {
    color: var(--arg-text);

    font-size: 11px;
    line-height: 1.5;
}


/* ==========================================================
   06. ROLES
   ========================================================== */

.arg-ecosystem-roles {
    padding: 150px 0;

    background: var(--arg-white);
}

.arg-ecosystem-roles__header {
    max-width: 900px;

    margin-bottom: 90px;
}

.arg-ecosystem-roles__header h2 {
    margin: 0;

    color: var(--arg-ink);

    font-size: clamp(44px, 4.2vw, 62px);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.arg-ecosystem-roles__header > p:last-child {
    max-width: 680px;

    margin: 28px 0 0;

    color: var(--arg-text);

    font-size: 16px;
    line-height: 1.75;
}


/* Cards */

.arg-ecosystem-roles__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    border-top: 1px solid var(--arg-line);
    border-bottom: 1px solid var(--arg-line);
}

.arg-ecosystem-role {
    display: flex;
    flex-direction: column;

    min-height: 480px;

    padding: 34px;

    background: var(--arg-white);
}

.arg-ecosystem-role + .arg-ecosystem-role {
    border-left: 1px solid var(--arg-line);
}

.arg-ecosystem-role--accent {
    color: var(--arg-white);
    background: var(--arg-blue);
}

.arg-ecosystem-role__top {
    display: flex;
    justify-content: space-between;

    gap: 20px;
}

.arg-ecosystem-role__top span {
    color: var(--arg-blue);

    font-size: 9px;
    font-weight: 600;
}

.arg-ecosystem-role__top small {
    color: var(--arg-muted);

    font-size: 8px;
    font-weight: 600;
    letter-spacing: .1em;
}

.arg-ecosystem-role--accent .arg-ecosystem-role__top span,
.arg-ecosystem-role--accent .arg-ecosystem-role__top small {
    color: var(--arg-white);

    opacity: .7;
}


/* Large symbol */

.arg-ecosystem-role__symbol {
    display: grid;
    place-items: center;

    width: 110px;
    height: 110px;

    margin: auto 0;

    border: 1px solid var(--arg-line);
    border-radius: 50%;

    color: var(--arg-blue);

    font-size: 36px;
    font-weight: 600;
}

.arg-ecosystem-role__symbol--products {
    border-radius: var(--arg-radius);
}

.arg-ecosystem-role--accent .arg-ecosystem-role__symbol {
    color: var(--arg-white);

    border-color: rgba(255, 255, 255, .3);
}


/* Body */

.arg-ecosystem-role__body {
    padding-top: 26px;

    border-top: 1px solid var(--arg-line);
}

.arg-ecosystem-role__body p {
    margin: 0 0 9px;

    color: var(--arg-muted);

    font-size: 8px;
    font-weight: 600;
    letter-spacing: .1em;
}

.arg-ecosystem-role__body h3 {
    margin: 0;

    color: var(--arg-ink);

    font-size: 32px;
    font-weight: 600;
    letter-spacing: -.04em;
}

.arg-ecosystem-role__body > span {
    display: block;

    margin-top: 14px;

    color: var(--arg-text);

    font-size: 12px;
    line-height: 1.55;
}

.arg-ecosystem-role--accent .arg-ecosystem-role__body {
    border-color: rgba(255, 255, 255, .25);
}

.arg-ecosystem-role--accent .arg-ecosystem-role__body p,
.arg-ecosystem-role--accent .arg-ecosystem-role__body h3,
.arg-ecosystem-role--accent .arg-ecosystem-role__body > span {
    color: var(--arg-white);
}

.arg-ecosystem-role--accent .arg-ecosystem-role__body p,
.arg-ecosystem-role--accent .arg-ecosystem-role__body > span {
    opacity: .7;
}


/* Flow */

.arg-ecosystem-roles__flow {
    display: grid;
    grid-template-columns:
        auto
        minmax(40px, 1fr)
        auto
        minmax(40px, 1fr)
        auto;

    align-items: center;

    gap: 22px;

    margin-top: 48px;
}

.arg-ecosystem-roles__flow span {
    color: var(--arg-muted);

    font-size: 9px;
    font-weight: 600;
    letter-spacing: .12em;
}

.arg-ecosystem-roles__flow i {
    position: relative;

    display: block;

    width: 100%;
    height: 1px;

    background: var(--arg-line);
}

.arg-ecosystem-roles__flow i::after {
    position: absolute;
    top: -2px;
    right: 0;

    width: 5px;
    height: 5px;

    content: "";

    border-top: 1px solid var(--arg-muted);
    border-right: 1px solid var(--arg-muted);

    transform: rotate(45deg);
}


/* ==========================================================
   07. CTA
   ========================================================== */

.arg-ecosystem-cta {
    padding: 120px 0 140px;

    background: var(--arg-canvas);
}

.arg-ecosystem-cta__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;

    gap: 70px;

    padding: clamp(54px, 6vw, 86px);

    border-radius: var(--arg-radius-lg);

    color: var(--arg-white);
    background: var(--arg-blue);
}

.arg-ecosystem-cta__eyebrow {
    margin: 0 0 24px;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;

    opacity: .7;
}

.arg-ecosystem-cta__content h2 {
    max-width: 820px;

    margin: 0;

    color: var(--arg-white);

    font-size: clamp(42px, 4.4vw, 64px);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.045em;
}

.arg-ecosystem-cta__content > p:last-child {
    max-width: 650px;

    margin: 26px 0 0;

    font-size: 17px;
    line-height: 1.7;

    opacity: .8;
}

.arg-ecosystem-cta__actions {
    display: flex;
    flex-direction: column;

    gap: 14px;

    min-width: 210px;
}

.arg-ecosystem-cta__primary,
.arg-ecosystem-cta__secondary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;

    min-height: 54px;

    padding: 0 20px;

    border-radius: var(--arg-radius);

    font-size: 13px;
    font-weight: 600;

    transition:
        transform var(--arg-duration-normal) var(--arg-ease),
        background-color var(--arg-duration-normal) var(--arg-ease);
}

.arg-ecosystem-cta__primary {
    color: var(--arg-blue);
    background: var(--arg-white);
}

.arg-ecosystem-cta__secondary {
    color: var(--arg-white);

    border: 1px solid rgba(255, 255, 255, .28);
}

.arg-ecosystem-cta__primary:hover,
.arg-ecosystem-cta__secondary:hover {
    transform: translateY(-2px);
}

.arg-ecosystem-cta__secondary:hover {
    color: var(--arg-white);
    background: rgba(255, 255, 255, .08);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .arg-ecosystem-product__layout--reverse,
    .arg-ecosystem-partnership__header,
    .arg-ecosystem-partnership__showcase {
        grid-template-columns: minmax(0, 1fr);
    }

    .arg-ecosystem-partnership__header {
        gap: 34px;
    }

    .arg-ecosystem-partnership__showcase {
        gap: 52px;
    }

    .arg-ecosystem-cta__panel {
        grid-template-columns: minmax(0, 1fr);

        gap: 42px;
    }

    .arg-ecosystem-cta__actions {
        flex-direction: row;
        flex-wrap: wrap;

        min-width: 0;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    .arg-ecosystem-partnership,
    .arg-ecosystem-roles {
        padding: 90px 0;
    }

    /* CASYS:
       content stays before screenshot on mobile */

    .arg-ecosystem-product__layout--reverse {
        gap: 48px;
    }


    /* Partnership */

    .arg-ecosystem-partnership__header {
        margin-bottom: 58px;
    }

    .arg-ecosystem-partnership__header h2,
    .arg-ecosystem-roles__header h2 {
        font-size: clamp(36px, 10vw, 46px);
    }

    .arg-ecosystem-partnership__showcase {
        padding-top: 50px;
    }

    .arg-ecosystem-partnership__visual img {
        aspect-ratio: 1.25 / 1;
    }

    .arg-ecosystem-partnership__points > div {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    .arg-ecosystem-partnership__points small {
        grid-column: 2;
    }


    /* Roles */

    .arg-ecosystem-roles__header {
        margin-bottom: 58px;
    }

    .arg-ecosystem-roles__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .arg-ecosystem-role {
        min-height: 400px;

        padding: 28px 0;
    }

    .arg-ecosystem-role + .arg-ecosystem-role {
        border-top: 1px solid var(--arg-line);
        border-left: 0;
    }

    .arg-ecosystem-role--accent {
        margin-left: -20px;
        margin-right: -20px;

        padding-left: 20px;
        padding-right: 20px;
    }

    .arg-ecosystem-roles__flow {
        grid-template-columns: minmax(0, 1fr);

        gap: 13px;
    }

    .arg-ecosystem-roles__flow i {
        width: 1px;
        height: 24px;

        margin-left: 3px;
    }

    .arg-ecosystem-roles__flow i::after {
        top: auto;
        right: -2px;
        bottom: 0;

        transform: rotate(135deg);
    }


    /* CTA */

    .arg-ecosystem-cta {
        padding: 80px 0 90px;
    }

    .arg-ecosystem-cta__panel {
        gap: 36px;

        padding: 40px 28px;
    }

    .arg-ecosystem-cta__content h2 {
        font-size: clamp(36px, 10vw, 46px);
    }

    .arg-ecosystem-cta__content > p:last-child {
        font-size: 16px;
    }

    .arg-ecosystem-cta__actions {
        flex-direction: column;
    }

    .arg-ecosystem-cta__primary,
    .arg-ecosystem-cta__secondary {
        width: 100%;
    }

}
