.elementor-376 .elementor-element.elementor-element-ed58a1f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-451c956 *//* =========================================================
   DISTINCT MANAGEMENT
   ABOUT PAGE
========================================================= */

.dm-about-page {

    --navy: #07152f;
    --green: #69b83f;
    --green-dark: #559c31;
    --cream: #f5f3ee;
    --white: #ffffff;
    --text: #222933;
    --muted: #666d75;
    --border: #ddd9d0;

    width: 100%;

    background: var(--cream);

    color: var(--text);

    overflow: hidden;
}


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

.dm-about-page *,
.dm-about-page *::before,
.dm-about-page *::after {
    box-sizing: border-box;
}

.dm-about-page img {
    display: block;

    max-width: 100%;
}

.dm-about-page a {
    text-decoration: none;
}



/* =========================================================
   INTRO
========================================================= */

.dm-about-intro {

    width: min(1450px, 90%);

    min-height: 680px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 48% 52%;

    align-items: center;

    gap: 70px;
}


.dm-about-intro-content {

    padding: 70px 0;
}


.dm-about-eyebrow {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 25px;

    color: var(--green-dark);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 3px;
}


.dm-about-eyebrow span {

    width: 38px;

    height: 1px;

    background: var(--green);
}


.dm-about-intro h1 {

    max-width: 680px;

    margin: 0;

    color: var(--navy);

    font-size: clamp(48px, 5vw, 74px);

    font-weight: 500;

    line-height: .99;

    letter-spacing: -3px;
}


.dm-about-intro h1 em {

    display: block;

    color: var(--green);

    font-style: normal;
}


.dm-about-intro-content > p {

    max-width: 590px;

    margin: 30px 0 0;

    color: var(--muted);

    font-size: 16px;

    line-height: 1.8;
}


/* =========================================================
   INTRO BUTTONS
========================================================= */

.dm-about-intro-buttons {

    display: flex;

    gap: 12px;

    margin-top: 35px;
}


.dm-about-btn,
.dm-about-btn-outline {

    min-width: 175px;

    height: 52px;

    padding: 0 22px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 20px;

    font-size: 11px;

    font-weight: 700;

    transition: .3s ease;
}


.dm-about-btn {

    background: var(--navy);

    color: #fff !important;

    border: 1px solid var(--navy);
}


.dm-about-btn:hover {

    background: var(--green);

    border-color: var(--green);

    transform: translateY(-3px);
}


.dm-about-btn-outline {

    background: transparent;

    color: var(--navy) !important;

    border: 1px solid #aeb0aa;
}


.dm-about-btn-outline:hover {

    background: var(--navy);

    color: #fff !important;

    border-color: var(--navy);

    transform: translateY(-3px);
}



/* =========================================================
   INTRO IMAGE
========================================================= */

.dm-about-intro-visual {

    position: relative;

    height: 560px;

    overflow: hidden;
}


.dm-about-intro-visual img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform .8s ease;
}


.dm-about-intro-visual:hover img {

    transform: scale(1.04);
}


.dm-about-image-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgba(7,21,47,.65)
        );
}


.dm-about-image-label {

    position: absolute;

    left: 28px;

    right: 28px;

    bottom: 25px;

    display: flex;

    align-items: center;

    gap: 12px;

    color: #fff;

    font-size: 9px;

    letter-spacing: 2px;
}


.dm-about-image-label span {

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

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

    font-size: 9px;
}



/* =========================================================
   FEATURES
========================================================= */

.dm-about-feature {

    width: min(1450px, 90%);

    margin: 0 auto;

    padding: 110px 0;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: center;
}


