html {
    background-color: #07080D;
    --primary: #8484dc;
    --offwhite: #eeeeee;
    font-family: Inter, sans-serif;
    color: var(--offwhite);
}

body {
    margin: 0;
}

h1 {
    font-size: 4em;
    text-align: center;
}

.mouse-tracer {
    width: 100%;
    height: 100%;
    top: 0;
    position: fixed;
    z-index: -1;
    /* left: 500px; */
    /* top: 500px; */
    /*background: radial-gradient(600px at 100px 100px, rgba(63,94,251,0.15) 0%, transparent 80%);*/
}

#logo {
    display: grid;
    grid-template-areas: "a . b . c" "d . . . e" "f . . . g" "h i . j k" "l . m . n";
    grid-auto-columns: max-content;
    justify-content: center;
    padding: 4em;
    --logo-size: 20em;
}

#logo .logo-cell {
    box-sizing: border-box;
    aspect-ratio: 1;
    height: calc(var(--logo-size)/5);
    border: inset calc(var(--logo-size)/200) var(--primary);
    box-shadow: 0px 0px 0px calc(var(--logo-size)/200) var(--primary);
    background: linear-gradient( 135deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.2) 33%, rgba(132, 132, 220, 1) 50%, rgb(97 97 173) 100%);
    transition: 350ms;
    background-position: 0% 0%;
    background-size: 300% 300%;
    cursor: pointer;
}

#logo .logo-cell:hover,
#logo .logo-cell:active {
    background-position: 100% 100%;
    transform: scale(1.3);
    border: none;
    box-shadow: 0px 0px 0px 0px var(--primary);
}

.logo-cell .cell-content {
    background: radial-gradient( circle, rgba(255, 255, 255, 0.2) 9%, transparent 14%);
    background-size: calc(var(--logo-size)/30) calc(var(--logo-size)/30);
    height: 100%;
    width: 100%;
    transition: 350ms;
    background-position: -0% 0%;
}

.logo-cell:hover .cell-content {
    background-position: -20% 0%;
}

.small-logo #logo {
    justify-content: start;
    --logo-size: 4em;
    padding: 1em;
    margin: 0 1em 0 1em;
    cursor: pointer;
}

.small-logo #logo:hover {
    --logo-size: 4.4em;
}

.top-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0;
    background-color: #03040a;
}

.top-nav h2 {
    font-size: 3em;
    font-weight: 500;
    text-align: center;
    margin: 0.5em 1em 0.5em 1em;
}

.top-nav a {
    text-align: center;
    margin: 0 3em 0 3em;
    text-decoration: none;
}

.top-nav a:hover {
    color: white;
    text-decoration: none;
}

.top-nav a:visited {
    color: var(--offwhite);
    text-decoration: none;
}

.top-nav span {
    width: 7em;
}

@media (orientation: portrait) {
    .top-nav-collapsable {
        flex-direction: column;
        padding-bottom: 20px;
    }

    .top-nav-collapsable > h2 {
        margin-top: 0;
        margin-bottom: 0;
    }
}