/* =========================================================
   Microfinance Management System
   Same VirtualFlex visual system and Enterprise Resource Planning layout.
   Scoped to .microfinance-page so other solution pages are unaffected.
   ========================================================= */

.microfinance-page {
    --erp-navy: #041c2c;
    --erp-navy2: #082d46;
    --erp-blue: #0b5f8a;
    --erp-cyan: #19b5e6;
    --erp-cyan-light: #8edcf2;
    --erp-sky: #eaf7fc;
    --erp-ice: #f4fafc;
    --erp-text: #29485d;
    --erp-muted: #617789;
    --erp-border: #d9e8ef;
    background: #fff;
    color: var(--erp-text);
}

.microfinance-page * {
    box-sizing: border-box
}

.erp-container {
    width: min(1240px, calc(100% - 40px));
    margin: 0 auto
}

.microfinance-page .breadcrumb {
    margin: 0
}

.microfinance-page .breadcrumb a {
    color: rgba(255, 255, 255, .78)
}

.microfinance-page .breadcrumb .current {
    color: rgba(255, 255, 255, .62)
}

.microfinance-page .breadcrumb .separator {
    color: var(--erp-cyan)
}

.erp-section-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 12px;
    letter-spacing: .16em;
    font-weight: 800;
    color: var(--erp-blue)
}

.erp-section-label:before {
    content: "";
    width: 28px;
    height: 2px;
    background: var(--erp-cyan);
    display: inline-block
}

/* HERO */
.erp-hero {
    position: relative;
    overflow: hidden;
    min-height: 690px;
    background:
        radial-gradient(circle at 78% 42%, rgba(25, 181, 230, .22), transparent 25%),
        linear-gradient(135deg, #031522 0%, #062b43 55%, #041c2c 100%);
    color: #fff;
}

.erp-hero:after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .22;
    background-image: linear-gradient(rgba(142, 220, 242, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(142, 220, 242, .09) 1px, transparent 1px);
    background-size: 55px 55px;
    mask-image: linear-gradient(90deg, #000, transparent 82%);
}

.erp-hero__grid {
    min-height: 690px;
    display: grid;
    grid-template-columns: 1.03fr .97fr;
    align-items: center;
    gap: 30px;
    position: relative;
    z-index: 1;
    padding: 105px 0 70px
}

.erp-hero__copy {
    position: relative;
    z-index: 2
}

.erp-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--erp-cyan-light);
    font-size: 12px;
    letter-spacing: .17em;
    font-weight: 800;
    margin-bottom: 25px
}

.erp-kicker span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--erp-cyan);
    box-shadow: 0 0 20px var(--erp-cyan)
}

.erp-breadcrumb {
    margin-bottom: 34px !important
}

.erp-hero h1 {
    font-size: clamp(52px, 6vw, 88px);
    line-height: .96;
    letter-spacing: -.055em;
    margin: 0;
    max-width: 760px
}

.erp-hero h1 em {
    font-style: normal;
    color: var(--erp-cyan)
}

.erp-hero__copy>p {
    font-size: 20px;
    line-height: 1.65;
    color: #c9dce7;
    max-width: 690px;
    margin: 30px 0 0
}

.erp-hero__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px
}

.erp-hero__tags span {
    padding: 9px 13px;
    border: 1px solid rgba(142, 220, 242, .3);
    border-radius: 999px;
    background: rgba(255, 255, 255, .05);
    font-size: 12px;
    color: #d9f3fb
}

