/* Long person biographies: approved reading mock, scoped to the author body. */
.cpa-v2--person .author-bio-long { color:#181c19; margin-top:28px; }
.cpa-v2--person .author-bio-long > h2 { font:normal clamp(30px,4vw,42px)/1.15 Georgia,serif; letter-spacing:-.025em; color:#263443; margin:12px 0; }
.cpa-v2--person .author-bio-meta { color:#657066; font-size:13px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:18px 0 28px; }
.cpa-v2--person .author-bio-meta > span+span { border-left:1px solid #d4dace; padding-left:14px; }
.cpa-v2--person .author-bio-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:30px; align-items:start; }
.cpa-v2--person .author-bio-layout--no-toc { grid-template-columns:minmax(0,820px); justify-content:center; }
.cpa-v2--person .author-bio-outline { position:sticky; top:calc(var(--cp-header-offset) + var(--cp-nav-size) + 24px); border-top:2px solid #b99c61; padding-top:14px; min-width:0; }
.cpa-v2--person .author-bio-toc summary { font-size:13px; font-weight:700; color:#285e46; min-height:44px; cursor:pointer; }
.cpa-v2--person .author-bio-toc nav { display:grid; gap:3px; max-height:calc(100dvh - var(--cp-header-offset) - var(--cp-nav-size) - 140px); overflow-y:auto; overscroll-behavior:contain; }
.cpa-v2--person .author-bio-toc a { display:flex; align-items:baseline; gap:10px; font-size:13px; line-height:1.5; text-decoration:none; padding:10px 10px 10px 0; min-height:44px; border-left:3px solid transparent; color:#566259; overflow-wrap:anywhere; }
.cpa-v2--person .author-bio-toc a span { font-size:10px; color:#7a846e; flex:0 0 20px; text-align:right; }
.cpa-v2--person .author-bio-toc a:hover { color:#285e46; background:#edf1e9; }
.cpa-v2--person .author-bio-toc a[aria-current] { border-left-color:#286a4d; color:#285e46; background:#e8eee4; border-radius:0 7px 7px 0; font-weight:600; }
.cpa-v2--person .author-bio-toc a:focus-visible { outline-offset:-3px; }
.cpa-v2--person .author-bio-back { margin-top:16px; display:block; color:#286a4d; font-size:12px; min-height:44px; }
.cpa-v2--person .author-bio-reading { background:#fff; border:1px solid #e1e3da; border-radius:18px; padding:30px 38px 38px; box-shadow:0 4px 20px #25384b04; min-width:0; }
.cpa-v2--person .author-bio-tools { display:flex; justify-content:space-between; gap:12px; align-items:center; padding-bottom:18px; margin-bottom:26px; border-bottom:1px solid #e6e8e0; }
.cpa-v2--person .author-bio-tools > span { color:#677165; font-size:12px; }
.cpa-v2--person .author-bio-tools button { min-height:44px; border:1px solid #cbd6cc; border-radius:8px; background:#fff; color:#285e46; padding:8px 13px; font-size:13px; }
.cpa-v2--person .author-bio-tools button[aria-pressed=true] { background:#286a4d; color:#fff; }
.cpa-v2--person .author-bio-text { font-size:17px; line-height:1.85; overflow-wrap:anywhere; }
.cpa-v2--person .author-bio-text p { font-size:inherit; color:#181c19; line-height:inherit; margin:0 0 1.25em; }
.cpa-v2--person .author-bio-text > p:first-child { font:normal 21px/1.7 Georgia,serif; color:#263c30; padding-left:18px; border-left:3px solid #c9ae72; margin-bottom:30px; }
.cpa-v2--person .author-bio-text :is(h1,h2,h3,h4,h5,h6) { font:normal 28px/1.25 Georgia,serif; color:#285e46; margin:42px 0 20px; padding-top:22px; border-top:1px solid #e5e7df; letter-spacing:-.015em; }
.cpa-v2--person .author-bio-text :is(h4,h5,h6) { font-size:23px; }
.cpa-v2--person .author-bio-long :is(h1,h2,h3,h4,h5,h6) { scroll-margin-top:calc(var(--cp-header-offset) + var(--cp-nav-size) + 24px); }
.cpa-v2--person .author-bio-text strong { font-weight:650; color:#183d2c; }
.cpa-v2--person .author-bio-text :is(ul,ol) { padding-left:24px; margin-bottom:24px; }
.cpa-v2--person .author-bio-text li { margin:8px 0; }
.cpa-v2--person .author-bio-text blockquote { margin:26px 0; padding:16px 20px; background:#f5f4ec; border-left:3px solid #bea26c; border-radius:0 8px 8px 0; color:#30473a; }
.cpa-v2--person .author-bio-text blockquote p:last-child { margin-bottom:0; }
.cpa-v2--person .author-bio-text img { max-width:100%; height:auto; }
.cpa-v2--person .author-bio-text pre { max-width:100%; overflow-x:auto; }
.cpa-v2--person .author-bio-text.is-large { font-size:19px; }
.cpa-v2--person .author-bio-ending { margin-top:32px; padding-top:22px; border-top:1px solid #e1e5db; display:flex; justify-content:flex-end; align-items:center; gap:16px; font-size:13px; }
.cpa-v2--person .author-bio-ending a { display:inline-flex; align-items:center; min-height:44px; }
.cpa-v2--person .author-bio-progress { position:fixed; top:calc(var(--cp-header-offset) + var(--cp-nav-size)); left:0; z-index:81; width:100%; height:3px; background:#e5e9df; pointer-events:none; }
.cpa-v2--person .author-bio-progress span { display:block; height:100%; width:0; background:#b69a5c; }
@media(max-width:920px) {
 .cpa-v2--person .author-bio-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
 .cpa-v2--person .author-bio-outline { position:static; padding:8px 16px; border:1px solid #d4ddd4; background:#eaf0e6; border-radius:10px; }
 .cpa-v2--person .author-bio-back { display:none; }
 .cpa-v2--person .author-bio-reading { padding:24px 28px; }
 .cpa-v2--person .author-bio-toc nav { padding-bottom:8px; max-height:none; overflow:visible; }
}
@media(max-width:600px) {
 .cpa-v2--person .author-bio-reading { padding:20px 18px; border-radius:12px; }
 .cpa-v2--person .author-bio-text { font-size:16px; line-height:1.8; }
 .cpa-v2--person .author-bio-text.is-large { font-size:18px; }
 .cpa-v2--person .author-bio-text > p:first-child { font-size:19px; padding-left:13px; }
 .cpa-v2--person .author-bio-text :is(h1,h2,h3) { font-size:25px; margin-top:32px; }
 .cpa-v2--person .author-bio-tools > span,
 .cpa-v2--person .author-bio-mobile-hide { display:none; }
 .cpa-v2--person .author-bio-tools { justify-content:flex-end; padding-bottom:12px; margin-bottom:18px; }
 .cpa-v2--person .author-bio-meta { margin-bottom:20px; gap:8px 14px; }
 .cpa-v2--person .author-bio-ending { flex-wrap:wrap; }
}
@media print {
 .cpa-v2--person :is(.author-bio-outline,.author-bio-tools,.author-bio-progress,.author-bio-ending) { display:none; }
 .cpa-v2--person .author-bio-layout { display:block; }
 .cpa-v2--person .author-bio-reading { border:0; padding:0; box-shadow:none; }
}
