/* Founders and authors, and the author page (docs/design/authors.html). Scoped to .au2: .stats, .people, .facts,
   .nums, .rows are generic names. */
.au2 { padding-bottom: 50px; }
.au2 .crumbs { font: 400 13px/1.4 var(--sans); color: var(--ink-soft); padding: 24px 0 0; }
.au2 .kick { display: block; margin: 0 0 14px; font: 600 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--seal); }
.au2 .ph { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(24px, 4vw, 56px); align-items: end; padding: 18px 0 22px; }
@media (max-width: 960px) { .au2 .ph { grid-template-columns: 1fr; } }
.au2 .ph h1 { font: 600 clamp(40px, 5.4vw, 64px)/1 var(--serif); letter-spacing: -.03em; margin: 0 0 14px; }
.au2 .lead, .au2 .lead p { font: 400 19px/1.55 var(--serif); color: #3e3830; margin: 0; max-width: 56ch; }
.au2 .stats { display: grid; gap: 0; grid-template-columns: repeat(4, minmax(max-content, 1fr)); border: 1px solid var(--rule); border-radius: 14px; background: var(--white); overflow: hidden; margin: 0; }
.au2 .stats > div { padding: 14px 16px; border-right: 1px solid var(--rule); min-width: 0; }
.au2 .stats dd { white-space: nowrap; }
@media (max-width: 600px) { .au2 .stats { grid-template-columns: 1fr 1fr; } .au2 .stats > div:nth-child(2) { border-right: 0; } .au2 .stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--rule); } }
.au2 .stats > div:last-child { border-right: 0; }
.au2 .stats dt, .au2 .nums dt { font: 600 10px/1.2 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); }
.au2 .stats dd { margin: 6px 0 0; font: 600 24px/1 var(--serif); }
.au2 .bar2 { display: flex; align-items: center; gap: 8px; padding: 12px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); position: sticky; top: var(--hd-h, 0px); background: var(--paper); z-index: 10; overflow-x: auto; scrollbar-width: none; }
.au2 .bar2 > * { flex: none; }
.au2 .find { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; border: 1px solid var(--rule); border-radius: 99px; background: var(--white); width: 260px; margin: 0; }
.au2 .find svg { width: 15px; height: 15px; color: var(--ink-soft); flex: none; }
.au2 .find input { border: 0; background: none; outline: none; font: 400 14px/1 var(--sans); width: 100%; color: var(--ink); }
.au2 .ch { display: inline-flex; align-items: center; height: 34px; padding: 0 12px; border: 1px solid var(--rule); border-radius: 99px; background: var(--white); font: 500 13px/1 var(--sans); text-decoration: none; color: var(--ink); }
.au2 .nothing { font: 400 14px/1.5 var(--sans); color: var(--ink-soft); margin: 18px 0 0; }
.au2 .s3 { padding: 32px 0 6px; scroll-margin-top: 60px; }
.au2 .h3x { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; border-top: 2px solid var(--ink); padding-top: 12px; margin: 0 0 16px; }
.au2 .h3x .no { font: 600 11px/1 var(--sans); letter-spacing: .08em; color: var(--seal); }
.au2 .h3x h2 { font: 600 26px/1.15 var(--serif); margin: 0; }
.au2 .h3x > span:last-child { font: 400 14px/1.4 var(--sans); color: var(--ink-soft); }

