.hero-block {
    padding-left: 7rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
    min-height: 500px;

    background: #2a2b2d;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.15);

    background-position: 90% 70%;
    background-repeat: no-repeat;
    background-size: auto var(--hero-image-height, 420px);
}

.hero-block__description {
    max-width: var(--hero-description-width, 40ch);
    font-size: 1.2rem;
}

/* =============================================
   HERO BLOCK - DUMP VARIANT
   ============================================= */

.hero-block--dump {
    background-color: #000;
    background-position: 80% 28%;
    background-size: 35% auto;
    background-repeat: no-repeat;
    padding: 4rem 0 4rem 5rem;
    min-height: 0;
    /* break out of any parent .container so it renders edge-to-edge like the original full-width Elementor section */
    width: 100vw;
    max-width: var(--page-max-width, 1400px);
    left: 50%;
    transform: translateX(-50%);
}

.hero-block__title-group {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.hero-block__title {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #23947f;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1.2;
}

.hero-block__title-icon {
    width: 44px;
    height: auto;
    margin-top: -12px;
}

.hero-block__subtitle {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 300;
    line-height: 1.2;
}

.hero-block__tagline {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 300;
}

.hero-block__description--dump {
    color: #fff;
    font-size: 1rem;
    font-weight: 300;
}

.hero-block__actions {
    gap: 0.75rem;
}

.hero-block__btn-play {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #fff;
    font-size: 1.375rem;
    font-weight: 300;
    text-decoration: none;
}

.hero-block__btn-play:hover,
.hero-block__btn-play:focus {
    color: #f1c447;
}

.hero-block__btn-play-icon {
    font-size: 2.75rem;
}

.hero-block__btn-secondary {
    color: #fff;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4em;
    text-decoration: none;
}

.hero-block__btn-secondary--with-image {
    display: inline-block;
    min-height: 90px;
    background-size: 90px;
    background-position: left center;
    background-repeat: no-repeat;
    padding: 1.375rem 1.375rem 1.375rem 7.5rem;
}

.hero-block__btn-secondary:hover,
.hero-block__btn-secondary:focus {
    color: #f1c447;
}

@media (max-width: 991.98px) {
    .hero-block--dump:not(.hero-block--dump-compact) {
        background-image: none !important;
        padding: 3rem 1.5rem;
    }

    .hero-block__title,
    .hero-block__subtitle {
        font-size: 2rem;
    }

    /* Compact dump heroes (no CTA buttons) keep their illustration on mobile,
       shrunk and moved below the title, matching the legacy WordPress markup. */
    .hero-block--dump-compact {
        padding: 3rem 1.5rem 14rem;
        background-size: 70% auto;
        background-position: 50% 80%;
        background-repeat: no-repeat;
    }
}
