/* Reuse the site's palette and type; constrain long articles for reading. */
#page-blog {
    --blog-ink: #444;
    --blog-muted: #666;
    --blog-mint: #ccdedd;
}

#page-blog .blog-header {
    background: white;
}

#page-blog .blog-header h2 {
    color: var(--blog-ink);
    margin: 15px 0;
    overflow-wrap: anywhere;
}

#page-blog .blog-header time,
#page-blog .blog-entry time {
    color: var(--blog-muted);
    font-size: 15px;
}

#page-blog .blog-links {
    display: flex;
    justify-content: center;
    gap: 25px;
}

#page-blog .blog-width {
    max-width: 850px;
}

#page-blog .blog-content {
    background: var(--blog-mint);
    color: var(--blog-ink);
    font-size: 18px;
    line-height: 1.7;
}

#page-blog .blog-entry {
    padding: 35px 0;
    border-bottom: 1px solid #97b8b6;
}

#page-blog .blog-entry:first-child {
    padding-top: 0;
}

#page-blog .blog-entry h3 {
    font-size: 36px;
    line-height: 1.15;
    margin: 8px 0 15px;
    text-align: left;
}

#page-blog .blog-entry h3 a {
    color: var(--blog-ink);
}

#page-blog .blog-image {
    display: block;
    margin: 20px 0 25px;
}

#page-blog .blog-image img {
    width: 100%;
    height: auto;
}

#page-blog .blog-article {
    overflow-wrap: anywhere;
}

#page-blog .blog-article p,
#page-blog .blog-article ul,
#page-blog .blog-article ol {
    margin-bottom: 1.5em;
}

#page-blog .blog-article h2,
#page-blog .blog-article h3,
#page-blog .blog-article h4 {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 25px;
    font-weight: bold;
    color: var(--blog-ink);
    text-transform: none;
    text-align: left;
    margin: 1.5em 0 .75em;
}

#page-blog .blog-article img {
    height: auto;
}

#page-blog .blog-article iframe,
#page-blog .blog-article video {
    display: block;
    max-width: 100%;
    margin: 20px auto;
}

#page-blog .blog-article iframe[src*="youtube"],
#page-blog .blog-article iframe[src*="vimeo"] {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

#page-blog .blog-article figcaption {
    color: var(--blog-muted);
    font-size: 15px;
}

#page-blog .blog-article a {
    text-decoration: underline;
}

#page-blog .blog-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin: 30px 0;
}

#page-blog .blog-pagination {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
    padding-top: 30px;
}

#page-blog .blog-archive {
    list-style: none;
    padding: 0;
    margin-bottom: 40px;
}

#page-blog .blog-archive li {
    display: flex;
    gap: 20px;
    margin: 12px 0;
}

#page-blog .blog-archive time {
    flex: 0 0 65px;
    color: var(--blog-muted);
}

@media screen and (max-width: 600px) {
    #page-blog .blog-header h2 {
        font-size: 40px;
    }
}
