@font-face{font-family:'Source Han Serif SC';src:url('assets/fonts/source-han-serif-sc.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
:root{--green:#25634d;--deep:#163f32;--ink:#21362e;--muted:#61736a;--line:#dce8e0;--pale:#f3f8f4;--serif:'Source Han Serif SC','Songti SC','SimSun',serif;--sans:var(--serif);color-scheme:light;scroll-behavior:smooth;scroll-padding-top:112px}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:16px/1.85 var(--sans);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,figure{margin:0}h1,h2,h3,h4{line-height:1.5;font-weight:500}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #75a88a;outline-offset:5px}a,button{transition:color .2s,background .2s,border-color .2s,transform .2s}a:hover{color:var(--green)}[hidden]{display:none!important}.container{width:min(1180px,calc(100% - 96px));margin:auto}.section{padding:96px 0}.tinted{background:var(--pale)}.eyebrow{color:var(--green);font-size:12px;letter-spacing:2px;margin-bottom:17px}.micro{font-size:12px;color:var(--green);letter-spacing:1.3px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:40px}.section-top h2,.contact-section h2{font:500 36px/1.5 var(--serif);letter-spacing:2px}.section-intro{font-size:15px;color:var(--muted)}.section-note{font-size:13px;color:var(--muted);margin-top:28px}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:93px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font:26px/1.25 var(--serif);letter-spacing:2px;white-space:nowrap}.brand span{font:14px var(--sans);margin-left:6px}.brand small{display:block;font:10px/1.6 var(--sans);letter-spacing:1.7px;margin-top:7px;color:var(--muted)}nav{display:flex;align-items:center;gap:26px;font-size:14px}nav a{position:relative;padding:8px 0;white-space:nowrap}nav a:not(.nav-contact):after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s}nav a:hover:after,nav a[aria-current]:after{transform:scaleX(1)}nav .nav-contact{padding:10px 18px;background:var(--green);color:#fff}nav .nav-contact:hover{background:var(--deep)}.reading-progress{position:absolute;bottom:-1px;height:2px;background:var(--green);width:0}.menu-toggle{display:none}.skip{position:absolute;top:-100px;left:10px;padding:10px;background:#fff;z-index:100}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center;padding-top:60px;padding-bottom:70px}.hero .eyebrow{letter-spacing:1px;font-size:14px}.hero h1{font:500 65px/1.3 var(--serif);letter-spacing:7px}.hero h1 span{font:400 25px var(--sans);letter-spacing:2px}.hero h2{font:500 34px/1.65 var(--serif);letter-spacing:2px;margin-top:28px}.intro{color:var(--muted);max-width:450px;margin-top:24px;line-height:2}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.button{padding:11px 24px;font-size:14px;border:1px solid var(--green);display:inline-flex;justify-content:center;align-items:center;min-height:46px}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--deep);color:#fff;transform:translateY(-2px)}.secondary{color:var(--green)}.secondary:hover{background:var(--pale);transform:translateY(-2px)}.hero-note{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;letter-spacing:1px;margin-top:38px}.hero-note i{height:12px;width:1px;background:#b8cec0}.hero-portrait{overflow:hidden;background:#45413e}.hero-portrait img{display:block;width:100%;height:530px;object-fit:cover;object-position:50% 22%;transition:transform .65s}.hero-portrait:hover img{transform:scale(1.025)}.hero-portrait figcaption{display:flex;justify-content:space-between;padding:13px 22px;font-size:11px;letter-spacing:2px;background:var(--green);color:#fff}.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.practice{background:#fff;border:1px solid var(--line);transition:border-color .25s,box-shadow .25s,transform .25s}.practice:hover{border-color:#8fbaa1;box-shadow:0 12px 30px #1746320b;transform:translateY(-3px)}.practice[open]{border-color:var(--green)}.practice summary{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:30px;list-style:none}.practice summary::-webkit-details-marker,.paper summary::-webkit-details-marker{display:none}.number{font:400 32px/1.4 var(--serif);color:#56836b}.practice h3{font-size:22px;margin-top:9px}.summary-copy{font-size:15px;color:var(--muted);margin-top:12px}.details-label{display:flex;justify-content:space-between;align-items:center;color:var(--green);font-size:13px;margin-top:22px}.details-label b{font-weight:400;font-size:24px;line-height:1;transition:transform .2s}.practice[open] .details-label b,.paper[open] summary b{transform:rotate(45deg)}.practice-body{margin:0 30px 30px 93px;border-top:1px solid var(--line);padding-top:23px;font-size:15px;color:var(--muted)}ul{padding-left:20px}li{padding-left:2px;margin:8px 0}li::marker{color:#4f8c6b}.focus{background:var(--pale);padding:15px;border-left:2px solid #8ab39a;font-size:14px}.about-grid{display:grid;grid-template-columns:.8fr 1.6fr;gap:70px}.profile{border-top:3px solid var(--green);background:var(--pale);padding:32px;height:fit-content}.profile h3{font:500 25px var(--serif)}dl{margin:25px 0}dl>div{padding:15px 0;border-bottom:1px solid var(--line)}dt{font-size:12px;color:var(--muted);margin-bottom:6px}dd{margin:0;font-size:15px}.text-link{color:var(--green);font-size:14px;border-bottom:1px solid #a2c5af;padding-bottom:3px}.about-main>h3{font:500 28px/1.6 var(--serif);margin-bottom:24px}.about-main>p{color:var(--muted);margin-bottom:18px}.about-tabs{display:flex;border-bottom:1px solid var(--line);margin:32px 0 25px;gap:28px}.about-tabs button{border:0;background:none;padding:8px 0 12px;color:var(--muted);border-bottom:2px solid transparent}.about-tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green)}.education{list-style:none;padding:0;margin:0}.education li{border-left:1px solid var(--line);padding:0 0 18px 22px;position:relative;margin:0}.education li:before{content:'';width:7px;height:7px;background:var(--green);border-radius:50%;position:absolute;left:-4px;top:11px}.education strong{font-weight:500;display:block}.education span,.education small{display:block;color:var(--muted);font-size:14px}.education small{font-size:12px}.positions{font-size:14px;color:var(--muted);margin:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filters button{border:1px solid var(--line);background:#fff;padding:8px 19px;font-size:14px;min-height:43px}.filters button:hover{border-color:var(--green);color:var(--green)}.filters button.active{background:var(--green);border-color:var(--green);color:#fff}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.experience-card{padding:28px;background:#fff;border-top:2px solid #b9d5c3;transition:transform .25s,box-shadow .25s}.experience-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #153d2d0c}.experience-card h3{font-size:20px;margin:17px 0 15px}.experience-card>p:not(.micro){font-size:15px;color:var(--muted)}.experience-card details{margin-top:22px;font-size:14px}.experience-card summary,.honors summary{color:var(--green)}.experience-card details p{margin-top:16px;color:var(--muted)}.paper{border-bottom:1px solid var(--line)}.paper:first-child{border-top:1px solid var(--line)}.paper summary{display:grid;grid-template-columns:105px 1fr 28px;gap:26px;padding:27px 12px;align-items:center;list-style:none;transition:background .2s}.paper summary:hover{background:var(--pale)}.paper time{font:19px var(--serif);color:var(--muted)}.paper summary span{color:var(--green);font-size:12px}.paper h3{font-size:19px;margin-top:7px}.paper summary b{font-weight:400;font-size:25px;color:var(--green);text-align:center;transition:transform .2s}.paper-detail{margin:0 65px 27px 143px;padding:16px 20px;background:var(--pale);color:var(--muted);font-size:15px}.service-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.service-story>h3{font:500 30px/1.6 var(--serif);margin:20px 0 28px}.service-item{display:flex;gap:23px;margin-top:24px}.service-item>span{color:var(--green);font:22px/1.6 var(--serif)}.service-item h4{font-size:18px;margin-bottom:8px}.service-item p{font-size:15px;color:var(--muted)}.honors{padding:34px;background:#fff;height:fit-content;border-top:3px solid var(--green)}.honors h3{font-size:22px;margin:17px 0 23px}.honors ul{font-size:15px;color:var(--muted)}.honors li{padding:10px 0;border-bottom:1px solid var(--line)}.honors details{font-size:14px;margin-top:23px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-intro{font:500 27px/1.7 var(--serif);margin-top:23px}.contact-firm{font-size:14px;color:var(--muted);margin-top:22px}.contact-info{border-top:2px solid var(--green)}.contact-row{display:grid;grid-template-columns:55px 1fr;gap:23px;padding:23px 0;border-bottom:1px solid var(--line)}.contact-row>span{font-size:13px;color:var(--muted);padding-top:4px}.contact-row a{display:block;width:fit-content;font:400 24px/1.7 var(--serif);overflow-wrap:anywhere}.contact-row .email{font-size:21px}.copy-button{padding:4px 0;background:none;border:none;color:var(--green);font-size:13px}.copy-button:hover{text-decoration:underline}.copy-status{min-height:24px;font-size:13px;color:var(--green);padding-top:10px}footer{background:var(--pale);border-top:1px solid var(--line);padding:28px 0}.footer-inner{display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.footer-inner p:nth-child(2){max-width:540px}.footer-inner a{white-space:nowrap;color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1080px){.container{width:calc(100% - 64px)}nav{gap:15px;font-size:13px}.hero{gap:40px}.hero h1{font-size:56px}.hero h2{font-size:30px}.hero-portrait img{height:490px}.practice summary{padding:25px;gap:12px;grid-template-columns:36px 1fr}.practice h3{font-size:20px}.practice-body{margin-left:73px;margin-right:25px}.about-grid,.service-grid,.contact-section{gap:40px}.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.header-inner{height:80px}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:8px 14px;font-size:14px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:15px 32px 24px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #163e2c0b}nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}nav a{padding:10px}.hero{gap:30px}.hero h1{font-size:45px}.hero h2{font-size:27px}.hero .eyebrow{font-size:12px}.hero-portrait img{height:460px}.hero-actions{gap:10px}.button{padding:10px 16px}.hero-note{gap:10px;font-size:11px}.section{padding-top:72px;padding-bottom:72px}.section-top h2,.contact-section h2{font-size:31px}.section-intro{font-size:14px}.about-grid{grid-template-columns:1fr 1.5fr;gap:28px}.profile{padding:25px}.service-grid{gap:30px}.honors{padding:25px}.contact-row .email{font-size:18px}}
@media(max-width:620px){:root{scroll-padding-top:100px}.container{width:calc(100% - 40px)}.brand{font-size:23px}.brand small{font-size:9px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:45px;gap:30px}.hero h1{font-size:52px}.hero h2{font-size:29px;margin-top:18px}.intro{margin-top:18px}.hero-note{margin-top:24px;font-size:12px}.hero-portrait img{height:410px;object-position:50% 24%}.hero-portrait{max-width:430px;width:100%;justify-self:center}.section{padding-top:55px;padding-bottom:55px}.section-top{display:block;margin-bottom:28px}.section-top h2,.contact-section h2{font-size:30px}.section-intro{margin-top:17px}.section-intro br{display:none}.eyebrow{margin-bottom:12px}.practice-grid,.about-grid,.experience-grid,.service-grid,.contact-section{grid-template-columns:1fr;gap:22px}.practice summary{padding:24px 20px;grid-template-columns:31px 1fr}.practice h3{font-size:20px}.number{font-size:26px}.practice-body{margin:0 20px 24px;padding-top:18px}.practice .micro{font-size:10px;letter-spacing:.7px}.profile{padding:26px}.about-main{margin-top:12px}.about-main>h3{font-size:25px}.filters{gap:8px}.filters button{font-size:13px;padding:8px 12px}.paper summary{grid-template-columns:1fr 25px;gap:3px 14px;padding:22px 5px}.paper time{font-size:16px;grid-column:1}.paper summary>div{grid-column:1}.paper summary>b{grid-column:2;grid-row:1/3}.paper h3{font-size:18px}.paper-detail{margin:0 0 22px;padding:16px}.honors{margin-top:14px}.contact-info{margin-top:15px}.contact-row{gap:15px;grid-template-columns:45px 1fr}.contact-row .email{font-size:21px}.footer-inner{display:block}.footer-inner p{margin-bottom:12px}.section-note{font-size:12px}.hero-actions .button{flex:1}.experience-card{padding:25px}.micro{font-size:11px}}
.header-inner{gap:20px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--sans)}.brand-logo{width:48px;height:58px;object-fit:contain}.brand .brand-text{font:500 21px/1.4 var(--serif);letter-spacing:1px;margin:0}.brand .brand-divider{font:400 17px var(--sans);margin:0;letter-spacing:0}.brand small{font:10px/1.6 var(--sans);letter-spacing:.1px;margin-top:5px}nav{gap:17px;font-size:13px}.hero-firm{font-size:15px;color:var(--muted);margin-bottom:20px}.hero .eyebrow{font-size:12px;letter-spacing:2px}.experience-statement{display:flex;align-items:center;gap:15px;margin-top:24px;color:var(--green)}.experience-statement strong{font:44px/1 var(--serif)}.experience-statement span{font-size:16px}.hero-note{letter-spacing:0;font-size:13px}.bio-section{display:grid;grid-template-columns:.8fr 1.6fr;gap:70px;padding-bottom:85px}.profile .education{margin-top:28px}.profile .micro{margin-bottom:12px}.about-main>.micro{margin-bottom:15px}.bio-details{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.bio-details summary{color:var(--green);font-size:15px}.bio-details p{margin-top:19px;color:var(--muted);font-size:15px}.practice-body p+p{margin-top:18px}.practice-grid{align-items:start}.positions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 35px}.position-item{display:flex;align-items:flex-start;gap:15px;padding:24px 0;border-top:1px solid var(--line);transition:background .2s}.position-item:hover{background:var(--pale)}.position-item>span{font:20px var(--serif);color:#56836b;padding-top:5px}.position-item p{font-size:15px;flex:1}.position-item small{white-space:nowrap;font-size:12px;color:var(--muted)}.research-honors{display:grid;grid-template-columns:1.65fr 1fr;gap:45px;align-items:start}.research-honors .paper summary{grid-template-columns:70px 1fr 22px;gap:15px;padding-left:0;padding-right:0}.research-honors .paper h3{font-size:17px}.research-honors .paper time{font-size:16px}.research-honors .paper-detail{margin-left:85px;margin-right:25px;background:#fff}.research-honors .honors{padding:28px}.research-honors .filters button{padding:8px 12px}.gallery{margin-top:30px}.gallery-slide{margin:0;animation:slide-in .3s ease-out}.image-open{position:relative;display:flex;align-items:center;justify-content:center;border:0;width:100%;padding:18px;background:#eaf1ed;overflow:hidden}.image-open img{display:block;width:100%;height:490px;object-fit:contain;image-orientation:from-image}.rotate-photo{transform:rotate(180deg)}.zoom-hint{position:absolute;bottom:25px;right:25px;padding:5px 13px;background:#143e31e8;color:#fff;font-size:12px;opacity:0;transition:opacity .2s}.image-open:hover .zoom-hint,.image-open:focus-visible .zoom-hint{opacity:1}.gallery-slide figcaption{display:flex;align-items:flex-start;gap:25px;padding:24px 4px 16px;min-height:132px}.gallery-slide time{font:19px var(--serif);color:var(--green);white-space:nowrap;line-height:1.8}.gallery-slide h3{font-size:21px}.gallery-slide figcaption p{font-size:14px;line-height:1.9;color:var(--muted);max-width:780px;margin-top:9px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:16px}.gallery-arrows{display:flex;gap:20px;align-items:center}.gallery-controls button{border:1px solid var(--line);background:#fff;padding:8px 15px;font-size:13px;min-height:42px}.gallery-controls button:hover{border-color:var(--green);color:var(--green)}.gallery-count{font:14px var(--serif);color:var(--muted);min-width:50px;text-align:center}.gallery-controls .gallery-play{background:transparent;color:var(--green);border-color:transparent}.gallery-dots{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.gallery-dots button{border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;min-width:36px;min-height:35px;font:13px var(--serif);padding:8px}.gallery-dots button[aria-pressed=true]{border-color:var(--green);color:var(--green);background:#e6f0e9}.public-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-bottom:38px}.public-copy article{border-top:2px solid #b9d5c3;padding-top:23px}.public-copy h3{font-size:21px;margin:12px 0}.public-copy p{font-size:15px;color:var(--muted)}#charity-gallery .gallery-slide figcaption{min-height:83px}.social-contact{min-width:0}.qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.qr-button{padding:10px;background:#fff;border:1px solid var(--line);width:100%;transition:border-color .2s}.qr-button:hover{border-color:var(--green)}.qr-button img{width:100%;height:190px;object-fit:contain;display:block}.qr-grid figcaption{font-size:14px;text-align:center;margin-top:12px;color:var(--green)}.social-accounts{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;text-align:center}.social-accounts p{font-size:13px;color:var(--muted)}.social-accounts strong{font-size:19px;font-weight:500;color:var(--green);display:block;margin-top:7px}.lightbox{border:0;padding:58px 28px 20px;max-width:95vw;max-height:95dvh;width:fit-content;background:#fff;color:var(--ink)}.lightbox::backdrop{background:#0a201be8}.lightbox>img{display:block;max-width:85vw;max-height:73dvh;object-fit:contain;margin:auto}.lightbox p{font-size:14px;text-align:center;margin-top:15px}.lightbox-close{position:absolute;right:20px;top:12px;background:#fff;border:1px solid var(--line);padding:6px 16px;font-size:14px;min-height:38px}.dialog-open{overflow:hidden}@keyframes slide-in{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1150px){.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:8px 14px;font-size:14px}nav{display:none;position:absolute;top:93px;left:0;right:0;background:#fff;padding:15px 32px 24px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #163e2c0b}nav.is-open{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 25px}nav a{padding:10px}.bio-section{gap:40px}.positions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.research-honors{gap:25px}.image-open img{height:420px}}
@media(max-width:820px){nav{top:80px}.research-honors{grid-template-columns:1fr}.public-copy{gap:22px}.public-copy h3{font-size:18px}.image-open img{height:350px}.hero-firm{font-size:13px}.brand .brand-text{font-size:20px}.bio-section{gap:28px}.qr-button img{height:155px}}
@media(max-width:620px){.brand{gap:8px}.brand-logo{width:34px;height:43px}.brand .brand-text{font-size:17px;letter-spacing:0}.brand .brand-divider{font-size:13px}.brand small{font-size:8px;max-width:210px;white-space:normal}.menu-toggle{padding:7px 10px;flex-shrink:0}nav.is-open{grid-template-columns:1fr 1fr;gap:8px 15px}.header-inner{gap:8px}.hero-firm{font-size:14px}.hero .eyebrow{font-size:11px}.hero-note{font-size:13px;line-height:1.8}.experience-statement strong{font-size:39px}.experience-statement span{font-size:15px}.bio-section{grid-template-columns:1fr;padding-bottom:55px}.positions-grid,.public-copy{grid-template-columns:1fr}.position-item{padding:19px 0}.public-copy{gap:24px}.public-copy h3{font-size:21px}.research-honors .paper summary{grid-template-columns:1fr 25px}.research-honors .paper-detail{margin-left:0;margin-right:0}.image-open{padding:8px}.image-open img{height:255px}.gallery-slide figcaption{display:block;min-height:184px;padding:18px 0}.gallery-slide time{font-size:15px}.gallery-slide h3{font-size:19px;margin-top:6px}.gallery-slide figcaption p{font-size:14px}.gallery-controls{gap:8px}.gallery-arrows{gap:8px}.gallery-controls button{padding:7px 10px;font-size:12px}.gallery-count{min-width:38px}.gallery-dots{gap:5px}.gallery-dots button{min-width:32px;min-height:36px}.qr-grid{gap:16px}.qr-button img{height:145px}.qr-grid figcaption{font-size:13px}.zoom-hint{display:none}.lightbox{padding:54px 12px 15px}.lightbox>img{max-width:87vw;max-height:73dvh}.social-accounts p{font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Complete, directly readable content and compact automatic photo strips. */
.practice-heading{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:30px 30px 22px}.practice-body{color:#465f53;line-height:2}.practice-grid{align-items:stretch}.bio-details p{font-size:16px;line-height:2.1;color:#465f53}.bio-details p:first-child{margin-top:0}.paper-heading{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:25px 0 15px;align-items:baseline}.paper-heading h3{margin-top:0}.research-honors .paper-detail{margin:0 0 25px 85px;line-height:1.95}.honors ul{margin-bottom:0}.gallery-slides{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a9c8b6 transparent;padding-bottom:12px}.gallery-slide{flex:0 0 320px;min-width:0;animation:none}.gallery .image-open{padding:10px;background:#eaf1ed}.gallery .image-open img{height:200px;object-fit:contain}.gallery .gallery-slide figcaption{display:block;min-height:0;padding:16px 2px 8px}.gallery .gallery-slide time{font-size:14px}.gallery .gallery-slide h3{font-size:17px;line-height:1.8;margin-top:5px}.gallery .gallery-slide figcaption p{font-size:13px;line-height:1.9;margin-top:8px}.gallery .zoom-hint{right:12px;bottom:12px}.gallery-controls{margin-top:15px;padding-top:10px}.gallery-help{font-size:12px;color:var(--muted)}#charity-gallery .gallery-slide figcaption{min-height:0}
@media(max-width:1080px){.practice-heading{padding:25px 25px 20px;gap:12px;grid-template-columns:36px 1fr}}
@media(max-width:620px){.practice-heading{padding:24px 20px 20px;grid-template-columns:31px 1fr}.research-honors .paper-heading{grid-template-columns:1fr;gap:4px}.research-honors .paper-detail{margin-left:0}.gallery-slide{flex-basis:280px}.gallery-slides{gap:16px}.gallery .image-open img{height:175px}.gallery-help{font-size:11px}.bio-details p{font-size:15px}.practice-body{font-size:15px}}

.about-main strong,.practice-body strong{font-weight:700;color:var(--deep)}

/* Preserve headroom with a taller portrait frame aligned to the original top edge. */
.hero-portrait{width:100%;max-width:440px;justify-self:end}.hero-portrait img{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 0;transform-origin:50% 0}.hero-portrait:hover img{transform:none}@media(max-width:620px){.hero-portrait{max-width:380px;justify-self:center}}

/* 律师简介：照片 + 其下的自媒体图标（同列） */
.portrait-col{width:100%;max-width:440px;justify-self:end}
.portrait-col .hero-portrait{max-width:100%}
.portrait-col .social-accounts{margin-top:16px;padding-top:0;border-top:0}
@media(max-width:620px){.portrait-col{max-width:380px;justify-self:center}}

/* ICP 备案信息（页脚） */
.footer-inner .filing{margin-top:0}
.footer-inner .filing a{color:var(--muted);font-size:13px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.footer-inner .filing a:hover{color:var(--green);border-bottom-color:var(--green)}
@media(max-width:620px){.footer-inner .filing a{font-size:12px}}

/* 教育背景：院校校徽 */
.education .edu-row{display:flex;align-items:center;gap:10px}
.education .edu-logo{width:26px;height:26px;flex:none;object-fit:contain;opacity:.9}
@media(max-width:620px){.education .edu-logo{width:24px;height:24px}}

/* 社交平台图标（联系我们区块） */
.social-list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:22px;flex-wrap:nowrap}
.social-list li{display:flex;flex-direction:column;align-items:center;gap:9px}
.social-icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:var(--bg,#333);box-shadow:0 2px 8px rgba(23,73,60,.12);transition:transform .2s ease,box-shadow .2s ease;border:0;padding:0;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}
.social-list li:hover .social-icon{transform:translateY(-3px);box-shadow:0 6px 16px rgba(23,73,60,.2)}
.social-list li:hover .social-name{color:var(--green)}
.social-icon:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.social-icon svg{width:34px;height:34px;display:block}
/* 视频号图形自带留白，单独放大补偿 */
.social-icon.s-channels svg{width:39px;height:39px}
.social-name{font-size:11px;color:var(--muted);white-space:nowrap;letter-spacing:.2px;transition:color .2s ease}
.s-douyin{--bg:#000}
.s-channels{--bg:linear-gradient(135deg,#FFC93C,#F5821F)}
.s-xhs{--bg:#FF2442}
.s-ks{--bg:#FF4906}
.s-bili{--bg:#00A1D6}
@media(max-width:620px){
  .social-list{gap:16px}
  .social-icon{width:46px;height:46px;border-radius:11px}
  .social-icon svg{width:30px;height:30px}
  .social-icon.s-channels svg{width:35px;height:35px}
  .social-name{font-size:10px}
}
/* 窄屏：保证五个图标仍在一行 */
@media(max-width:360px){
  .social-list{gap:11px}
  .social-icon{width:42px;height:42px;border-radius:10px}
  .social-icon svg{width:27px;height:27px}
  .social-icon.s-channels svg{width:31px;height:31px}
  .social-name{font-size:9px}
}
