.hero {
    padding-block: 24rem;
    position: relative;
    z-index: 1;
}

.hero.centered {
    text-align: center;
}

.hero::before,
.hero::after {
    content: "";
    display: block;
    position: absolute;
    pointer-events: none;
}

.hero::before {
    background: linear-gradient(to bottom,  rgba(65,117,252,0.04) 0%,rgba(65,117,252,0.17) 100%);
    inset: 0;
    z-index: 0;
}

.hero::after {
    width: 100%;
    height: 18.5rem;
    background: linear-gradient(to bottom,  rgba(227,235,255,1) 0%,rgba(227,235,255,0.4) 50%,rgba(227,235,255,0.5) 61%,rgba(227,235,255,0) 100%);
    left: 0;
    bottom: 0;
    z-index: 1;
    rotate: 180deg;
}

.hero__inner {
    gap: 3.5rem;
}

.hero.centered .hero__inner {
    align-items: center;
}

.hero__text {
    margin-bottom: 0.5rem;
}

.hero__media {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
}

.hero__media .video,
.hero__media img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    z-index: 2;
}

.hero__media img {
    z-index: 1;
}

.page-contact-us .hero__media {
    opacity: 0.4;
}

@media screen and (max-width: 575.9px) {
    .hero {
        padding-block: 32rem 16rem;
        min-height: 100vh;
    }

    .hero__inner {
        gap: 2rem;
    }
}