@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f8f7f3;--ink:#202f2f;--muted:#687371;--green:#254f49;--line:#dcded7;--lime:#dce6c7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,'Microsoft YaHei',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #9b6c25;outline-offset:5px}button{cursor:pointer}header,main,footer{max-width:1320px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:25px 54px;border-bottom:1px solid var(--line);gap:20px}nav{display:flex;align-items:center;gap:31px;font-size:13px}nav>a:hover,.text-link:hover{color:#42796b}.brand{display:flex;align-items:center;gap:15px}.monogram{font-family:Georgia,serif;font-size:33px;letter-spacing:-3px;line-height:1}.monogram span{color:#63947f}.brand-name{font-size:10px;font-weight:700;letter-spacing:2px}.lang{display:flex;align-items:center;gap:5px;margin-left:14px;color:#89918a}.lang button{background:none;border:0;padding:5px;color:var(--muted);font-size:12px}.lang button[aria-pressed=true]{color:var(--ink);font-weight:700}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center;padding:84px 54px 76px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;display:inline-flex;gap:10px;align-items:center;color:var(--green)}.dot{width:6px;height:6px;background:#6e8f68;border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',Arial,'Microsoft YaHei',sans-serif}h1{font-size:clamp(42px,4.9vw,67px);line-height:1.12;letter-spacing:-3.4px;font-weight:500;margin:26px 0}em{font-family:Georgia,'Songti SC',serif;font-weight:400;color:var(--green)}.intro{font-size:16px;line-height:1.9;color:var(--muted);max-width:525px;margin-bottom:30px}.actions{display:flex;gap:28px;align-items:center}.button{display:inline-flex;gap:33px;justify-content:space-between;align-items:center;background:var(--green);color:white;border-radius:4px;padding:13px 20px;font-size:12px}.button:hover{background:#35675e}.text-link{font-size:12px;display:inline-flex;gap:12px;align-items:center}.hero-graphic{height:367px;border:1px solid #d9dfd4;border-radius:9px;background:radial-gradient(ellipse at 70% 70%,#e2e8d6,transparent 65%),#efF0e8;padding:22px 24px;overflow:hidden;position:relative}.graphic-top,.graphic-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#62766b}.graphic-bottom{position:absolute;bottom:21px;left:24px;right:24px;letter-spacing:.2px;font-size:11px}.graphic-bottom span{font-size:20px}.rings{position:relative;width:300px;height:275px;margin:0 auto}.ring{position:absolute;border:1px solid #769085;border-radius:50%;width:185px;height:185px;mix-blend-mode:multiply}.r1{left:5px;top:31px;background:#e8eddf55}.r2{right:5px;top:31px;background:#d2ddc455}.r3{left:57px;top:110px;background:#c5d7c355}.ring-label{position:absolute;font-size:9px;letter-spacing:1.4px;color:#395b4a}.l1{left:40px;top:110px}.l2{right:14px;top:110px}.l3{left:122px;top:235px}.center-star{position:absolute;left:132px;top:143px;font-size:35px;color:#426c53}.context-strip{margin:0 54px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:34px}.context-strip>span{font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-right:auto}.context-strip b{font-size:12px;font-weight:500}.context-strip i{color:#a5aca0}.section{padding:76px 54px}h2{font-weight:500;font-size:37px;line-height:1.25;letter-spacing:-1.5px;margin:15px 0 18px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.section-heading p{max-width:300px;font-size:13px;color:var(--muted);margin-bottom:21px}.filters{display:flex;gap:8px;margin:20px 0 30px;flex-wrap:wrap}.filters button{padding:8px 17px;border:1px solid var(--line);border-radius:30px;color:var(--muted);background:transparent;font-size:11px}.filters button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.project{border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:transform .2s,box-shadow .2s}.project:hover{transform:translateY(-5px);box-shadow:0 12px 24px #253e3910}.art{height:240px;position:relative;overflow:hidden}.art-label,.art-foot{position:absolute;left:18px;font-size:8px;letter-spacing:1.4px;color:#597466}.art-label{top:17px}.art-foot{bottom:15px}.hub{background:#e5ebdf}.orbit{position:absolute;width:175px;height:175px;left:50%;top:52%;transform:translate(-50%,-50%);border:1px dashed #aabdab;border-radius:50%}.o2{width:105px;height:105px;border-style:solid}.hub-core{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);border:1px solid #a4b9a4;background:#f6f8ef;box-shadow:0 3px 12px #6b897422;width:70px;height:70px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;line-height:1.3;letter-spacing:1px;border-radius:12px}.node{position:absolute;border:1px solid #b9c8b5;border-radius:5px;background:#f2f5eb;padding:4px 9px;font-size:9px}.n1{left:17%;top:25%}.n2{right:9%;top:40%}.n3{left:16%;top:66%}.n4{right:19%;top:74%}.chart{background:#e7ecef}.chart .art-label,.chart .art-foot{color:#647a8a}.chart-panel{position:absolute;top:51%;left:50%;transform:translate(-50%,-50%) rotate(-3deg);width:74%;background:#f8fafb;border:1px solid #d0dce0;padding:15px;border-radius:7px;box-shadow:8px 10px 0 #d4dee3}.chart-head{display:flex;justify-content:space-between;font-size:9px;margin-bottom:15px;color:#687e87}.bars{height:86px;display:flex;align-items:end;gap:8px;border-bottom:1px solid #d4dedf}.bars i{flex:1;background:#72988e;border-radius:3px 3px 0 0}.chart-axis{display:flex;justify-content:space-between;font-size:7px;color:#9aabb0;margin-top:5px}.flow{background:#eee9df}.flow .art-label,.flow .art-foot{color:#91816a}.flow-line{display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);font-size:10px;width:53%}.flow-line span{padding:8px 13px;border:1px solid #d7cdbb;border-radius:4px;width:100%;background:#faf7f0}.flow-line b{font-weight:400;color:#b3a68e;line-height:20px}.flow-line .final{background:#dce6cc;border-color:#bccaac}.flow-line i{float:right;font-style:normal}.project-copy{padding:20px}.meta{font-size:9px;color:var(--muted);display:flex;justify-content:space-between;letter-spacing:1px}.meta span{font-size:18px;line-height:1}.project h3{font-size:19px;line-height:1.4;letter-spacing:-.5px;margin:10px 0}.project p{font-size:12px;color:var(--muted);line-height:1.8;min-height:65px}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{font-size:9px;border:1px solid var(--line);border-radius:3px;padding:3px 7px;color:#65736b}.approach{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:1px solid var(--line);margin:0 54px;padding:67px 0}.approach h2{font-size:34px}.steps article{display:flex;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.steps article:first-child{padding-top:0}.steps article>span{font-size:11px;color:#8c9c8a}.steps h3{font-size:16px;font-weight:600;margin-bottom:8px}.steps p{font-size:13px;color:var(--muted);margin-bottom:0}.contact{margin:10px 54px 55px;padding:43px;background:#e9ede3;border:1px solid #d9dfd1;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:40px}.contact h2{font-size:37px}.contact p{font-size:12px;max-width:380px;color:var(--muted);margin:0}.contact-link{display:grid;grid-template-columns:1fr 30px;gap:7px;min-width:230px;border-bottom:1px solid #8fa18b;padding-bottom:15px;font-size:16px}.contact-link b{text-align:right}.contact-link small{font-size:11px;color:var(--muted)}footer{display:flex;align-items:center;gap:26px;border-top:1px solid var(--line);padding:27px 54px;font-size:10px;color:var(--muted)}footer>span:nth-child(3){margin-left:auto}footer>a:last-child{font-size:22px;margin-left:15px}.about-intro{padding-bottom:45px;max-width:950px}.about-intro h1{font-size:59px}.experience,.education{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--line);margin:0 54px;padding:50px 0}.job{display:grid;grid-template-columns:105px 1fr;gap:20px;margin-bottom:35px}.date{font-size:11px;color:var(--muted)}.job h3,.education h3{font-size:20px;margin:0 0 5px}.job b{font-size:12px;font-weight:500;color:var(--green)}.job p,.education p{font-size:13px;color:var(--muted);margin-top:8px}.education article+article{margin-top:30px}.skill-section{padding-top:0}.skill-section .tags span{font-size:13px;padding:8px 15px}.detail-intro{padding-bottom:30px}.detail-heading{max-width:830px;margin:50px 0 40px}.detail-heading h1{font-size:57px}.detail-heading .tags{margin:22px 0}.art.large{height:350px;border-radius:7px}.large .orbit{width:270px;height:270px}.large .o2{width:160px;height:160px}.large .hub-core{width:105px;height:105px;font-size:19px}.large .node{font-size:13px;padding:8px 18px}.large .chart-panel{width:55%;max-width:500px}.large .bars{height:160px}.large .flow-line{width:30%}.large .flow-line span{padding:13px 20px;font-size:14px}.caption{font-size:9px;letter-spacing:1px;color:var(--muted);margin:13px 0 0}.case-content{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:25px;padding-bottom:45px}.case-content article{border-top:1px solid var(--line);padding-top:20px}.case-content p{font-size:15px;color:var(--muted);line-height:1.9;margin:15px 0 0}.case-note{margin:0 54px 55px;border-left:2px solid #9bab91;padding:0 20px;font-size:12px;color:var(--muted)}.case-note p{margin:7px 0}.demo{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:10px}.demo p{font-size:14px;color:var(--muted)}.demo small{font-size:11px;color:var(--muted)}.calculator{border:1px solid var(--line);padding:25px;border-radius:7px;background:#eef1e9}.calculator label{display:block;font-size:12px;margin-bottom:20px}.calculator label output{float:right}.calculator input{display:block;width:100%;margin-top:15px;accent-color:var(--green)}.calc-result{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:13px}.calc-result output{font-size:40px}.empty{grid-column:1/-1;padding:50px;border:1px dashed var(--line);color:var(--muted);font-size:14px}.skip{position:absolute;left:20px;top:-80px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.loading{padding:80px}html[lang=zh-CN] h1{letter-spacing:-1.7px;line-height:1.3}html[lang=zh-CN] h2{line-height:1.4}html[lang=zh-CN] em{font-style:normal}
@media(min-width:1500px){header,main,footer{max-width:1400px}.hero{padding-top:100px;padding-bottom:90px}.hero-graphic{height:390px}.rings{margin-top:13px}}
@media(max-width:1000px){header{padding:22px 30px}.hero{padding:60px 30px;gap:25px}.hero h1{font-size:49px}.hero-graphic{padding:20px 12px}.rings{transform:scale(.85);transform-origin:center top;width:285px}.context-strip{margin:0 30px;gap:20px}.section{padding:55px 30px}.cards{gap:15px}.project-copy{padding:15px}.project h3{font-size:17px}.project p{min-height:85px}.art{height:210px}.approach,.experience,.education{margin:0 30px;padding:45px 0;gap:35px}.contact{margin:10px 30px 40px;padding:30px}.contact h2{font-size:32px}footer{padding:25px 30px}.case-note{margin-left:30px;margin-right:30px}}
@media(max-width:720px){header{padding:20px;gap:10px}.brand-name{display:none}nav{gap:16px;font-size:12px}.lang{margin-left:0;gap:2px}.hero{grid-template-columns:1fr;padding:48px 22px 35px;gap:40px}.hero h1{font-size:49px;letter-spacing:-2.5px}.intro{font-size:14px}.hero-graphic{height:325px;padding:20px}.rings{transform:scale(.92);width:300px;margin:0 auto}.graphic-bottom{bottom:16px}.context-strip{margin:0 22px;gap:15px;flex-wrap:wrap;padding:20px 0}.context-strip>span{flex-basis:100%}.context-strip b{font-size:11px}.section{padding:45px 22px}.section-heading{display:block}.section-heading p{max-width:none;margin-bottom:25px}h2{font-size:32px}.cards{grid-template-columns:1fr;gap:25px}.art{height:270px}.project-copy{padding:22px}.project h3{font-size:23px}.project p{min-height:0;font-size:14px}.tags span{font-size:10px}.meta{font-size:10px}.filters button{padding:8px 13px;font-size:11px}.approach{grid-template-columns:1fr;margin:0 22px;padding:45px 0;gap:25px}.contact{display:block;margin:10px 22px 35px;padding:28px}.contact-link{margin-top:30px;min-width:0}.contact h2{font-size:32px}footer{padding:22px;flex-wrap:wrap;gap:15px}footer>span:nth-child(3){order:4;flex-basis:100%;margin-left:0}footer>a:last-child{margin-left:auto}.about-intro h1{font-size:43px}.experience,.education{grid-template-columns:1fr;gap:15px;margin:0 22px;padding:35px 0}.job{grid-template-columns:1fr;gap:5px}.job h3{font-size:19px}.skill-section{padding-top:25px}.detail-heading{margin-top:35px}.detail-heading h1{font-size:40px}.case-content{grid-template-columns:1fr;gap:28px;padding-top:0}.art.large{height:300px}.large .chart-panel{width:75%}.large .flow-line{width:55%}.demo{grid-template-columns:1fr;gap:20px;padding-top:5px}.case-note{margin-left:22px;margin-right:22px}.empty{padding:30px}.actions{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:720px){html[lang=zh-CN] .hero h1{font-size:38px;letter-spacing:-1px}}
/* Editorial direction: consulting-inspired, with a distinct personal identity. */
:root{--paper:#fff;--ink:#122638;--muted:#596773;--green:#124d5b;--line:#d5dce1;--lime:#d4ede5}
body{background:var(--paper)}header{padding-top:27px;padding-bottom:27px}.brand-name{font-size:11px;letter-spacing:2.2px}.monogram{color:#122638}.monogram span{color:#1b8173}nav{font-size:13px;font-weight:500}.lang button[aria-pressed=true]{color:#0c5262}h1,h2{font-family:Georgia,'Times New Roman','Songti SC','SimSun',serif;font-weight:400;letter-spacing:-1.8px}h3{font-family:'Manrope',Arial,'Microsoft YaHei',sans-serif}em{font-family:inherit;font-style:normal;color:inherit}.hero{background:#0c2638;color:#fff;position:relative;padding:90px 54px 88px;gap:55px;grid-template-columns:1.35fr 1fr}.hero:before{content:'';height:4px;width:64px;position:absolute;top:0;left:54px;background:#4bbaa4}.hero .eyebrow{color:#afc7cd;font-size:10px}.hero .dot{background:#65c7af}.hero h1{font-size:clamp(48px,5.1vw,72px);line-height:1.08;letter-spacing:-2.5px;margin:30px 0}.hero h1 em{color:#c7e0dc}.hero .intro{color:#bac9d2;line-height:1.85;font-size:15px;max-width:510px}.hero .button{background:#fff;color:#102a3b;border-radius:0;border-bottom:3px solid #50aa98;padding:14px 20px;font-weight:600}.hero .button:hover{background:#dcebe8}.hero .text-link{color:#e2e8ed}.hero-graphic{height:365px;border:0;border-top:1px solid #37515e;border-bottom:1px solid #37515e;border-radius:0;background:none;padding:23px 12px}.graphic-top{color:#86a2af;font-size:8px;letter-spacing:2px}.graphic-bottom{color:#aec2cc;left:12px;right:12px;font-family:Georgia,serif;font-size:15px;letter-spacing:0}.ring{border-color:#799b9a;mix-blend-mode:normal}.r1{background:#163e4318}.r2{background:#2b5e4f33}.r3{background:#2c726344}.ring-label{color:#c7dfdc;font-size:9px}.center-star{color:#94c9b6}.context-strip{margin:0;background:#f0f3f5;border:0;padding:26px 54px;gap:35px}.context-strip>span{color:#6b7881;font-size:8px}.context-strip b{color:#253f50;font-size:12px}.context-strip i{color:#8197a1}.section{padding-top:84px;padding-bottom:84px}.eyebrow{font-size:9px;letter-spacing:2px;color:#247669}.section-heading{align-items:center}.section-heading h2{font-size:48px;margin-top:12px;margin-bottom:12px}.section-heading p{font-size:14px;line-height:1.8;max-width:325px}.filters{gap:24px;margin-top:25px;margin-bottom:35px;border-bottom:1px solid var(--line)}.filters button{border:0;border-radius:0;background:none;font-size:12px;padding:12px 0 14px;color:#65717b;border-bottom:3px solid transparent}.filters button[aria-pressed=true]{background:none;color:#0b3649;border-bottom-color:#187a69;font-weight:700}.cards{gap:29px}.project{border:0;border-radius:0;border-bottom:1px solid #b8c5ca;box-shadow:none}.project:hover{box-shadow:none;transform:translateY(-3px)}.project-copy{padding:22px 0 25px}.meta{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#247669;font-weight:600}.project h3{font-family:Georgia,'Songti SC',serif;font-size:25px;font-weight:400;line-height:1.23;letter-spacing:-.5px;margin:14px 0}.project p{font-size:13px;line-height:1.85;min-height:72px}.tags span{border:0;border-radius:0;padding:2px 8px 2px 0;font-size:9px;color:#5e737d}.tags span+span{border-left:1px solid #c6d1d5;padding-left:8px}.art{height:250px;border-radius:0}.hub{background:#e5ebe8}.chart{background:#e5ecf1}.flow{background:#eeeae3}.chart-panel{transform:translate(-50%,-50%);border-radius:0;box-shadow:8px 8px 0 #cbd7dd}.hub-core{border-radius:0}.node{border-radius:0}.flow-line span{border-radius:0}.approach{background:#f3f5f5;border:0;margin:0;padding:70px 54px;gap:75px}.approach h2{font-family:Georgia,'Songti SC',serif;font-size:43px;line-height:1.18;margin-top:22px}.steps article{padding:23px 0}.steps article>span{color:#287a70}.steps h3{font-size:16px}.steps p{font-size:13px;line-height:1.85}.contact{margin:0;background:#0c2638;color:#fff;border:0;border-radius:0;padding:65px 54px;gap:60px}.contact .eyebrow{color:#8ec5b7}.contact h2{font-family:Georgia,'Songti SC',serif;font-size:44px;line-height:1.2;margin-top:20px}.contact p{color:#b9cbd3;font-size:13px}.contact-link{border-bottom-color:#618c92;min-width:265px;font-family:Georgia,serif;font-size:21px}.contact-link small{font-family:'DM Sans',sans-serif;color:#a4bdc8;font-size:11px}.contact-link b{color:#8bc8b6}footer{padding-top:30px;padding-bottom:30px;background:#fff;color:#697780}.about-intro h1,.detail-heading h1{font-family:Georgia,'Songti SC',serif;font-size:64px;font-weight:400;line-height:1.12}.about-intro{max-width:1050px}.experience h2,.education h2,.skill-section h2{font-family:Georgia,'Songti SC',serif;font-size:38px}.experience,.education{padding:55px 0}.detail-intro{padding-bottom:35px}.detail-heading{max-width:920px}.detail-heading .tags span{font-size:11px}.art.large{border-radius:0}.case-content{padding-top:25px;padding-bottom:65px;gap:50px}.case-content .eyebrow{color:#247669}.case-content p{font-size:16px;line-height:1.9}.case-note{margin-bottom:65px}.demo{padding-top:0;padding-bottom:60px}.demo h2{font-size:38px}.calculator{border-radius:0;background:#eef3f2}.calc-result output{font-family:Georgia,serif}.skill-section .tags span{border:1px solid var(--line);padding:8px 15px}.empty{border:0;border-left:3px solid #aabeb8;background:#f3f6f5}.button{border-radius:0}.art-foot{font-size:7px;letter-spacing:1.3px}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:100px}.hero-graphic{height:390px}}
@media(max-width:1000px){.hero{padding:65px 30px;gap:30px}.hero:before{left:30px}.hero h1{font-size:54px}.hero-graphic{height:340px}.context-strip{padding:24px 30px;gap:20px}.project h3{font-size:22px}.project p{min-height:95px}.art{height:220px}.approach{padding:55px 30px;gap:35px}.approach h2{font-size:36px}.contact{padding:50px 30px;gap:35px}.contact h2{font-size:38px}}
@media(max-width:720px){header{padding:21px 22px}nav{font-size:11px;gap:15px}.hero{padding:48px 22px;gap:35px;grid-template-columns:1fr}.hero:before{left:22px;width:45px}.hero h1{font-size:49px;line-height:1.1;letter-spacing:-1.8px;margin:25px 0}.hero .intro{font-size:14px}.hero-graphic{height:330px;padding:20px 6px}.graphic-bottom{left:6px;right:6px;bottom:18px}.context-strip{padding:23px 22px;margin:0;gap:14px}.context-strip b{font-size:11px}.section{padding-top:48px;padding-bottom:48px}.section-heading h2{font-size:39px}.section-heading p{font-size:13px}.filters{gap:21px;margin-top:15px;margin-bottom:25px}.filters button{font-size:11px}.cards{gap:32px}.project h3{font-size:28px}.project p{min-height:0;font-size:14px}.art{height:270px}.project-copy{padding-bottom:25px}.approach{padding:45px 22px;margin:0;grid-template-columns:1fr;gap:24px}.approach h2{font-size:36px}.contact{padding:45px 25px;margin:0;display:block}.contact h2{font-size:39px}.contact-link{min-width:0;margin-top:35px}.about-intro h1,.detail-heading h1{font-size:43px}.experience,.education{padding:35px 0}.case-content{padding-top:10px;gap:30px}.case-content p{font-size:15px}.demo{padding-top:0}.case-note{margin-bottom:40px}html[lang=zh-CN] .hero h1{font-size:37px;letter-spacing:-1px;line-height:1.35}html[lang=zh-CN] .project h3{font-size:25px}}
