/* Contact Block styles */

.contact-block {
    background-color: var(--color-navy, #0d1f35);
    border-bottom: 1rem solid var(--color-orange, #f26b53);
    overflow: hidden;
    position: relative;

    em {
        color: var(--color-secondary);
        font-style: normal;
    }

    .contact-block__media {
        inset-block: 0;
        inset-inline-end: 0;
        mask-image: linear-gradient(to right, transparent 0%, black 30%);
        -webkit-mask-image: linear-gradient(
            to right,
            transparent 0%,
            black 30%
        );
        position: absolute;
    }

    .contact-block__bg-image {
        display: block;
        height: 100%;
        width: 100%;
    }

    .contact-block__linework {
        bottom: 0;
        height: calc(100% - 1rem);
        position: absolute;
        right: 0;
        width: auto;
    }

    .contact-block__content {
        padding-inline: 1rem;
    }

    &.home-contact {
        bottom: -25%;
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
        z-index: 30;
    }
}

@media (max-width: 767px) {
    .contact-block {
        border-bottom-width: 0.75rem;
        border-radius: 0.75rem 0.75rem 0 0;
    }

    .contact-block .contact-block__media {
        inset: 0;
        mask-image: linear-gradient(
            to bottom,
            rgb(0 0 0 / 0.9) 0%,
            rgb(0 0 0 / 0.45) 100%
        );
        -webkit-mask-image: linear-gradient(
            to bottom,
            rgb(0 0 0 / 0.9) 0%,
            rgb(0 0 0 / 0.45) 100%
        );
    }

    .contact-block .contact-block__bg-image {
        object-fit: cover;
    }

    .contact-block .contact-block__linework {
        bottom: 0.75rem;
        height: auto;
        max-width: 112%;
        right: -32%;
        width: 22rem;
    }

    .contact-block .contact-block__content {
        min-height: 18.5rem;
        padding: 2.25rem 1.5rem 2.75rem !important;
    }

    .contact-block .contact-block__text {
        font-size: clamp(1.9rem, 8.7vw, 2.45rem);
        line-height: 1.02;
        max-width: 16rem !important;
    }

    .contact-block.home-contact {
        background-color: #032f46;
        border-bottom-width: calc(100vw * 16 / 402);
        border-radius: calc(100vw * 16 / 402) calc(100vw * 16 / 402) 0 0;
        box-sizing: border-box;
        bottom: auto;
        height: calc(100vw * 502 / 402);
        left: 50%;
        margin: 2.5rem auto -3.75rem;
        max-width: none;
        padding-inline: 0 !important;
        padding-top: 0 !important;
        position: relative;
        transform: translateX(-50%);
        width: calc(100vw * 343 / 402);
    }

    .contact-block.home-contact .contact-block__media {
        inset: 0;
        mask-image: none;
        -webkit-mask-image: none;
    }

    .contact-block.home-contact .contact-block__media::after {
        background: linear-gradient(
            to right,
            rgb(3 47 70 / 0.98) 0%,
            rgb(3 47 70 / 0.96) 40%,
            rgb(3 47 70 / 0.8) 52%,
            rgb(3 47 70 / 0.1) 72%,
            transparent 100%
        );
        content: "";
        inset: 0;
        pointer-events: none;
        position: absolute;
        z-index: 1;
    }

    .contact-block.home-contact .contact-block__bg-image {
        filter: brightness(1.5);
        object-fit: cover;
        object-position: 82% center;
        position: relative;
        z-index: 0;
    }

    .contact-block.home-contact .contact-block__linework {
        bottom: 0;
        height: auto;
        left: calc(100% * -113 / 343);
        max-width: none;
        overflow: visible;
        right: auto;
        width: calc(100% * 414 / 343);
        z-index: 2;
    }

    .contact-block.home-contact .contact-block__content {
        margin: 0 !important;
        max-width: none !important;
        min-height: 0;
        padding: calc(100vw * 31 / 402) calc(100vw * 33 / 402) 0 !important;
        width: 100% !important;
        z-index: 2;
    }

    .contact-block.home-contact .contact-block__text {
        font-size: calc(100vw * 28 / 402);
        line-height: 1.08;
        margin-bottom: calc(100vw * 37 / 402);
        max-width: calc(100vw * 236 / 402) !important;
    }

    .contact-block.home-contact .contact-block__cta {
        padding-block: calc(100vw * 8.5 / 402);
    }
}
