.vgs-hero {
    position: relative;
    isolation: isolate;
    min-height: clamp(520px, 72vh, 760px);
    display: grid;
    align-items: center;
    overflow: hidden;
    padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 3rem);
    color: var(--vgs-color-white);
    background: var(--vgs-color-dark);
}

.vgs-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: var(--vgs-hero-image);
    background-position: center;
    background-size: cover;
    transform: scale(1.01);
}

.vgs-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(36, 25, 35, 0.88) 0%, rgba(67, 28, 43, 0.66) 42%, rgba(67, 28, 43, 0.1) 100%),
        linear-gradient(180deg, rgba(36, 25, 35, 0.08), rgba(36, 25, 35, 0.42));
}

.vgs-hero__inner {
    width: min(var(--vgs-container-width), 100%);
    margin-inline: auto;
}

.vgs-hero__copy {
    max-width: 700px;
}

.vgs-hero .vgs-kicker {
    color: var(--vgs-color-gold);
}

.vgs-hero h1 {
    margin: 0;
    color: var(--vgs-color-white);
    font-family: var(--vgs-font-heading);
    font-size: clamp(3.25rem, 9vw, 7rem);
    font-weight: 500;
    line-height: 0.92;
}

.vgs-hero__copy > p:not(.vgs-kicker) {
    max-width: 620px;
    margin: 1.3rem 0 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1.08rem, 2.2vw, 1.35rem);
    line-height: 1.55;
}

.vgs-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-block-start: 2rem;
}

.vgs-hero__areas {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}

.vgs-hero__areas li {
    padding: 0.42rem 0.75rem;
    color: rgba(255, 255, 255, 0.86);
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 750;
}

@media (max-width: 680px) {
    .vgs-hero {
        min-height: 560px;
        align-items: end;
        padding-block: 4rem;
    }

    .vgs-hero::after {
        background:
            linear-gradient(180deg, rgba(36, 25, 35, 0.42), rgba(36, 25, 35, 0.92)),
            linear-gradient(90deg, rgba(67, 28, 43, 0.4), rgba(67, 28, 43, 0.12));
    }

    .vgs-hero__actions .vgs-button {
        width: 100%;
    }
}
