/* Loaded only on public author archives. */
.author-page { padding-bottom: 64px; }
.author-hero { position: relative; margin: 12px 0 32px; padding: clamp(24px, 4vw, 44px); border: 1px solid var(--ap-line, #cdddf4); border-radius: 20px; background: linear-gradient(125deg, var(--ap-surface, #fff) 30%, var(--ap-tint, #edf4ff)); overflow: hidden; }
.author-hero::before { content: ""; display: block; position: absolute; inset-block: 0; inset-inline-start: 0; width: 5px; background: linear-gradient(var(--ap-action, #175cd3), var(--sky)); }
.author-identity { display: flex; align-items: center; gap: 28px; }
.author-identity h1 { margin: 0; color: var(--brand-deep); font-size: clamp(32px, 4vw, 48px); line-height: 1.5; }
.author-title { margin: 5px 0 0; color: var(--muted); font-size: 21px; }
.author-about { margin-inline-start: 140px; max-width: 820px; }
.author-bio { margin: 20px 0; font-size: 22px; line-height: 1.85; overflow-wrap: anywhere; }
.author-socials { display: flex; flex-wrap: wrap; gap: 9px; margin: 20px 0 24px; }
.author-socials a { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; min-height: 44px; border: 1px solid var(--ap-line, #cdddf4); border-radius: 999px; color: var(--brand-deep); background: var(--ap-surface, white); font-size: 17px; }
.author-socials a:hover { border-color: var(--brand); background: var(--brand-light); color: var(--brand); }
.author-socials svg { width: 16px; height: 16px; }
.author-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.author-story-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.author-post-count { flex-shrink: 0; padding: 5px 13px; border-radius: 999px; background: var(--brand-light); color: var(--brand-deep); font-size: 18px; }
.author-editorial-note { margin-top: 24px; padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.author-editorial-note h2 { margin: 0 0 12px; font-size: 27px; line-height: 1.6; }
.author-editorial-note p { max-width: 750px; font-size: 21px; }
@media (max-width: 800px) {
  .author-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .author-about { margin-inline-start: 0; }
}
@media (max-width: 540px) {
  .author-identity { gap: 18px; align-items: start; }
  .author-hero .author-avatar { width: 80px; height: 80px; font-size: 31px; }
  .author-identity h1 { font-size: 30px; }
  .author-bio { font-size: 21px; }
  .author-page .section-heading { flex-wrap: wrap; }
  .author-editorial-note { padding: 22px; }
}
@media (max-width: 380px) { .author-story-grid { grid-template-columns: minmax(0, 1fr); } }
