/* Mployer — author page layout v4 (all authors). Port of mployer-author-brian-v3.css (July founder page).
   Every class is prefixed au- and scoped under .au-root, because the site's shared CSS styles bare
   elements and generic class names. Content comes from CMS-bound Webflow elements on the Authors
   template; Webflow adds .w-dyn-bind-empty to any bound element whose field is empty, and the
   :has() rules below hide the whole section around it, so authors never show an empty block. */
.au-root{
  --forest:#0A2E30;
  --ground:#F5F4EF;
  --paper:#FCFBF8;
  --ink-soft:#4C5A57;
  --ink-faint:#8A938C;
  --teal:#1C8C87;
  --teal-deep:#136A66;
  --line:#E3DFD4;
  --line-strong:#D5D0C2;
  --shadow:0 1px 2px rgba(10,46,48,.05), 0 14px 44px -20px rgba(10,46,48,.28);
}
.au-root, .au-root *{box-sizing:border-box;margin:0;padding:0;}
.au-root{background:var(--ground);color:var(--ink-soft);font-family:'Inter',system-ui,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;}
.au-root p, .au-root li, .au-root h1, .au-root h2, .au-root h4, .au-root h5, .au-root blockquote, .au-root a{font-family:inherit;}
.au-root a{color:inherit;}
.au-root img{display:block;max-width:100%;}
.au-root :focus-visible{outline:2px solid var(--teal-deep);outline-offset:3px;border-radius:4px;}

/* Page chrome: the old layout stays in the DOM (its post lists feed Recent writing) but is never shown;
   the wrapper's top spacer and the section's flex/inset were sized for the old absolute navbar. */
.section_author:has(.au-root) > .container_normal{display:none !important;}
.page-wrapper:has(.au-root){margin-top:0 !important;padding-top:0 !important;}
.section_author:has(.au-root){display:block;padding-left:0;padding-right:0;}

.au-root .au-wrap{max-width:1180px;margin:0 auto;padding:0 40px;}
.au-root .au-band{height:88px;background:linear-gradient(105deg,#DCEFEC 0%,#E9F0EA 52%,#EFE9DF 100%);}
.au-root .au-eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:18px;}

/* Hero */
.au-root .au-hero{padding:60px 0 48px;}
.au-root .au-hero-top{display:flex;align-items:center;gap:34px;margin-bottom:34px;}
.au-root .au-portrait{width:200px;height:200px;object-fit:cover;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);flex-shrink:0;background:var(--paper);}
.au-root .au-name{font-family:'Fraunces',serif;font-weight:500;font-size:58px;line-height:1;letter-spacing:-.02em;margin-bottom:12px;color:var(--forest);}
.au-root .au-role{font-size:19px;color:var(--ink-soft);font-weight:500;}
.au-root .au-role-title, .au-root .au-role-co{display:inline;}
.au-root .au-role-title{color:var(--forest);font-weight:600;}
.au-root .au-role-co::before{content:", ";}
.au-root .au-hero-body{max-width:820px;}
.au-root .au-lede p{font-size:18px;color:var(--ink-soft);margin-bottom:16px;}
.au-root .au-lede p:last-child{margin-bottom:26px;}
.au-root .au-lede a{color:var(--teal-deep);text-decoration:none;border-bottom:1px solid rgba(19,106,102,.35);}
.au-root .au-lede a:hover{border-bottom-color:var(--teal-deep);}
.au-root .au-quote{margin:24px 0 0;padding:4px 0 4px 20px;border-left:3px solid var(--teal);font-family:'Fraunces',serif;font-weight:400;font-size:19px;line-height:1.5;color:var(--forest);}
.au-root .au-quote::before{content:"\201C";}
.au-root .au-quote::after{content:"\201D";}

/* Sections */
.au-root .au-s-exp, .au-root .au-s-topics, .au-root .au-s-writing, .au-root .au-s-connect{padding:48px 0;border-top:1px solid var(--line);}
.au-root .au-h2{font-family:'Fraunces',serif;font-weight:500;font-size:23px;line-height:1.3;color:var(--forest);margin-bottom:24px;letter-spacing:-.01em;}

