/* Compact hero used on public pages other than the home landing */

.public-page-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: #0e7a32;
    min-height: 320px;
}

.public-page-hero__bg {
    position: absolute;
    inset: 0;
}

.public-page-hero__green {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 40% 70% at 12% 20%, rgba(190, 230, 110, 0.2), transparent 60%),
        linear-gradient(165deg, #1aaa42 0%, #0e7a32 55%, #0a5e28 100%);
}

.public-page-hero__scene {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 46%;
    overflow: hidden;
}

.public-page-hero__scene img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    display: block;
}

.public-page-hero__scene::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(14, 122, 50, 0.85) 0%, rgba(8, 50, 110, 0.15) 28%, rgba(6, 32, 78, 0.08) 100%);
}

.public-page-hero__stripe {
    position: absolute;
    top: -20%;
    bottom: -20%;
    left: 52%;
    width: 5.4rem;
    background: linear-gradient(90deg, #f0c21a 0 46%, #141414 46% 100%);
    transform: skewX(-24deg);
    z-index: 2;
}

.public-page-hero__inner {
    position: relative;
    z-index: 3;
    padding: 4.6rem 0 4rem;
    max-width: 42rem;
}

.public-page-hero h1 {
    margin: 0;
    color: #fff;
    font-family: "Plus Jakarta Sans", "Montserrat", sans-serif;
    font-size: clamp(2.35rem, 4.6vw, 3.55rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.05;
}

.public-page-hero p {
    margin: 0.9rem 0 0;
    max-width: 36rem;
    color: rgba(255, 255, 255, 0.94);
    font-size: 1.18rem;
    line-height: 1.5;
}

@media (max-width: 991px) {
    .public-page-hero__scene {
        width: 36%;
        opacity: 1;
    }

    .public-page-hero__stripe {
        left: auto;
        right: 24%;
        width: 3.15rem;
    }

    .public-page-hero__scene::after {
        background: linear-gradient(90deg, rgba(14, 122, 50, 0.78) 0%, rgba(8, 50, 110, 0.16) 42%, rgba(6, 32, 78, 0.08) 100%);
    }

    .public-page-hero__inner {
        width: calc(100% - 5.25rem);
        max-width: none;
        margin: 0;
        box-sizing: border-box;
        padding: 2.85rem 0.35rem 2.45rem 0.9rem;
        text-align: center;
        overflow-wrap: break-word;
    }

    .public-page-hero h1,
    .public-page-hero p {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 576px) {
    .public-page-hero {
        min-height: 0;
    }

    .public-page-hero__inner {
        width: calc(100% - 9.25rem);
    }

    .public-page-hero h1 {
        font-size: 2.05rem;
    }

    .public-page-hero p {
        font-size: 1.05rem;
    }
}
