/* T32 Author profile - page layout only; visual tokens come from css/v2 */
.au-hero { border-bottom: var(--stroke); padding: 56px 0 48px; }
.au-hero__grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 40px; align-items: center; }
.au .psb-hero > .psb-container > * + * { margin-top: 0; }
.au-face { display: grid; place-items: center; width: 220px; aspect-ratio: 1; border: 3px solid var(--ink-900); border-radius: 50%; background: var(--media-bg); box-shadow: 6px 6px 0 0 var(--ink-900); }
.au-face img { width: 58%; height: auto; }
.au-hero__body { display: grid; gap: 12px; justify-items: start; }
.psb .au-hero h1.au-name { margin: 4px 0 0; font-size: clamp(3rem, 1.8rem + 4.5vw, 5.25rem); line-height: 1; color: var(--text-display); }
.au-role { font-size: var(--fs-body-l); font-weight: 500; color: var(--text-secondary); }
.au-creds { list-style: none; margin: 4px 0 0; padding: 0; gap: 8px; }
.au-creds .psb-pill { cursor: default; font-size: 13px; padding: 6px 12px; background: var(--bg-surface); }
.au-ph { font: 400 11px/1.5 var(--font-mono); letter-spacing: .02em; color: var(--accent); }

.au-bio { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; align-items: start; }
.au-bio__text { display: grid; gap: 1em; max-width: 680px; font-size: var(--fs-body-l); line-height: 1.7; color: var(--text-secondary); }
.au-stats { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.au-stats .psb-stat { font-size: var(--fs-body-s); }
.au-stats .psb-stat b { font-size: 30px; }

.au-topics { list-style: none; margin: 0; padding: 0; }
.au-topics .psb-pill:not([class*="psb-bg-"]) { --media-bg: var(--cream-0); }

.au-posts { list-style: none; margin: 0; padding: 0; }
.au-posts .psb-article { height: 100%; align-content: start; }
.au-media { --media-ratio: 16 / 9; }
.au-media img { width: auto; height: 62%; padding: 0; object-fit: contain; }
.au-post__h { font: 700 var(--fs-h5)/1.35 var(--font-body) !important; letter-spacing: 0 !important; }
.psb-article:hover .au-post__h { text-decoration: underline; }

@media (max-width: 900px) {
    .au-hero__grid { grid-template-columns: 1fr; gap: 24px; }
    .au-face { width: 150px; }
    .au-bio { grid-template-columns: 1fr; gap: 32px; }
}
