/* Portraits and biographies share one fixed footprint; full bios use the top layer. */
.leaders-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:stretch}
.leader-profile{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:border-color .25s}
.leader-profile:has(.leader-portrait[aria-expanded=true]),.leader-profile:focus-within{border-color:var(--accent)}
.leader-portrait{display:block;position:relative;width:100%;aspect-ratio:3/4;padding:0;text-align:left;border-radius:11px 11px 0 0;perspective:1400px}
.leader-flipper{display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.leader-portrait[aria-expanded=true] .leader-flipper{transform:rotateY(180deg)}
.leader-front,.leader-back{position:absolute;inset:0;display:block;border-radius:11px 11px 0 0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.leader-front :is(img,[data-public-diagram]){width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 38%;border-radius:inherit}
.leader-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;padding:clamp(22px,2.1vw,32px);background:var(--surface);border-bottom:1px solid var(--line)}
.leader-specialty.mono{display:block;color:var(--accent);font-size:12px;line-height:1.65;text-transform:uppercase;letter-spacing:.065em;margin:0 0 24px}
.leader-short-bio{display:block;font-size:clamp(16px,1.23vw,19px);font-weight:400;line-height:1.65;color:var(--text);letter-spacing:-.015em}
.leader-back-hint.mono{color:var(--muted);font-size:10px;line-height:1.8;letter-spacing:.08em;display:block;margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}
.leader-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:22px 20px 24px;min-height:112px}
.leader-caption>div{min-width:0}
.leader-caption h3{color:var(--text);font-size:clamp(20px,1.65vw,26px);line-height:1.15;letter-spacing:-.035em;margin:0 0 9px}
.leader-caption p{font-size:14px;line-height:1.4;color:var(--accent);margin:0}
.leader-bio-open{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--pop);transition:background .2s,border-color .2s,color .2s}
.leader-bio-open span{font-size:30px;line-height:1;font-weight:300;transform:translateY(-1px)}
.leader-bio-open:hover{background:var(--pop);border-color:var(--pop);color:var(--bg)}
.leader-portrait:focus-visible{outline-offset:5px}

.leader-dialog{position:fixed;inset:auto;margin:0;padding:0;width:min(680px,calc(100vw - 48px));height:min(860px,calc(100dvh - 48px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden;background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:16px;box-shadow:0 32px 100px #0008}
.leader-dialog[open]{display:flex;flex-direction:column;animation:leader-bio-enter .22s ease-out}
.leader-dialog::backdrop{background:#020703b8;backdrop-filter:blur(6px)}
.leader-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:34px 32px 28px;border-bottom:1px solid var(--line);flex-shrink:0}
.leader-dialog-role.mono{font-size:12px;color:var(--accent);letter-spacing:.09em;text-transform:uppercase;margin:0 0 15px}
.leader-dialog-header h2{font-size:clamp(30px,3vw,44px);line-height:1.05;margin:0 0 15px}
.leader-dialog-focus{color:var(--muted);font-size:16px;line-height:1.5}
.leader-bio-close{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;padding:0;font-size:29px;line-height:1;color:var(--text);transition:color .2s,border-color .2s}
.leader-bio-close:hover{color:var(--pop);border-color:var(--pop)}
.leader-bio-close:focus-visible{outline-offset:4px}
.leader-dialog-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:26px 12px 26px 0;padding:0 24px 0 32px;scrollbar-width:thin;scrollbar-color:var(--accent) var(--line);scrollbar-gutter:stable}
.leader-dialog-scroll::-webkit-scrollbar{width:4px}
.leader-dialog-scroll::-webkit-scrollbar-track{background:var(--line);border-radius:4px}
.leader-dialog-scroll::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}
.leader-dialog-scroll p{font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 22px}
.leader-dialog-scroll p:first-child{color:var(--text)}
.leader-dialog-scroll p:last-child{margin-bottom:4px}
.leader-dialog-scroll:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}
.leader-dialog-foot.mono{display:flex;justify-content:space-between;gap:16px;padding:16px 32px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;letter-spacing:.09em;flex-shrink:0}
@keyframes leader-bio-enter{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:1251px) and (max-width:1300px){.leaders-grid{gap:16px}.leader-caption{padding-inline:14px}.leader-caption h3{font-size:20px}.leader-caption p{font-size:12px}.leader-bio-open{width:34px;height:34px}.leader-back{padding:22px}.leader-specialty.mono{font-size:11px;margin-bottom:16px}.leader-back-hint.mono{margin-top:20px;padding-top:12px}}
@media(max-width:1400px){.leader-back-hint.mono{display:none}}
@media(max-width:1250px){.leaders-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.leader-caption h3{font-size:26px}.leader-caption p{font-size:16px}.leader-back{padding:32px}.leader-short-bio{font-size:22px}.leader-specialty.mono{font-size:13px}}
@media(min-width:651px) and (max-width:900px){.leader-back{padding:24px}.leader-short-bio{font-size:18px}.leader-specialty.mono{font-size:12px;margin-bottom:18px}}
@media(max-width:650px){.leaders-grid{grid-template-columns:1fr;gap:28px;max-width:440px;margin-inline:auto}.leader-portrait{aspect-ratio:4/5}.leader-back{padding:28px}.leader-caption{padding:23px 22px}.leader-short-bio{font-size:20px}.leader-dialog{border-radius:12px}.leader-dialog-header{padding:26px 22px 22px;gap:12px}.leader-dialog-header h2{font-size:30px}.leader-dialog-focus{font-size:14px}.leader-dialog-role.mono{font-size:11px}.leader-dialog-scroll{padding-left:22px;padding-right:14px;margin-block:22px}.leader-dialog-scroll p{font-size:16px;line-height:1.8}.leader-dialog-foot.mono{padding:16px 22px;font-size:9px}}
@media(max-width:380px){.leader-short-bio{font-size:17px}.leader-specialty.mono{font-size:11px;margin-bottom:18px}.leader-back-hint.mono{margin-top:20px}.leader-caption h3{font-size:23px}.leader-caption p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.leader-flipper,.leader-profile,.leader-bio-open,.leader-bio-close{transition:none}.leader-dialog[open]{animation:none}}
