/* Shared author and technical-contact component. */
.author-card {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5) var(--space-6);
  margin-top: var(--space-10);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  text-align: left;
}
.author-card .author-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: #fff;
  font-size: 1.3rem;
  font-weight: 800;
}
.author-card .author-info { min-width: 0; font-size: var(--text-sm); line-height: 1.65; }
.author-card .author-info strong { display: block; color: var(--color-text); font-weight: 700; margin-bottom: .25rem; }
.author-card .author-info strong a { color: var(--color-text); text-decoration: none; }
.author-card .author-info strong a:hover { text-decoration: underline; }
.author-card .author-info span { display: block; color: var(--color-text-muted); }
.author-card .author-info .author-credentials { font-size: .82rem; line-height: 1.7; }
.author-card .author-info .author-role { margin-bottom: .25rem; font-size: .75rem; font-weight: 600; }
.author-card .author-technical-contact { border-top: 1px solid var(--color-border); margin-top: .8rem; padding-top: .8rem; }
.author-card .author-technical-contact > a { display: inline-block; margin-bottom: .3rem; color: var(--color-primary); }
@media (max-width: 480px) {
  .author-card { padding: var(--space-4); gap: var(--space-3); }
  .author-card .author-avatar { flex-basis: 44px; width: 44px; height: 44px; font-size: 1rem; }
}
