.hero-banner.--is-promotional {
    position: relative;
}

.hero-banner.--is-promotional::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.4) 24%,
            rgba(0, 0, 0, 0.8) 100%
        );
    }

.hero-banner.--is-promotional .hero-banner-wrapper {
        padding: 8px 0px;
    }

.hero-banner.--is-promotional .hero-banner-wrapper h1 {
        font-size: 48px;
    }

.hero-banner.--is-promotional .hero-banner-wrapper .text-large {
        font-weight: 400;
        text-align: center;
        font-size: 32px;
    }

.hero-banner.--is-promotional .primary-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        align-self: center;
        gap: 8px;
        padding: 8px 16px;
        border-radius: 8px;
        background: var(--blue-500);
        color: var(--white);
    }

.hero-banner.--is-promotional .primary-btn.white {
        background: var(--white);
        color: var(--blue-500);
        margin-bottom: 12px;
    }

@media (max-width: 1024px) {
    .hero-banner.--is-promotional .hero-banner-wrapper h1 {
        font-size: 40px;
    }

    .hero-banner.--is-promotional .hero-banner-wrapper .text-large {
        font-size: 24px;
    }
}

@media (max-width: 520px) {
    .hero-banner.--is-promotional .hero-banner-wrapper h1 {
        font-size: 24px;
    }

    .hero-banner.--is-promotional .hero-banner-wrapper .text-large {
        font-size: 18px;
    }
}
