/* ==========================================================================
   Contributor profiles (template: author, src/components/author/). Loaded
   after site.css and doc.css, which supplies the bio's prose styles.
   ========================================================================== */
:where(.au) h1,:where(.au) h2{font-family:var(--ui-sans);font-weight:500;color:var(--ui-ink);margin:0}

.au .crumbs{padding-top:28px}
.au .crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:14.5px;color:var(--ui-muted)}
.au .crumbs li+li::before{content:"/";margin-right:6px;color:var(--ui-field)}
.au .crumbs a{color:var(--ui-muted);text-underline-offset:3px}
.au .crumbs [aria-current]{color:var(--ui-ink)}

/* ---------- hero ---------- */
.au-hero{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:center;padding-top:36px;padding-bottom:56px}
.au-hero .photo{width:260px;height:260px;border-radius:50%;object-fit:cover;object-position:top;box-shadow:0 24px 48px -28px rgba(22,64,66,.45)}
.au .kicker{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-teal);margin:0 0 12px}
.au-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.04;letter-spacing:-.04em;margin:0 0 14px}
.au-hero .dek{font-size:19px;line-height:1.5;color:var(--ui-muted);margin:0 0 20px}
.au .facts{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.au .facts:empty{display:none}
.au .facts li{font-size:15px;color:var(--ui-tide);background:var(--ui-mint);border-radius:999px;padding:8px 14px}
.au .facts b{font-weight:600}
.au .links{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.au .links a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--ui-field);border-radius:999px;background:var(--ui-white);color:var(--ui-tide);font:600 15px/1 var(--ui-sans);text-decoration:none}
.au .links a:hover{background:var(--ui-mint);border-color:var(--ui-teal)}

/* ---------- bio ---------- */
.au .doc-body a{color:var(--ui-teal);text-decoration-thickness:1px;text-underline-offset:3px}
.au .doc-body a:hover{color:var(--ui-tide)}
.au-body{padding-bottom:88px}
.au-body .doc-body{max-width:760px;padding-top:40px;border-top:1px solid var(--ui-line)}

/* ---------- article grids ---------- */
.au-grid{padding-bottom:88px}
.au-grid h2{font-size:clamp(28px,3.2vw,40px);line-height:1.1;letter-spacing:-.03em;margin:0 0 24px}
.au .cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.au .cards a{display:flex;flex-direction:column;height:100%;background:var(--ui-white);border:1px solid var(--ui-line);border-radius:var(--ui-r-md);overflow:hidden;color:var(--ui-ink);text-decoration:none;transition:border-color .2s}
.au .cards a:hover{border-color:var(--ui-leaf)}
.au .cards a:hover .t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.au .cards img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.au .cards .b{display:flex;flex-direction:column;gap:7px;padding:18px 20px 20px;flex:1}
.au .cards .t{font-size:19px;font-weight:500;line-height:1.3;letter-spacing:-.01em}
.au .cards .x{font-size:15px;line-height:1.55;color:var(--ui-muted)}
.au .cards .m{margin-top:auto;padding-top:6px;font-size:14px;color:var(--ui-muted)}

@media (max-width:1000px){
  .au .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .au-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:24px;padding-bottom:36px}
  .au-hero .photo{width:160px;height:160px}
}
@media (max-width:640px){
  .au .ui-wrap{padding:0 18px}
  .au .crumbs{padding-top:20px}
  .au-hero .dek{font-size:17.5px}
  .au-body,.au-grid{padding-bottom:64px}
  .au-body .doc-body{padding-top:28px}
  .au .cards{grid-template-columns:minmax(0,1fr);gap:12px}
  .au .cards a{flex-direction:row;align-items:flex-start;gap:14px;padding:12px}
  .au .cards img{flex:none;width:104px;aspect-ratio:1;border-radius:var(--ui-r-sm)}
  .au .cards .b{padding:0;gap:5px}
  .au .cards .t{font-size:16.5px}
  .au .cards .x{display:none}
}
