:root{--paper:#f6f3ed;--white:#fffdf8;--ink:#243839;--deep:#243839;--green:#86583f;--accent:#aa7656;--muted:#696b64;--line:#d7d4c9;--pale:#eae7df;--serif:"Songti SC","STSong","Noto Serif CJK SC",SimSun,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--bar:58px;--header:58px;--gutter:24px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 var(--sans);-webkit-font-smoothing:antialiased}body.locked{position:fixed;overflow:hidden;width:100%}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}ul{padding:0;margin:0;list-style:none}::selection{background:#dcc8b2}.container{max-width:1200px;margin-inline:max(var(--gutter),env(safe-area-inset-left,0px),calc((100% - 1200px)/2))}.arrow{display:inline-flex;align-items:center;justify-content:center;font-size:22px;line-height:1;flex-shrink:0}.section{padding-block:62px}.section-heading{font:400 35px/1.4 var(--serif)}.chapter-label{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:2px;color:var(--green);margin-bottom:20px}.chapter-label .number{font:italic 17px Georgia,serif;letter-spacing:0}.chapter-label:after{content:"";height:1px;flex:1;background:var(--line)}.section-intro{font-size:14px;line-height:1.8;color:var(--muted);margin-top:12px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:46px;font-size:14px;border-bottom:1px solid var(--line)}.skip-link{position:fixed;top:-100px;left:10px;z-index:150;padding:12px 20px;background:var(--ink);color:white}.skip-link:focus{top:10px}
.site-header{height:calc(var(--header) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);position:sticky;top:0;z-index:40;background:var(--paper)}.header-inner{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;min-height:44px}.brand img{width:106px;height:37px;object-fit:contain;mix-blend-mode:multiply}.header-right{display:flex;align-items:center;gap:25px}.header-caption{display:none;font-size:10px;letter-spacing:2px}.menu-trigger{display:flex;align-items:center;gap:12px;min-height:44px;font-size:13px}.menu-icon{display:grid;gap:6px;width:22px}.menu-icon i{height:1px;background:var(--ink)}.progress{position:absolute;bottom:0;left:0;width:100%;height:1px}.progress-line{height:100%;width:0;background:var(--accent)}
.hero{border-bottom:1px solid var(--line)}.hero-image img{width:100%;height:auto}.hero-copy{padding:24px var(--gutter) 32px}.cover-label{display:flex;justify-content:space-between;font:11px/1.5 Georgia,serif;letter-spacing:2px;color:var(--green);margin-bottom:22px}.cover-label span{font:9px/1.5 var(--sans)}.firm-name{font-size:14px;letter-spacing:2px;margin-bottom:12px}.hero h1{font:400 clamp(26px,7.3vw,38px)/1.55 var(--serif)}.hero h1 span{display:block}.hero-caption{font-size:14px;color:var(--muted);margin-top:16px}.cover-end{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px}.cover-end>span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}
.expertise-intro{font-size:14px;color:var(--muted);margin-top:12px}.expertise-cards{display:grid;gap:28px;margin-top:30px}.expertise-card{min-width:0;background:var(--pale);display:flex;flex-direction:column}.expertise-photo{overflow:hidden}.expertise-photo img{width:100%;aspect-ratio:1.7;object-fit:cover;object-position:center 60%}.expertise-card-body{padding:24px 22px 0;flex:1;display:flex;flex-direction:column}.expertise-kicker{display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:1.2px;color:var(--green);margin-bottom:14px}.expertise-kicker>span{font:italic 19px Georgia,serif;letter-spacing:0}.expertise-card h3{font:400 27px/1.5 var(--serif)}.expertise-lead{font-size:14px;line-height:1.85;color:var(--muted);margin-top:12px}.expertise-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin:22px 0 15px}.expertise-points li{border-top:1px solid #c8c4b9;padding:11px 0;font-size:14px;line-height:1.65;word-break:keep-all;overflow-wrap:break-word}.practice-evidence{display:grid;position:relative;gap:4px;border-top:1px solid #c8c4b9;padding:16px 26px 17px 0;margin-top:auto}.evidence-label{font-size:11px;color:var(--green);letter-spacing:1px;margin-bottom:4px}.practice-evidence strong{font-weight:500;font-size:15px;line-height:1.7}.evidence-summary{font-size:13px;line-height:1.8;color:var(--muted)}.practice-evidence>.arrow{position:absolute;right:0;top:48px;font-size:20px}.practice-more{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:57px;font-size:13px;border-top:1px solid #c8c4b9}.practice-more>.arrow{font-size:20px}.expertise-card-dark{background:var(--deep);color:var(--white)}.expertise-card-dark .expertise-kicker,.expertise-card-dark .evidence-label{color:#d7b596}.expertise-card-dark .expertise-lead,.expertise-card-dark .evidence-summary{color:#ccd4cd}.expertise-card-dark .expertise-points li,.expertise-card-dark .practice-evidence,.expertise-card-dark .practice-more{border-color:#5d7070}.supporting-expertise{margin-top:43px}.expertise-subhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:25px}.expertise-subhead h3{font:400 25px/1.5 var(--serif)}.expertise-subhead>span{font-size:11px;color:var(--muted)}.service-groups{display:grid;gap:28px}.service-group h4{margin:0;padding:0 0 10px;font-size:13px;font-weight:500;letter-spacing:1px;color:var(--green);border-bottom:1px solid var(--line)}.support-service{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);min-height:78px}.support-service h5{font-size:18px;font-weight:400;line-height:1.5;margin:0}.support-service p{font-size:13px;line-height:1.75;color:var(--muted);margin-top:4px}.support-service .arrow{font-size:19px;color:var(--green);flex:none}
.experience{background:var(--deep);color:var(--paper)}.experience .chapter-label{color:#d7b596}.experience .chapter-label:after{background:#5d7070}.experience .section-intro{color:#ccd4cd}.case-list{display:grid;margin-top:34px}.case-item{border-top:1px solid #5d7070}.case-link{display:flex;flex-direction:column;height:100%;padding:24px 0 27px}.case-top{display:flex;justify-content:space-between;align-items:center;color:#d7b596;font-size:12px}.case-index{font:italic 15px Georgia,serif}.case-item h3{font:400 25px/1.6 var(--serif);margin-top:14px}.case-summary{font-size:14px;line-height:1.9;color:#d1d8d2;margin-top:10px;margin-bottom:21px}.case-bottom{display:flex;align-items:center;gap:12px;margin-top:auto}.case-stat{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.case-stat>span{font:400 43px/1.1 Georgia,serif;letter-spacing:-1.5px}.case-stat small{font-size:12px;color:#d7b596}.case-measure{font-size:11px;line-height:1.7;color:#ccd4cd;border-left:1px solid #5d7070;padding-left:12px;max-width:9em}.case-open{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border:1px solid #7a8983;border-radius:50%;font:20px Arial,sans-serif;margin-left:auto}.case-note{border-top:1px solid #5d7070;padding-top:20px;font-size:12px;line-height:1.8;color:#ccd4cd}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 16px;margin-top:30px}.person-card{min-width:0}.person-image{position:relative;overflow:hidden;aspect-ratio:4/5;background:#d4d5d0}.person-image img{width:100%;height:100%;object-fit:cover}.portrait-arrow{position:absolute;bottom:0;right:0;display:flex;align-items:center;justify-content:center;width:35px;height:35px;background:var(--paper);font:21px Arial,sans-serif}.person-caption{padding-top:16px}.person-name{font:400 27px/1.4 var(--serif)}.person-role{font-size:12px;color:var(--muted);margin-top:4px}.person-focus{font-size:14px;line-height:1.8;margin-top:13px;min-height:3.6em}.person-focus span{display:inline-block;white-space:nowrap;margin-right:6px}.person-credential{font-size:13px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.person-en{font-size:12px;color:var(--muted);letter-spacing:1px;margin-top:6px}
.about{padding-top:20px;padding-bottom:42px}.space-address{font-size:14px;color:var(--muted);margin-top:12px}.space-gallery{max-width:1200px;margin:28px auto 0;padding-inline:var(--gutter);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.space-main{grid-column:1/-1}.space-main img{width:100%;height:auto}.space-secondary img,.space-detail img{width:100%;aspect-ratio:1;object-fit:cover}.space-secondary img{object-position:48% center}.space-detail img{object-position:72% center}
.contact{padding-top:25px;padding-bottom:calc(var(--bar) + env(safe-area-inset-bottom,0px) + 38px)}.contact-title{font:400 38px/1.4 var(--serif);margin-bottom:27px}.contact-row{border-top:1px solid var(--line);padding:16px 0}.contact-value{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:16px;overflow-wrap:anywhere;min-height:32px}.contact-value>span{font:20px Arial,sans-serif}.contact-phone{font-family:Georgia,serif;font-size:26px}.contact-address{font-size:15px;line-height:1.9}.copy-address{font-size:13px;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:5px}.footer-mark{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;padding-top:24px;border-top:1px solid var(--line)}.footer-mark img{width:97px;height:auto;mix-blend-mode:multiply}.footer-mark p{font-size:11px;color:var(--muted)}.chapter-nav{position:fixed;bottom:0;left:0;right:0;z-index:35;background:var(--paper);border-top:1px solid var(--line);height:calc(var(--bar) + env(safe-area-inset-bottom,0px));padding:0 8px env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.chapter-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;font-size:12px;line-height:1.8;min-height:44px;position:relative}.chapter-nav a>span{font:10px/1.3 Georgia,serif;color:var(--green)}.chapter-nav a[aria-current]{color:var(--green);background:#eae3d9}.chapter-nav a[aria-current]:before{position:absolute;top:-1px;left:14px;right:14px;height:2px;background:var(--accent);content:""}.toast{position:fixed;bottom:calc(var(--bar) + env(safe-area-inset-bottom,0px) + 18px);left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--deep);color:var(--white);font-size:13px;max-width:calc(100% - 40px);width:max-content;z-index:100}.toast[hidden]{display:none}
dialog{padding:0;border:0;color:var(--ink);background:var(--paper);margin:0;width:100%;max-width:100%;height:100vh;max-height:100vh;height:100dvh;max-height:100dvh;position:fixed;inset:0;overscroll-behavior:contain}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#0b232bcc}.dialog-bar{flex:none;height:calc(var(--header) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--gutter) 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);gap:16px}.dialog-back{min-height:44px;min-width:65px;padding:5px 10px 5px 0;font-size:13px;display:flex;align-items:center;gap:12px}.dialog-back .arrow{font-size:22px}.dialog-kind{font-size:10px;letter-spacing:2px;color:var(--muted)}.dialog-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0px)}.detail-wrap{width:min(100% - 2 * var(--gutter),780px);margin:0 auto;padding:35px 0 45px}.detail-label{font-size:11px;color:var(--green);letter-spacing:1.5px;margin-bottom:20px}.detail-title{font-family:var(--serif);font-size:32px;line-height:1.5;overflow-wrap:break-word}.detail-lead{font-size:17px;line-height:1.95;margin-top:26px;color:var(--ink)}.detail-section{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.detail-section h3{font-size:12px;font-weight:500;letter-spacing:2px;color:var(--green);margin-bottom:16px}.detail-section p,.detail-section li{font-size:16px;line-height:1.95}.detail-section li{position:relative;padding-left:16px;margin-top:12px}.detail-section li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--green);position:absolute;left:0;top:14px}.detail-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:26px}.detail-contact{margin-top:35px;padding:24px 0 0;border-top:1px solid var(--line)}.detail-contact p{font-family:var(--serif);font-size:22px;margin-bottom:15px}.detail-contact a{font-size:14px;text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}.detail-person-top{display:grid;grid-template-columns:118px 1fr;gap:24px;align-items:end;margin-bottom:28px}.detail-person-top img{width:118px;aspect-ratio:4/5;object-fit:cover}.detail-person-top h2{font-size:31px}.detail-person-meta{font-size:12px;color:var(--muted);line-height:1.9;margin-top:9px}.menu-wrap{width:min(100% - 2 * var(--gutter),760px);margin:0 auto;padding:30px 0 35px}.menu-top{font-size:11px;letter-spacing:2px;color:var(--green);margin-bottom:20px}.menu-list a{display:flex;align-items:center;gap:22px;min-height:67px;border-top:1px solid var(--line)}.menu-list li:last-child a{border-bottom:1px solid var(--line)}.menu-list .number{font:italic 14px Georgia,serif;color:var(--green)}.menu-list .name{font-family:var(--serif);font-size:25px}.menu-list .arrow{margin-left:auto;font-size:20px}.menu-bottom{margin-top:32px;font-size:13px;color:var(--muted);line-height:2}.menu-bottom a{display:block}.noscript{padding:24px;background:var(--pale)}
.related-links{display:grid;gap:0}.related-link{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;min-height:55px;border-bottom:1px solid var(--line)}.related-link strong{display:block;font-size:16px;font-weight:400;line-height:1.65}.related-link small{display:block;font-size:13px;line-height:1.8;color:var(--muted);margin-top:5px}.related-link>.arrow{flex:none}.related-person img{width:56px;height:70px;object-fit:cover;flex:none}.related-person>div{flex:1}.detail-section h3{font-size:14px;letter-spacing:1px}.detail-label{font-size:10px;line-height:1.8}.detail-note{font-size:13px}.menu-top{font-size:12px}.dialog-kind{letter-spacing:1px;font-size:11px}
@media(min-width:760px){:root{--gutter:48px;--header:76px}.header-caption{display:block}.brand img{width:132px;height:46px}.hero{padding:22px 0 58px}.hero-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:5%;max-width:1400px;margin:auto;padding-inline:var(--gutter)}.hero-copy{padding:0}.hero h1{font-size:clamp(27px,3.2vw,45px)}.cover-label{margin-bottom:34px}.firm-name{font-size:15px;margin-bottom:20px}.cover-end{margin-top:25px}.section{padding-block:82px}.section-heading{font-size:44px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:30px}.section-head .section-intro{margin-top:0}.expertise-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:35px}.expertise-card-body{padding:28px 30px 0}.expertise-card h3{font-size:31px}.expertise-points{margin-block:24px 20px}.expertise-points li{font-size:15px}.expertise-lead{font-size:15px}.practice-evidence strong{font-size:17px}.practice-more{font-size:14px;min-height:61px}.service-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 48px}.service-group-wide{grid-column:1/-1}.service-group-wide .support-service{max-width:100%}.supporting-expertise{margin-top:48px}.expertise-subhead h3{font-size:28px}.case-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 64px;margin-top:42px}.case-link{padding:28px 0 35px}.case-item h3{font-size:28px}.case-summary{font-size:15px;max-width:31em}.case-stat>span{font-size:52px}.case-measure{font-size:12px;max-width:none}.case-note{margin-top:10px}.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:34px}.person-name{font-size:31px}.person-role{font-size:13px}.person-focus{font-size:14px}.person-credential{font-size:13px}.space-gallery{grid-template-columns:1.15fr .8fr .65fr;gap:20px;max-width:1296px;margin-top:35px;align-items:end}.space-main{grid-column:auto}.space-main img{aspect-ratio:1.08;object-fit:cover;object-position:48% center}.space-secondary img,.space-detail img{aspect-ratio:3/4}.space-detail{padding-bottom:55px}.about{padding-top:10px;padding-bottom:60px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:15%}.contact-title{font-size:52px}.contact-value{font-size:18px}.contact-phone{font-size:31px}.contact{padding-top:30px;padding-bottom:140px}.footer-mark{margin-top:35px}.chapter-nav{left:50%;right:auto;transform:translateX(-50%);bottom:18px;width:460px;height:60px;border:1px solid var(--line);box-shadow:0 6px 25px #24383912;padding:0 8px}.chapter-nav a{flex-direction:row;gap:9px;font-size:13px}.detail-wrap{padding-top:45px}.detail-title{font-size:43px}.detail-person-top{grid-template-columns:200px 1fr;gap:40px}.detail-person-top img{width:200px}.detail-person-top h2{font-size:45px}.detail-person-meta{font-size:14px}.menu-list a{min-height:80px}.menu-list .name{font-size:30px}.dialog-bar{padding-left:max(var(--gutter),calc((100% - 1100px)/2));padding-right:max(var(--gutter),calc((100% - 1100px)/2))}}
@media(max-width:350px){:root{--gutter:20px}.hero h1{font-size:25px}.cover-end>span{font-size:8px;letter-spacing:.5px}.firm-name{font-size:13px}.hero-caption{font-size:13px}.section-heading{font-size:32px}.expertise-card-body{padding:22px 18px 0}.expertise-card h3{font-size:24px}.expertise-kicker{font-size:8px;letter-spacing:.8px}.expertise-points{gap:0 12px}.expertise-points li{font-size:13px}.expertise-subhead h3{font-size:23px}.expertise-subhead>span{font-size:10px}.case-stat>span{font-size:36px}.case-stat{gap:3px}.case-bottom{gap:8px}.case-measure{font-size:10px;padding-left:8px}.case-open{width:32px;height:32px}.case-item h3{font-size:23px}.team-grid{gap:30px 12px}.person-name{font-size:25px}.person-focus{font-size:13px}.person-credential{font-size:12px}.contact-phone{font-size:24px}.detail-title{font-size:29px}.detail-person-top{grid-template-columns:100px 1fr;gap:18px}.detail-person-top img{width:100px}.footer-mark p{font-size:10px}}
@media(hover:hover){.practice-more:hover,.support-service:hover,.related-link:hover{color:var(--green)}.case-link:hover .case-open{background:var(--paper);color:var(--ink)}.person-card a:hover .portrait-arrow{background:var(--accent);color:var(--white)}.chapter-nav a:hover{background:var(--pale)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Clear client entry points and direct contact from every detail. */
.cover-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:23px}.cover-actions .text-link{gap:12px;font-size:13px}.cover-actions .arrow{font-size:20px}.nav-call{color:var(--green)}.detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:15px}.detail-contact .detail-actions a{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--line);min-height:50px;text-decoration:none;font-size:14px}.detail-contact .detail-actions .detail-call{background:var(--deep);color:var(--white);border-color:var(--deep)}.detail-contact .detail-email{font-size:13px}.detail-person-meta{line-height:1.85}
@media(max-width:350px){.cover-actions{gap:16px}.cover-actions .text-link{font-size:12px}.detail-person-meta{font-size:11px}}
.chapter-nav .nav-call{background:var(--deep);color:var(--white);margin:7px 4px;min-height:44px;flex-direction:row;gap:6px}.chapter-nav .nav-call>span{color:var(--white);font-size:14px}
@media(hover:hover){.chapter-nav .nav-call:hover{background:#365253}}
@media(max-width:759px){.hero-copy{padding:16px var(--gutter) 22px}.cover-label{margin-bottom:14px}.hero h1{line-height:1.42}.hero-caption{margin-top:9px}.cover-actions{margin-top:14px}}

/* Vector paths keep navigation arrows monochrome in iOS and WeChat. */
.icon-arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.15em;pointer-events:none}.arrow>.icon-arrow,.case-open>.icon-arrow,.portrait-arrow>.icon-arrow{display:block}.detail-actions .icon-arrow{font-size:18px}.copy-address .icon-arrow{margin-left:4px}
