.cta {
    display: block;
    text-decoration: none;
    padding: 30px 20px 35px;
    background: linear-gradient(to left, rgba(0,0,0,0.7), rgba(0,0,0,0.3));
    position: relative;
}

.cta .title,
.cta .subtitle {
    filter: drop-shadow(2px 4px 6px black);
}

.cta .subtitle {
    font-family: var(--solano);
    color: var(--white);
    font-size: 23px;
    line-height: 1;
}

.cta .title {
    font-family: var(--newbery);
    font-size: 24px;
    font-weight: var(--font-weight-extrabold);
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: 0.11rem;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 7px;
}

.cta .title .arrow {
    width: 57px;
    height: 11px;
    position: relative;
    display: inline-block;
}

.cta .title .arrow:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/includes/public/assets/shared/arrow-right-long.svg');
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
}

@media(hover:hover) {
    .cta:hover {
        text-decoration: none;
    }
}

@media(min-width: 40em) {
    .cta {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 45px 0 40px;
    }

    .cta .title {
        display: inline;
    }

    .cta .title .arrow {
        margin-left: 3px;
    }
}

@media(min-width:64em) {
    .cta .subtitle {
        font-size: 26px;
    }

    .cta .title {
        font-size: 27px;
        line-height: 1.6;
    }

    .cta .title .arrow {
        margin-left: 8px;
    }
}