.person{min-height:0;display:block;padding-top:32px;padding-bottom:28px}
.person-number{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:36px}
.client-block{margin:28px 0 30px}
.client-label{font-size:12px;line-height:1.6;font-weight:400;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 15px}
.client-label .cn{font-size:14px;letter-spacing:0;margin-top:3px}
.client-list{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0;margin:0}
.client-name{font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.025em;max-width:100%}
.client-name .cn{font-size:14px;line-height:1.5;font-weight:400;letter-spacing:0;margin-top:3px}
@media(max-width:650px){.client-list{gap:10px 20px}.client-name{font-size:18px}}
.profile-role{font-size:14px;line-height:1.5;max-width:42ch;margin:18px 0 0}
.person-desc{margin:30px 0 24px;max-width:46ch;font-size:20px;line-height:1.5;letter-spacing:-.015em}
.profile-highlights{list-style:none;padding:0;margin:24px 0 32px;border-top:1px solid var(--line)}
.profile-highlights li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.person-meta{margin:0;border:0;padding:0;display:block}
.profile-open{border:0;background:none;color:inherit;text-align:left;padding:10px 38px 10px 0;position:relative;cursor:pointer;font-size:14px;line-height:1.5;min-height:44px}
.person .profile-open{width:100%}
.open-plus{position:absolute;right:0;top:8px;font-size:26px;font-weight:400;line-height:1}
.profile-open:hover{text-decoration:underline;text-underline-offset:5px}
.profile-open .cn,.dialog-bottom .cn{margin-top:2px;font-size:14px}
.person:has(.profile-open:hover){background:var(--paper)}
.e-row{grid-template-columns:70px minmax(0,1fr) auto}
.practice-person{font-size:14px;color:var(--muted);margin:8px 0 0}
.practice-note{max-width:58ch;font-size:16px;line-height:1.6;margin-top:32px}
.profile-dialog{width:min(1020px,calc(100% - 64px));height:calc(100dvh - 64px);max-height:calc(100dvh - 64px);max-width:none;border:0;padding:0;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 12px 100px #0004;scrollbar-gutter:stable}
.profile-dialog::backdrop{background:rgba(12,12,12,.68)}
.dialog-toolbar{position:sticky;top:0;z-index:3;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.dialog-toolbar>span{font-size:12px;letter-spacing:.12em}
.dialog-actions{display:flex;align-items:center;gap:20px}
.profile-close,.dialog-lang{background:none;color:inherit;border:0;cursor:pointer;padding:12px 0;font-size:14px;min-height:44px}
.profile-close span[aria-hidden]{font-size:24px;vertical-align:middle;margin-left:12px}
.dialog-lang[aria-pressed=true]{text-decoration:underline;font-weight:700}
.dialog-body{padding:48px 64px 24px}
.profile-label{font-size:12px;letter-spacing:.12em;color:var(--muted);margin-bottom:26px}
.profile-dialog h2{font-size:clamp(40px,7vw,88px);letter-spacing:-.055em;line-height:1.03;margin:0;font-weight:600;text-wrap:balance}
.profile-dialog .profile-zhname{font-size:24px;line-height:1.5;margin-top:8px}
.dialog-role{font-size:18px;line-height:1.5;margin:24px 0 0}
.dialog-practice{font-size:14px;color:var(--muted);margin:8px 0 0}
.profile-intro{font-size:22px;line-height:1.5;letter-spacing:-.015em;max-width:60ch;margin:36px 0 52px}
.profile-section{padding:30px 0;border-top:1px solid var(--line);border-bottom:0}
.profile-section h3{font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.25;margin:0 0 24px}
.profile-section h3 .cn{font-size:16px;margin-top:6px}
.profile-section dl{margin:0}
.profile-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:28px;padding:18px 0;border-bottom:1px solid #deded7}
.profile-row:last-child{border:0}
.profile-row dt{font-size:16px;font-weight:500;line-height:1.5}
.profile-row dd{font-size:16px;line-height:1.6;margin:0;color:#44443f}
.profile-row .cn{font-size:16px;line-height:1.65}
.profile-sources{border-top:1px solid var(--line);padding-top:24px;margin:12px 0 16px;font-size:14px;line-height:1.6;color:#555550}
.profile-sources summary{cursor:pointer;min-height:44px;padding:6px 0}
.profile-sources summary .cn{font-size:14px;display:inline;margin-left:12px}
body.hide-cn .profile-sources summary .cn{display:none}
.profile-sources p{font-size:14px}.profile-sources p .cn{font-size:14px}
.profile-sources ul{padding-left:20px}.profile-sources li{margin:10px 0}
.profile-sources a{text-decoration:underline;text-underline-offset:4px}
.review-date{font-size:12px!important;color:var(--muted)}
.dialog-bottom{padding:20px 64px 30px;border-top:1px solid var(--line)}
.dialog-bottom .profile-close{text-align:left}
body.profile-is-open{overflow:hidden}
@media(max-width:650px){
 .person-desc{font-size:18px}.person-number{margin-bottom:24px}
 .profile-dialog{width:100%;height:100dvh;max-height:100dvh;margin:0;scrollbar-gutter:auto}
 .dialog-toolbar{padding:10px 22px}.dialog-actions{gap:16px}
 .dialog-body{padding:30px 22px 20px}.profile-intro{font-size:18px;margin:30px 0}
 .profile-row{grid-template-columns:1fr;gap:8px;padding:20px 0}
 .dialog-bottom{padding:16px 22px 24px}.profile-section h3{font-size:22px}
 .e-row{grid-template-columns:28px minmax(0,1fr);gap:14px}
 .e-row .profile-open{grid-column:2;justify-self:start;min-width:130px}
}

.brand-logo{display:block;width:200px;height:auto;object-fit:contain}
.topbar .brand-logo{filter:invert(1)}
.footer-wordmark{width:180px;filter:invert(1);margin-left:auto;margin-bottom:12px}
.dialog-brand{display:flex;align-items:center;gap:12px}.dialog-brand .brand-logo{width:130px}
@media(max-width:650px){.topbar .brand-logo{width:170px}.dialog-brand .brand-logo{width:112px}.dialog-brand{gap:8px}.dialog-toolbar{gap:10px}}
.person-signature{display:block;max-width:min(200px,65%);width:auto;height:58px;object-fit:contain;object-position:left center;filter:invert(1);margin:20px 0 8px;opacity:.8;pointer-events:none}
.profile-dialog .person-signature{height:68px;max-width:240px;margin:28px 0}

.people .person-meta .person-signature{height:54px;max-width:210px;margin:0 0 18px;opacity:.88}

/* Compact profile close control; retain a generous touch target. */
.dialog-toolbar .profile-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#bfc2c9;font-size:0;outline:none;transition:color .2s,background .2s;-webkit-tap-highlight-color:transparent}
.dialog-toolbar .profile-close span[aria-hidden]{display:block;position:relative;width:18px;height:18px;margin:0;font-size:0}
.dialog-toolbar .profile-close span[aria-hidden]::before,.dialog-toolbar .profile-close span[aria-hidden]::after{content:"";position:absolute;left:0;top:8.5px;width:18px;height:1px;background:currentColor;transform:rotate(45deg)}
.dialog-toolbar .profile-close span[aria-hidden]::after{transform:rotate(-45deg)}
.dialog-toolbar .profile-close:hover{color:#fff;background:#ffffff08}
.dialog-toolbar .profile-close:focus-visible{outline:1px solid #aab4c5;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.dialog-toolbar .profile-close{transition:none}}