.au2 .tp { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 760px) { .au2 .tp { grid-template-columns: 1fr; } }
.au2 .tpc { display: grid; grid-template-columns: 120px 1fr; gap: 18px; border: 1px solid var(--rule); border-radius: 18px; background: var(--white); padding: 16px; text-decoration: none; color: var(--ink); }
.au2 .por { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; background: linear-gradient(170deg, #B9AE9C, #5f564b); display: grid; place-items: center; color: #F3EDE2; font: 600 40px/1 var(--kr); }
.au2 .tpc .ko { font: 500 15px/1 var(--kr); color: var(--ink-soft); }
.au2 .tpc b { display: block; font: 600 24px/1.15 var(--serif); margin: 4px 0; }
.au2 .tpc .yrs { font: 500 13px/1 var(--sans); color: var(--ink-soft); }
.au2 .tpc p { margin: 10px 0 12px; font: 400 14px/1.5 var(--sans); color: var(--ink-soft); }
.au2 .cnts { display: flex; flex-wrap: wrap; gap: 6px 14px; font: 500 12px/1.3 var(--sans); color: var(--ink-soft); }
.au2 .cnts b { display: inline; font: 600 14px/1 var(--serif); color: var(--ink); margin: 0; }

.au2 .people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 960px) { .au2 .people { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: none; } .au2 .people > * { flex: 0 0 80%; scroll-snap-align: start; } }
.au2 .pc { display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: center; border: 1px solid var(--rule); border-radius: 14px; background: var(--white); padding: 14px; text-decoration: none; color: var(--ink); }
.au2 .pc:hover, .au2 .tpc:hover { border-color: var(--ink); }
.au2 .av { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; display: grid; place-items: center; background: linear-gradient(160deg, #B9AE9C, #7d7263); color: #F3EDE2; font: 600 18px/1 var(--kr); }
.au2 .av.seal { background: var(--seal); }
.au2 .org .av { border-radius: 10px; background: var(--ink); font-family: var(--serif); }
.au2 .pc b { display: block; font: 600 17px/1.2 var(--serif); }
.au2 .pc .ko { font: 500 13px/1 var(--kr); color: var(--ink-soft); margin-left: 6px; }
.au2 .pc small { display: block; font: 400 12px/1.4 var(--sans); color: var(--ink-soft); margin-top: 3px; }
.au2 .alist { list-style: none; margin: 0; padding: 0; columns: 2 360px; column-gap: 36px; }
.au2 .alist li { break-inside: avoid; }
.au2 .alist a { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid var(--rule); text-decoration: none; color: var(--ink); }
.au2 .alist b { font: 600 16px/1.3 var(--serif); }
.au2 .alist small { display: block; font: 400 12px/1.3 var(--sans); color: var(--ink-soft); margin-top: 2px; }
.au2 .alist .k { font: 600 10px/1 var(--sans); letter-spacing: .05em; text-transform: uppercase; color: var(--ink-faint); white-space: nowrap; }

/* the author page */
.au2 .ah { display: grid; grid-template-columns: 200px minmax(0, 1fr) 300px; gap: clamp(24px, 3vw, 44px); padding: 22px 0 26px; align-items: start; }
@media (max-width: 1060px) { .au2 .ah { grid-template-columns: 140px 1fr; } .au2 .ah .facts { grid-column: 1 / -1; } }
@media (max-width: 600px) { .au2 .ah { grid-template-columns: 1fr; } .au2 .ah .por { max-width: 140px; } }
.au2 .ah .por { font-size: 56px; }
.au2 .ah .kick { margin: 0 0 10px; }
.au2 .ah .ko { font: 500 22px/1 var(--kr); color: var(--ink-soft); margin: 0 0 6px; }
.au2 .ah h1 { font: 600 clamp(38px, 5vw, 58px)/1.02 var(--serif); letter-spacing: -.025em; margin: 0 0 10px; }
.au2 .ah .role { font: 500 15px/1.4 var(--sans); color: var(--ink-soft); margin: 0 0 14px; }
.au2 .ah .bio { font: 400 18px/1.6 var(--serif); margin: 0 0 16px; max-width: 58ch; }
.au2 .acts { display: flex; flex-wrap: wrap; gap: 8px; }
.au2 .act { display: inline-flex; align-items: center; height: 42px; padding: 0 16px; border: 1px solid var(--rule); border-radius: 99px; background: var(--white); font: 600 14px/1 var(--sans); text-decoration: none; color: var(--ink); }
.au2 .act.m { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.au2 .facts { border: 1px solid var(--rule); border-radius: 14px; background: var(--white); padding: 16px; }
.au2 .facts .kick { margin-bottom: 10px; color: var(--ink-faint); }
.au2 .facts dl { display: grid; grid-template-columns: max-content 1fr; gap: 8px 12px; margin: 0; font: 400 14px/1.4 var(--sans); }
.au2 .facts dt { color: var(--ink-soft); }
.au2 .facts dd { margin: 0; }
.au2 .nums { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--rule); border-radius: 14px; background: var(--white); overflow: hidden; margin: 0 0 6px; }
@media (max-width: 700px) { .au2 .nums { grid-template-columns: 1fr 1fr; } }
.au2 .nums > div { padding: 12px 14px; border-right: 1px solid var(--rule); }
.au2 .nums > div:last-child { border-right: 0; }
.au2 .nums dd { margin: 6px 0 0; font: 600 22px/1 var(--serif); }
.au2 .nums a { text-decoration: none; color: var(--ink); }
.au2 .anch { display: flex; gap: 6px; overflow-x: auto; padding: 10px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); position: sticky; top: var(--hd-h, 0px); background: var(--paper); z-index: 10; margin-top: 18px; scrollbar-width: none; }
.au2 .anch a { flex: none; font: 500 14px/1 var(--sans); text-decoration: none; padding: 8px 12px; border-radius: 99px; color: var(--ink); }
.au2 .anch a:hover { background: var(--paper-deep); }
.au2 .bookgrp { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 22px; border: 1px solid var(--rule); border-radius: 16px; background: var(--white); padding: 18px; margin: 0 0 16px; }
@media (max-width: 700px) { .au2 .bookgrp { grid-template-columns: 1fr; } .au2 .bookgrp .bk { max-width: 120px; } }
.au2 .bookgrp .bk { display: block; border: 0; padding: 0; background: none; box-shadow: none; }
.au2 .bookgrp .cv { aspect-ratio: 17 / 22; width: 100%; position: relative; overflow: hidden; border-radius: 2px 5px 5px 2px; }
.au2 .bookgrp .cv.ph { display: flex; flex-direction: column; justify-content: space-between; padding: 12px 10px 10px 14px; }
.au2 .bookgrp .cv.ph b { font: 600 13px/1.2 var(--serif); margin: 0; }
.au2 .bookgrp .kick { margin-bottom: 6px; }
.au2 .bookgrp h3 { font: 600 20px/1.25 var(--serif); margin: 0 0 4px; }
.au2 .bookgrp h3 a { text-decoration: none; color: var(--ink); }
.au2 .bookgrp .sub { font: 500 14px/1.4 var(--kr); color: var(--ink-soft); margin: 0 0 10px; }
.au2 .chl { list-style: none; margin: 0; padding: 0; columns: 2 280px; column-gap: 28px; }
.au2 .chl li { break-inside: avoid; }
.au2 .chl a { display: grid; grid-template-columns: 38px 1fr; gap: 8px; padding: 7px 0; border-bottom: 1px dotted var(--rule); text-decoration: none; color: var(--ink); font: 400 15px/1.35 var(--serif); }
.au2 .chl a span { font: 600 12px/1.5 var(--sans); color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.au2 .more { display: inline-block; margin-top: 10px; font: 600 13px/1 var(--sans); }
.au2 .rows { list-style: none; margin: 0; padding: 0; }
.au2 .rows a { display: grid; grid-template-columns: 110px 1fr auto; gap: 14px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--rule); text-decoration: none; color: var(--ink); }
.au2 .rows time { font: 600 13px/1.4 var(--sans); color: var(--ink-soft); }
.au2 .rows b { font: 600 17px/1.3 var(--serif); }
.au2 .rows .t { font: 500 12px/1 var(--sans); color: var(--ink-faint); }
@media (max-width: 600px) { .au2 .rows a { grid-template-columns: 1fr; gap: 4px; } }
.au2 .ment { list-style: none; margin: 0; padding: 0; }
.au2 .ment.two2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
@media (max-width: 860px) { .au2 .ment.two2 { grid-template-columns: 1fr; } }
.au2 .ment li { padding: 12px 0; border-bottom: 1px solid var(--rule); }
.au2 .ment a { font: 600 16px/1.3 var(--serif); text-decoration: none; color: var(--ink); }
.au2 .ment small { display: block; font: 400 12px/1.4 var(--sans); color: var(--ink-soft); margin-top: 2px; }
.au2 .ment q { display: block; font: 400 14px/1.5 var(--serif); color: var(--ink-soft); margin-top: 4px; }
.au2 .pager { display: flex; justify-content: space-between; padding: 18px 0 0; font: 500 15px/1 var(--sans); }
.au2 [hidden] { display: none !important; }

/* Contributors (pagination-years-contributors.md §3): a plain list, three columns, one on a phone */
.au2 .contrib-lead { font: 400 15px/1.5 var(--sans); color: var(--ink-soft); margin: 0 0 14px; }
.au2 .contribs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 24px; }
@media (max-width: 760px) { .au2 .contribs { grid-template-columns: 1fr; } }
.au2 .contribs li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 8px 0; border-bottom: 1px solid var(--rule); }
.au2 .contribs b { font: 600 15px/1.3 var(--serif); }
.au2 .contribs a { color: inherit; }
.au2 .contribs small { flex-basis: 100%; font: 400 13px/1.4 var(--sans); color: var(--ink-faint, #9A8F80); }
.au2 .contribs span { font: 500 12px/1 var(--sans); color: var(--ink-soft); margin-left: auto; }
.au2 .contrib-more { margin: 14px 0 0; font: 600 14px/1.3 var(--sans); }
