/* Public author identity and profile page; no ownership of the shared site shell. */
.ct-author-identity { display:inline-flex; align-items:center; gap:12px; color:#174b32; text-decoration:none; max-width:100%; }
.ct-author-identity > span:last-child { min-width:0; }
.ct-author-identity strong { display:block; overflow-wrap:anywhere; }
.ct-author-identity small { display:block; font-size:12px; color:#6b746b; margin-bottom:3px; }
.ct-author-avatar { position:relative; display:inline-grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:50%; overflow:hidden; background:#edf3ea; color:#17613f; font-weight:700; border:1px solid #d6e0d1; }
.ct-author-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#fff; }
.ct-author-avatar img[hidden] { display:none; }
.ct-news-detail-page .ct-article-people-grid .ct-author-identity span { margin:0; color:inherit; font-size:inherit; letter-spacing:normal; text-transform:none; }
.ct-news-detail-page .ct-article-people-grid .ct-author-identity .ct-author-avatar { display:inline-grid; }
.ct-news-detail-page .ct-article-people-grid .ct-author-identity .ct-author-avatar > span { font-size:16px; }
.ct-news-detail-page .ct-article-people-grid p { overflow-wrap:anywhere; }
.ct-author-identity:focus-visible, .ct-author-page a:focus-visible { outline:3px solid #b9974d; outline-offset:4px; }
.ct-author-identity:hover strong { text-decoration:underline; text-underline-offset:3px; }
.ct-author-page { padding-top:30px; padding-bottom:64px; }
.ct-author-profile { display:flex; gap:28px; padding:32px; margin:24px 0 40px; border:1px solid #e0d9c8; border-radius:20px; background:linear-gradient(115deg,#fffdf7,#f1f6ee); }
.ct-author-profile > .ct-author-avatar { align-self:flex-start; }
.ct-author-profile .ct-author-avatar { width:100px; height:100px; flex-basis:100px; font-size:30px; }
.ct-author-profile-copy { min-width:0; }
.ct-author-eyebrow { color:#866120; font-size:12px; font-weight:650; margin:0 0 8px; }
.ct-author-profile h1 { color:#0e3d28; font-size:clamp(26px,4vw,38px); line-height:1.25; margin:0 0 16px; overflow-wrap:anywhere; }
.ct-author-bio { white-space:pre-line; color:#526253; line-height:1.7; max-width:760px; margin:0 0 16px; overflow-wrap:anywhere; }
.ct-author-profile-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#17613f; font-weight:600; }
.ct-author-counts { margin:16px 0 0; color:#697468; font-size:13px; }
.ct-author-section { margin-top:36px; scroll-margin-top:calc(var(--site-header-height,80px) + 24px); }
.ct-author-section h2 { font-size:24px; color:#174b32; margin:0 0 24px; overflow-wrap:anywhere; }
.ct-author-resources { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ct-author-resource { display:flex; flex-direction:column; gap:12px; padding:22px; background:#fff; border:1px solid #dce5d8; border-radius:14px; color:#174b32; text-decoration:none; }
.ct-author-resource h3 { margin:0; font-size:18px; line-height:1.45; overflow-wrap:anywhere; }
.ct-author-resource p { margin:0; color:#697468; font-size:14px; line-height:1.6; }
.ct-author-resource small { color:#856424; }
.ct-author-resource > span { margin-top:auto; padding-top:12px; font-size:13px; font-weight:600; }
.ct-author-resource:hover { border-color:#b9974d; }
.ct-author-empty { padding:28px; background:#fff; border:1px dashed #cedac8; border-radius:12px; color:#697468; }
.ct-author-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:16px; margin-top:28px; color:#697468; font-size:13px; }
.ct-author-pagination a { display:inline-flex; align-items:center; min-height:44px; padding:0 16px; border:1px solid #cddac7; border-radius:8px; color:#17613f; text-decoration:none; background:#fff; }
@media(max-width:900px) { .ct-author-resources { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .ct-author-profile { padding:22px; flex-direction:column; gap:18px; border-radius:14px; } .ct-author-profile .ct-author-avatar { width:80px; height:80px; flex-basis:80px; } .ct-author-resources { grid-template-columns:minmax(0,1fr); } .ct-author-section h2 { font-size:21px; } }
