* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 17px;
}

body {
    background-color: #fff;
    color: #000;
    font: 1rem/1.5 system-ui, system, sans-serif;
}

main {
    margin: 2.5rem auto;
    padding: 0 1rem;
    max-width: 1024px;
}

nav {
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #ddd;
}

nav ul {
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

nav li {
    display: block;
    margin-right: 1rem;
}

nav a,
nav a:hover {
    color: inherit;
    text-decoration: none;
    display: block;
    position: relative;
}

nav a:after {
    content: '';
    position: absolute;
    bottom: -0.3rem;
    left: 50%;
    transform: translateX(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #d00;
    transition: opacity 400ms ease;
    opacity: 0;
}

nav .current-menu-item a {
    font-weight: 700;
}

nav .current-menu-item a:after {
    opacity: 1;
}

nav a:hover:after {
    opacity: 1;
}