
:root{--bg:#faf8f6;--surface:#ffffff;--text:#303942;--muted:#59636c;--blue:#855362;--line:#ddd6d2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button,a{touch-action:manipulation}.wrap{max-width:1200px;margin:auto;padding:0 40px}.header{position:sticky;top:0;z-index:20;background:#faf8f6f5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:20px;font-weight:800;letter-spacing:-.5px}.brand span{color:var(--blue)}nav{display:flex;gap:23px;align-items:center}nav a{font-size:14px;color:var(--muted)}nav a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:var(--bg);padding:13px 21px;font-weight:700;cursor:pointer}.btn.secondary{background:transparent;color:var(--text);border-color:var(--line)}.menu{display:none;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:8px 14px}.hero{padding:95px 0 85px;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}.eyebrow{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--blue);font-weight:700}.hero h1{font-size:clamp(38px,4.4vw,62px);line-height:1.08;letter-spacing:-2.2px;margin:24px 0}.hero h1 em{font-style:normal;color:var(--blue)}.hero p{color:var(--muted);font-size:18px;max-width:580px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.micro{font-size:14px;color:var(--muted)}.diagram{border:1px solid var(--line);border-radius:20px;padding:28px;background:linear-gradient(135deg,#ffffff,#f0f3f4);box-shadow:0 18px 50px #4655630b}.diagram-head{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:35px}.diagram-head span{color:var(--muted)}.flow{position:relative;display:grid;gap:12px} .flow:before{content:'';position:absolute;left:22px;top:20px;bottom:20px;width:1px;background:var(--blue)}.stage{position:relative;display:flex;align-items:center;gap:20px;padding:11px 0}.number{z-index:1;border:1px solid #bac6ca;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;background:#eaf0f1;font-size:14px;color:#476471}.stage strong{font-size:17px}.stage small{display:block;color:var(--muted);font-size:14px}.diagram-foot{display:flex;justify-content:space-between;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}section{padding:86px 0;scroll-margin-top:24px}.results{padding:30px 0 46px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.metric strong{font-size:45px;letter-spacing:-1.5px;line-height:1.3}.metric p{font-size:14px;color:var(--muted);margin:8px 0}.results .micro{margin-top:20px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-top p{max-width:440px;color:var(--muted);margin:0}h2{font-size:38px;line-height:1.16;letter-spacing:-1px;margin:14px 0 0}h3{font-size:22px;line-height:1.3;margin:15px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.card p,.card li{color:var(--muted)}.card p{margin:12px 0}.card .index{font-size:14px;color:var(--blue);letter-spacing:1px}.card ul{padding-left:20px;font-size:15px}.text-link{display:inline-block;font-weight:700;color:var(--blue);padding:8px 0}.card:hover{border-color:#ab8993}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project{padding:32px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:block}.project:hover{border-color:var(--blue)}.project .big{font-size:54px;letter-spacing:-2px;font-weight:800;margin:25px 0 8px;color:var(--blue)}.project p{color:var(--muted)}.badge{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:5px 12px;font-size:13px;color:var(--muted)}.expertise .card{background:transparent}.tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.tag{border:1px solid var(--line);border-radius:6px;padding:9px 16px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.about p{color:var(--muted)}.timeline{border-left:1px solid var(--line);padding-left:28px}.job{margin-bottom:26px;padding-bottom:24px;border-bottom:1px solid var(--line)}.job:last-child{margin-bottom:0}.job time{color:var(--blue);font-size:14px}.job h3{font-size:19px;margin:8px 0}.job p{margin:5px 0;font-size:15px}.insight{max-width:780px}.insight p{color:var(--muted)}.contact{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact p{color:var(--muted)}.contact a.email{display:block;font-size:22px;color:var(--blue);overflow-wrap:anywhere;margin:28px 0 15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;margin-bottom:18px}input,textarea{display:block;width:100%;margin-top:7px;border:1px solid #a4aeb3;border-radius:6px;padding:11px;background:#ffffff;color:var(--text)}textarea{resize:vertical;min-height:130px}.form-note{font-size:14px}.status{min-height:24px;font-size:14px;color:var(--muted)}footer{padding:30px 0;color:var(--muted);font-size:14px}.footer-inner{display:flex;justify-content:space-between;gap:20px}.detail{max-width:840px;padding:75px 0}.detail h1{font-size:48px;line-height:1.15;letter-spacing:-1.3px}.detail h2{font-size:25px;margin-top:40px}.detail p,.detail li{color:var(--muted)}.detail ul{padding-left:24px}.detail .lead{font-size:20px}.back{color:var(--blue);font-weight:700}.light-section{background:#f1eeeb}.copy{margin-top:12px}.resume{display:inline-block;margin-top:14px}
@media(max-width:1000px){.wrap{padding:0 28px}nav{gap:13px}nav a{font-size:13px}.hero{gap:30px}.hero h1{font-size:48px}.grid{grid-template-columns:repeat(2,1fr)}.about,.contact-grid{gap:36px}.metrics{gap:20px}.metric strong{font-size:38px}}
@media(max-width:760px){.wrap{padding:0 20px}.nav{height:72px}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--bg);padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{font-size:16px;padding:5px}.hero{grid-template-columns:1fr;padding:52px 0;gap:28px}.hero h1{font-size:40px;letter-spacing:-1.3px}.hero p{font-size:17px}.diagram{padding:22px}.metrics{grid-template-columns:1fr 1fr;gap:25px}.metric strong{font-size:36px}section{padding:56px 0}.section-top{display:block}.section-top p{margin-top:20px}h2{font-size:30px}.grid,.project-grid,.about,.contact-grid{grid-template-columns:1fr}.card,.project{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{display:block}.detail h1{font-size:36px}.detail{padding:45px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Soft industrial palette */
.hero h1{font-weight:700;letter-spacing:-1.8px}.hero h1 em{color:#855362}.diagram-head strong{color:#476471}.flow:before{background:#a7b7bf}.metric strong{color:#476471}.results{background:#f0f3f3}.card,.project{box-shadow:0 6px 22px #46556305}.contact{background:#eee6e5}.badge{background:#f4efed}.tag{background:#ffffff80}.btn{box-shadow:0 4px 12px #85536212}.btn.secondary{box-shadow:none}.project .big{color:#476471}

/* Interactive editorial layout */
body{background:radial-gradient(ellipse at 8% 3%,#eadde33b,transparent 32%),var(--bg)}
.hero{position:relative}.hero h1{font-size:clamp(40px,4.6vw,66px);font-weight:700}.diagram{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(130deg,#fff9fc,#f0f5f7);box-shadow:0 22px 65px #5c657412}.diagram-head{margin-bottom:20px}.stage{width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:12px;color:var(--text);cursor:pointer;padding:10px;transition:background .2s,border .2s,transform .2s}.flow:before{left:32px}.stage:hover,.stage[aria-pressed="true"]{background:#ffffffb8;border-color:#d4bdc5;transform:translateX(3px)}.stage-detail{margin-top:20px;padding:16px;background:#ffffffa6;border:1px solid #ddd6d2;border-radius:12px;color:var(--muted);font-size:15px;min-height:110px}.diagram-foot{font-size:13px}.card,.project{position:relative;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s}.card:hover,.project:hover{transform:translateY(-5px);box-shadow:0 18px 40px #65596610}.card:before,.project:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(280px circle at var(--mx,50%) var(--my,0%),#d9b9c62e,transparent 70%);opacity:0;transition:opacity .25s}.card:hover:before,.project:hover:before{opacity:1}.btn{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 9px 24px #85536222}.btn:active{transform:scale(.97)}.ripple{position:absolute;pointer-events:none;border-radius:50%;background:#ffffff70;transform:scale(0);animation:ripple .65s ease-out forwards}.btn.secondary .ripple{background:#85536226}@keyframes ripple{to{transform:scale(2.5);opacity:0}}.profile-intro{display:flex;align-items:center;gap:22px;margin-bottom:28px}.profile-intro img{object-fit:cover;border-radius:18px;border:5px solid white;box-shadow:0 12px 28px #65596616}.profile-intro strong{display:block;font-size:25px;margin:8px 0 0}.profile-intro span{display:block;font-size:14px;color:var(--muted)}.reveal-pending{opacity:0;transform:translateY(18px)}.reveal-visible{opacity:1;transform:translateY(0);transition:opacity .55s,transform .55s}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#855362,#638894);z-index:100;width:0;pointer-events:none}.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#cba5b319,transparent 70%);pointer-events:none;z-index:0;transform:translate(-50%,-50%)}main,.header,footer{position:relative} .header{position:sticky}
@media(max-width:760px){.hero h1{font-size:40px}.profile-intro img{width:105px;height:110px}.stage-detail{min-height:0}.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.card:hover,.project:hover,.stage:hover,.btn:hover,.btn:active{transform:none}.ripple,.cursor-glow{display:none}.reveal-visible{transition:none}}

.metric strong{display:inline-block;font-variant-numeric:tabular-nums;min-width:4ch}.metric-value{display:inline-block}.metric-moving .metric-value{animation:metric-lift .6s ease-in-out 2 alternate}@keyframes metric-lift{from{transform:translateY(5px);opacity:.8}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.metric-value{animation:none!important}}

.language-switch{display:flex;flex-shrink:0;border:1px solid var(--line);border-radius:8px;padding:3px;gap:2px}.language-switch button{border:0;background:transparent;color:var(--muted);padding:7px 10px;border-radius:5px;cursor:pointer;font-size:14px;min-height:34px}.language-switch button[aria-pressed="true"]{background:var(--blue);color:white}.nav{gap:14px}nav{gap:16px}.brand{flex-shrink:0}html[lang="zh-CN"] body{font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif}html[lang="zh-CN"] h1,html[lang="zh-CN"] h2{letter-spacing:0;line-height:1.35}html[lang="zh-CN"] .project .big{font-size:42px}@media(min-width:761px) and (max-width:1150px){.nav{flex-wrap:wrap;height:auto;min-height:84px;padding-top:12px;padding-bottom:12px}nav{order:3;width:100%;justify-content:center}.language-switch{margin-left:auto}}@media(max-width:760px){.language-switch{margin-left:auto}.language-switch button{padding:6px 8px}}

/* Align the introduction with the workflow instead of centering it vertically. */
.hero{align-items:start;padding-top:54px;padding-bottom:60px;gap:48px}.hero>div:first-child{padding-top:8px}.hero h1{margin-top:20px}.diagram-head{margin-bottom:14px}.stage{padding-top:8px;padding-bottom:8px}.diagram-foot{margin-top:16px;padding-top:14px}@media(max-width:760px){.hero{padding-top:32px;padding-bottom:40px;gap:26px}.hero>div:first-child{padding-top:0}}


@media(min-width:1151px){.nav nav{order:1;margin-left:auto}.language-switch{order:2}}

/* Prominent language control at the right edge on all screen sizes. */
.language-switch{order:4;margin-left:0;border:2px solid #855362;background:#fff;padding:4px;box-shadow:0 4px 14px #85536218}.language-switch button{font-size:16px;font-weight:700;min-width:46px;min-height:40px;padding:8px 12px}.nav nav{order:1;margin-left:auto}.nav .menu{order:3}@media(min-width:761px) and (max-width:1150px){.nav nav{order:5}.language-switch{margin-left:auto}}@media(max-width:760px){.nav{gap:10px}.nav .menu{margin-left:auto}.language-switch{margin-left:0}.language-switch button{padding:6px 9px;min-width:42px;min-height:38px;font-size:15px}.brand{font-size:18px}}


/* Restore compact language selector. */
.language-switch{border:1px solid var(--line);padding:3px;gap:2px;box-shadow:none;background:transparent}.language-switch button{font-size:14px;font-weight:400;min-width:0;min-height:34px;padding:7px 10px}@media(max-width:760px){.language-switch button{font-size:14px;min-width:0;min-height:34px;padding:6px 8px}}

