.hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100svh;
    padding: 96px 0 120px;
    overflow: hidden;
    background: var(--bg);
    border-bottom: 1px solid var(--text);
}

.hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 306px;
    background: linear-gradient(to bottom, color-mix(in srgb, var(--column-bg) 0%, transparent), var(--column-bg));
    pointer-events: none;
}

.hero__inner {
    position: relative;
    z-index: 1;
    width: 700px;
    margin: 0 auto;
}

.hero__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-right: -16px;
}

.hero__text {
    flex: 1;
    min-width: 0;
    max-width: 380px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.hero__name {
    font: 700 2.9375rem/1.2 var(--font-hero);
    letter-spacing: -0.01em;
}

.hero__name .accent {
    color: var(--text);
}

.hero__name .normal {
    color: var(--text);
    font-weight: 600;
}

.hero__roles {
    font: 500 1.25rem/2 var(--font-body);
    color: var(--role-hero-roles);
}

.hero__avatar {
    flex: none;
    width: 315px;
    height: 315px;
    position: relative;
}

.hero__avatar::before {
    content: "";
    position: absolute;
    inset: -3.5%;
    background:
        radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--accent) 55%, transparent), transparent 60%),
        radial-gradient(circle at 75% 80%, color-mix(in srgb, var(--accent-2) 30%, transparent), transparent 55%),
        var(--surface);
    -webkit-clip-path: url(#hero-blob-back);
    clip-path: url(#hero-blob-back);
}

.hero__shapes {
    position: absolute;
    width: 0;
    height: 0;
}

.hero__pic {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: var(--skeleton-grad);
    -webkit-clip-path: url(#hero-blob);
    clip-path: url(#hero-blob);
}

.hero__description {
    margin-top: 29px;
    height: 3lh;
    overflow: hidden;
    font-size: 1.1875rem;
    line-height: 1.7;
    color: var(--text);
    text-align: center;
}

.hero__links {
    display: flex;
    justify-content: center;
    gap: 32px;
    margin-top: 18px;
}

.hero__cv {
    display: flex;
    width: fit-content;
    margin: 18px auto 0;
}

@media (max-width: 920px) {
    .hero {
        padding: 64px 20px 72px;
    }

    .hero__inner {
        width: 100%;
        max-width: 560px;
    }

    .hero__top {
        flex-direction: column-reverse;
        gap: 28px;
        margin-right: 0;
        text-align: center;
    }

    .hero__text {
        width: 100%;
        max-width: none;
        gap: 8px;
    }

    .hero__name {
        font-size: 2.3125rem;
        line-height: 1.2;
    }

    .hero__roles {
        font-size: 1.125rem;
        line-height: 1.6;
    }

    .hero__avatar {
        width: 180px;
        height: 180px;
    }

    .hero__description {
        height: auto;
        margin-top: 24px;
        font-size: 1.0625rem;
        line-height: 1.6;
    }

    .hero__links {
        gap: 16px;
        margin-top: 24px;
    }

    .hero__cv {
        margin-top: 24px;
    }
}
