.m5gov2-page {
    --navy:#072f3d;
    --green:#08715c;
    --muted:#687f87;
    --line:#d7e4e0;
    --soft:#f6faf8;

    background:#fff;
}


.m5gov2-shell {
    width:min(
        1180px,
        calc(100% - 48px)
    );

    margin:0 auto;
}


.m5gov2-page h1,
.m5gov2-page h2,
.m5gov2-page h3 {
    color:var(--navy);
}


.m5gov2-eyebrow,
.m5gov2-index {
    margin:0 0 16px;

    color:#627c83;

    font-size:10px;

    font-weight:850;

    letter-spacing:.15em;
}


/* HERO */

.m5gov2-hero {
    padding:
        86px 0 75px;

    background:
        linear-gradient(
            135deg,
            #fbfdfc,
            #edf6f2
        );
}


.m5gov2-hero h1 {
    max-width:960px;

    margin:0;

    font-size:
        clamp(
            48px,
            5.2vw,
            71px
        );

    line-height:1.01;

    letter-spacing:-.045em;
}


.m5gov2-lead {
    max-width:850px;

    margin:
        25px 0 0;

    color:var(--muted);

    font-size:16px;

    line-height:1.75;
}


/* GENERAL */

.m5gov2-section {
    padding:
        70px 0;
}


.m5gov2-soft {
    background:var(--soft);
}


.m5gov2-two {
    display:grid;

    grid-template-columns:
        .78fr
        1.22fr;

    gap:90px;
}


.m5gov2-section h2,
.m5gov2-process h2,
.m5gov2-compliance h2,
.m5gov2-faq h2 {
    margin:0;

    font-size:
        clamp(
            35px,
            3.8vw,
            52px
        );

    line-height:1.06;

    letter-spacing:-.04em;
}


.m5gov2-copy p,
.m5gov2-copy-wide p {
    margin:
        0 0 18px;

    color:var(--muted);

    font-size:14px;

    line-height:1.75;
}


.m5gov2-copy ul,
.m5gov2-copy-wide ul,
.m5gov2-capabilities ul,
.m5gov2-compliance ul,
.m5gov2-steps ul {
    margin:
        15px 0 0;

    padding:0;

    list-style:none;
}


.m5gov2-copy li,
.m5gov2-copy-wide li,
.m5gov2-capabilities li,
.m5gov2-compliance li,
.m5gov2-steps li {
    position:relative;

    padding:
        9px 0 9px 23px;

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

    color:#526f77;

    font-size:12px;

    line-height:1.55;
}


.m5gov2-copy li::before,
.m5gov2-copy-wide li::before,
.m5gov2-capabilities li::before,
.m5gov2-compliance li::before,
.m5gov2-steps li::before {
    content:"";

    position:absolute;

    left:2px;
    top:16px;

    width:6px;
    height:6px;

    border-radius:50%;

    background:var(--green);
}


/* CAPABILITIES */

.m5gov2-capabilities {
    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:55px;

    margin-top:38px;

    border-top:
        1px solid
        #9dbfb7;
}


/* PROCESS */

.m5gov2-process {
    padding:
        72px 0;

    background:var(--navy);
}


.m5gov2-process
.m5gov2-index {
    color:#79a99e;
}


.m5gov2-process h2 {
    max-width:900px;

    color:#fff;
}


.m5gov2-process-intro {
    max-width:760px;

    margin:
        21px 0 0;

    color:#b9cbce;

    font-size:14px;

    line-height:1.72;
}


.m5gov2-steps {
    margin-top:42px;

    border-top:
        1px solid
        rgba(255,255,255,.18);
}


.m5gov2-steps article {
    display:grid;

    grid-template-columns:
        70px
        .8fr
        1.2fr;

    gap:31px;

    padding:
        29px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.14);
}


.m5gov2-steps span {
    color:#79a99e;

    font-size:10px;
}


.m5gov2-steps h3 {
    margin:0;

    color:#fff;

    font-size:20px;

    line-height:1.3;
}


.m5gov2-steps p {
    margin:0;

    color:#b9cbce;

    font-size:12px;

    line-height:1.7;
}


.m5gov2-steps ul {
    margin-top:14px;
}


.m5gov2-steps li {
    border-color:
        rgba(255,255,255,.12);

    color:#b9cbce;
}


/* NOTE */

.m5gov2-note {
    display:grid;

    grid-template-columns:
        80px 1fr;

    gap:25px;

    margin-top:30px;

    padding:
        24px 0;

    border-top:
        1px solid
        #9dbfb7;

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


.m5gov2-note strong {
    color:var(--green);

    font-size:11px;
}


.m5gov2-note p {
    margin:0;
}


/* COMPLIANCE */

.m5gov2-compliance {
    padding:
        72px 0 78px;

    background:#eef5f2;
}


.m5gov2-compliance-grid {
    display:grid;

    grid-template-columns:
        1fr
        .9fr;

    gap:90px;

    align-items:start;
}


.m5gov2-compliance-grid > div > p:last-child {
    max-width:670px;

    margin:
        19px 0 0;

    color:var(--muted);

    font-size:14px;

    line-height:1.72;
}


/* FAQ */

.m5gov2-faq {
    padding:
        70px 0 80px;
}


.m5gov2-faq-list {
    margin-top:38px;

    border-top:
        1px solid
        #9dbfb7;
}


.m5gov2-faq-list details {
    border-bottom:
        1px solid
        var(--line);
}


.m5gov2-faq-list summary {
    position:relative;

    padding:
        23px 50px 23px 0;

    color:var(--navy);

    font-size:15px;

    font-weight:750;

    cursor:pointer;

    list-style:none;
}


.m5gov2-faq-list summary::-webkit-details-marker {
    display:none;
}


.m5gov2-faq-list summary::after {
    content:"+";

    position:absolute;

    right:9px;
    top:16px;

    color:var(--green);

    font-size:25px;

    font-weight:300;
}


.m5gov2-faq-list details[open]
summary::after {
    content:"−";
}


.m5gov2-faq-list p {
    max-width:830px;

    margin:
        0 0 24px;

    color:var(--muted);

    font-size:13px;

    line-height:1.72;
}


/* RESPONSIVE */

@media (max-width:900px) {

    .m5gov2-two,
    .m5gov2-compliance-grid {
        grid-template-columns:1fr;

        gap:28px;
    }


    .m5gov2-steps article {
        grid-template-columns:
            55px 1fr;
    }


    .m5gov2-steps article > p,
    .m5gov2-steps article > div {
        grid-column:2;
    }

}


@media (max-width:620px) {

    .m5gov2-shell {
        width:min(
            100% - 32px,
            1180px
        );
    }


    .m5gov2-hero {
        padding:
            57px 0 52px;
    }


    .m5gov2-hero h1 {
        font-size:42px;
    }


    .m5gov2-section,
    .m5gov2-process,
    .m5gov2-compliance,
    .m5gov2-faq {
        padding:
            52px 0;
    }


    .m5gov2-capabilities {
        grid-template-columns:1fr;

        gap:0;
    }


    .m5gov2-steps article {
        grid-template-columns:1fr;

        gap:11px;
    }


    .m5gov2-steps article > p,
    .m5gov2-steps article > div {
        grid-column:auto;
    }


    .m5gov2-note {
        grid-template-columns:1fr;

        gap:8px;
    }

}
