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

    background:#fff;
}


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

    margin:0 auto;
}


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

    color:#607b82;

    font-size:10px;

    font-weight:850;

    letter-spacing:.15em;
}


.m5contact-hero {
    padding:90px 0 78px;

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


.m5contact-hero h1 {
    margin:0;

    color:var(--navy);

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

    line-height:1;

    letter-spacing:-.045em;
}


.m5contact-lead {
    max-width:700px;

    margin:
        25px 0 0;

    color:var(--muted);

    font-size:14px;

    line-height:1.75;
}


.m5contact-section {
    padding:72px 0;
}


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


.m5contact-section h2,
.m5contact-dark h2,
.m5contact-final h2 {
    max-width:850px;

    margin:0;

    color:var(--navy);

    font-size:
        clamp(
            34px,
            3.6vw,
            50px
        );

    line-height:1.07;

    letter-spacing:-.04em;
}


.m5contact-copy {
    max-width:780px;

    margin:
        22px 0 17px;

    color:var(--muted);

    font-size:14px;

    line-height:1.75;
}


.m5contact-email {
    display:inline-block;

    color:var(--green);

    font-size:
        clamp(
            22px,
            3vw,
            38px
        );

    font-weight:750;

    line-height:1.2;

    text-decoration:none;

    word-break:break-word;
}


.m5contact-email:hover {
    text-decoration:underline;
}


.m5contact-dark {
    padding:
        72px 0 78px;

    background:var(--navy);
}


.m5contact-dark
.m5contact-eyebrow {
    color:#79aa9e;
}


.m5contact-dark h2 {
    color:#fff;
}


.m5contact-grid {
    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    margin-top:38px;

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


.m5contact-grid span {
    min-height:110px;

    padding:
        23px 20px;

    border-right:
        1px solid
        rgba(255,255,255,.13);

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

    color:#bfd0d2;

    font-size:12px;

    line-height:1.55;
}


.m5contact-final {
    padding:
        72px 0 80px;

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


.m5contact-final-links {
    display:flex;

    flex-wrap:wrap;

    gap:
        15px 35px;

    margin-top:28px;
}


.m5contact-final-links a {
    color:var(--green);

    font-size:17px;

    font-weight:700;

    text-decoration:none;
}


.m5contact-final-links a:hover {
    text-decoration:underline;
}


@media (max-width:900px) {

    .m5contact-grid {
        grid-template-columns:
            repeat(2,1fr);
    }

}


@media (max-width:620px) {

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


    .m5contact-hero {
        padding:
            58px 0 52px;
    }


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


    .m5contact-section,
    .m5contact-dark,
    .m5contact-final {
        padding:52px 0;
    }


    .m5contact-grid {
        grid-template-columns:1fr;
    }


    .m5contact-final-links {
        flex-direction:column;
    }

}

