/* Third biography: a left-anchored composition and continuous organic panel. */
.bio-section { --bio-paper:#ece1d5; --bio-sage:#8d947d; --bio-ink:#192c21; position:relative; overflow:hidden; background:var(--bio-paper); }
.bio-frame { position:relative; isolation:isolate; display:grid; grid-template-columns:43% 57%; align-items:center; min-height:760px; width:min(100%,1680px); margin:0 auto 0 0; padding:65px 7% 80px 0; }
.bio-panel { position:absolute; z-index:-2; inset:0 0 0 auto; width:68%; height:100%; fill:var(--bio-sage); stroke:none; }
.bio-panel-shadow { fill:#cfc4b4; }
.bio-portrait { position:absolute; z-index:-1; left:2%; top:3%; width:39%; height:94%; fill:none; stroke:none; overflow:visible; }
.bio-content { grid-column:2; min-width:0; max-width:68ch; padding-left:28px; color:var(--bio-ink); }
.bio-title { margin:0; color:var(--bio-ink); font:400 clamp(60px,5.5vw,88px)/.92 var(--font-display); letter-spacing:-.03em; }
.bio-title span { display:block; }
.bio-title em { color:var(--bio-ink); font-weight:400; }
.bio-rule { width:64px; height:1px; margin:24px 0; background:var(--bio-ink); opacity:.45; }
.bio-copy { display:grid; gap:16px; font-size:clamp(15px,1.05vw,17px); line-height:1.65; text-wrap:pretty; }
.bio-copy p { margin:0; }
.bio-copy p:first-child { font-size:1.12em; line-height:1.55; }
.bio-copy strong { font-weight:600; }
.bio-contacts { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:24px; font-size:13px; font-style:normal; }
.bio-contacts a { display:inline-flex; min-height:44px; align-items:center; gap:8px; color:inherit; border-bottom:1px solid currentColor; text-decoration:none; }
.bio-contacts svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; }
.bio-contacts a:hover { text-decoration:underline; text-underline-offset:4px; }
.bio-contacts a:focus-visible { outline:2px solid var(--bio-ink); outline-offset:5px; }
.bio-content ::selection { background:var(--bio-ink); color:var(--bio-paper); }
@media (min-width:901px) and (max-width:1180px) {
  .bio-frame { grid-template-columns:40% 60%; padding:60px 5% 75px 0; }
  .bio-panel { width:72%; }
  .bio-portrait { left:0; width:38%; }
  .bio-content { padding-left:20px; }
}
@media (max-width:900px) {
  .bio-frame { display:flex; flex-direction:column; width:100%; min-height:0; padding:0; }
  .bio-portrait { position:relative; z-index:1; top:auto; left:auto; width:min(85%,440px); height:auto; margin:20px auto -20px 3%; }
  .bio-panel { display:none; }
  .bio-content { position:relative; width:100%; max-width:none; padding:64px max(26px,7vw) 70px; background:var(--bio-sage); border-radius:48% 52% 0 0 / 38px 32px 0 0; }
  .bio-title { font-size:68px; }
  .bio-copy { max-width:68ch; font-size:16px; line-height:1.7; }
}
@media (max-width:480px) {
  .bio-content { padding:54px 25px 60px; }
  .bio-title { font-size:60px; }
  .bio-contacts { flex-direction:column; align-items:flex-start; font-size:12px; }
}
