section.hero {
    height: 100dvh;

    display: flex;
    flex-direction: column;

    justify-content: flex-start;
    align-items: flex-start;

    padding-top: 150px !important;

    background-color: #000; /* base black */

    background-image:
            linear-gradient(#222 1px, transparent 1px),
            linear-gradient(to right, #222 1px, #000 1px);
    background-size: 50px 50px;

    background-attachment: fixed;

}

section .content {
    width: min-content;

    display: flex;
    flex-direction: column;

    justify-content: flex-start;
    align-items: flex-start;
}

section.hero .content h1 {
    width: max-content;
    font-size: clamp(80px, 18vw, 150px);

    line-height: .7;
    z-index: 1;

    margin-bottom: 15px;

}

section.hero .content em {
    font-weight: bold;
    color: var(--accent-light) !important;
}

section.hero img.crab {
    position: absolute;
    z-index: -1;

    bottom: 10px;
    right: clamp(5px, 10vw, 400px);

    width: 800px;
    max-width: calc(100vw - clamp(5px, 10vw, 400px));

    animation: fadeUp 0.7s ease both;
    animation-delay: 0.1s;
}

@media screen and (max-width: 960px) {
    section.hero img.crab {
        right: unset;
        left: 50%;

        bottom: 20px;

        animation: pfpFadeUp 0.7s ease both;
        transform: translateX(-50%);
    }
}

section.hero .actions {
    display: flex;
    flex-direction: row;

    justify-content: flex-start;
    align-items: center;

    gap: 10px;
    z-index: 2;
}

section.hero .actions a.chat {
    padding: 15px;
    border-radius: 5px;

    font-weight: bold;
    font-size: 18px;

    background: var(--accent);
    transition: .3s ease-out;
}

section.hero .actions a.chat:hover {
    background: oklch(from var(--accent) calc(l + .2) c h);
}

section.hero .actions a.email {
    padding: 15px;
    border-radius: 5px;

    background: transparent;
    transition: .3s ease-out;

    font-weight: bold;
    font-size: 18px;

    color: var(--accent);
    border: 2px solid var(--accent);
}

section.hero .actions a.email:hover {
    color: oklch(from var(--accent) calc(l + .2) c h);
    border: 2px solid oklch(from var(--accent) calc(l + .2) c h);
}

section.hero .socials {
    display: flex;
    flex-direction: row;

    justify-content: flex-start;
    align-items: center;

    margin-left: 10px;
    margin-top: 10px;
}

section.hero .socials a svg {
    pointer-events: auto;
    cursor: pointer;

    width: 35px;
    height: 35px;

    color: var(--text-primary);
    transition: .3s ease-out;
}

section.hero .socials a:hover svg {
    color: var(--accent-light);
    transform: scale(1.05);
}

























