@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@400;500;600&display=swap');
:root{--bg:#fafafb;--card:#fff;--ink:#222236;--body:#414151;--muted:#777;--line:#e8e8eb;--display:Montserrat,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--text:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}p,h1,h2,h3,h4,h5,figure{margin:0}img{display:block;max-width:100%}::selection{background:#191919;color:#fff}.skip-link{position:fixed;left:20px;top:-60px;z-index:30;padding:10px 14px;background:#191919;color:#fff}.skip-link:focus{top:20px}
.page{display:flex;min-height:100vh}.profile{position:sticky;top:0;align-self:flex-start;width:42%;height:100vh;padding:clamp(104px,12vh,144px) clamp(32px,4.5vw,72px) 42px;display:flex;flex-direction:column;align-items:flex-start;overflow-y:auto;scrollbar-width:thin}.profile-inner{flex:none;width:100%;max-width:480px;container-type:inline-size}.wordmark{display:inline-block;margin-bottom:38px;font-family:var(--display);font-size:clamp(23px,1.8vw,27px);font-weight:600;letter-spacing:-.055em}.wordmark-dot{margin-left:1px}.eyebrow,.small-label,.card-meta,.job-index,.section-heading>span{font-family:var(--text);font-size:10px;font-weight:600;letter-spacing:.11em}.eyebrow{margin-bottom:13px;color:var(--muted)}.profile h1{max-width:470px;font-family:var(--display);font-size:clamp(32px,3vw,48px);font-weight:500;letter-spacing:-.06em;line-height:1.22}.profile h1 em,.editorial-card h2 em,.contact-card h2 em{font-weight:400;font-style:normal;color:#777}.profile h1 em{display:block}.profile-summary{max-width:440px;margin-top:23px;color:#626262;font-size:14px;line-height:1.72;letter-spacing:-.01em}.profile-actions{display:flex;align-items:center;gap:10px;margin-top:30px}.view-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:112px;min-height:44px;padding:10px 20px;border:1px solid #cfcfd5;border-radius:999px;background:#fff;color:var(--ink);font-family:var(--display);font-size:13px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.view-button:hover{border-color:var(--ink);background:#f0f0f2}.view-button[aria-current="page"]{border-color:#1b1b1b;background:#1b1b1b;color:#fff}.view-button[aria-current="page"]::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.view-button[aria-current="page"]:hover{border-color:#000;background:#000}.view-button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.profile-nav a:hover,.card-anchor:hover,.footer a:hover{text-decoration:underline;text-underline-offset:4px}.profile-facts{margin-top:49px;padding-top:19px;border-top:1px solid #ddd}.small-label{margin-bottom:11px;color:#8a8a8a}.fact-row{display:flex;gap:20px;align-items:baseline;padding:7px 0}.fact-row strong{min-width:75px;font-family:var(--display);font-size:17px;font-weight:500;letter-spacing:-.04em}.fact-row span{color:#777;font-size:12px}.profile-nav{display:flex;gap:21px;margin-top:24px;color:#777;font-size:12px}.profile-signoff{margin-top:25px;color:#999;font-size:10px;line-height:1.6}.profile-bottom{flex:none;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:480px;margin-top:auto;padding-top:18px;border-top:1px solid #ddd}.profile-contact{display:flex;align-items:center}.profile-contact a{color:#1b1b1b;font-size:14px;font-weight:600;line-height:1.5}.profile-contact a:hover{text-decoration:underline;text-underline-offset:4px}.profile-contact a span{margin-left:5px;color:inherit}
.content{width:58%;min-width:0;padding:32px clamp(20px,3vw,48px) 24px 0}.content-stack{width:100%;display:flex;flex-direction:column;gap:24px}.card{border:1px solid #ebebe9;border-radius:20px;background:var(--card);padding:clamp(28px,3vw,48px);box-shadow:none}.card-meta,.job-top{display:flex;justify-content:space-between;gap:20px;color:#929292}.card-meta{margin-bottom:35px}.opening-card{min-height:410px;display:flex;flex-direction:column}.opening-card h2,.impact-card h2,.editorial-card h2,.expertise-card h2,.contact-card h2{font-family:var(--display);font-size:clamp(28px,3vw,43px);font-weight:500;letter-spacing:-.058em;line-height:1.24}.opening-card h2{max-width:640px}.opening-card>p{max-width:610px;margin-top:18px;color:var(--body);font-size:15px;line-height:1.78}.opening-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:36px;color:#8a8a8a;font-size:11px;border-top:1px solid var(--line)}
.impact-card{background:#f0f0f1;color:var(--ink);border-color:#f0f0f1}.impact-card .card-meta{color:#888}.impact-card h2{color:var(--ink)}.light-period{color:#2954ff}.card-intro{margin-top:14px;color:#656575;font-size:14px;line-height:1.7}.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:35px}.impact-item{min-height:139px;display:flex;flex-direction:column;justify-content:center;border-top:1px solid #d7d7dc}.impact-item strong{font-family:var(--display);font-size:clamp(27px,3vw,43px);font-weight:500;letter-spacing:-.055em}.impact-item span{margin-top:6px;color:#696979;font-size:12px;line-height:1.6}.card-anchor{display:inline-flex;gap:20px;margin-top:21px;color:#414158;font-size:12px}
.editorial-card h2{margin-bottom:33px}.growth-list>div{display:grid;grid-template-columns:minmax(120px,31%) 1fr;align-items:start;gap:18px;padding:19px 0;border-top:1px solid var(--line)}.growth-list strong{font-family:var(--display);font-size:clamp(21px,2.3vw,31px);font-weight:500;letter-spacing:-.055em}.growth-list p{max-width:440px;padding-top:3px;color:#666;font-size:13px;line-height:1.7}.section-heading{padding:46px 18px 8px}.section-heading>span{color:#999}.section-heading h2{margin-top:10px;font-family:var(--display);font-size:clamp(28px,2.6vw,38px);font-weight:500;letter-spacing:-.055em}.section-heading p{margin-top:9px;color:#777;font-size:13px}
.job-top{align-items:center;margin-bottom:24px;font-size:11px}.job-top time{white-space:nowrap}.job-card h3,.feature-job h3{font-family:var(--display);font-size:clamp(29px,3vw,42px);font-weight:500;letter-spacing:-.06em;line-height:1.2}.job-role{margin-top:7px;color:#777;font-size:13px}.detail-list{margin:29px 0 0;padding:21px 0 0;border-top:1px solid var(--line);list-style:none}.detail-list li{position:relative;margin-top:11px;padding-left:17px;color:var(--body);font-size:13px;line-height:1.75}.detail-list li:before{content:'↗';position:absolute;left:0;color:#aaa}.job-columns{margin-top:29px}.job-columns>div{display:grid;grid-template-columns:minmax(120px,31%) 1fr;align-items:start;gap:18px;padding:19px 0;border-top:1px solid var(--line)}.job-columns h4{padding-top:1px;font-size:13px;font-weight:600}.job-columns p{max-width:440px;margin:0;color:#626262;font-size:13px;line-height:1.7}.feature-job .project-block{padding-top:24px;margin-top:28px;border-top:1px solid var(--line)}.project-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.project-heading h4{font-size:17px;font-weight:600;letter-spacing:-.025em}.project-heading time{color:#888;font-size:11px;white-space:nowrap}.project-block>p{margin-top:13px;color:#555;font-size:13px;line-height:1.78}.project-detail{display:grid;grid-template-columns:105px 1fr;gap:20px;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.project-detail>span{padding-top:2px;color:#999;font-size:10px;font-weight:600;letter-spacing:.08em}.project-detail h5{font-size:13px;font-weight:600}.project-detail p{margin-top:7px;color:#626262;font-size:12px;line-height:1.82}.simple-copy{max-width:600px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line);color:#555;font-size:13px;line-height:1.75}
.expertise-card h2{margin-bottom:27px}.expertise-group{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:19px 0;border-top:1px solid var(--line)}.expertise-group h3{font-size:13px;font-weight:600}.expertise-group p{color:#555;font-size:12px;line-height:2}.expertise-group span{color:#b7b7b7;padding:0 4px}.expertise-note{margin-top:16px;color:#888;font-size:12px;line-height:1.7}.contact-card{position:relative;overflow:hidden;background:#202020;border-color:#202020;color:#fff;min-height:420px}.contact-card .card-meta{color:#aaa}.contact-card h2{max-width:620px}.contact-card h2 em{color:#aaa}.contact-card>p{margin-top:18px;color:#bcbcbc;font-size:13px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:34px}.contact-links a{font-size:15px;border-bottom:1px solid #777;padding-bottom:4px}.contact-links a:hover{border-color:#fff}.contact-links a span{margin-left:20px}.contact-card figure{position:absolute;right:42px;bottom:41px;width:105px;text-align:center}.contact-card img{padding:5px;background:#fff;border-radius:4px}.contact-card figcaption{margin-top:7px;color:#aaa;font-size:10px}.footer{display:flex;justify-content:space-between;padding:3px 15px 17px;color:#999;font-size:11px}
.contact-card figure{width:132px}.contact-card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.works-frame{display:block;width:100%;height:900px;border:0;background:var(--bg)}[hidden]{display:none!important}
.indie-card .card-meta{margin-bottom:31px}.indie-heading{display:flex;justify-content:space-between;align-items:end;gap:18px}.indie-kicker{color:#7d7d89;font-size:12px}.indie-heading h3{margin-top:8px;font-family:var(--display);font-size:clamp(32px,3.1vw,46px);font-weight:500;letter-spacing:-.06em;line-height:1.2}.indie-badge{flex:none;padding:8px 12px;border-radius:999px;background:#edf1ff;color:#2954ff;font-size:11px;font-weight:600}.indie-intro{max-width:640px;margin-top:21px;color:#50505d;font-size:14px;line-height:1.78}.indie-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:29px}.indie-stats>div{display:flex;flex-direction:column;justify-content:space-between;min-height:130px;padding:18px;background:#f4f4f6;border-radius:12px}.indie-stats strong{font-family:var(--display);font-size:clamp(21px,2.25vw,31px);font-weight:500;letter-spacing:-.06em;white-space:nowrap}.indie-stats span{color:#6e6e7b;font-size:11px;line-height:1.6}.indie-scope{display:grid;grid-template-columns:115px 1fr;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.indie-scope>span{color:#999;font-size:10px;font-weight:600;letter-spacing:.1em}.indie-scope p{color:#555562;font-size:12px;line-height:1.7}.indie-scope p span{padding:0 5px;color:#b9b9bf}
.language-switch{flex:none;display:flex;align-items:center;gap:9px;color:#999;font-family:var(--text);font-size:11px;letter-spacing:.02em;white-space:nowrap}.language-switch a{padding:7px 0;color:#8b8b96}.language-switch a:hover{color:var(--ink)}.language-switch a[aria-current="page"]{color:var(--ink);font-weight:600}.language-switch a:focus-visible{outline-color:#2954ff}
.profile-companies{margin-top:42px;padding-top:19px;border-top:1px solid #ddd}.companies .small-label{margin-bottom:15px;text-transform:uppercase}.companies ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:15px 16px;margin:0;padding:0;list-style:none}.companies li{min-width:0;color:var(--ink);font-family:var(--display);font-size:13px;font-weight:500;letter-spacing:-.04em;line-height:1.45;overflow-wrap:normal}.opening-facts{margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}.opening-facts .small-label{margin-bottom:16px}.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.opening-facts .fact-row{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:0}.opening-facts .fact-row strong{min-width:0;font-size:24px}.opening-facts .fact-row span{font-size:12px;line-height:1.5}
.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.skills-grid .expertise-group{display:block;min-width:0;padding:0;border:0}.skills-grid .expertise-group h3{margin-bottom:15px;font-size:14px;font-weight:600}.skills-grid ul{margin:0;padding:0;list-style:none}.skills-grid li{position:relative;margin:0 0 11px;padding-left:12px;color:#5e5e69;font-size:12px;line-height:1.65}.skills-grid li::before{content:"";position:absolute;left:0;top:.7em;width:3px;height:3px;border-radius:50%;background:#a9a9b2}
@media(max-width:700px){.skills-grid{grid-template-columns:1fr;gap:0;margin-top:23px;padding-top:0;border-top:0}.skills-grid .expertise-group{padding:20px 0;border-top:1px solid var(--line)}.skills-grid .expertise-group h3{margin-bottom:11px}.skills-grid li{margin-bottom:8px}}
@media(max-width:1100px){.profile{padding:88px 36px 64px}.profile h1{font-size:36px}.content{padding-right:20px}.card{padding:30px}.profile-facts{margin-top:30px}.wordmark{margin-bottom:32px}}
@media(max-width:860px){.page{display:block}.profile{position:static;width:100%;height:auto;padding:45px 28px 42px;overflow-y:visible}.profile-inner{max-width:720px}.profile h1{max-width:600px}.profile-facts{max-width:500px}.content{width:100%;padding:0 20px 20px}.content-stack{width:100%}.opening-card{min-height:370px}}
@media(max-width:560px){.profile{padding:30px 20px 34px}.wordmark{margin-bottom:30px}.profile h1{font-size:36px}.profile-summary{font-size:13px}.profile-actions{gap:10px}.profile-facts{margin-top:36px}.profile-signoff{display:none}.content{padding:0 12px 64px}.content-stack{gap:12px}.card{border-radius:16px;padding:25px 22px}.card-meta{gap:10px;margin-bottom:29px;font-size:9px}.opening-card{min-height:360px}.opening-card h2,.impact-card h2,.editorial-card h2,.expertise-card h2,.contact-card h2{font-size:30px}.opening-card>p{font-size:13px}.opening-foot{font-size:10px}.impact-grid{gap:0 14px}.impact-item{min-height:125px}.impact-item strong{font-size:26px}.impact-item span{font-size:11px}.growth-list>div{grid-template-columns:100px 1fr;gap:10px}.growth-list strong{font-size:23px}.growth-list p{font-size:12px}.section-heading{padding:36px 12px 8px}.job-columns>div{display:block;padding:17px 0}.job-columns p{margin-top:7px;font-size:12px}.project-heading{display:block}.project-heading time{display:block;margin-top:5px}.project-detail{grid-template-columns:1fr;gap:5px}.contact-card{padding-bottom:195px}.contact-card figure{right:auto;left:22px;bottom:25px;width:120px}.contact-links a{font-size:13px}.footer{padding:11px 13px 16px}}
@media(max-width:560px){.profile-nav{gap:14px;flex-wrap:wrap}.indie-heading{align-items:start}.indie-heading h3{font-size:34px}.indie-badge{font-size:10px}.indie-intro{font-size:13px}.indie-stats{grid-template-columns:1fr;gap:8px}.indie-stats>div{min-height:82px;padding:14px 16px}.indie-stats strong{font-size:26px}.indie-scope{grid-template-columns:1fr;gap:8px}}
@media(max-width:860px){.profile-bottom{margin-top:36px}}
@container (max-width:335px){.companies ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}}
@media(max-width:560px){.profile-companies{margin-top:32px}.companies ul{row-gap:8px}.companies li{font-size:13px}.opening-facts{margin-top:28px}.fact-grid{grid-template-columns:1fr;gap:11px}.opening-facts .fact-row{flex-direction:row;align-items:baseline;gap:15px}.opening-facts .fact-row strong{min-width:72px;font-size:20px}}
@media(min-width:861px) and (max-height:820px){.profile-signoff{display:none}.profile{padding-top:48px;padding-bottom:60px}.wordmark{margin-bottom:22px}.profile-companies{margin-top:24px}.profile-contact{margin-top:16px;padding-top:13px}}
@media(min-width:861px){
  html,body{height:100%;overflow:hidden}
  .page{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;min-height:0;overflow:hidden}
  .profile{height:100vh;height:100dvh;overflow:hidden!important;scrollbar-width:none!important}
  .profile::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .content{height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}
}
@media(min-width:861px) and (max-height:900px){
  .profile{padding-top:28px;padding-bottom:24px}
  .wordmark{margin-bottom:18px}
  .profile h1{font-size:clamp(29px,2.8vw,40px);line-height:1.14}
  .profile-summary{margin-top:14px;font-size:13px;line-height:1.5}
  .profile-actions{margin-top:18px}
  .profile-companies{margin-top:22px;padding-top:14px}
  .companies ul{gap:8px 12px}
  .companies li{font-size:12px}
  .profile-bottom{padding-top:12px}
}
@media print{@page{size:A4;margin:12mm}html{scroll-behavior:auto}html,body{height:auto;overflow:visible}body{background:#fff;color:#111}.page{display:block;height:auto;overflow:visible}.profile{position:static;width:100%;height:auto;padding:0 0 16px;overflow:visible}.profile-inner{max-width:none}.wordmark{margin-bottom:15px}.profile h1{font-size:30px}.profile-summary{max-width:none}.profile-actions,.profile-bottom,.profile-nav,.profile-facts,.profile-signoff,.card-anchor,.footer,.contact-card figure,#works-view{display:none}.content{width:100%;height:auto;overflow:visible;padding:0}.content-stack{display:block}.card{box-shadow:none;border:1px solid #ddd;border-radius:0;padding:15px;margin-bottom:10px;break-inside:avoid}.section-heading{padding:18px 0 8px}.impact-card,.contact-card{background:#fff;color:#111;border-color:#ddd;min-height:0}.impact-card h2,.contact-card h2{color:#111}.impact-card .card-meta,.contact-card .card-meta,.impact-item span,.card-intro,.contact-card>p{color:#555}.impact-item{border-color:#ddd;min-height:90px}.contact-links a{color:#111}.profile h1 em,.editorial-card h2 em,.contact-card h2 em{color:#555}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view-button{transition:none}}
@media print{#resume-view{display:block!important}}

/* Contact panel */
.contact-dialog{
  position:fixed;z-index:40;inset:auto;width:min(326px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px);margin:0;padding:20px;border:1px solid #2d2d31;
  border-radius:23px;background:#0b0b0e;color:#fff;
  box-shadow:0 24px 64px rgba(0,0,0,.3);overflow-y:auto;
}
.contact-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.contact-dialog-head>div{min-width:0}
.contact-dialog h2{margin:0;font-family:var(--text);font-size:14px;font-weight:600;letter-spacing:0;line-height:1.4}
.contact-dialog-head p{margin-top:6px;color:#a3a3a8;font-size:12px;line-height:1.65}
.contact-dialog-close{display:grid;flex:none;place-items:center;width:24px;height:24px;margin:0;padding:0;border:1px solid #343439;border-radius:50%;background:#17171b;color:#bcbcc2;appearance:none;cursor:pointer}
.contact-dialog-close svg{display:block}.contact-dialog-close:hover{background:#29292e;color:#fff}
.contact-dialog-close:focus-visible,.contact-dialog-email:focus-visible{outline:2px solid #fff;outline-offset:3px}
.contact-dialog-wechat{display:flex;flex-direction:column;align-items:center;margin-top:20px;padding:30px 18px 27px;border-radius:16px;background:#fff;color:#171717}
.contact-dialog-identity{display:flex;flex-direction:column;align-items:flex-start;width:min(190px,100%);gap:4px;margin-bottom:24px}
.contact-dialog-identity strong{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:-.035em}
.contact-dialog-wechat img{display:block;width:min(190px,100%);height:auto;aspect-ratio:804/805;object-fit:contain}
.contact-dialog-email{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;margin-top:16px;padding:9px 12px;border-radius:999px;background:#fff;color:#151515;font-size:12px;font-weight:600;white-space:nowrap}
.contact-dialog-email:hover{background:#e9e9e9}
.contact-dialog-email svg{flex:none}
@media(max-width:560px){.contact-dialog{padding:18px}.contact-dialog-wechat{padding-top:24px;padding-bottom:23px}}
@media print{.contact-dialog{display:none!important}}

.resume-gate{min-height:min(70vh,680px);display:flex;flex-direction:column;justify-content:center}
.resume-gate-copy{max-width:620px}
.resume-gate-copy h2{font-family:var(--display);font-size:clamp(30px,3.4vw,46px);font-weight:500;letter-spacing:-.055em;line-height:1.2}
.resume-gate-copy p{max-width:520px;margin-top:15px;color:#686875;font-size:14px;line-height:1.8}
.resume-gate-form{max-width:540px;margin-top:42px}
.resume-gate-form label{display:block;margin-bottom:10px;color:#777;font-size:11px;font-weight:600;letter-spacing:.06em}
.resume-gate-controls{display:flex;gap:10px}
.resume-gate-controls input{width:min(250px,55%);min-height:54px;padding:12px 16px;border:1px solid #d6d6da;border-radius:12px;background:#fff;color:var(--ink);font:500 22px var(--display);letter-spacing:.28em;text-align:center;outline:none}
.resume-gate-controls input:focus{border-color:#222236;box-shadow:0 0 0 3px rgba(34,34,54,.08)}
.resume-gate-controls button{min-height:54px;padding:12px 20px;border:1px solid #222236;border-radius:12px;background:#222236;color:#fff;font:600 12px var(--text);cursor:pointer;transition:opacity .2s ease,transform .2s ease}
.resume-gate-controls button:hover{opacity:.86;transform:translateY(-1px)}
.resume-gate-controls button:disabled{cursor:wait;opacity:.55;transform:none}
.resume-gate-message{margin-top:12px;color:#a33;font-size:12px;line-height:1.6}
.resume-gate-message[hidden]{display:none}
@media(max-width:560px){.resume-gate{min-height:48vh}.resume-gate-copy h2{font-size:30px}.resume-gate-copy p{font-size:13px}.resume-gate-form{margin-top:30px}.resume-gate-controls{flex-direction:column}.resume-gate-controls input{width:100%}.resume-gate-controls button{width:100%}}
