:root{--paper:#ede7dd;--ink:#292b25;--muted:#66665a;--rust:#a34e2d;--line:#cfc6b8;--dark:#282d26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bc672d;outline-offset:5px}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1{font-size:clamp(46px,4.9vw,76px);line-height:1.04;letter-spacing:-3.4px;margin-bottom:28px}h2{font-size:clamp(34px,3.65vw,54px);letter-spacing:-2px;line-height:1.08;margin-bottom:24px}h3{font-size:27px;line-height:1.2;letter-spacing:-.6px}.wrap{max-width:1440px;margin:auto;padding-left:5%;padding-right:5%}.section{padding-top:100px;padding-bottom:95px}.eyebrow,.technical{font-family:'Courier New',monospace;font-size:11px;font-weight:600;letter-spacing:1.3px;line-height:1.6}.eyebrow{margin-bottom:28px;display:flex;gap:10px;align-items:center}.eyebrow i{height:7px;width:7px;background:var(--rust);border-radius:50%}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;height:90px;background:rgba(237,231,221,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:32px;height:37px;color:var(--rust)}.brand>span{font-size:22px;font-weight:800;letter-spacing:1.8px}.brand small{display:block;font-size:9px;letter-spacing:5px;margin-top:2px}nav{display:flex;gap:34px;align-items:center;font-size:13px}nav a:hover,.text-button:hover,.profile:hover{color:var(--rust)}.tools{display:flex;gap:10px}.tools button{background:none;border:1px solid var(--line);padding:9px 13px;font-size:12px}#menu{display:none}.hero{padding-top:52px}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}.hero-text{font-size:16px;max-width:505px;color:var(--muted)}.actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--rust);color:#fff7ec;padding:17px 22px;font-size:12px;border:1px solid var(--rust);transition:background .2s,transform .2s}.button:hover{background:#823d22;transform:translateY(-2px)}.text-button{display:inline-flex;gap:14px;align-items:center;font-size:12px;border-bottom:1px solid var(--line);padding:12px 0}.hero-art{background-image:linear-gradient(#cfc6b822 1px,transparent 1px),linear-gradient(90deg,#cfc6b822 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--line);padding:18px 16px 12px;color:#575a4e}.hero-art>svg{width:100%;display:block;margin:12px 0}.art-foot{font-family:monospace;font-size:9px;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;gap:10px}.hero-photo{height:330px;position:relative;margin-top:44px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 57%;filter:saturate(.66)}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#151c1680)}.photo-label{position:absolute;bottom:30px;left:30px;color:#fff3e3;z-index:1;font-family:monospace;font-size:12px;letter-spacing:2px}.image-note{position:absolute;bottom:15px;right:18px;z-index:1;color:#fff1df;font:9px monospace;letter-spacing:1px;text-shadow:0 1px 4px #000}.region-strip{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 0;gap:20px;font:10px monospace;letter-spacing:1px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:38px}.section-heading>p{max-width:350px;color:var(--muted);font-size:14px;margin-bottom:26px}.filters{display:flex;gap:8px;margin-bottom:28px}.filters button{background:none;border:1px solid var(--line);padding:10px 18px;border-radius:2px;font-size:12px}.filters button.active,.filters button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.masonry{columns:2;column-gap:26px}.masonry>*{break-inside:avoid;margin-bottom:26px}.project{background:#f6f1e8;border:1px solid var(--line)}.project-image{height:245px;position:relative;overflow:hidden}.project-02 .project-image{height:280px}.project-03 .project-image{height:220px}.project-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.6);transition:transform .6s}.project:hover .project-image img{transform:scale(1.025)}.project-code{position:absolute;left:20px;top:20px;background:var(--paper);font:11px monospace;padding:8px 10px}.project-body{padding:30px 32px}.project-body .eyebrow{margin-bottom:20px}.capacity{font-size:77px;letter-spacing:-4px;line-height:1}.capacity>span{font-size:22px;letter-spacing:-1px}.milestone{font:11px monospace;letter-spacing:1.2px;margin-top:12px;margin-bottom:32px;color:var(--rust)}.project-body>p:not(.eyebrow):not(.milestone){font-size:14px;color:var(--muted)}.project-stat{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0;gap:20px;font-size:11px}.project-stat strong{font-size:22px;font-weight:500}.project-stat>span{color:var(--muted)}details{border-top:1px solid var(--line)}summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none;font-size:12px;padding:18px 0 0}summary::-webkit-details-marker{display:none}summary>span{font-size:18px}details[open] summary>span{transform:rotate(45deg)}.brief{padding-top:23px}.brief small{font:10px monospace;letter-spacing:1px;color:var(--rust)}.brief p{font-size:13px;margin:8px 0 20px}.progress{height:7px;background:#d7d1c4;margin-top:20px}.progress span{height:100%;display:block;background:var(--rust)}.progress-label{font:10px monospace;margin-top:10px}.portfolio-note{padding:34px;background:var(--dark);color:#eee5d6}.portfolio-note .eyebrow{color:#cdac89}.portfolio-note svg{width:100%;color:#d0ad7f}.portfolio-note p:not(.eyebrow){font-size:13px;color:#d0cebf}.portfolio-note .technical{font-size:9px;color:#b3b2a5}.caption{font-size:11px;color:var(--muted);max-width:850px;margin:10px 0 0}.approach{background:#dfd8cb;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #bfb7a8}.process article{padding:27px;border-right:1px solid #bfb7a8}.process article:last-child{border-right:0}.step-index{display:flex;justify-content:space-between;font:12px monospace;color:var(--rust);margin-bottom:52px}.step-index span{font-size:22px}.process h3{font-size:21px}.process p{font-size:13px;color:#606252;margin-bottom:0}.approach-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.person{border-top:2px solid var(--rust);padding-top:25px;display:flex;flex-direction:column}.person-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.monogram{width:64px;height:64px;border:1px solid var(--line);display:grid;place-items:center;font-family:Georgia,serif;font-size:30px;color:var(--rust);background:#e2dbce}.nationality{font:10px monospace;color:var(--muted)}.role{font:10px monospace;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:10px}.person h3{font-size:35px;margin-bottom:18px}.expertise{font-size:11px;color:var(--rust);border:1px solid #c7b7a4;align-self:start;padding:7px 10px}.bio{font-size:14px;color:var(--muted);margin-top:22px;flex:1}.profile{border-top:1px solid var(--line);padding-top:17px;font-size:12px;display:flex;justify-content:space-between}.presence{padding-top:25px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.presence h2{font-size:38px}.presence p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:500px}.presence-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#e5ded1}.presence-grid>div{padding:30px 18px;border-right:1px solid var(--line)}.presence-grid>div:last-child{border:0}.presence-grid b{font:40px Georgia,serif;color:var(--rust);display:block;margin-bottom:40px}.presence-grid span{display:block;font-size:13px;margin-bottom:10px}.presence-grid small{font-size:10px;line-height:1.6;color:var(--muted);display:block}.contact{background:var(--rust);color:#f3e8d8;padding:70px 0 64px}.contact h2{font-size:clamp(48px,6vw,85px);letter-spacing:-3px;margin-bottom:30px}.contact-row{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-row p{max-width:540px;font-size:14px;margin-bottom:0}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink);flex-shrink:0}.button.light:hover{background:#fff7eb}footer{padding-top:40px!important;padding-bottom:40px!important;display:flex;justify-content:space-between;gap:30px;align-items:center}footer p,footer>span{font-size:10px;margin:4px 0;color:var(--muted)}.footer-logo{font-size:17px;font-weight:800;letter-spacing:1px}.skip{position:fixed;top:-80px;left:10px;z-index:100;background:#fff;padding:16px}.skip:focus{top:10px}[hidden]{display:none!important}html[lang=zh-CN] h1{font-size:clamp(40px,4.5vw,65px);line-height:1.2;letter-spacing:-1.5px}html[lang=zh-CN] h2{line-height:1.25;letter-spacing:-1px}
@media(min-width:1600px){header{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}}
@media(max-width:1000px){nav{gap:20px}.hero-grid{gap:24px}h1{letter-spacing:-2px}.actions{gap:15px;align-items:start;flex-direction:column}.hero-art{padding:12px 10px}.process article{padding:20px}.process h3{font-size:18px}.section-heading{gap:30px}.presence{gap:30px}.presence-grid>div{padding:25px 12px}.person h3{font-size:29px}.nationality{font-size:9px}.team-grid{gap:20px}}
@media(max-width:700px){header{height:76px;padding:16px 6%}.brand>span{font-size:19px}.brand svg{width:27px}.wrap{padding-left:6%;padding-right:6%}#menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:start;gap:24px}nav.open{display:flex}.hero{padding-top:35px}.hero-grid{grid-template-columns:1fr;gap:30px}h1{font-size:49px;letter-spacing:-2px}.hero-text{font-size:15px}.eyebrow{font-size:10px;margin-bottom:23px}.actions{flex-direction:row;align-items:center;flex-wrap:wrap;margin-top:23px;gap:20px}.hero-art{max-width:none}.hero-art>svg{margin:0;max-height:255px}.hero-photo{height:240px;margin-top:24px}.photo-label{font-size:9px;left:17px;bottom:36px;letter-spacing:1px}.region-strip{flex-wrap:wrap;justify-content:start;gap:14px 25px;font-size:8px;padding:20px 0}.section{padding-top:64px;padding-bottom:60px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{max-width:none;margin-bottom:0;font-size:14px}h2{font-size:37px;letter-spacing:-1.6px}.masonry{columns:1}.project-image,.project-02 .project-image,.project-03 .project-image{height:230px}.project-body{padding:26px}.capacity{font-size:70px}.portfolio-note{padding:27px}.process{grid-template-columns:1fr 1fr}.process article:nth-child(2){border-right:0}.process article:nth-child(-n+2){border-bottom:1px solid #bfb7a8}.step-index{margin-bottom:28px}.process article{padding:21px}.approach-bottom{align-items:start;flex-direction:column}.approach-bottom .technical{font-size:9px}.team-grid{grid-template-columns:1fr;gap:40px}.person-top{margin-bottom:24px}.person h3{font-size:34px}.bio{max-width:500px}.presence{grid-template-columns:1fr;gap:24px;padding-top:15px;padding-bottom:60px}.presence h2{font-size:36px}.presence-grid b{margin-bottom:24px}.contact{padding:53px 0}.contact h2{font-size:58px}.contact-row{align-items:start;flex-direction:column;gap:25px}footer{flex-wrap:wrap;align-items:start}footer>span{width:100%}.button{padding:15px 18px;font-size:11px}.text-button{font-size:11px}html[lang=zh-CN] h1{font-size:43px}.filters button{padding:10px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Strong, upright typography across both languages. */
body{font-family:Arial,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;font-weight:400}
h1,h2,h3{font-weight:750;font-style:normal;letter-spacing:-.035em}
h1{font-size:clamp(44px,4.4vw,66px);line-height:1.08}
h2{line-height:1.12}h3{font-weight:700}
.capacity{font-weight:750;letter-spacing:-.045em}
.brand>span,.footer-logo{font-weight:800}
.button,nav,.filters button,summary,.profile{font-weight:650}
.hero-text{font-size:16px;line-height:1.75}
.monogram{font-family:Arial,"Helvetica Neue",sans-serif;font-weight:750;font-size:27px}
.presence-grid b{font-family:Arial,"Helvetica Neue",sans-serif;font-weight:750}
.person h3{font-weight:750}.person-top{margin-bottom:26px}
.bio{line-height:1.65}.expertise{font-weight:600}
html[lang=zh-CN] h1{font-weight:750;letter-spacing:0;font-size:clamp(38px,4.1vw,60px)}
html[lang=zh-CN] h2,html[lang=zh-CN] h3{font-weight:700;letter-spacing:0}
@media(max-width:700px){h1{font-size:43px;letter-spacing:-1.4px}html[lang=zh-CN] h1{font-size:38px}h2{font-size:35px}.contact h2{font-size:48px}}
/* Cyber-industrial palette */
:root{--paper:#0d121a;--ink:#e2eaf2;--muted:#99aabd;--rust:#46e3e7;--line:#2a394a;--dark:#101a28;color-scheme:dark}
body{background:#0d121a;background-image:linear-gradient(#47e1e704 1px,transparent 1px);background-size:100% 6px}
header{background:rgba(13,18,26,.96);border-bottom-color:#30475c}
.brand svg{filter:drop-shadow(0 0 7px #46e3e730)}
.hero .eyebrow i{box-shadow:0 0 12px #46e3e799}
.button{background:#46e3e7;border-color:#46e3e7;color:#081116;font-weight:750;box-shadow:0 0 20px #46e3e712}
.button:hover{background:#8df9fa;border-color:#8df9fa}
.hero-art{color:#88a9bc;background-color:#101b28;background-image:linear-gradient(#46e3e712 1px,transparent 1px),linear-gradient(90deg,#46e3e712 1px,transparent 1px);border-color:#345165;box-shadow:inset 0 0 60px #46e3e705}
.hero-art .technical{color:#46e3e7}.art-foot{color:#8ea9ba}
.hero-photo img,.project-image img{filter:saturate(.2) brightness(.65) contrast(1.12)}
.hero-photo:after{background:linear-gradient(110deg,#12365366,transparent 60%),linear-gradient(transparent 35%,#07111bc9)}
.photo-label,.image-note{color:#e2f8ff}
.region-strip{color:#92afc1}
.project{background:#141d29;border-color:#2a3c50;box-shadow:inset 0 2px #46e3e74d}
.project-code{color:#46e3e7;background:#0b1525e8;border:1px solid #37556b}
.project-body .eyebrow{color:#9bb7c9}.capacity{color:#f0f6ff}
.milestone{color:#46e3e7}.project-stat strong{color:#becbff}
.filters button.active,.filters button:hover{color:#081116;background:#46e3e7;border-color:#46e3e7}
.portfolio-note{background:#111b2b;border:1px solid #3b4b6a;box-shadow:inset 3px 0 #9a90ff}
.portfolio-note .eyebrow{color:#aea6ff}.portfolio-note svg{color:#5bdce6}.portfolio-note p:not(.eyebrow){color:#a7bbcb}.portfolio-note .technical{color:#8b9db4}
.progress{background:#2a3b4f}.progress span{background:#46e3e7}
.approach{background:#101925;background-image:linear-gradient(120deg,#26354c30,transparent 60%);border-color:#2b3e52}
.process{border-color:#34455a}.process article{border-color:#34455a}.process p{color:#a0b2c6}.step-index{color:#46e3e7}
.person{border-top-color:#46e3e7}.monogram{background:#142538;border-color:#365069;color:#59e4ed}
.expertise{color:#c2baff;border-color:#514c73;background:#191c30}
.presence-grid{background:#121f2e;border-color:#30495e}.presence-grid>div{border-color:#30495e}.presence-grid b{color:#46e3e7}
.contact{background:#102737;background-image:linear-gradient(115deg,#163e51,transparent 65%);color:#e7f4ff;border-top:1px solid #46e3e766;position:relative}
.contact:before{content:'';position:absolute;top:0;left:5%;width:120px;height:3px;background:#46e3e7;box-shadow:0 0 18px #46e3e780}
.contact .eyebrow{color:#73e7ed}.button.light{background:#46e3e7;color:#081116;border-color:#46e3e7}.button.light:hover{background:#98f9fb}
footer{color:#aebdd1}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#b9a6ff}
@media(max-width:700px){nav{background:#0d121a}.process article:nth-child(-n+2){border-bottom-color:#34455a}}
/* Bright cyber-industrial finish */
:root{--paper:#edf3f7;--ink:#142738;--muted:#50677b;--rust:#007c9c;--line:#bfcedb;--dark:#dce9f2;color-scheme:light}
body{background:#edf3f7;background-image:linear-gradient(#008eaf05 1px,transparent 1px);background-size:100% 6px}
header{background:rgba(242,247,251,.97);border-bottom-color:#b8cddc}
.brand svg{filter:none}.hero .eyebrow i{box-shadow:0 0 10px #00b9d54d}
.button{background:#087a99;border-color:#087a99;color:#fff;box-shadow:0 3px 14px #007c9c15}.button:hover{background:#05657f;border-color:#05657f}
.hero-art{color:#42667e;background-color:#e3eef5;background-image:linear-gradient(#0095b414 1px,transparent 1px),linear-gradient(90deg,#0095b414 1px,transparent 1px);border-color:#a9c6d7;box-shadow:inset 0 0 60px #fff7}
.hero-art .technical{color:#007b97}.art-foot{color:#45677f}
.hero-photo img,.project-image img{filter:saturate(.42) brightness(1.08) contrast(1.02)}
.hero-photo:after{background:linear-gradient(110deg,#c0e5fc18,transparent 65%),linear-gradient(transparent 55%,#0c2a428c)}
.photo-label,.image-note{color:#fff}.region-strip{color:#426179}
.project{background:#f8fbfd;border-color:#c0d1de;box-shadow:inset 0 3px #1fc0d7}
.project-code{color:#046f89;background:#f0faffed;border-color:#91bfd1}
.project-body .eyebrow{color:#46677d}.capacity{color:#142b3e}.milestone{color:#007e9b}.project-stat strong{color:#4d4b88}
.filters button.active,.filters button:hover{color:#fff;background:#087a99;border-color:#087a99}
.portfolio-note{background:#e2ecf7;color:#193348;border-color:#b5c6dd;box-shadow:inset 3px 0 #8274ca}
.portfolio-note .eyebrow{color:#66509c}.portfolio-note svg{color:#137d98}.portfolio-note p:not(.eyebrow){color:#476176}.portfolio-note .technical{color:#566c86}
.progress{background:#d0e0eb}.progress span{background:#079fb9}
.approach{background:#e1ebf2;background-image:linear-gradient(120deg,#d5e8f3,transparent 60%);border-color:#b6ccdb}
.process{border-color:#aec5d6;background:#f0f6fa70}.process article{border-color:#aec5d6}.process p{color:#4b6377}.step-index{color:#007e9b}
.person{border-top-color:#0897b4}.monogram{background:#e0eef6;border-color:#b0cadc;color:#087d99}
.expertise{color:#62518d;border-color:#c5bddb;background:#eeeaf7}
.presence-grid{background:#e3eef5;border-color:#b5cbdc}.presence-grid>div{border-color:#b5cbdc}.presence-grid b{color:#087b99}
.contact{background:#d3e8f2;background-image:linear-gradient(115deg,#c0e7f0,#e6eaf8 90%);color:#163349;border-top-color:#7cc9d8}
.contact:before{background:#0ba3bf;box-shadow:0 0 14px #0ba3bf40}.contact .eyebrow{color:#086e87}
.button.light{background:#087a99;color:#fff;border-color:#087a99}.button.light:hover{background:#05657f}
footer{color:#425b70}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#7662b4}
@media(max-width:700px){nav{background:#edf3f7}.process article:nth-child(-n+2){border-bottom-color:#aec5d6}}

.legal-links{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;width:100%;border-top:1px solid var(--line);padding-top:20px}footer{flex-wrap:wrap}nav{gap:20px}
.legal-page{padding-top:60px;padding-bottom:80px}.legal-page h1{font-size:48px}.legal-date{font-size:12px;color:var(--muted);margin-bottom:40px}.legal-layout{display:grid;grid-template-columns:240px 1fr;gap:60px}.legal-layout aside{display:flex;flex-direction:column;gap:15px;align-self:start;font-size:13px;border-top:2px solid var(--rust);padding-top:20px}.legal-layout aside a:hover,.legal-content li a:hover{color:var(--rust)}.legal-content section{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line)}.legal-content h2{font-size:26px;letter-spacing:-.5px;line-height:1.3}.legal-content p{font-size:15px;line-height:1.9;color:var(--muted)}.legal-content li{margin:12px 0;line-height:1.5;font-size:14px;overflow-wrap:anywhere}.legal-content li a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.legal-layout{grid-template-columns:1fr;gap:36px}.legal-layout aside{display:grid;grid-template-columns:1fr 1fr}.legal-page h1{font-size:36px}nav{gap:14px;font-size:12px}}
