/* hero  */

.who-we-are-hero-container {
    padding: 64px 32px;
    width: 100%;
    display: flex;
    justify-content: center;
}

@media (max-width: 767px) {
    .who-we-are-hero-container {
        padding: 32px 16px !important;
    }

    .who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content h1 {
        font-size: 48px !important;
    }
}

.who-we-are-hero-container .who-we-are-hero-wrapper {
    max-width: 850px;
    margin: auto;
}

.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content {}

.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content h1 {
    font-size: 64px;
    font-weight: normal;
}

.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content h1 span {
    color: #f42525;
}

.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content .who-we-are-hero-cta {
    margin-top: 3rem;
}

.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content .who-we-are-hero-cta a {
    display: flex;
    height: 50px;
    width: fit-content;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}

.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content .who-we-are-hero-cta a:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content .who-we-are-hero-cta a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content .who-we-are-hero-cta a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content .who-we-are-hero-cta a:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.who-we-are-hero-container .who-we-are-hero-wrapper .who-we-are-hero-content .who-we-are-hero-cta a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}


/* end of hero  */

/* big img  */

.big-img-container {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: calc(64px + 80px);
}

.big-img-container .big-img-wrapper {
    width: 100%;
    max-width: 85%;
    margin: auto;
}

.big-img-container .big-img-wrapper img {
    max-width: 100%;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

@media (max-width: 1024px) {
    .big-img-container {
        margin-top: 64px;
    }

    .big-img-container .big-img-wrapper {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .big-img-container {
        margin-top: 48px;
    }
}

/* end of big img  */


/* intro  */

.who-we-are-intro-container {
    padding: 64px 32px;
    width: 100%;
    display: flex;
    justify-content: center;
}

@media (max-width: 767px) {
    .who-we-are-intro-container {
        padding: 32px 16px !important;
    }

    .who-we-are-intro-container .who-we-are-intro-wrapper h3 {
        font-size: 32px !important;
    }
}

.who-we-are-intro-container .who-we-are-intro-wrapper {
    max-width: 850px;
    margin: auto;
}

.who-we-are-intro-container .who-we-are-intro-wrapper h3 {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 32px;
}

.who-we-are-intro-container .who-we-are-intro-wrapper p {}

/* end of intro  */


/* stats  */

.stats-container {
    width: 100%;
    padding: 64px 32px;
    margin: 64px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #e5ebf3;
    overflow-x: clip;
}

.stats-container .stats-wrapper {
    max-width: 1200px;
    width: 100%;
    margin: auto;
    position: relative;
}

/* GRID */
.inner-stats-grid-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
    position: relative;
    z-index: 1;
}

/* Cards */
.stat-card {
    background: #fff;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 1px 0 rgba(17, 24, 39, .04), 0 1px 2px rgba(17, 24, 39, .06);
    display: flex;
    flex-direction: column;
    justify-content: start;
    min-height: 150px;
}

.stat-card--hero {
    grid-column: 1 / span 1;
    grid-row: 1 / span 2;
    /* <- makes it tall like the screenshot */
    padding: 0;
    overflow: hidden;
    display: block;
}

.stat-card--hero img {
    width: 100%;
    height: 100%!important;
    object-fit: cover;
    display: block;
}

/* Typography */
.stat-value {
    font-size: clamp(28px, 3.2vw, 40px);
    font-weight: 700;
    line-height: 1.1;
    color: #0f172a;
    /* slate-900 */
    margin-bottom: 8px;
}

.stat-label {
    font-size: clamp(13px, 1.4vw, 16px);
    color: #6b7280;
    /* gray-500 */
}

/* Responsive */
@media (max-width: 1024px) {
    .inner-stats-grid-container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .stat-card--hero {
        grid-column: 1 / -1;
        /* hero goes full width */
        grid-row: auto;
        /* no row span on tablet */
        height: 220px;
    }

    .stats-container .stats-wrapper .stats-bg-img {
        position: static !important;
        transform: unset !important;
        max-width: 100% !important;
        max-height: unset !important;
        margin-top: 32px;
    }
}

@media (max-width: 767px) {
    .inner-stats-grid-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stats-container {
        padding: 32px 16px !important;
    }
}

@media (max-width: 576px) {
    .inner-stats-grid-container {
        grid-template-columns: 1fr;
    }

    .stat-card--hero {
        height: 200px;
    }
}

/* end of stats */

.stats-container .stats-wrapper .stats-bg-img {
    position: absolute;
    right: -5%;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    max-width: 90%;
    max-height: 600px;
}

.stats-container .stats-wrapper .stats-bg-img img {
    width: 100%;
    height: 100%;
    max-height: 600px;
    object-fit: cover;
    max-width: 100%;
    border-radius: 12px;
}

/* end of stats  */


/* masonry images  */

.who-we-are-masonry-container {
    padding: 64px 32px;
    width: 100%;
}

.who-we-are-masonry-wrapper {
    max-width: 1400px;
    margin: auto;
    display: flex;
    gap: 24px;
}

.who-we-are-masonry-intro {
    text-align: center;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 48px auto;
}

.who-we-are-masonry-intro h2 {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 32px;
}

@media (max-width: 767px) {
    .who-we-are-masonry-intro h2 {
        font-size: 32px;
    }

    .who-we-are-masonry-intro {
        text-align: start;
    }
}

.who-we-are-masonry-intro p {}

.masonry-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 0;
}