/* ABSTRACT ERP VISUAL */
.erp-hero__visual {
    height: 510px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.erp-orbit {
    position: absolute;
    border: 1px solid rgba(142, 220, 242, .22);
    border-radius: 50%;
    transform: rotate(-20deg)
}

.erp-orbit--one {
    width: 410px;
    height: 410px
}

.erp-orbit--two {
    width: 550px;
    height: 260px;
    border-color: rgba(25, 181, 230, .26)
}

.erp-core {
    width: 190px;
    height: 190px;
    border-radius: 32px;
    background: linear-gradient(145deg, #0b5f8a, #073b58);
    border: 1px solid rgba(142, 220, 242, .55);
    box-shadow: 0 25px 70px rgba(0, 0, 0, .3), inset 0 0 35px rgba(25, 181, 230, .12);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    z-index: 2
}

.erp-core small {
    font-size: 11px;
    letter-spacing: .22em;
    color: var(--erp-cyan-light);
    font-weight: 800
}

.erp-core strong {
    font-size: 22px;
    line-height: 1.12;
    margin-top: 9px;
    color: #fff
}

.erp-node {
    position: absolute;
    z-index: 3;
    min-width: 108px;
    padding: 12px 15px;
    border-radius: 12px;
    background: rgba(4, 28, 44, .9);
    border: 1px solid rgba(142, 220, 242, .28);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
    display: flex;
    flex-direction: column;
    gap: 4px
}

.erp-node b {
    font-size: 10px;
    color: var(--erp-cyan);
    letter-spacing: .12em
}

.erp-node span {
    font-size: 13px;
    color: #fff;
    font-weight: 700
}

.erp-node--finance {
    top: 42px;
    left: 22%
}

.erp-node--people {
    right: 3%;
    top: 38%
}

.erp-node--assets {
    bottom: 40px;
    left: 17%
}

.erp-node--sales {
    left: 3%;
    top: 53%
}

/* INTRO */
.erp-intro {
    padding: 105px 0 100px;
    background: var(--erp-ice)
}

.erp-intro__grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 100px;
    align-items: start
}

.erp-intro h2 {
    font-size: clamp(38px, 4.3vw, 62px);
    line-height: 1.05;
    letter-spacing: -.04em;
    color: var(--erp-navy);
    margin: 18px 0 0
}

.erp-intro h2 span,
.erp-applications h2 span,
.erp-capabilities h2 span,
.erp-cta h2 span {
    color: var(--erp-blue)
}

.erp-intro__text {
    border-left: 2px solid var(--erp-cyan);
    padding-left: 34px;
    padding-top: 3px
}

.erp-intro__text p {
    font-size: 19px;
    line-height: 1.75;
    margin: 0 0 22px;
    color: var(--erp-text)
}

.erp-intro__text p:last-child {
    margin-bottom: 0
}

/* CAPABILITIES - horizontal numbered cards */
.erp-capabilities {
    padding: 105px 0 115px;
    background: #fff
}

.erp-capabilities__heading {
    display: grid;
    grid-template-columns: 1fr .85fr;
    gap: 90px;
    align-items: end
}

.erp-capabilities h2 {
    font-size: clamp(40px, 4.5vw, 66px);
    line-height: 1.02;
    letter-spacing: -.045em;
    color: var(--erp-navy);
    margin: 18px 0 0
}

.erp-capabilities__heading>p {
    font-size: 19px;
    line-height: 1.7;
    color: var(--erp-muted);
    margin: 0
}

.erp-capability-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 65px;
    border-top: 1px solid var(--erp-border);
    border-bottom: 1px solid var(--erp-border)
}

.erp-capability {
    position: relative;
    padding: 35px 25px 32px;
    border-right: 1px solid var(--erp-border);
    min-height: 355px
}

.erp-capability:first-child {
    border-left: 1px solid var(--erp-border)
}

.erp-capability__number {
    font-size: 12px;
    letter-spacing: .15em;
    font-weight: 800;
    color: var(--erp-cyan);
    margin-bottom: 25px
}

.erp-capability img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    margin-bottom: 24px
}

.erp-capability h3 {
    font-size: 22px;
    color: var(--erp-navy);
    margin: 0 0 12px
}

.erp-capability p {
    font-size: 15px;
    line-height: 1.65;
    color: var(--erp-muted);
    margin: 0
}

/* APPLICATIONS - large dashboard rows, different from alternating image sections */
.erp-applications {
    padding: 110px 0 120px;
    background: var(--erp-sky)
}

.erp-applications__heading {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 55px
}

