.box:where(.astro-AB4IHPZS) {
    border: 1px solid var(--gray-800);
    border-radius: .75rem;
    padding: 1.5rem;
    background-color: var(--gray-999_40);
    box-shadow: var(--shadow-sm)
}

.skills:where(.astro-AB4IHPZS) {
    display: flex;
    flex-direction: column;
    gap: 3rem
}

.skills:where(.astro-AB4IHPZS) h2:where(.astro-AB4IHPZS) {
    font-size: var(--text-lg)
}

.skills:where(.astro-AB4IHPZS) p:where(.astro-AB4IHPZS) {
    color: var(--gray-400)
}

@media (min-width: 50em) {
    .box:where(.astro-AB4IHPZS) {
        border-radius: 1.5rem;
        padding: 2.5rem
    }

    .skills:where(.astro-AB4IHPZS) {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 5rem
    }

    .skills:where(.astro-AB4IHPZS) h2:where(.astro-AB4IHPZS) {
        font-size: var(--text-2xl)
    }
}

.hero:where(.astro-J7PV25F6) {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem
}

.roles:where(.astro-J7PV25F6) {
    display: none
}

.hero:where(.astro-J7PV25F6) img:where(.astro-J7PV25F6) {
    aspect-ratio: 5 / 4;
    object-fit: cover;
    object-position: top;
    border-radius: 1.5rem;
    box-shadow: var(--shadow-md)
}

@media (min-width: 50em) {
    .hero:where(.astro-J7PV25F6) {
        display: grid;
        grid-template-columns: 6fr 4fr;
        padding-inline: 2.5rem;
        gap: 3.75rem
    }

    .roles:where(.astro-J7PV25F6) {
        margin-top: .5rem;
        display: flex;
        gap: .5rem
    }

    .hero:where(.astro-J7PV25F6) img:where(.astro-J7PV25F6) {
        aspect-ratio: 3 / 4;
        border-radius: 4.5rem;
        object-fit: cover
    }
}

.section:where(.astro-J7PV25F6) {
    display: grid;
    gap: 2rem
}

.with-background:where(.astro-J7PV25F6) {
    position: relative
}

.with-background:where(.astro-J7PV25F6):before {
    --hero-bg: var(--bg-image-subtle-2);
    content: "";
    position: absolute;
    pointer-events: none;
    left: 50%;
    width: 100vw;
    aspect-ratio: calc(2.25 / var(--bg-scale));
    top: 0;
    transform: translateY(-75%) translate(-50%);
    background: url(/assets/backgrounds/noise.png) top center/220px repeat, var(--hero-bg) center center / var(--bg-gradient-size) no-repeat, var(--gray-999);
    background-blend-mode: overlay, normal, normal, normal;
    mix-blend-mode: var(--bg-blend-mode);
    z-index: -1
}

.with-background:where(.astro-J7PV25F6).bg-variant:before {
    --hero-bg: var(--bg-image-subtle-1)
}

.section-header:where(.astro-J7PV25F6) {
    justify-self: center;
    text-align: center;
    max-width: 50ch;
    font-size: var(--text-md);
    color: var(--gray-300)
}

.section-header:where(.astro-J7PV25F6) h3:where(.astro-J7PV25F6) {
    font-size: var(--text-2xl)
}

@media (min-width: 50em) {
    .section:where(.astro-J7PV25F6) {
        grid-template-columns: repeat(4, 1fr);
        grid-template-areas: "header header header header" "gallery gallery gallery gallery";
        gap: 5rem
    }

    .section:where(.astro-J7PV25F6).with-cta {
        grid-template-areas: "header header header cta" "gallery gallery gallery gallery"
    }

    .section-header:where(.astro-J7PV25F6) {
        grid-area: header;
        font-size: var(--text-lg)
    }

    .section-header:where(.astro-J7PV25F6) h3:where(.astro-J7PV25F6) {
        font-size: var(--text-4xl)
    }

    .with-cta:where(.astro-J7PV25F6) .section-header:where(.astro-J7PV25F6) {
        justify-self: flex-start;
        text-align: left
    }

    .gallery:where(.astro-J7PV25F6) {
        grid-area: gallery
    }

    .cta:where(.astro-J7PV25F6) {
        grid-area: cta
    }
}

.mention-card:where(.astro-J7PV25F6) {
    display: flex;
    height: 7rem;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: 1px solid var(--gray-800);
    border-radius: 1.5rem;
    color: var(--gray-300);
    background: var(--gradient-subtle);
    box-shadow: var(--shadow-sm)
}

@media (min-width: 50em) {
    .mention-card:where(.astro-J7PV25F6) {
        border-radius: 1.5rem;
        height: 9.5rem
    }
}