* { box-sizing: border-box; }
body {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    color: #333;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
    line-height: 1.6;
}
header {
    padding-bottom: 20px;
    margin-bottom: 40px;
    border-bottom: 1px solid #ddd;
}
.site-title { font-size: 2rem; font-weight: 700; }
.site-title a { color: inherit; text-decoration: none; }
.site-description { color: #666; }
header nav { margin-top: 1rem; }
header nav a {
    display: inline-block;
    margin-right: 1rem;
    padding: 0.25rem 0;
    color: inherit;
    text-decoration: none;
}
header nav a:hover { text-decoration: underline; }
header nav a.nav-current { border-bottom: 2px solid currentColor; }
.about-page h1 { margin-bottom: 0; font-size: 2.25rem; }
.about-page__subtitle { margin: 0 0 1.5rem; color: #666; font-size: 1.15rem; }
.about-introduction { margin-bottom: 3rem; }
.about-introduction h2, .about-people h2 { font-size: 1.5rem; }
.about-article-content img { max-width: 100%; height: auto; }
.about-article-content pre { max-width: 100%; overflow-x: auto; }
.about-article-content blockquote { margin-left: 0; padding-left: 1rem; border-left: 3px solid currentColor; }
.about-people { margin: 2rem 0; }
.about-people-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}
.about-person { border: 1px solid #ccc; }
.about-person a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 68px;
    padding: 0.75rem;
    color: inherit;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.about-person a:hover, .about-person a:focus-visible { text-decoration: underline; }
.about-person img { width: 42px; height: 42px; flex: none; object-fit: cover; }
