:root {
    --Page-Gap: 159px;
}

@media (max-width: 1024px) {
    :root {
        --Page-Gap: 80px;
    }
}

@media (max-width: 767px) {
    :root {
        --Page-Gap: var(--XL)
    }
}


.home .site-main {
    gap: var(--Page-Gap);
}





.hero-banner {
    position: relative;
}

.hero-banner img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero-banner .container {
    position: relative;
    z-index: 1;
    padding-top: 648px;
    padding-bottom: 124px;
    align-items: flex-start;
    justify-content: flex-end;
    max-width: 1318px;
    height: 100dvh;
    max-height: 1100px;
}

.hero-banner .content {
    max-width: 940px;
    gap: var(--M);

}

.hero-banner .display-xxl,
.hero-banner .description * {
    color: var(--White);
}

.hero-banner .info-box {
    align-items: center;
    justify-content: flex-start;
    gap: 54px;
}

.hero-banner .cta {
    min-width: 285px;
}

.hero-banner .cta .btn {
    min-width: 265px;
    margin-left: -5px;
}

.hero-banner .spacer {
    height: 82px;
    width: 1px;
    background-color: var(--White);
}

.hero-banner .floating-icon {
    position: absolute;
    right: -8px;
    bottom: 254px;
}

.banner-mobile-grad {
    position: absolute;
    height: 1px;
    width: 100%;
    top: 65%;
    left: 0;
    right: 0;
    display: none;
}

.banner-mobile-grad:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 100px;
    bottom: 0;
    background: linear-gradient(360deg, black, transparent);
}

@media (max-width: 1580px) {

    .hero-banner .floating-icon {
        right: -230px;
    }
}

@media (max-width: 1024px) {

    .hero-banner .container {
        padding-top: 785px;
        padding-bottom: 104px;
    }

    .hero-banner .content {
        max-width: 834px;
    }

    .hero-banner .pre-line {
        white-space: normal;
    }

    .hero-banner .info-box {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--S);
    }

    .hero-banner .info-box .spacer {
        display: none;
    }

    .hero-banner .floating-icon {
        display: flex;
        bottom: -3px;
        right: 0px;
        width: 359px;
        height: 125px;
    }

    .hero-banner .floating-icon svg {
        width: 100%;
        height: auto;
    }

    .hero-banner .cta .btn {
        min-width: unset;
    }

    /* .hero-banner img {
    object-position: -710px;
} */
}

@media (max-width: 767px) {
    .hero-banner {
        background-color: #000;
    }

    .hero-banner .container {
        padding-top: 330px;
        padding-bottom: var(--XL);
    }

    .display-xxl {
        font-size: 32px;
    }

    .hero-banner img {
        /* object-position: top; */
        height: 60%;
    }

    .hero-banner .floating-icon {
        display: none;
    }

    .banner-mobile-grad {
        display: block;
    }
}

.introduction {
    text-align: center;
}

.introduction .container {
    align-items: center;
    gap: var(--S);
}

.introduction h6 {
    max-width: 936px;
}

.introduction .description {
    max-width: 886px;
}

@media (max-width: 1024px) {
    .introduction .container {
        max-width: 720px;
    }
}








.two-column-text-photo .container {
    gap: var(--M);
}

.two-column-text-photo .col {
    flex: 1;
}

.two-column-text-photo .col:only-child {
    flex: 0 0 100%;
}

.two-column-text-photo .col-1 {
    padding: 48px 64px;
    justify-content: center;
    align-items: flex-start;
    gap: var(--S);
    flex: 1 0 0;
    align-self: stretch;
    background-color: var(--Dark-Teal);
    max-width: 707px;
}

.two-column-text-photo .col-1 * {
    color: var(--White);
}

.two-column-text-photo .col-2 {
    position: relative;
}

.two-column-text-photo .col-2::before,
.two-column-text-photo .col-2::after {
    content: '';
    position: absolute;
    top: 0;
    width: 36.93px;
}

.two-column-text-photo .col-2::before {
    right: 0;
    height: 284.547px;
    background-color: var(--Cobalt-Blue);
}

.two-column-text-photo .col-2::after {
    right: 36.93px;
    height: 194px;
    background-color: var(--Seafoam);
}

.two-column-text-photo .col-2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 1024px) {
    .two-column-text-photo .container {
        flex-direction: column;
        gap: var(--M);
    }

    .two-column-text-photo .col-1 {
        max-width: 100%;
    }

    .two-column-text-photo .col-2 {
        height: 472px;
    }
}