/* Experience: work-history rich text = <h4>Company</h4><ul><li>Role · dates</li></ul> (optional <h5> group) */
.au-root .au-jobs, .au-root .au-edu{max-width:860px;}
.au-root .au-jobs h4{font-family:'Fraunces',serif;font-size:19px;line-height:1.4;font-weight:500;color:var(--forest);margin:0 0 10px;padding-top:18px;border-top:1px solid var(--line);}
.au-root .au-jobs h4:first-child{padding-top:0;border-top:none;}
.au-root .au-jobs h4 .au-meta{font-family:'Inter',sans-serif;font-size:13px;font-weight:400;color:var(--ink-faint);}
.au-root .au-jobs h5{font-size:11px;line-height:1.5;font-weight:400;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 2px;}
.au-root .au-jobs ul{list-style:none;margin:0 0 18px;padding:0;}
.au-root .au-jobs li{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:5px 0;margin:0;font-size:15.5px;line-height:1.6;color:var(--forest);}
.au-root .au-jobs li::before, .au-root .au-edu-list li::before{content:none;}
.au-root .au-jobs .au-rd{font-size:13.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap;}
.au-root .au-jobs + .au-edu{margin-top:24px;}
.au-root .au-edu .au-k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px;}
.au-root .au-edu-list ul{list-style:none;margin:0;padding:0;display:flex;gap:12px 48px;flex-wrap:wrap;}
.au-root .au-edu-list li{margin:0;padding:0;font-size:16px;line-height:1.5;color:var(--forest);}
.au-root .au-edu-list .au-school{display:block;font-weight:600;}
.au-root .au-edu-list small{display:block;font-size:14px;color:var(--ink-soft);font-weight:400;}

/* Topics: plain comma list until the script turns it into chips */
.au-root .au-topics{font-size:15px;color:var(--forest);}
.au-root .au-topics.is-chips{display:flex;flex-wrap:wrap;gap:10px;}
.au-root .au-chip{padding:8px 15px;border:1px solid var(--line-strong);border-radius:100px;background:var(--paper);font-size:14.5px;line-height:1.4;color:var(--forest);font-weight:500;}

/* Recent writing: cards are built by the script from the template's post lists; the section stays
   hidden until there is at least one card, so it never shows empty (including with JS off). */
.au-root .au-s-writing:not(.is-ready){display:none;}
.au-root .au-articles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.au-root .au-article{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;transition:all .2s ease;display:flex;flex-direction:column;}
.au-root .au-article:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-strong);}
.au-root .au-article img{height:160px;width:100%;object-fit:cover;}
.au-root .au-article .au-body{padding:15px 16px 17px;flex:1;display:flex;flex-direction:column;}
.au-root .au-article .au-cat{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);font-weight:600;margin-bottom:7px;}
.au-root .au-article .au-t{font-size:15px;font-weight:600;line-height:1.3;color:var(--forest);flex:1;}

/* Connect */
.au-root .au-connect{display:flex;gap:14px;flex-wrap:wrap;}
.au-root .au-card{flex:1 1 200px;padding:18px 20px;border:1px solid var(--line-strong);border-radius:12px;background:var(--paper);text-decoration:none;transition:all .18s ease;display:block;}
.au-root .au-card:hover{border-color:var(--forest);transform:translateY(-2px);}
.au-root .au-card-k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;line-height:1.5;}
.au-root .au-card-v{font-size:16px;font-weight:500;color:var(--forest);line-height:1.5;}

/* Hide whatever an author has no data for */
.au-root .au-s-exp:has(.au-jobs.w-dyn-bind-empty):has(.au-edu-list.w-dyn-bind-empty){display:none;}
.au-root .au-edu:has(.au-edu-list.w-dyn-bind-empty){display:none;}
.au-root .au-s-topics:has(.au-topics.w-dyn-bind-empty){display:none;}
.au-root .au-card.w-dyn-bind-empty, .au-root .au-card[href="#"]{display:none;}

@media(max-width:800px){
  .au-root .au-articles{grid-template-columns:1fr 1fr;}
}
@media(max-width:720px){
  .au-root .au-wrap{padding:0 22px;}
  .au-root .au-hero{padding:40px 0 36px;}
  .au-root .au-hero-top{flex-direction:column;align-items:flex-start;gap:18px;}
  .au-root .au-portrait{width:150px;height:150px;}
  .au-root .au-name{font-size:44px;}
  .au-root .au-jobs li{grid-template-columns:1fr;gap:0;}
}
@media(max-width:520px){
  .au-root .au-articles{grid-template-columns:1fr;}
}
