/* Read mode: the public identity, with a quieter and narrower reading measure. */
.tk-blog { width: min(1024px, calc(100% - 40px)); margin: 0 auto; padding: 56px 0 80px; }
.tk-blog__title { margin: 0; font-size: clamp(40px, 5vw, 64px); font-weight: 900; line-height: 1.08; letter-spacing: -.035em; }
.tk-blog__list { margin-top: 40px; border-top: 1px solid var(--tk-rule); }
.tk-blog__meta { color: #575166; font-size: 14px; line-height: 1.5; }
.tk-post-card { padding: 32px 0; border-bottom: 1px solid var(--tk-rule); }
.tk-post-card:has(.tk-post-card__image) { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; align-items: start; }
.tk-post-card__image { display: block; }
.tk-post-card__image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; }
.tk-post-card__content { min-width: 0; }
.tk-post-card__title { margin: 8px 0 0; font-size: 25px; font-weight: 750; line-height: 1.25; letter-spacing: -.025em; overflow-wrap: anywhere; }
.tk-post-card__title a { color: var(--tk-ink); text-decoration: none; }
.tk-post-card__title a:hover { color: var(--tk-blue); text-decoration: underline; }
.tk-post-card__excerpt { margin: 12px 0 0; color: #45414f; font-size: 17px; line-height: 1.65; overflow-wrap: anywhere; }
.tk-post-card__author { display: flex; align-items: center; gap: 12px; margin-top: 16px; font-size: 14px; }
.tk-post-card__author a { padding-block: 8px; color: var(--tk-ink); text-underline-offset: .2em; }
.tk-article, .tk-article__related, .tk-article__back { width: min(760px, calc(100% - 40px)); margin-inline: auto; }
.tk-article { padding: 48px 0 64px; }
.tk-article__breadcrumb { font-size: 14px; line-height: 1.65; color: #575166; overflow-wrap: anywhere; }
.tk-article__breadcrumb a, .tk-article__back a { display: inline-block; padding-block: 10px; color: var(--tk-blue); text-decoration: underline; text-underline-offset: .22em; }
.tk-article__title { margin: 24px 0 0; font-size: clamp(32px, 4vw, 48px); font-weight: 850; line-height: 1.13; letter-spacing: -.03em; text-wrap: balance; overflow-wrap: anywhere; }
.tk-article__byline { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--tk-rule); }
.tk-article__byline a { display: inline-block; padding-block: 4px; font-size: 16px; font-weight: 600; color: var(--tk-ink); }
.tk-article__hero { width: 100%; height: auto; margin-top: 32px; border-radius: 4px; }
.tk-article__body { margin-top: 36px; max-width: 68ch; color: var(--tk-ink); font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
.tk-article__body :where(h2, h3, h4) { color: var(--tk-ink); line-height: 1.25; font-weight: 750; letter-spacing: -.025em; text-wrap: balance; scroll-margin-top: 24px; }
.tk-article__body h2 { margin-top: 2em; margin-bottom: .8em; font-size: 30px; }
.tk-article__body h3 { margin-top: 1.8em; margin-bottom: .7em; font-size: 24px; }
.tk-article__body a { color: var(--tk-blue); text-decoration: underline; text-underline-offset: .2em; }
.tk-article__body a:hover { color: var(--tk-blue-hover); }
.tk-article__body :where(strong, code, blockquote) { color: var(--tk-ink); }
.tk-article__body blockquote { border-left: 1px solid var(--tk-rule); font-weight: 500; }
.tk-article__body pre { overflow-x: auto; background: var(--tk-ink); color: white; font-size: 15px; }
.tk-article__body pre code { color: inherit; overflow-wrap: normal; }
.tk-article__body :where(img, video) { max-width: 100%; height: auto; border-radius: 4px; }
.tk-article__body figcaption { color: #575166; font-size: 14px; line-height: 1.6; }
.tk-article__related { padding-bottom: 40px; }
.tk-article__related-title { margin: 0; padding-top: 32px; border-top: 1px solid var(--tk-rule); font-size: 28px; font-weight: 800; letter-spacing: -.025em; }
.tk-article__back { padding-bottom: 64px; }
@media (max-width: 600px) {
  .tk-blog { padding-top: 32px; padding-bottom: 48px; }
  .tk-post-card:has(.tk-post-card__image) { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .tk-post-card__title { font-size: 24px; }
  .tk-article { padding-top: 24px; padding-bottom: 40px; }
  .tk-article__body h2 { font-size: 27px; }
  .tk-article__body h3 { font-size: 23px; }
}
