/* Specialist profiles: portrait hero, sticky contents, timelines and reference lists. */
.profile-page{background:#f7f5f0;color:var(--navy)}
.bio-hero{background:linear-gradient(180deg,#eeebe4 0,#eeebe4 82%,#f7f5f0 82%);padding:56px 0 0}
.bio-hero-grid{display:grid;grid-template-columns:440px minmax(0,1fr);gap:90px;align-items:center}
.profile-portrait{margin:0}
.profile-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;background:#e3dfd8}
.profile-intro{padding:20px 0 70px}
.profile-intro .about-crumbs{margin-bottom:46px;flex-wrap:wrap}
.profile-intro h1{font-size:72px;line-height:1;letter-spacing:-.035em;margin-bottom:22px}
.profile-role{font:400 24px/1.4 var(--serif);color:#464b5b;max-width:560px;margin-bottom:34px}
.profile-hours{display:inline-flex;flex-direction:column;gap:6px;padding:20px 24px;background:#fcfbf9;border:1px solid #cbaf6a55;margin-bottom:30px;min-width:300px}
.profile-hours p{display:flex;justify-content:space-between;gap:30px;font-size:16px}
.profile-hours strong{font-weight:600}
.profile-hours small{font-size:11px;color:var(--gold-ink)}

.profile-body{display:grid;grid-template-columns:250px minmax(0,1fr);gap:90px;padding:80px 0 110px;align-items:start}
.profile-toc{position:sticky;top:30px;display:flex;flex-direction:column;gap:22px}
.profile-toc nav{display:flex;flex-direction:column;border-top:1px solid #cbaf6a66}
.profile-toc nav a{padding:13px 0;border-bottom:1px solid #cbaf6a33;font-size:13px;line-height:1.4}
.profile-toc nav a:hover{color:var(--olive)}
.profile-toc .text-link{align-self:flex-start;margin-top:6px}
.profile-sections{min-width:0;max-width:820px;overflow-wrap:anywhere}
.profile-section{padding:0 0 56px;margin-bottom:56px;border-bottom:1px solid #cbaf6a44;scroll-margin-top:30px}
.profile-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.profile-section h2{font-size:42px;line-height:1.08;margin-bottom:30px}
.profile-prose p{font-size:16px;line-height:1.95;color:#464b5b}
.profile-prose p+p{margin-top:18px}
.profile-section:first-child .profile-prose p:first-child{font:400 25px/1.5 var(--serif);color:var(--navy);letter-spacing:-.01em}

.profile-timeline{list-style:none;margin:0;padding:0;border-top:1px solid #cbaf6a44}
.profile-timeline li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;padding:18px 0;border-bottom:1px solid #cbaf6a2a}
.profile-years{font-size:12px;font-weight:600;color:var(--gold-ink);font-variant-numeric:tabular-nums;padding-top:3px}
.profile-timeline strong{display:block;font:400 21px/1.35 var(--serif);color:var(--navy)}
.profile-timeline span:not(.profile-years){display:block;font-size:14px;line-height:1.7;color:#515767;margin-top:4px}
.profile-timeline .profile-sub{font-size:13px!important;color:#666d81!important}

.profile-list{list-style:none;margin:0;padding:0}
.profile-list li{position:relative;padding:12px 0 12px 26px;font-size:15px;line-height:1.75;color:#464b5b;border-bottom:1px solid #cbaf6a22}
.profile-list li:before{content:'';position:absolute;left:2px;top:22px;width:7px;height:7px;border:1px solid var(--gold);border-radius:50%}
.profile-refs li{font-size:13px;line-height:1.7;padding-left:0;color:#515767}
.profile-refs li:before{display:none}
.profile-refs{counter-reset:ref}
.profile-refs li{counter-increment:ref;display:grid;grid-template-columns:42px minmax(0,1fr)}
.profile-refs li:after{content:counter(ref,decimal-leading-zero);grid-row:1;grid-column:1;font-size:11px;color:var(--gold-ink);padding-top:2px}
.profile-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.profile-chips li{padding:10px 18px;border:1px solid #cbaf6a66;background:#fcfbf9;font-size:13px}

@media(max-width:1150px){.bio-hero-grid{grid-template-columns:360px 1fr;gap:56px}.profile-intro h1{font-size:58px}.profile-body{grid-template-columns:200px 1fr;gap:50px}}
@media(max-width:760px){
.bio-hero{padding:24px 0 0;background:#eeebe4}
.bio-hero-grid{grid-template-columns:1fr;gap:0}
.profile-portrait{order:2;margin:0 -20px}
.profile-portrait img{aspect-ratio:1/1.05}
.profile-intro{padding:0 0 34px}
.profile-intro .about-crumbs{margin-bottom:30px}
.profile-intro h1{font-size:46px}
.profile-role{font-size:20px;margin-bottom:26px}
.profile-hours{display:flex;min-width:0}
.profile-intro .actions .btn{flex:1 1 auto}
.profile-body{grid-template-columns:1fr;gap:30px;padding:44px 0 60px}
.profile-toc{position:static}
.profile-toc nav{flex-direction:row;flex-wrap:wrap;gap:8px;border:0}
.profile-toc nav a{border:1px solid #cbaf6a55;padding:8px 12px;font-size:12px}
.profile-section{padding-bottom:40px;margin-bottom:40px}
.profile-section h2{font-size:34px;margin-bottom:22px}
.profile-prose p{font-size:15px}
.profile-section:first-child .profile-prose p:first-child{font-size:21px}
.profile-timeline li{grid-template-columns:1fr;gap:4px}
.profile-timeline strong{font-size:19px}
}
.profile-sections a{color:var(--gold-ink);text-decoration:underline;text-decoration-color:#cbaf6a88;text-underline-offset:3px}
.profile-sections a:hover{color:var(--olive);text-decoration-color:currentColor}

.profile-hours .hours-row { display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-top:8px; }
.profile-hours .hours-row time { white-space:nowrap; font-variant-numeric:tabular-nums; }
