@font-face {
    font-family: "Rubik";
    src: url("/Rubik/rubik-latin.woff2") format("woff2");
    font-weight: 300 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Rubik";
    src: url("/Rubik/rubik-latin-ext.woff2") format("woff2");
    font-weight: 300 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Rubik";
    src: url("/Rubik/rubik-italic-latin.woff2") format("woff2");
    font-weight: 300 900;
    font-style: italic;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Rubik";
    src: url("/Rubik/rubik-italic-latin-ext.woff2") format("woff2");
    font-weight: 300 900;
    font-style: italic;
    font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    --pico-font-family: "Rubik", sans-serif;
    --brand: #2D28CD;
    --brandeasy: #1D2530;
    --highlight-links: rgba(213, 198, 83, 0.475);
}

/* Pico scales its root font-size with the viewport, so rem-based padding
   would drift off the reference. These are px to pin the layout exactly. */
body > main {
    max-width: none;
    margin: 0;
    padding: 160px;
    line-height: 1.5;
    color: #000;
}

h1 {
    margin: 0;
    font-size: 69px;
    font-weight: 700;
    line-height: 1.5;
    color: #000;
}

h2 {
    margin: 0;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.5;
    color: #000;
}

/* Pico colours `p`/`ul` via a grouped element selector, which outranks
   inheritance; `inherit` hands them back to `body > main`. */
p {
    margin: 0;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.5;
    color: inherit;
}

.brandeasy {
    color: var(--brandeasy);
    font-weight: 700;
}

.brand {
    color: var(--brand);
    font-weight: 700;
}

a.brand, a.brandeasy {
    text-decoration: none;
}

a.brand:hover, .brandeasy:hover {
    text-decoration: underline;
}

.skills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 41px 0 40px;
    padding: 0;
    list-style: none;
    font-size: 20px;
    font-style: italic;
    color: inherit;
}

/* Pico targets `ul li` directly, which outranks list-style on the parent. */
.skills li {
    margin: 0;
    list-style: none;
}

.skills .sep {
    align-self: center;
    font-size: 12px;
    font-weight: 500;
}

.skills .cs {
    text-decoration: line-through;
    text-decoration-style: wavy;
    text-decoration-color: rgba(255, 0, 162, 0.435);
    text-decoration-thickness: 2px;
}

.links {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.links .row {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
}

.links .col {
    display: flex;
    flex-direction: column;
    text-align: center;
}

/* z-index 0 gives .hl its own stacking context, so the -1 bar sits behind
   the text but still above the page background. */
.hl {
    position: relative;
    z-index: 0;
    color: inherit;
    text-decoration: none;
    font-size: 22px;
    font-weight: 700;
}

.hl::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 3px;
    width: 100%;
    height: 8px;
    z-index: -1;
    background-color: var(--highlight-links);
    transition: all 0.3s ease-in-out;
}

.hl:hover::before {
    bottom: 0;
    height: 100%;
}

@media (max-width: 768px) {
    body > main {
        padding: 32px;
    }

    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 30px;
    }

    p {
        font-size: 18px;
    }

    .skills {
        font-size: 14px;
    }

    .hl {
        font-size: 15px;
    }
}

@media (max-width: 283px) {
    .links .col {
        margin: 0 auto;
    }
}