@media (max-width: 767px) {
    .two-column-text-photo .col-1 {
        padding: var(--M);
    }

    .two-column-text-photo .container {
        gap: 24px;
    }

    .two-column-text-photo .col-2 {
        height: auto;
    }

    .two-column-text-photo .col-2::before {
        height: 149px;
    }

    .two-column-text-photo .col-2::after {
        height: 102px;
    }
}







.text-carousel .container {
    gap: var(--XXL);
}

.text-carousel .block-header {
    gap: var(--S);
    max-width: 1020px;
}

.text-carousel .block-header .description {
    max-width: 853px;
}

.text-carousel .block-footer {
    gap: var(--S);
    text-align: center;
    justify-content: center;
    margin-top: 70px;
}

.text-carousel .block-footer .btn {
    align-self: center;
    padding: 16px 27px;
}

@media (max-width: 767px) {
    .text-carousel .block-footer {
        margin-top: 0;
    }
}






.text-stats {
    margin-top: -80px;
}

.text-stats .container {
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--XL);
    align-self: stretch;
}

.text-stats .stat-item {
    flex: 1;
    gap: var(--XS);
}

.text-stats .number {
    color: var(--Copper-Gold-AODA);
    text-align: center;
    font-family: 'Lora', sans-serif;
    font-size: 80px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%;
}

.text-stats .label {
    text-align: center;
}

@media (max-width: 767px) {
    .text-stats {
        margin-top: 0;
    }
}










.text-cta-photo {
    position: relative;
}

.text-cta-photo .container {
    position: relative;
    z-index: 1;
    justify-content: space-between;
    gap: var(--KXL);
}

.text-cta-photo .col-1 {
    position: relative;
    max-width: 597px;
    align-items: flex-start;
    justify-content: center;
    gap: var(--M);
    align-self: center;
}

.text-cta-photo .col-1 .heading,
.text-cta-photo .col-1 .description,
.text-cta-photo .col-1 .btn {
    position: relative;
    z-index: 1;
}

.text-cta-photo .col-2 {
    position: relative;
    height: 510px;
    flex: 1;
}

.text-cta-photo .photo {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% + ((100vw - var(--Content-Width)) / 2));
    height: 100%;
}

.text-cta-photo .col-2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.text-cta-photo .floater {
    position: absolute;
    top: -29px;
    left: -426.495px;
    display: flex;
    flex-direction: column;
    width: 381.79px;
    height: 184.82px;
}

.text-cta-photo .floater svg {
    width: 100%;
    height: 100%;
}


.text-cta-photo .floater span:nth-child(1) {
    width: 204.285px;
    height: 36.93px;
    background-color: var(--Dark-Teal);
}

.text-cta-photo .floater span:nth-child(2) {
    width: 84px;
    height: 36.93px;
    background-color: var(--Copper-Gold);
}

.text-cta-photo .floater span:nth-child(3) {
    width: 147px;
    height: 37.115px;
    background-color: var(--Seafoam);
    margin-top: 36.73px;
}

.text-cta-photo .mobile-floater {
    display: flex;
}

@media (min-width: 1025px) {
    .text-cta-photo .mobile-floater {
        display: none;
    }
}

@media (max-width: 1024px) {
    .text-cta-photo .container {
        flex-direction: column;
        gap: 40px;
    }

    .text-cta-photo .col-1 {
        max-width: 100%;
    }

    .text-cta-photo .col-2 {
        min-height: 376px;
    }

    .text-cta-photo .floater {
        position: relative;
        top: 0;
        left: 0;
        width: 230px;
        height: 111px;
    }

    .text-cta-photo .photo {
        width: 100%;
    }
}







.text-steps {
    position: relative;
    background-color: var(--Copper-Gold);
    padding-top: 160px;
    padding-bottom: 160px;
    margin-top: -77px;
    overflow: hidden;
}

.text-steps .container {
    position: relative;
    z-index: 1;
    gap: var(--KXL);
}

.text-steps .block-header {
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    gap: 189px;
}

.text-steps .block-header .heading {
    position: relative;
    color: var(--White);
    padding-left: 76px;
}

.text-steps .block-header .heading::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 0;
    width: 44px;
    height: 10px;
    background-color: var(--Seafoam);
}

.text-steps .block-header .btn .text {
    white-space: nowrap;
}

.text-steps .checkered {
    position: absolute;
    top: 0;
    right: 0;
}


.text-steps .steps {
    flex-wrap: wrap;
    gap: var(--XL);
}

.text-steps .step-item {
    flex: 1;
    gap: var(--M);
}