.erp-applications h2 {
    font-size: clamp(42px, 5vw, 72px);
    line-height: .98;
    letter-spacing: -.045em;
    color: var(--erp-navy);
    margin: 17px 0 0
}

.erp-applications__heading>p {
    font-size: 19px;
    line-height: 1.7;
    color: var(--erp-muted);
    margin: 0;
    max-width: 650px
}

.erp-module-list {
    display: flex;
    flex-direction: column;
    gap: 18px
}

.erp-module {
    display: grid;
    grid-template-columns: 82px .95fr 1.45fr;
    gap: 30px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--erp-border);
    border-radius: 20px;
    padding: 34px 38px;
    box-shadow: 0 12px 35px rgba(4, 28, 44, .05)
}

.erp-module--dark {
    background: var(--erp-navy);
    border-color: var(--erp-navy);
    color: #fff
}

.erp-module__index {
    font-size: 34px;
    font-weight: 800;
    color: var(--erp-cyan);
    letter-spacing: -.04em;
    align-self: start
}

.erp-module__intro span {
    font-size: 10px;
    letter-spacing: .16em;
    font-weight: 800;
    color: var(--erp-blue)
}

.erp-module--dark .erp-module__intro span {
    color: var(--erp-cyan-light)
}

.erp-module__intro h3 {
    font-size: 27px;
    line-height: 1.15;
    color: var(--erp-navy);
    margin: 8px 0 10px
}

.erp-module--dark .erp-module__intro h3 {
    color: #fff
}

.erp-module__intro p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--erp-muted);
    margin: 0
}

.erp-module--dark .erp-module__intro p {
    color: #b8cbd6
}

.erp-module__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px
}

.erp-module__items>div {
    padding: 18px;
    border-left: 2px solid var(--erp-border);
    min-height: 115px
}

.erp-module--dark .erp-module__items>div {
    border-color: #1b536f
}

.erp-module__items b {
    display: block;
    font-size: 14px;
    color: var(--erp-navy);
    margin-bottom: 8px
}

.erp-module--dark .erp-module__items b {
    color: #fff
}

.erp-module__items p {
    font-size: 13px;
    line-height: 1.55;
    color: var(--erp-muted);
    margin: 0
}

.erp-module--dark .erp-module__items p {
    color: #abc0cc
}

/* CTA */
.erp-cta {
    padding: 90px 0;
    background: #fff
}

.erp-cta__box {
    min-height: 300px;
    padding: 55px 65px;
    border-radius: 28px;
    background: linear-gradient(125deg, var(--erp-navy), #073e5d);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    overflow: hidden;
    position: relative
}

.erp-cta__box:after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(25, 181, 230, .2);
    border-radius: 50%;
    right: -130px;
    top: -190px;
    box-shadow: 0 0 0 45px rgba(25, 181, 230, .03), 0 0 0 90px rgba(25, 181, 230, .025)
}

.erp-cta .erp-section-label {
    color: var(--erp-cyan-light);
    position: relative;
    z-index: 1
}

.erp-cta h2 {
    font-size: clamp(36px, 4.5vw, 62px);
    line-height: 1.02;
    letter-spacing: -.045em;
    color: #fff;
    margin: 17px 0 0;
    position: relative;
    z-index: 1
}

.erp-cta h2 span {
    color: var(--erp-cyan)
}

.erp-cta__button {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 25px;
    padding: 16px 21px 16px 24px;
    border: 1px solid rgba(142, 220, 242, .5);
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    background: rgba(255, 255, 255, .07);
    white-space: nowrap;
    transition: .25s ease
}

.erp-cta__button span {
    font-size: 22px;
    color: var(--erp-cyan)
}

.erp-cta__button:hover {
    background: var(--erp-cyan);
    border-color: var(--erp-cyan);
    color: var(--erp-navy);
    transform: translateY(-2px)
}

.erp-cta__button:hover span {
    color: var(--erp-navy)
}

