.banner {
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: var(--color-primary);
    position: relative;
    margin-bottom: 3rem;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    z-index: 1;

    &.-small {
        padding-block: 3.75rem;
    }

    &.-medium {
        padding-block: 6.25rem;
    }

    &.-large {
        padding-block: 8.75rem;
    }

    &.-fullscreen {
        min-height: calc(100vh - 110px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-block: 0;
    }

    >.overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

    >.go-back {
        color: #fff;
        z-index: 2;

        &:hover {
            cursor: pointer;
        }
    }

    >.content {
        z-index: 2;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 2rem 2rem;
    }

    >.content>.headline {
        text-wrap: pretty;
        font-size: clamp(1.5rem, 5vw + 1rem, 3.5rem);
        line-height: 1.2;
        margin: 0 0 0.5rem 0;
        font-weight: 500;
    }

    >.content>.subtitle {
        text-wrap: pretty;
        font-size: clamp(1rem, 2.5vw + 0.5rem, 2rem);
        line-height: 1.4;
        font-weight: 300;
        margin-top: 1rem;
    }

    >.content>.buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-top: 3.5rem;
    }

    >.content>.buttons>.button {
        background-color: var(--color-primary);
        color: #fff;
        border: 2px solid var(--color-primary);
        padding: 0.75rem 1rem;
        font-size: 1rem;
        font-weight: 600;
        text-decoration: none;
        border-radius: var(--radius-md);
        cursor: pointer;

        &:hover {
            background-color: color-mix(in srgb, var(--color-primary) 90%, black);
            border-color: color-mix(in srgb, var(--color-primary) 90%, black);
        }
    }
}

@media (min-width: 375px) {
    .banner {
        >.content .buttons .button {
            margin: 1.5rem 0;
        }
    }
}

@media (min-width: 768px) {
    .banner {
        padding: 0 2rem;

        >.content {
            margin: auto;
        }
    }
}

@media (min-width: 1440px) {
    .banner {
        padding: 0 2rem;

        >.content {
            width: 1200px;
            margin: auto;
        }

        >.content>.buttons>.button {
            font-size: 1.5rem;
        }
    }

}