html {
    scroll-behavior: smooth;
}

.about {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    padding-top: calc(var(--header-height) + 80px);
    padding-bottom: 80px;
    color: #eee;
    grid-gap: 20px;
    font-size: 18px;
    line-height: 1.3;
    -webkit-font-smoothing: antialiased;
}

.about ::selection {
    /* background: #eee; */
    /* color: #111; */
    background: #0059ff;
    color: #fff;
}

.about a {
    /* text-decoration-color: #0059ff; */
}

.about h2 {
    grid-column: 6 / span 7;
    font-size: 3em;
    margin-bottom: 48px;
    line-height: .9em;
}

.about-navigation {
    grid-column: 2 / span 3;
    position: sticky;
    top: calc(var(--header-height) + 29px);
    display: block;
    align-self: start;
    padding-top: 3px;
    /* outline: solid 1px red; */
}

.about-navigation ul {
    list-style-type: none;
}

.about-navigation a {
    text-decoration: none;
}

.about-navigation a:hover {
    font-weight: bold;
}

.about-content {
    /* grid-column: 5 / span 5; */
    grid-column: 5 / span 7;
    display: grid;
    grid-template-columns: repeat(7,1fr);
    margin-bottom: 24px;
}

.about-content figure {
    grid-column: span 7;
    margin-bottom: 1.3em;
}

.about-content p, .about-content h3, .about-content h4, .about-content ul, .about-content ol {
    grid-column: 2 / span 5;
    margin-bottom: 1.3em;
}

.about-content p {
    max-width: 75ch;
}

.about-content h3:not(:first-of-type) {
}

.about-content h3 {
    font-size: 2em;
    line-height: .9em;
    margin-bottom: .7em;
    font-weight: normal;
    scroll-margin-top: calc(var(--header-height) + 28px);
    font-family: 'Galliard';
    /* font-weight: bold; */
    font-style: italic;
}

.active {
    font-weight: bold;
}

@media (min-width: 1800px) {
    .about {
        font-size: 22px;
    }
}

@media (max-width: 1200px) {
    .about-navigation {
        grid-column-start: 1;
        padding-left: 16px;
        padding-right: 16px;
    }

    .about-content {
        grid-column: 4 / span 8;
        padding-left: 16px;
        padding-right: 16px;
    }

    .about h2 {
        grid-column: 5 / span 7;
        padding-left: 22px;
        padding-right: 16px;
    }

    .about {
        font-size: 16px;
    }
}

@media (max-width: 900px) {
    .about-navigation {
        display: none;
    }

    .about {
        display: block;
        padding-left: 32px;
        padding-right: 32px;
    }

    .about-content {
        display: block;
    }

    .about h2 {
        padding-left: 16px;
    }
}


@media (max-width: 600px) {
    .about {
        padding-left: 12px;
        padding-right: 12px;
    }
}