@media(max-width:1100px) {
    .erp-hero__grid {
        grid-template-columns: 1fr;
        min-height: auto;
        padding-top: 125px
    }

    .erp-hero__visual {
        height: 420px;
        max-width: 650px;
        margin: 0 auto;
        width: 100%
    }

    .erp-intro__grid {
        gap: 55px
    }

    .erp-capabilities__heading,
    .erp-applications__heading {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .erp-capability-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .erp-capability:nth-child(2) {
        border-right: 0
    }

    .erp-capability:nth-child(3) {
        border-left: 1px solid var(--erp-border);
        border-top: 1px solid var(--erp-border)
    }

    .erp-capability:nth-child(4) {
        border-top: 1px solid var(--erp-border)
    }

    .erp-module {
        grid-template-columns: 65px 1fr;
        gap: 25px
    }

    .erp-module__items {
        grid-column: 1/-1
    }
}

@media(max-width:760px) {
    .erp-container {
        width: min(100% - 28px, 1240px)
    }

    .erp-hero {
        min-height: auto
    }

    .erp-hero__grid {
        padding: 115px 0 45px
    }

    .erp-hero h1 {
        font-size: 52px
    }

    .erp-hero__copy>p {
        font-size: 17px
    }

    .erp-hero__visual {
        height: 340px
    }

    .erp-orbit--one {
        width: 280px;
        height: 280px
    }

    .erp-orbit--two {
        width: 360px;
        height: 190px
    }

    .erp-core {
        width: 145px;
        height: 145px;
        border-radius: 24px
    }

    .erp-core strong {
        font-size: 17px
    }

    .erp-node {
        min-width: 86px;
        padding: 9px 10px
    }

    .erp-node span {
        font-size: 11px
    }

    .erp-node--finance {
        left: 8%;
        top: 20px
    }

    .erp-node--people {
        right: 0
    }

    .erp-node--assets {
        left: 5%;
        bottom: 15px
    }

    .erp-node--sales {
        left: 0;
        top: 52%
    }

    .erp-intro,
    .erp-capabilities,
    .erp-applications {
        padding: 75px 0
    }

    .erp-intro__grid {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .erp-intro__text {
        padding-left: 20px
    }

    .erp-capability-grid {
        grid-template-columns: 1fr;
        margin-top: 40px
    }

    .erp-capability,
    .erp-capability:first-child,
    .erp-capability:nth-child(3) {
        border: 0;
        border-bottom: 1px solid var(--erp-border);
        min-height: auto;
        padding: 28px 5px
    }

    .erp-capability:last-child {
        border-bottom: 0
    }

    .erp-applications__heading {
        margin-bottom: 35px
    }

    .erp-module {
        grid-template-columns: 1fr;
        padding: 25px 22px;
        gap: 18px;
        border-radius: 16px
    }

    .erp-module__index {
        font-size: 25px
    }

    .erp-module__items {
        grid-template-columns: 1fr
    }

    .erp-module__items>div {
        min-height: 0;
        padding: 15px
    }

    .erp-cta {
        padding: 55px 0
    }

    .erp-cta__box {
        padding: 38px 25px;
        display: block;
        border-radius: 20px
    }

    .erp-cta__button {
        margin-top: 30px
    }
}

@media(max-width:480px) {
    .erp-hero h1 {
        font-size: 43px
    }

    .erp-hero__tags {
        gap: 7px
    }

    .erp-hero__tags span {
        font-size: 10px
    }

    .erp-hero__visual {
        transform: scale(.9);
        width: 111%;
        margin-left: -5.5%
    }

    .erp-intro h2,
    .erp-capabilities h2,
    .erp-applications h2 {
        font-size: 39px
    }
}


/* =========================================================
   Microfinance refinements
   ========================================================= */
.microfinance-page .erp-applications--intelligence {
    background: #f4fafc;
}

.microfinance-page .erp-module__items:has(> div:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media(max-width:760px) {
    .microfinance-page .erp-module__items:has(> div:nth-child(2):last-child) {
        grid-template-columns: 1fr;
    }
}