/* ############# */
/* Utility Classes */
/* ############# */

.no-list {
    li {
        list-style-type: none;
    }
}

.grid-center {
    display: grid;
    place-items: center;
}

/* ############# */
/* General */
/* ############# */

:root {
    nav {
        justify-content: center;
    }
}

footer {
    text-align: center;
    opacity: 50%;
}

.footer-quote {
    max-width: 50ch;
}

.subtitle {
    font-size: 1rem;
}

.article-meta {
    margin-bottom: 2rem;
    h1 {
        margin: 0;
    }
}

body::before {
    --size: 45px;
    --line: color-mix(in hsl, canvasText, transparent 90%);
    content: "";
    height: 100vh;
    width: 100vw;
    position: fixed;
    background:
        linear-gradient(90deg, var(--line) 1px, transparent 1px var(--size)) 50%
            50% / var(--size) var(--size),
        linear-gradient(var(--line) 1px, transparent 1px var(--size)) 50% 50% /
            var(--size) var(--size);
    mask: linear-gradient(-20deg, transparent 30%, white);
    top: 0;
    transform-style: flat;
    pointer-events: none;
    z-index: -1;
}

/* ############# */
/* Homepage */
/* ############# */

.home-header {
    margin-bottom: 2.5rem;
    h1 {
        margin: 0;
        font-size: 5rem;
    }
    .subtitle {
        font-size: 2rem;
    }
}

.socials {
    display: flex;
    gap: 0.5rem;
}

/* ############# */
/* media-query responsiveness */
/* ############# */

@media (max-width: 770px) {
    .home-header {
        h1 {
            font-size: var(--pico-font-size);
        }
        .subtitle {
            font-size: var(--pico-font-size);
        }
    }
}
