/* ==========================================================
   WHY NORTHEAST VOYAGERS
   ========================================================== */

.nv-why {

    width: 100%;

    padding: 90px 0;

    background: #ffffff;

    font-family:
        "Montserrat",
        Arial,
        sans-serif;

    color: #174f31;
}


.nv-why-container {

    width: 92%;

    max-width: 1400px;

    margin: 0 auto;
}


/* ==========================================================
   HEADING
   ========================================================== */

.nv-why-heading {

    max-width: 760px;

    margin: 0 auto 55px;

    text-align: center;
}


.nv-why-label {

    display: inline-block;

    margin-bottom: 11px;

    color: #f56845;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2.5px;
}


.nv-why-heading h2 {

    margin: 0 0 14px;

    color: #174f31;

    font-size: 40px;

    line-height: 1.2;

    font-weight: 700;
}


.nv-why-heading h2 span {

    color: #f56845;
}


.nv-why-heading p {

    max-width: 680px;

    margin: 0 auto;

    color: #6d7871;

    font-size: 13px;

    line-height: 1.8;
}


/* ==========================================================
   BENEFIT GRID
   ========================================================== */

.nv-why-grid {

    display: grid;

    grid-template-columns:
        repeat(6, 1fr);

    gap: 15px;

    align-items: stretch;
}


/* ==========================================================
   BENEFIT CARD
   ========================================================== */

.nv-why-card {

    min-height: 255px;

    padding: 25px 13px 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    background: #ffffff;

    border: 1px solid #e2e9e4;

    border-radius: 7px;

    position: relative;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


.nv-why-card:hover {

    transform: translateY(-7px);

    border-color: #f56845;

    box-shadow:
        0 15px 32px rgba(23,79,49,0.11);
}


/* ==========================================================
   TOP ACCENT
   ========================================================== */

.nv-why-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 50%;

    width: 35px;

    height: 3px;

    transform: translateX(-50%);

    background: #f56845;

    border-radius: 0 0 4px 4px;
}


/* ==========================================================
   ICON WRAPPER
   ========================================================== */

.nv-why-icon-wrap {

    width: 86px;

    height: 86px;

    margin-bottom: 18px;

    padding: 6px;

    border: 2px solid #174f31;

    border-radius: 50%;

    position: relative;
}


/* Decorative broken ring */

.nv-why-icon-wrap::before {

    content: "";

    position: absolute;

    top: -7px;

    right: 1px;

    width: 27px;

    height: 14px;

    background: #ffffff;
}


/* ==========================================================
   ICON
   ========================================================== */

.nv-why-icon {

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #174f31;

    color: #ffffff;

    border-radius: 50%;

    font-size: 15px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: -0.2px;
}


/* ==========================================================
   CARD HEADING
   ========================================================== */

.nv-why-card h3 {

    min-height: 34px;

    margin: 0 0 10px;

    color: #174f31;

    font-size: 10px;

    line-height: 1.5;

    font-weight: 700;

    letter-spacing: 0.2px;
}


/* ==========================================================
   CARD DESCRIPTION
   ========================================================== */

.nv-why-card p {

    margin: 0;

    color: #7b857f;

    font-size: 9px;

    line-height: 1.65;
}


/* ==========================================================
   TRUST STRIP
   ========================================================== */

.nv-why-trust {

    max-width: 900px;

    margin: 50px auto 0;

    padding: 21px 30px;

    display: flex;

    align-items: center;

    justify-content: space-around;

    background: #252800;

    border-radius: 6px;

    color: #ffffff;
}


.nv-why-trust-item {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;
}


.nv-why-trust-item strong {

    margin-bottom: 4px;

    color: #f56845;

    font-size: 21px;

    line-height: 1;

    font-weight: 700;
}


.nv-why-trust-item span {

    color: rgba(255,255,255,0.65);

    font-size: 8px;

    text-transform: uppercase;

    letter-spacing: 0.8px;
}


.nv-why-trust-divider {

    width: 1px;

    height: 35px;

    background:
        rgba(255,255,255,0.15);
}


/* ==========================================================
   LARGE TABLET
   ========================================================== */

@media (max-width: 1150px) {

    .nv-why-grid {

        grid-template-columns:
            repeat(3, 1fr);

        gap: 18px;
    }


    .nv-why-card {

        min-height: 230px;

        padding: 24px 20px;
    }

}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 800px) {

    .nv-why {

        padding: 70px 0;
    }


    .nv-why-heading h2 {

        font-size: 34px;
    }


    .nv-why-grid {

        grid-template-columns:
            repeat(2, 1fr);

        gap: 15px;
    }


    .nv-why-card {

        min-height: 235px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .nv-why {

        padding: 55px 0;
    }


    .nv-why-container {

        width: 90%;
    }


    .nv-why-heading {

        margin-bottom: 32px;
    }


    .nv-why-heading h2 {

        font-size: 29px;
    }


    .nv-why-heading p {

        font-size: 12px;

        line-height: 1.7;
    }


    .nv-why-grid {

        grid-template-columns:
            repeat(2, 1fr);

        gap: 10px;
    }


    .nv-why-card {

        min-height: 225px;

        padding: 21px 11px 17px;
    }


    .nv-why-icon-wrap {

        width: 72px;

        height: 72px;

        margin-bottom: 15px;
    }


    .nv-why-icon {

        font-size: 11px;
    }


    .nv-why-card h3 {

        min-height: 30px;

        font-size: 9px;

        line-height: 1.4;
    }


    .nv-why-card p {

        font-size: 8.5px;

        line-height: 1.6;
    }


    /* Trust strip */

    .nv-why-trust {

        margin-top: 30px;

        padding: 18px 10px;

        display: grid;

        grid-template-columns:
            1fr 1px 1fr;

        row-gap: 18px;
    }


    .nv-why-trust-divider {

        height: 32px;
    }


    .nv-why-trust-item strong {

        font-size: 18px;
    }

}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 380px) {

    .nv-why-grid {

        gap: 8px;
    }


    .nv-why-card {

        min-height: 215px;

        padding: 18px 8px 14px;
    }


    .nv-why-icon-wrap {

        width: 65px;

        height: 65px;
    }


    .nv-why-card h3 {

        font-size: 8px;
    }


    .nv-why-card p {

        font-size: 8px;
    }

}