.masonry-column:nth-child(1) {
    margin-top: 40px;
}

.masonry-column:nth-child(2) {
    margin-top: 0;
}

.masonry-column:nth-child(3) {
    margin-bottom: -120px;
    margin-top: 80px;
}

.masonry-column:nth-child(4) {
    margin-top: 0px;
}

.masonry-item {
    overflow: hidden;
    border-radius: 12px;
    flex-grow: 1;
}

.masonry-item img {
    height: 100%!important;
    width: 100%;
    max-width: 100%;
    object-fit: cover;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .masonry-column:nth-child(1) {
        margin-top: 40px;
    }

    .masonry-column:nth-child(2) {
        margin-top: 0;
    }

    .masonry-column:nth-child(3) {
        margin-bottom: -60px;
        margin-top: 20px;
    }

    .masonry-column:nth-child(4) {
        margin-top: 0px;
    }
}

@media (max-width: 767px) {
    .who-we-are-masonry-container {
        padding: 32px 16px !important;
    }
}

@media (min-width: 577px) and (max-width: 767px) {
    .who-we-are-masonry-wrapper {
        gap: 12px;
    }

    .masonry-column:nth-child(1) {
        margin-top: 20px;
    }

    .masonry-column:nth-child(2) {
        margin-top: 0;
    }

    .masonry-column:nth-child(3) {
        margin-bottom: -20px;
        margin-top: 20px;
    }

    .masonry-column:nth-child(4) {
        margin-top: 0px;
    }
}

@media (max-width: 576px) {
    .who-we-are-masonry-wrapper {
        flex-direction: column;
    }

    .who-we-are-masonry-wrapper,
    .masonry-column {
        gap: 12px;
    }

    .masonry-column:nth-child(1) {
        margin-top: 0px;
    }

    .masonry-column:nth-child(2) {
        margin-top: 0;
    }

    .masonry-column:nth-child(3) {
        margin-bottom: 0px;
        margin-top: 0px;
    }

    .masonry-column:nth-child(4) {
        margin-top: 0px;
    }
}


/* end of masonry images  */


/* national brands  */

.national-brands-container {
    width: 100%;
    padding: 64px 32px;
	background: #fff;
    margin: 64px 0;
}

@media (max-width: 767px) {
    .national-brands-container {
        padding: 32px 16px !important;
    }
}

@media (max-width: 1024px) {
    .national-brands-container .national-brands-wrapper {
        flex-direction: column;
    }

    .national-brands-container .national-brands-wrapper .national-brands-content,
    .national-brands-container .national-brands-wrapper .national-brands-img-wrapper {
        width: 100% !important;
    }

    .national-brands-container .national-brands-wrapper .national-brands-img-wrapper {
        display: flex;
        justify-content: center;
    }

    .national-brands-container .national-brands-wrapper .national-brands-img-wrapper img {
        max-height: 450px;
        width: auto !important;
        margin: auto;
    }
}

