/* Compact biography controls; the existing team cards retain their original styling. */
.bio-trigger{display:inline-flex;align-items:center;justify-content:center;justify-self:start;align-self:end;gap:12px;width:fit-content;min-height:44px;margin-top:18px;padding:9px 16px;border:1px solid #b4baa7;border-radius:999px;background:transparent;color:var(--ink);font:500 14px/1.5 var(--sans);transition:background 180ms,border-color 180ms,color 180ms}
.bio-trigger svg{width:20px;height:20px;transition:transform 220ms var(--ease)}
.bio-trigger:hover{background:var(--sage);border-color:#7e8b70}
.bio-trigger:hover svg{transform:translateX(3px)}
.biographies-fallback{max-width:720px;padding-block:40px 60px}
.biographies-fallback article+article{margin-top:44px}
.biographies-fallback h2{margin-bottom:24px}

/* Portrait arches and sweeping sage corners echo the existing hero and founder sections. */
body.bio-open{position:fixed;inset-inline:0;top:var(--bio-scroll-y);padding-right:var(--bio-scrollbar);overflow:hidden}
.bio-dialog{--bio-height:min(740px,calc(100dvh - 80px));width:min(1020px,calc(100% - 64px));max-width:none;max-height:var(--bio-height);margin:auto;padding:0;overflow:hidden;border:0;border-radius:92px 18px 92px 18px;background:var(--paper);color:var(--ink);box-shadow:0 28px 100px #19231552}
.bio-dialog::backdrop{background:#222b23b3;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.bio-dialog:before{content:'';position:absolute;z-index:1;inset:0 0 auto 38%;height:68px;background:linear-gradient(var(--paper) 72%,#f7f4ed00);pointer-events:none}
.bio-dialog:after{content:'';position:absolute;z-index:1;inset:auto 0 0 38%;height:22px;background:linear-gradient(#f7f4ed00,var(--paper));pointer-events:none}
.bio-panel{display:grid;grid-template-columns:38% minmax(0,1fr);max-height:var(--bio-height)}
.bio-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;min-width:0;padding:54px 42px;background:linear-gradient(145deg,#e7eadf,#dbe2d2);border-bottom-right-radius:84px}
.bio-portrait{position:relative;width:min(100%,260px);isolation:isolate}
.bio-portrait:before{content:'';position:absolute;z-index:-1;inset:-14px -13px 15px 13px;border:1px solid #acb79c;border-radius:50% 50% 3px 3px / 46% 46% 3px 3px;pointer-events:none}
.bio-portrait .team-photo{width:100%;max-width:none;height:auto;aspect-ratio:4/5;grid-area:auto;margin:0;box-shadow:0 12px 26px #46563b14}
.bio-studio{text-align:center;font-size:12px;font-weight:500;line-height:1.7;letter-spacing:1.5px;text-transform:uppercase;color:#5c694f}
.bio-studio span{display:block;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;margin-top:3px;color:#68745c}
.bio-reading{max-height:var(--bio-height);overflow-y:auto;overscroll-behavior:contain;padding:76px 48px 48px;scrollbar-width:thin;scrollbar-color:#aab59a transparent;scroll-padding-block:28px}
.bio-heading{padding-bottom:25px;margin-bottom:26px;border-bottom:1px solid #c9cbb8}
.bio-role{font-size:14px;line-height:1.6;letter-spacing:.35px;font-weight:500;color:var(--sage-deep);margin:0 0 14px}
.bio-heading h2{font-size:46px;line-height:1.1;letter-spacing:-1.5px;margin:0}
.bio-heading h2:focus{outline:none}
.bio-text p{font-size:16px;line-height:1.8;color:var(--muted)}
.bio-text p+p{margin-top:23px}
.bio-text p:first-child{font-family:var(--serif);font-size:21px;line-height:1.55;letter-spacing:-.2px;color:#43513c}
.bio-reading:focus-visible,.bio-panel:focus-visible{outline:2px solid var(--gold);outline-offset:-6px}
.bio-close{position:absolute;z-index:2;top:14px;right:24px;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 0 0 10px;border:0;border-radius:999px;background:var(--paper);color:#536147;font:500 14px/1.5 var(--sans)}
.bio-close i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b3b99f;border-radius:50%;transition:background 180ms,border-color 180ms}
.bio-close svg{width:18px;height:18px}
.bio-close:hover i{background:#e5e9da;border-color:#81906d}
.bio-dialog[open]{animation:bio-enter 320ms var(--ease) both}
.bio-dialog[open]::backdrop{animation:bio-shade-in 260ms ease both}
.bio-dialog.is-closing{animation:bio-exit 160ms ease both}
.bio-dialog.is-closing::backdrop{animation:bio-shade-out 160ms ease both}
@keyframes bio-enter{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}
@keyframes bio-exit{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.995)}}
@keyframes bio-shade-in{from{opacity:0}to{opacity:1}}
@keyframes bio-shade-out{from{opacity:1}to{opacity:0}}
@media(min-width:768px) and (max-width:1023px){
  .bio-dialog{width:calc(100% - 48px);border-radius:72px 18px 72px 18px}
  .bio-visual{padding-inline:28px}
  .bio-reading{padding:76px 32px 44px}
  .bio-heading h2{font-size:38px}
}
@media(max-width:767px){
  .team-info .bio-trigger{grid-column:1/-1;margin-top:17px}
  .bio-dialog{--bio-height:calc(100dvh - 24px);width:calc(100% - 24px);border-radius:42px 16px 46px 16px}
  .bio-dialog:before{left:0}
  .bio-dialog:after{left:0}
  .bio-panel{grid-template-columns:104px minmax(0,1fr);gap:27px 22px;max-height:var(--bio-height);padding:80px 24px 36px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aab59a transparent;background:radial-gradient(ellipse at left top,#e1e6d7,var(--paper) 480px)}
  .bio-visual,.bio-reading{display:contents}
  .bio-portrait{grid-column:1;grid-row:1;align-self:center;width:104px}
  .bio-portrait:before{inset:-8px -7px 8px 7px}
  .bio-portrait .team-photo{width:104px;height:130px}
  .bio-studio{display:none}
  .bio-heading{grid-column:2;grid-row:1;align-self:center;padding:0;margin:0;border:0}
  .bio-role{line-height:1.5;letter-spacing:0;margin-bottom:13px}
  .bio-heading h2{font-size:32px;line-height:1.08;letter-spacing:-1px}
  .bio-text{grid-column:1/-1;padding-top:24px;border-top:1px solid #c9cbb8}
  .bio-close{top:12px;right:16px}
}
@media(max-width:374px){.bio-panel{grid-template-columns:92px minmax(0,1fr);gap:25px 19px;padding-inline:20px}.bio-portrait{width:92px}.bio-portrait .team-photo{width:92px;height:115px}.bio-heading h2{font-size:30px}}
@media(max-height:500px) and (min-width:768px){.bio-dialog{--bio-height:calc(100dvh - 24px)}.bio-visual{padding:30px 22px;gap:0}.bio-portrait{width:min(100%,calc((var(--bio-height) - 60px)*.8))}.bio-studio{display:none}}
@media(prefers-reduced-motion:reduce){.bio-dialog[open],.bio-dialog[open]::backdrop{animation:none}.bio-trigger,.bio-trigger svg,.bio-close i{transition:none}}
