.hero-block {
    align-items: center;
    display: flex;
    isolation: isolate;
    min-height: 400px;
    overflow: hidden;
    position: relative;
}

.hero-block--height-narrow {
    min-height: 450px;
}


.hero-block--height-full {
    min-height: calc(100vh - var(--site-header-height, 4.5rem));
    min-height: calc(100svh - var(--site-header-height, 4.5rem));
}

.hero-block::before {
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.hero-block--has-media::before {
    background: rgba(0, 0, 0, 0.48);
}

.hero-block__inner {
    position: relative;
    width: 100%;
    z-index: 2;
}

.hero-block__media {
    inset: 0;
    overflow: hidden;
    position: absolute;
    z-index: 0;
}

.hero-block__image {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.hero-block__content {
    max-width: 44rem;
}

.hero-block--content-center .hero-block__content {
    margin-inline: auto;
    text-align: center;
}

.hero-block--content-center .hero-block__content > * {
    margin-inline: auto;
}

.hero-block--content-center .hero-block__buttons.block-content-buttons {
    align-items: center;
    justify-content: center;
}

.hero-block--content-center .hero-block__buttons.block-content-buttons--stacked {
    align-items: center;
}

.hero-block--has-media:not([class*="block-font-colour-"]) {
    color: #fff;
}

.hero-block--has-media:not([class*="block-headings-colour-"]) .hero-block__heading:not([class*="text-colour-"]) {
    color: inherit;
}

.hero-block--has-media:not([class*="block-preheadings-colour-"]) .hero-block__preheading:not([class*="text-colour-"]) {
    color: inherit;
}

.hero-block__heading:not([class*="heading-size-"]) {
    font-size: var(--font-heading-size-large-hero);
    line-height: var(--leading-heading);
}

.hero-block__preheading:not(.normal-case):not(.uppercase):not(.lowercase):not(.capitalize) {
    text-transform: capitalize;
}

.hero-block--no-content .hero-block__inner {
    min-height: 1px;
}

@media (max-width: 479px) {
    .hero-block--content-center .hero-block__buttons.block-content-buttons {
        align-items: center;
    }
}