.national-brands-container .national-brands-wrapper {
    max-width: 1400px;
    margin: auto;
    display: flex;
    gap: 40px;
    align-items: center;
}

.national-brands-container .national-intro {
    width: 100%;
    text-align: center;
}

.national-brands-container .national-intro h2 {
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 32px;
}

.national-brands-container .national-brands-wrapper .national-brands-content {
    width: 50%;
}

.national-brands-container .national-brands-wrapper .national-brands-content h3 {
    margin-bottom: 24px;
    font-size: 32px;
}

.national-brands-container .national-brands-wrapper .national-brands-content a {
    display: flex;
    height: 50px;
    width: fit-content;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}

.national-brands-container .national-brands-wrapper .national-brands-content a:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.national-brands-container .national-brands-wrapper .national-brands-content a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.national-brands-container .national-brands-wrapper .national-brands-content a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.national-brands-container .national-brands-wrapper .national-brands-content a:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.national-brands-container .national-brands-wrapper .national-brands-content a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}

.national-brands-container .national-brands-wrapper .national-brands-img-wrapper {
    width: 50%;
}

.national-brands-container .national-brands-wrapper .national-brands-img-wrapper img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 12px;
}



.national-brand-second,
.national-brand-third {
    display: flex;
    gap: 40px;
    align-items: center;
    max-width: 1400px;
    margin: 96px auto;
}

.national-brand-second .national-brand-second-img-wrapper {
    width: 50%;
}

.national-brand-second .national-brand-second-img-wrapper img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 12px;
}

.national-brand-second .national-brand-second-content {
    width: 50%;
}

.national-brand-second .national-brand-second-content h3 {
    font-size: 32px;
    margin-bottom: 24px;
}

.national-brand-second .national-brand-second-content a {
    display: flex;
    height: 50px;
    width: fit-content;
    padding: 0 20px;
    color: #fff!important;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}

.national-brand-second .national-brand-second-content a:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.national-brand-second .national-brand-second-content a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.national-brand-second .national-brand-second-content a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.national-brand-second .national-brand-second-content a:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

.national-brand-second .national-brand-second-content a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}

@media (max-width: 1024px) {

    .national-brand-second {
        flex-direction: column-reverse;
    }

    .national-brand-third {
        flex-direction: column;
    }

    .national-brand-third .national-brand-third-img-wrapper,
    .national-brand-third .national-brand-third-content {
        width: 100% !important;
    }

    .national-brand-second .national-brand-second-img-wrapper,
    .national-brand-second .national-brand-second-content {
        width: 100% !important;
    }

    .national-brand-second .national-brand-second-img-wrapper,
    .national-brand-third .national-brand-third-img-wrapper {
        display: flex;
        justify-content: center;
    }

    .national-brand-second .national-brand-second-img-wrapper img,
    .national-brand-third .national-brand-third-img-wrapper img {
        max-height: 450px;
        width: auto !important;
    }
}

@media (max-width: 767px) {
    .national-brands-container .national-intro h2 {
        font-size: 32px;
        text-align: start;
    }
}

.national-brand-third .national-brand-third-img-wrapper {
    width: 50%;
}

.national-brand-third .national-brand-third-img-wrapper img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 12px;
}

.national-brand-third .national-brand-third-content {
    width: 50%;
}

.national-brand-third .national-brand-third-content a {
    display: flex;
    height: 50px;
    width: fit-content;
    padding: 0 20px;
    color: #fff!important;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}

.national-brand-third .national-brand-third-content a:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.national-brand-third .national-brand-third-content a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.national-brand-third .national-brand-third-content a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.national-brand-third .national-brand-third-content a:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

.national-brand-third .national-brand-third-content a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}


.national-brand-third .national-brand-third-content h3 {
    font-size: 32px;
    margin-bottom: 24px;
}

/* end of national brands  */