.text-steps .step-item .number {
    background-color: var(--White);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.text-steps .step-item .content {
    gap: var(--XS);
}

.text-steps .step-item .content * {
    color: var(--White);
}

@media (max-width: 1024px) {
    .text-steps {
        margin-top: 0;
    }

    .text-steps .block-header {
        flex-direction: column;
        gap: var(--S);
        align-items: flex-start;
        max-width: 610px;
    }

    .text-steps .block-header .heading {
        display: flex;
        flex-direction: column;
        gap: var(--S);
        padding-left: 0;
    }

    .text-steps .block-header .heading::before {
        position: static;
    }

    .text-steps .container {
        gap: 56px;
    }

    .text-steps .steps {
        flex-direction: column;
        gap: 40px;
    }
}

@media (max-width: 767px) {
    .text-steps {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .text-steps .checkered {
        width: 200px;
    }

    .text-steps .checkered svg {
        width: 100%;
        height: auto;
    }
}






.text-video {
    position: relative;
    background-color: var(--Copper-Gold);
    padding-top: 80px;
    padding-bottom: 72px;
    margin-top: calc(var(--Page-Gap) * -1);
    min-height: 746px;
    align-items: flex-end;
    overflow: hidden;
}

.text-video .container {
    position: relative;
    z-index: 1;
}

.text-video .content {
    gap: 31px;
}

.text-video .content .heading,
.text-video .content .description,
.text-video .footer-text * {
    color: var(--White);
}

.text-video .block-footer {
    flex-wrap: wrap;
    align-items: center;
    gap: var(--M);
}

.text-video .footer-text {
    flex-wrap: wrap;
    align-items: center;
    gap: var(--XXS);
}

.text-video .contact-heading {
    font-weight: 700;
}

.text-video .spacer {
    width: 1px;
    height: 11px;
    background-color: var(--White);
}


.text-video .video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
}

.text-video .wp-video {
    width: 100% !important;
    height: 100% !important;
}

.text-video .video-control {
    position: absolute;
    right: 69px;
    bottom: 38.3px;
    z-index: 2;
    gap: var(--XXS);
    text-align: center;
    cursor: pointer;
}

.text-video .video-control .text {
    color: var(--White);
}

.text-video .video-control .icon {
    background-color: var(--White);
    width: 59px;
    height: 59px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.4s ease;
}

.text-video .acf-video {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.text-video .acf-video video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.text-video .icon.play {
    display: none;
}

.text-video .icon.play path {
    stroke: var(--Text);
}

.text-video .video-control:hover .icon {
    background-color: var(--Button-Background-Hover-DK);
}

.text-video .block-footer .btn .icon {
    width: 33px;
    height: 33px;
}

@media (max-width: 1024px) {
    .text-video_bg {
        min-height: 624px;
    }
}






/* ==========================================================================
   Statistics ("What it is")
   ========================================================================== */
.statistics {
    padding-top: 8%;
    padding-bottom: 4%;
}

.statistics .container {
    gap: var(--XXL);
}

.title-l {
    font-size: 49px;
}

.statistics .block-header {
    gap: var(--XS);
    align-items: center;
    text-align: center;
    max-width: 820px;
    margin: 0 auto;
}

.statistics .items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--XXL);
    text-align: center;
}

.statistics .item {
    align-items: center;
    gap: var(--XXS);
    min-width: 420px;
}

.statistics .number {
    color: var(--Copper-Gold);
    font-size: 80px;
    line-height: 1;
    white-space: nowrap;
    display: inline-flex;
    align-items: baseline;
}

.statistics .digits {
    display: inline-flex;
    align-items: baseline;
}

.statistics .digit-reel {
    display: inline-block;
    overflow: hidden;
    height: 1em;
    line-height: 1;
    vertical-align: baseline;
}

.statistics .digit-strip {
    display: flex;
    flex-direction: column;
    transition: transform 1.1s cubic-bezier(0.12, 0, 0.39, 0);
    transform: translateY(0);
}

.statistics .digit-item {
    height: 1em;
    line-height: 1;
    display: flex;
    align-items: baseline;
    justify-content: center;
}

.statistics .title {
    color: var(--Text);
}

@media (max-width: 1024px) {
    .statistics .items {
        gap: 16px;
    }

    .statistics .item {
        min-width: 280px;
    }

    .statistics .number {
        font-size: 56px;
    }
}

@media (max-width: 768px) {
    .statistics .items {
        gap: 64px;
    }

    .statistics .item {
        min-width: 100%;
    }

    .statistics .number {
        font-size: 40px;
    }

    .title-l {
        font-size: 33px;
    }
}