.dm-feature-one {

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


.dm-feature-two {

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


/* =========================================================
   FEATURE CONTENT
========================================================= */

.dm-feature-content {

    position: relative;
}


.dm-feature-number {

    position: absolute;

    top: -5px;

    right: 0;

    color: #c9c8c1;

    font-family: Georgia, serif;

    font-size: 12px;

    letter-spacing: 3px;
}


.dm-feature-heading {

    margin-bottom: 28px;
}


.dm-section-label {

    margin-bottom: 18px;

    color: var(--green-dark);

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;
}


.dm-feature-heading h2 {

    max-width: 600px;

    margin: 0;

    color: var(--navy);

    font-size: clamp(42px, 4vw, 61px);

    font-weight: 500;

    line-height: 1;

    letter-spacing: -2.5px;
}


.dm-feature-heading h2 em {

    color: var(--green);

    font-style: normal;
}


.dm-feature-text {

    max-width: 620px;
}


.dm-feature-text p {

    margin: 0 0 18px;

    color: var(--muted);

    font-size: 15px;

    line-height: 1.8;
}


.dm-text-link {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    margin-top: 10px;

    color: var(--navy) !important;

    font-size: 11px;

    font-weight: 700;

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

    padding-bottom: 5px;

    transition: .3s ease;
}


.dm-text-link:hover {

    color: var(--green) !important;

    gap: 20px;
}



/* =========================================================
   FEATURE IMAGES
========================================================= */

.dm-feature-image {

    position: relative;

    height: 500px;

    overflow: hidden;
}


.dm-feature-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform .8s ease;
}


.dm-feature-image:hover img {

    transform: scale(1.05);
}


.dm-feature-image-tag {

    position: absolute;

    left: 20px;

    bottom: 20px;

    padding: 11px 15px;

    background: var(--navy);

    color: white;

    font-size: 8px;

    letter-spacing: 2px;
}



/* =========================================================
   EXPERIENCE CARD
========================================================= */

.dm-experience-card {

    position: absolute;

    left: -25px;

    bottom: 30px;

    width: 175px;

    height: 150px;

    padding: 22px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    background: var(--navy);

    color: #fff;

    box-shadow:
        0 20px 50px rgba(7,21,47,.2);
}


.dm-experience-card strong {

    color: var(--green);

    font-size: 48px;

    font-weight: 500;

    line-height: 1;
}


.dm-experience-card strong span {

    font-size: 25px;
}


.dm-experience-card small {

    color: #b5bfcc;

    font-size: 8px;

    line-height: 1.7;

    letter-spacing: 2px;
}



/* =========================================================
   APPROACH
========================================================= */

.dm-about-approach {

    width: 100%;

    padding: 120px 5vw;

    background: var(--navy);

    color: white;
}


.dm-approach-header {

    width: min(1450px, 100%);

    margin: 0 auto 60px;

    display: grid;

    grid-template-columns: 1fr 1.4fr;

    gap: 70px;

    align-items: end;
}


.dm-approach-header .dm-section-label {

    grid-column: 1 / -1;

    margin-bottom: -40px;
}


.dm-approach-header h2 {

    margin: 0;

    font-size: clamp(42px, 4.5vw, 67px);

    font-weight: 500;

    line-height: 1;

    letter-spacing: -2.5px;
}


.dm-approach-header h2 em {

    color: var(--green);

    font-style: normal;
}


.dm-approach-header p {

    max-width: 500px;

    margin: 0;

    color: #aeb8c7;

    font-size: 14px;

    line-height: 1.8;
}



/* =========================================================
   APPROACH GRID
========================================================= */

.dm-approach-grid {

    width: min(1450px, 100%);

    margin: 0 auto;

    display: grid;

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

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

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


.dm-approach-card {

    position: relative;

    min-height: 300px;

    padding: 30px;

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

    overflow: hidden;

    transition:
        background .4s ease;
}


.dm-approach-card:last-child {

    border-right: none;
}


.dm-approach-card:hover {

    background:
        rgba(105,184,63,.08);
}


.dm-approach-number {

    color: #647084;

    font-family: Georgia, serif;

    font-size: 11px;

    letter-spacing: 3px;
}


.dm-approach-icon {

    width: 48px;

    height: 48px;

    margin: 55px 0 25px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid var(--green);

    color: var(--green);

    font-size: 18px;

    transition:
        background .35s ease,
        transform .35s ease;
}


.dm-approach-card:hover .dm-approach-icon {

    background: var(--green);

    color: white;

    transform: rotate(45deg);
}


.dm-approach-card h3 {

    margin: 0 0 12px;

    color: white;

    font-size: 22px;

    font-weight: 500;
}


.dm-approach-card p {

    margin: 0;

    color: #8e99aa;

    font-size: 12px;

    line-height: 1.75;
}



/* =========================================================
   CAPABILITIES
========================================================= */

.dm-about-capabilities {

    width: min(1450px, 90%);

    margin: 0 auto;

    padding: 120px 0;
}


.dm-capabilities-heading {

    max-width: 700px;

    margin-bottom: 60px;
}


.dm-capabilities-heading h2 {

    margin: 0;

    color: var(--navy);

    font-size: clamp(42px, 4.5vw, 65px);

    font-weight: 500;

    line-height: 1;

    letter-spacing: -2.5px;
}


.dm-capabilities-heading h2 em {

    color: var(--green);

    font-style: normal;
}



/* =========================================================
   CAPABILITY LIST
========================================================= */

.dm-capabilities-list {

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


.dm-capability {

    min-height: 125px;

    padding: 25px 0;

    display: grid;

    grid-template-columns: 80px 1fr 50px;

    align-items: center;

    gap: 30px;

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

    transition:
        padding .35s ease,
        background .35s ease;
}


.dm-capability:hover {

    padding-left: 25px;

    padding-right: 25px;

    background: white;
}


.dm-capability > span {

    color: #aaa9a2;

    font-family: Georgia, serif;

    font-size: 12px;

    letter-spacing: 2px;
}


.dm-capability h3 {

    margin: 0 0 6px;

    color: var(--navy);

    font-size: 22px;

    font-weight: 500;
}


.dm-capability p {

    max-width: 650px;

    margin: 0;

    color: var(--muted);

    font-size: 12px;

    line-height: 1.6;
}


.dm-capability > strong {

    color: var(--green);

    font-size: 20px;

    font-weight: 400;

    transition:
        transform .3s ease;
}


.dm-capability:hover > strong {

    transform:
        translate(5px,-5px);
}



/* =========================================================
   STATS
========================================================= */

.dm-about-stats {

    width: 100%;

    display: grid;

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

    background: var(--green);
}


.dm-stat {

    min-height: 190px;

    padding: 35px 45px;

    display: flex;

    align-items: center;

    justify-content: space-between;

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


.dm-stat:last-child {

    border-right: none;
}


.dm-stat strong {

    color: white;

    font-size: 34px;

    font-weight: 500;

    letter-spacing: -1px;
}


.dm-stat strong span {

    font-size: 20px;
}


.dm-stat p {

    margin: 0;

    color: rgba(255,255,255,.8);

    font-size: 9px;

    line-height: 1.7;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}



/* =========================================================
   CTA
========================================================= */

.dm-about-cta {

    width: min(1450px, 90%);

    margin: 100px auto;

    padding: 70px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 50px;

    background: var(--navy);

    color: white;
}


.dm-about-cta .dm-section-label {

    margin-bottom: 20px;
}


.dm-about-cta h2 {

    max-width: 700px;

    margin: 0;

    color: white;

    font-size: clamp(40px, 4vw, 60px);

    font-weight: 500;

    line-height: 1;

    letter-spacing: -2px;
}


.dm-about-cta h2 em {

    color: var(--green);

    font-style: normal;
}


.dm-about-cta p {

    max-width: 580px;

    margin: 20px 0 0;

    color: #aeb8c7;

    font-size: 14px;

    line-height: 1.7;
}


.dm-cta-button {

    flex-shrink: 0;

    min-width: 190px;

    height: 55px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 20px;

    background: var(--green);

    color: white !important;

    font-size: 11px;

    font-weight: 700;

    transition: .3s ease;
}


.dm-cta-button:hover {

    background: white;

    color: var(--navy) !important;

    transform: translateY(-3px);
}



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

@media (max-width: 1100px) {

    .dm-about-intro {

        grid-template-columns: 1fr;

        gap: 30px;

        padding: 80px 0;
    }


    .dm-about-intro-content {

        padding: 0;
    }


    .dm-about-intro-visual {

        height: 500px;
    }


    .dm-about-feature {

        grid-template-columns: 1fr;

        gap: 45px;

        padding: 85px 0;
    }


    .dm-feature-two .dm-feature-image {

        order: 1;
    }


    .dm-feature-two .dm-feature-content {

        order: 2;
    }


    .dm-approach-header {

        grid-template-columns: 1fr;

        gap: 25px;
    }


    .dm-approach-header .dm-section-label {

        margin-bottom: 0;
    }


    .dm-approach-grid {

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


    .dm-approach-card:nth-child(2) {

        border-right: none;
    }


    .dm-approach-card:nth-child(1),
    .dm-approach-card:nth-child(2) {

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

}


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

@media (max-width: 767px) {

    .dm-about-intro,
    .dm-about-feature,
    .dm-about-capabilities,
    .dm-about-cta {

        width: calc(100% - 40px);
    }


    .dm-about-intro {

        padding: 65px 0;

        min-height: auto;
    }


    .dm-about-intro h1 {

        font-size: 43px;

        letter-spacing: -2px;
    }


    .dm-about-intro-content > p {

        font-size: 14px;
    }


    .dm-about-intro-buttons {

        flex-direction: column;
    }


    .dm-about-btn,
    .dm-about-btn-outline {

        width: 100%;
    }


    .dm-about-intro-visual {

        height: 400px;
    }


    .dm-about-feature {

        padding: 70px 0;

        gap: 35px;
    }


    .dm-feature-heading h2 {

        font-size: 41px;

        letter-spacing: -1.8px;
    }


    .dm-feature-text p {

        font-size: 14px;
    }


    .dm-feature-image {

        height: 400px;
    }


    .dm-experience-card {

        left: -5px;

        width: 145px;

        height: 130px;
    }


    .dm-about-approach {

        padding: 75px 20px;
    }


    .dm-approach-header h2 {

        font-size: 42px;

        letter-spacing: -2px;
    }


    .dm-approach-grid {

        grid-template-columns: 1fr;
    }


    .dm-approach-card {

        min-height: 250px;

        border-right: none;

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


    .dm-approach-card:last-child {

        border-bottom: none;
    }


    .dm-about-capabilities {

        padding: 75px 0;
    }


    .dm-capabilities-heading h2 {

        font-size: 42px;
    }


    .dm-capability {

        grid-template-columns:
            45px 1fr 25px;

        gap: 12px;

        min-height: 130px;
    }


    .dm-capability h3 {

        font-size: 18px;
    }


    .dm-capability p {

        font-size: 11px;
    }


    .dm-about-stats {

        grid-template-columns:
            1fr 1fr;
    }


    .dm-stat {

        min-height: 140px;

        padding: 25px 20px;

        flex-direction: column;

        align-items: flex-start;

        justify-content: center;

        gap: 10px;
    }


    .dm-stat:nth-child(2) {

        border-right: none;
    }


    .dm-stat:nth-child(3),
    .dm-stat:nth-child(4) {

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


    .dm-about-cta {

        margin: 65px auto;

        padding: 45px 25px;

        flex-direction: column;

        align-items: flex-start;
    }


    .dm-about-cta h2 {

        font-size: 40px;
    }


    .dm-cta-button {

        width: 100%;
    }

}


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

@media (max-width: 480px) {

    .dm-about-intro,
    .dm-about-feature,
    .dm-about-capabilities,
    .dm-about-cta {

        width: calc(100% - 30px);
    }


    .dm-about-intro h1 {

        font-size: 37px;
    }


    .dm-about-intro-visual {

        height: 330px;
    }


    .dm-feature-heading h2 {

        font-size: 36px;
    }


    .dm-feature-image {

        height: 330px;
    }


    .dm-approach-header h2 {

        font-size: 36px;
    }


    .dm-capabilities-heading h2 {

        font-size: 36px;
    }


    .dm-capability {

        grid-template-columns:
            35px 1fr 20px;

        gap: 8px;
    }


    .dm-capability:hover {

        padding-left: 10px;

        padding-right: 10px;
    }


    .dm-about-stats {

        grid-template-columns: 1fr;
    }


    .dm-stat {

        min-height: 120px;

        border-right: none !important;

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


    .dm-stat:last-child {

        border-bottom: none;
    }

}/* End custom CSS */