p {
    color: var(--text-color-p);
}

header,
section:last-of-type {
    border-bottom: 1px solid var(--s6);
    border-style: dotted;
    border-top: 0;
    border-left: 0;
    border-right: 0;
}

main,
section:not(:last-of-type) {
    border-bottom: 1px solid var(--s6);
    border-style: dashed;
    border-top: 0;
    border-left: 0;
    border-right: 0;
}

/* don't spam flex box for basic layouts */
header {
    line-height: 4rem;
    text-align: center;

    nav {
        ul {
            li {
                display: inline-block;
                margin: 0 2rem;

                a {
                    color: var(--text-color-p);
                    text-decoration: none;
                    transition: all 0.3s ease;
                    position: relative;
                }

                a:hover {
                    color: var(--text-color);
                }

                a::after {
                    content: "";
                    position: absolute;
                    inset: 22px 0 0 0;
                    height: 1px;
                    scale: 0;
                    transition: all 0.3s ease;
                    background-image: linear-gradient(90deg, transparent, var(--s1), transparent);
                    transform-origin: center;
                }

                a:hover::after {
                    scale: 1.1;
                }
            }
        }
    }
}

section {
    padding: 2rem 0;
}

main {
    hgroup {
        margin: 4rem 0;
        display: flex;
        flex-direction: column;
        align-items: center;

        h1 {
            font-size: 4rem;
            transition: all 0.3s ease;
            font-family: 'Clash Display', system-ui;
            font-weight: 600;
            text-align: center;
            cursor: crosshair;
            user-select: none;
        }

        h1:hover {
            -webkit-text-stroke: .75px white;
            color: transparent;
        }

        p {
            font-size: 1rem;
            margin: 1rem 0;
            user-select: none;
        }
    }
}

section.services {
    display: flex;
    counter-reset: article-counter;
    flex-wrap: wrap;
    gap: 2rem;
    padding: 2rem 0;
    justify-content: center;

    article {
        width: 24rem;
        /* border: 1px solid grey; */

        h2 {
            counter-increment: article-counter;
            margin: .5rem 0;
        }

        h2::before {
            content: counter(article-counter)".";
            /* Display the counter */
            font-weight: bold;
            font-size: 2rem;
            margin-right: .5rem;
            color: var(--s4);
        }
    }
}

footer {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4rem;

    p {
        font-size: 1rem;
        color: var(--s6);
        cursor: cell;
    }
}

section.contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}