@font-face{font-family:'Kumbh Sans Variable';src:url('assets/fonts/KumbhSans-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font:'Kumbh Sans Variable','AR YuanGBStd','Microsoft YaHei','PingFang SC',sans-serif;--ink:#18241e;--accent:#326c53;--rust:#326c53;--muted:#647269;--line:#dce4de;--paper:#fff;--paper-2:#f3f6f4;--ease:cubic-bezier(.22,1,.36,1)}
body,button,input,select,textarea,h1,h2,h3,h4,p,a,span,small,strong,b,em,figcaption,th,td,summary,label,time,code,pre,li,dt,dd,text{font-family:var(--font)!important}body{background:#fff;font-weight:400;font-variation-settings:'YOPQ' 300}h1,h2,h3{font-weight:500}html[lang^=en] h1,html[lang^=en] h2{letter-spacing:-.055em}::selection{background:#c9e5d3;color:#14281c}
.radar-background{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#fff}.radar-background canvas{display:block;width:100%;height:100%}.radar-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 57% 42%,#ffffff40,#ffffffe8 83%)}.nav{background:#ffffffeb;backdrop-filter:blur(20px);border-bottom:1px solid #243b2b15}.nav-logo{position:relative}.nav-logo:after{content:'';position:absolute;width:4px;height:4px;background:var(--accent);right:-11px;bottom:5px}.nav-contact-link{border-color:#cddbd1!important;transition:background .25s,transform .25s}.nav-contact-link:hover{background:#edf5ef;transform:translateY(-2px)}#navigation a{font-size:12px;letter-spacing:.015em}.reading-progress{height:2px;background:#326c53;position:fixed;top:72px;left:0;width:100%;transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}
.editorial-home{background:transparent}.editorial-hero{position:relative;gap:12px 5.6%}.hero-intro{position:relative}.hero-intro>.radar-kicker{display:inline-flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid #dce4de;background:#ffffffa8;letter-spacing:.1em;font-size:9px;position:relative}.radar-kicker:before,.radar-status:before{content:'';width:5px;height:5px;border-radius:50%;background:#417b5e;box-shadow:0 0 0 3px #417b5e13;flex-shrink:0}.hero-intro h1{font-size:clamp(45px,4.65vw,67px);font-weight:500;line-height:1.13;letter-spacing:-.055em}.hero-emphasis{color:#326c53}.hero-intro h1 em{font-style:normal;color:#326c53;font-weight:350}.hero-bio{border-color:#31513b25;background:linear-gradient(90deg,#fffffff0,#ffffff70);margin-top:24px;padding-top:17px}.hero-description{color:#526358;font-size:13px;line-height:1.85}.discipline-actions{gap:10px}.discipline-actions a{border:1px solid #cedbd1;background:#ffffffc9;padding:11px 12px;position:relative;transition:border-color .25s,background .25s,transform .25s}.discipline-actions a:after{content:'';position:absolute;top:-1px;left:-1px;width:8px;height:8px;border-top:1px solid #326c53;border-left:1px solid #326c53}.discipline-actions a:hover{background:#eef5f0;border-color:#8dac99;transform:translateY(-3px)}.discipline-actions a small{font-size:8px;color:#789080}.discipline-actions a span{font-size:11px}.discipline-actions a svg{width:12px;height:12px}.radar-status{display:flex;gap:8px;align-items:center}.showcase-label{font-size:9px;letter-spacing:.11em}.feature-media{border:1px solid #18352220;background:#fff;box-shadow:0 12px 40px -24px #182b1d70}.feature-media:after{content:'';position:absolute;right:10px;top:10px;width:17px;height:17px;border-top:1px solid #ffffffb0;border-right:1px solid #ffffffb0;pointer-events:none}.feature-number{background:#ffffffed;border:1px solid #d4dfd5;font-weight:500;padding:5px 9px;font-size:12px}.feature-tabs button{background:#fff;filter:saturate(.7);transition:opacity .25s,filter .25s}.feature-tabs button[aria-pressed=true]{outline-color:#326c53;filter:none}.feature-tabs button>span:not(.thumb-name){background:#183122d9}.feature-caption h2{font-weight:500;letter-spacing:-.04em}.feature-caption .eyebrow{font-weight:500;font-size:10px;letter-spacing:.08em}.feature-facts>span:first-child{font-style:normal;font-weight:450;font-size:10px}.feature-summary{background:#ffffffa8}.hero-bottom{border-color:#234d3225}.hero-bottom a{font-size:11px;letter-spacing:.15em;color:#326c53}.hero-bottom a svg{transition:transform .3s}.hero-bottom a:hover svg{transform:translateY(4px)}
.editorial-work{background:#ffffffed;padding-top:28px}.editorial-work .section-heading>div{gap:24px}.editorial-work h2{font-weight:500;letter-spacing:-.04em}.editorial-work .eyebrow{font-size:9px;letter-spacing:.12em;color:#789080}.location-only{font-size:9px}.atlas-top{grid-template-columns:minmax(0,1.9fr) minmax(290px,1fr);gap:24px}.atlas-map.radar-map{background:#101815;border:1px solid #304c3b;box-shadow:0 16px 45px -30px #12231990;position:relative;border-radius:3px;overflow:hidden}.atlas-radar{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.radar-map .atlas-world,.radar-map .pixel-shimmer{display:none}.radar-map .atlas-label{font-size:9px;letter-spacing:.13em;color:#bfd1c4;display:flex;gap:8px;align-items:center;pointer-events:none}.atlas-label i{display:block;width:4px;height:4px;background:#a6d1b4;border-radius:50%}.radar-map-readout{position:absolute;bottom:12px;left:18px;right:18px;display:flex;justify-content:space-between;color:#a0b5a6;font-size:8px;letter-spacing:.12em;pointer-events:none}.radar-map-readout b{font-weight:400;color:#708b79}.radar-map .digital-pin{color:#c3dccb;background:#193324e6;border:1px solid #5f846c70;border-radius:2px;top:12px;right:12px;font-size:8px}.radar-map .digital-pin svg{width:12px}.radar-map .pin-dot{background:#97c3a4;box-shadow:0 0 0 1px #101815,0 0 0 2px #9fceb155}.radar-map .project-pin.selected .pin-dot{background:#c4efd2;box-shadow:0 0 0 3px #15291b,0 0 0 4px #9ac8ab80}.radar-map .pin-label{background:#16291f;color:#deede2;border:1px solid #587863;box-shadow:none;font-size:9px}.radar-map .world-pin{top:var(--pin-y)!important}.atlas-picker{border-bottom:1px solid #cad9cf}.atlas-picker select{border:1px solid #cfddd3;background:#fff;border-radius:2px;font-size:11px}.atlas-picker>span{font-size:9px;letter-spacing:.05em}.atlas-cover{height:clamp(170px,calc(100svh - 510px),220px);border:1px solid #dce4de}.atlas-caption{padding:14px 16px 16px;background:#ffffffec;border:1px solid #dce4de;border-top:0}.atlas-caption .eyebrow{font-size:9px;color:#72917e;letter-spacing:.08em;margin-bottom:10px}.atlas-caption h3{font-size:24px}.atlas-caption>p:not(.eyebrow){font-size:12px;margin-bottom:12px}.atlas-meta{font-size:10px;border-top:1px solid #dce4de;padding-top:10px;margin-top:10px;gap:6px 18px}.editorial-contact{position:relative;border-top:1px solid #dce4de;background:#ffffffdb}.editorial-contact h2{font-weight:450}.underlined-link{transition:color .25s}.underlined-link:hover{color:#326c53}
.collection-page .page-heading,.wrap>.page-heading{position:relative;background:linear-gradient(90deg,#ffffffef,#ffffff80);border-color:#cad9cf}.page-heading:before{content:'';display:block;position:absolute;left:-12px;top:32px;width:3px;height:16px;background:#326c53}.page-heading h1{font-weight:450}.page-heading .lead{font-size:17px}.project-card{background:#ffffffed}.card-image{border:1px solid #dce4de;position:relative;transition:box-shadow .3s,border-color .3s}.card-image:after{content:'';position:absolute;right:8px;top:8px;width:12px;height:12px;border-top:1px solid #ffffffa0;border-right:1px solid #ffffffa0}.card-image:hover{border-color:#96b29f;box-shadow:0 14px 30px -24px #163b24}.card-image:hover img{transform:scale(1.018)}.card-body .eyebrow{font-size:9px;letter-spacing:.09em;color:#718475}.card-body h3{font-weight:450}.card-body .meta{background:#f4f7f4;padding:12px;gap:10px 16px;border:1px solid #e0e8e1;font-size:10px}.card-body .meta span{font-size:9px;color:#7b8d7f}.filters{gap:8px}.filters button{border-radius:2px;border:1px solid #dce4de;font-size:11px;padding:7px 12px;min-height:38px}.filters button[aria-pressed=true]{background:#1d3526;color:#fff;border-color:#1d3526}.index-row{background:#ffffffdf}.index-heading strong{font-weight:450}.index-meta .meta{color:#455e4c}.sdg-section,.essay{background:#ffffffeb}.sdg{border-radius:2px}.carbon-diagram{border-color:#d4e0d7}.about-hero,.about-experience,.about-skills,.about-connect{background:#ffffffdd}.about-hero h1{font-weight:450}.career-row h3{font-weight:450}.email{font-size:clamp(21px,2.3vw,33px)}footer{position:relative;background:#ffffffed}footer p{font-size:10px}.nav,#main,footer{isolation:isolate}
body[data-route^='/case/']{background:transparent}body[data-route^='/case/'] #main .case-content{background:#ffffffed;padding:0 0 0 14px}body[data-route^='/case/'] #main .case-rail{background:#ffffffdd;padding:12px 14px 16px;border:1px solid #dde6df;border-radius:2px;backdrop-filter:blur(16px)}body[data-route^='/case/'] #main .case-rail nav{border-top-color:#dce4de;margin-top:22px}body[data-route^='/case/'] #main .case-rail nav a{font-size:11px;color:#728276;padding:11px 0}body[data-route^='/case/'] #main .case-rail nav a[aria-current]{border-right-color:#326c53;color:#234d32}body[data-route^='/case/'] #main .case-rail small{font-size:8px;color:#8a9a8e}body[data-route^='/case/'] #main .case-content #overview .page-heading{background:none}body[data-route^='/case/'] #main .case-content .page-heading:before{display:none}body[data-route^='/case/'] #main .case-section{border-color:#dce4de}body[data-route^='/case/'] #main .case-section h2{font-weight:450}body[data-route^='/case/'] #main .case-metrics{border-color:#dce4de}body[data-route^='/case/'] #main .case-metrics b{font-weight:450}body[data-route^='/case/'] #main .gallery figcaption{color:#708375}
@media(max-width:1100px) and (min-width:768px){.hero-intro h1{font-size:49px}.discipline-actions{grid-template-columns:1fr;gap:0}.discipline-actions a{display:flex;flex-wrap:nowrap;padding:7px 10px;border-bottom:0}.discipline-actions a:last-child{border-bottom:1px solid #cedbd1}.discipline-actions small{width:auto;min-width:22px}.discipline-actions a span{font-size:11px}.atlas-top{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}}
@media(max-width:767px){.reading-progress{top:64px}.hero-intro>.radar-kicker{font-size:8px;letter-spacing:.06em;padding:6px 8px;max-width:100%}.hero-intro h1{font-size:clamp(40px,10vw,58px)}.discipline-actions a{padding:9px 7px}.discipline-actions a span{font-size:10px}.discipline-actions a svg{width:10px;height:10px}.discipline-actions small{font-size:8px}.editorial-work .section-heading>div{display:block}.atlas-top{display:flex}.radar-map-readout{font-size:7px;letter-spacing:0;left:10px;right:10px}.radar-map-readout b{display:none}.radar-map .digital-pin{top:7px;right:7px}.atlas-caption{padding:12px}.atlas-caption h3{font-size:22px}.atlas-cover{height:190px}.page-heading .lead{font-size:14px}.page-heading:before{left:-8px}.card-body .meta{font-size:11px}.filters button{min-height:42px}.feature-facts>span:first-child{font-size:9px}body[data-route^='/case/'] #main .case-content{padding-left:0}body[data-route^='/case/'] #main .case-rail{padding:4px 8px;border:1px solid #dde6df;max-width:100%}body[data-route^='/case/'] #main .case-rail nav{border:0;margin:0}body[data-route^='/case/'] #main .case-rail nav a{padding:9px 0;min-height:38px}.hero-bottom>a{font-size:10px}.radar-background{opacity:.7}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
