/* Author bio page (/authors/<slug>). Loaded AFTER site.css + blog.css (reuses
   .blog-list / .blog-item for the post list). Colors use --semantic-*/--base-*
   tokens so dark mode flips for free. */

.author-container { max-width: 46rem; }

.author-head { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 2rem; }
.author-photo {
  flex: none; width: 7rem; height: 7rem; border-radius: 50%; object-fit: cover;
  background: var(--semantic-background-bg-surface);
  border: 1px solid var(--semantic-border-border-default);
}
.author-head__meta { display: flex; flex-direction: column; gap: 0.3rem; }
.author-name { margin: 0; font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.2; letter-spacing: -0.02em; }
.author-title { margin: 0; color: var(--semantic-text-text-secondary); font-size: 1rem; }
.author-links { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 0.35rem; }
.author-links a { font-size: 0.9rem; font-weight: 600; color: var(--semantic-text-text-brand); }
.author-links a:hover { color: var(--base-primary-primary-700); }

.author-bio { font-size: 1.05rem; line-height: 1.75; color: var(--semantic-text-text-primary); }
.author-bio > p + p { margin-top: 1.1rem; }

.author-posts { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--semantic-border-border-default); }
.author-posts__title { margin: 0 0 0.5rem; font-size: 1.4rem; line-height: 1.3; }

@media (max-width: 40rem) {
  .author-head { flex-direction: column; align-items: flex-start; text-align: left; }
}
