.author-profile{margin-bottom:var(--section-gap)}.author-profile-header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-align:center}.author-photo-large{width:112px;height:112px;border-radius:50%;object-fit:cover}.author-photo-placeholder{display:flex;align-items:center;justify-content:center;background:var(--primary-soft);color:var(--primary-color);font-size:var(--fs-2xl);font-weight:var(--fw-display)}.author-info{flex:1;min-width:0}.author-name-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs)}.author-name-large{font-size:var(--fs-2xl);font-weight:var(--fw-display);letter-spacing:var(--tracking-display);margin:0;color:var(--text-primary)}.author-role{font-size:var(--fs-base);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.author-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-xs) var(--spacing-lg);font-size:var(--fs-sm);color:var(--text-muted)}.author-stats span{display:flex;align-items:center;gap:var(--spacing-xs)}.author-bio{margin-top:var(--spacing-lg)}.author-bio h2{font-size:var(--fs-lg);font-weight:var(--fw-heading);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.author-bio p{font-size:var(--fs-base);line-height:1.7;color:var(--text-secondary);margin-bottom:var(--spacing-md)}.author-bio p:last-child{margin-bottom:0}.author-header-links{display:flex;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.author-header-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--icon-sm);transition:border-color var(--transition-fast),color var(--transition-fast)}.author-header-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}@media(min-width:768px){.author-profile-header{flex-direction:row;text-align:left;gap:var(--spacing-lg)}.author-name-row,.author-stats,.author-header-links{justify-content:flex-start}}
