/* Content produced by Kramdown, using the original blog typography. */
.post-card-title { font-size: clamp(2.25rem, 4vw, 2.75rem); }
.wp-block-post-featured-image { margin-top: 2rem; }
.wp-block-post-featured-image img { width: 100%; height: auto; }
.post-body { padding-top: 3rem; }
.post-body > * { max-width: 650px; margin-left: auto; margin-right: auto; }
.post-body img { display: block; max-width: 100%; height: auto; margin: 2rem auto; }
.post-body h2 { margin-top: 3rem; }
.post-body h3 { margin-top: 2rem; }
.post-body h2 strong, .post-body h3 strong { font-weight: inherit; }
.post-body h2, .post-body h3 { scroll-margin-top: 2rem; }
.post-body table { display: block; overflow-x: auto; border-collapse: collapse; }
.post-body th, .post-body td { text-align: left; padding: .65rem; border: 1px solid #ddd; }
.post-body .highlight { background: #2e3440; color: #eceff4; border-radius: 4px; }
.post-body pre { padding: 1rem; white-space: pre; font-size: .85em; line-height: 1.6; }
.post-body pre code { background: transparent; padding: 0; }
.post-body :not(pre) > code { background: #f2f2f2; padding: .1em .25em; }
.highlight .k, .highlight .o, .highlight .nb { color: #81a1c1; }
.highlight .s, .highlight .s1, .highlight .s2 { color: #a3be8c; }
.highlight .c, .highlight .c1 { color: #aab4c4; }
.highlight .nv, .highlight .n { color: #d8dee9; }
.table-of-contents { border: 1px solid #ddd; background: #fafafa; padding: 1rem; border-radius: 4px; font-size: .9em; }
.table-of-contents summary { cursor: pointer; font-weight: 600; }
.table-of-contents a { color: inherit; }
.post-meta { margin-top: 4rem; font-size: .9em; }
.about-portrait { border-radius: 100%; width: 191px; }
.about-intro { display: flex; align-items: center; gap: 2rem; }
.post-body .about-portrait { flex: 0 0 191px; }
.about-intro > p:first-child { flex: 0 0 191px; margin: 0; }
.certification-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.certification-grid p { margin: 0; }
.post-body .certification-grid img { margin: 0; width: 100%; }
@media (max-width: 600px) { .about-intro { flex-direction: column; } .certification-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.archive-title { margin: 3rem auto; }
