@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.grow{flex-grow:1}}:root{--bg:#f4f5f7;--surface:#f9fafb;--text:#111317;--muted:#60656d;--line:#cfd3d8;--line-strong:#aeb4bc;--accent:#0d55b8;--accent-soft:#e7eef9;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.72}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:#fff}.site-frame{min-height:100vh;overflow:clip}.ambient{display:none}main{min-height:70vh}.section-shell,.nav-shell,.footer-shell{width:min(calc(100% - 64px), var(--max));margin-inline:auto}.site-header{z-index:30;background:#f4f5f7f5;position:relative}.nav-shell{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;min-height:86px;display:flex}.brand{letter-spacing:.1em;align-items:center;gap:15px;font-size:.9rem;font-weight:760;display:flex}.brand-mark{border:1.5px solid var(--accent);width:44px;height:44px;color:var(--accent);letter-spacing:-.04em;border-radius:50%;place-items:center;font-weight:720;display:grid}.primary-nav{align-items:center;gap:12px;display:flex}.primary-nav>a{color:#363a40;padding:12px 13px;font-size:.95rem;transition:color .16s;position:relative}.primary-nav>a:hover,.primary-nav>a.active{color:var(--text)}.primary-nav>a.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:3px;left:13px;right:13px}.primary-nav .language-switch{color:var(--accent);margin-left:8px}.menu-toggle{color:var(--text);font:inherit;background:0 0;border:0;display:none}.eyebrow,.footer-kicker,.section-index{color:var(--accent);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.status,.project-status{color:#383d44;align-items:center;gap:9px;font-size:.86rem;display:inline-flex}.status i,.project-status i{background:var(--accent);border-radius:50%;width:6px;height:6px}.text-link{color:var(--accent);align-items:center;gap:24px;font-size:.91rem;font-weight:600;display:inline-flex}.text-link span{transition:transform .16s}.text-link:hover span{transform:translate(4px)}.hero{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.3fr) minmax(430px,.9fr);align-items:stretch;gap:32px;min-height:clamp(420px,38vw,540px);padding:32px 0 38px;display:grid}.hero-copy{border-right:1px solid var(--line);flex-direction:column;justify-content:center;padding:18px 30px 0 4px;display:flex}.status-row{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:31px;display:flex}.hero h1{letter-spacing:-.045em;max-width:760px;margin:0;font-size:clamp(2.65rem,3.3vw,3rem);font-weight:690;line-height:1.22}.title-rule{background:var(--accent);width:48px;height:2px;margin:34px 0 28px}.hero-lead{color:#343941;max-width:650px;margin:0;font-size:1.04rem;line-height:1.9}.action-row{flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px;display:flex}.button{border:1px solid var(--line-strong);min-height:46px;color:var(--text);background:0 0;border-radius:0;justify-content:center;align-items:center;gap:28px;padding:0 21px;font-size:.92rem;font-weight:620;transition:color .16s,background .16s,border-color .16s,transform .16s;display:inline-flex}.button:hover{border-color:var(--accent);transform:translateY(-2px)}.button-primary{background:var(--accent);border-color:var(--accent);color:#fff}.button-primary:hover{background:#094896}.button-link{color:var(--accent);border-color:#0000;padding-inline:10px}.button-ghost{background:var(--surface)}.identity-panel{border-left:1px solid var(--line);grid-template-rows:auto 1fr;gap:34px;padding:34px 0 0 32px;display:grid}.identity-copy{padding:0}.identity-copy h2{margin:0;font-size:1.45rem;line-height:1.1}.identity-copy>span{font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin-top:7px;font-size:.78rem;display:block}.identity-copy>i{background:var(--accent);width:26px;height:2px;margin:25px 0 19px;display:block}.identity-copy dl{gap:12px;margin:0;display:grid}.identity-copy dl div{grid-template-columns:24px 1fr;gap:8px;display:grid}.identity-copy dt{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:.7rem}.identity-copy dd{color:#42474f;margin:0;font-size:.8rem;line-height:1.5}.identity-index{border-block:1px solid var(--line-strong);grid-template-columns:.9fr 1.1fr;align-self:end;gap:28px;padding:24px 0;display:grid}.identity-index>div{align-content:space-between;gap:26px;display:grid}.identity-index strong{color:var(--accent);font-family:var(--font-geist-mono), monospace;letter-spacing:-.09em;font-size:clamp(4.6rem,8vw,7.2rem);font-weight:520;line-height:.78}.identity-index ol{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.identity-index li{border-bottom:1px solid var(--line);color:#3f444b;grid-template-columns:28px 1fr;gap:10px;padding:8px 0;font-size:.79rem;display:grid}.identity-index li span{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:.68rem}.section-heading{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.section-heading h2{letter-spacing:-.035em;max-width:760px;margin:8px 0 0;font-size:clamp(1.75rem,2.5vw,2.2rem);line-height:1.28}.section-heading p{max-width:650px;color:var(--muted);margin:14px 0 0}.split-heading>div{flex:1}.selected-projects,.selected-works,.now-section{border-bottom:1px solid var(--line-strong);padding:72px 0}.project-stack{border-top:1px solid var(--line);margin-top:34px}.project-card{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;transition:background .16s;display:grid}.project-card:hover{background:#ffffff75}.project-number{color:var(--accent);font-family:var(--font-geist-mono), monospace;padding:25px 0;font-size:2.05rem;line-height:1}.project-card-body{grid-template-columns:minmax(230px,.85fr) minmax(260px,1.25fr);align-items:start;gap:15px 44px;padding:24px 0;display:grid}.project-meta{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;gap:8px 18px;font-size:.8rem;display:flex}.project-card h2{letter-spacing:-.02em;margin:0;font-size:1.35rem;line-height:1.35}.project-card h2 a:hover{color:var(--accent)}.project-summary{color:#4c5159;margin:0;font-size:.93rem;line-height:1.72}.project-role{color:#454a52;grid-column:1/-1;margin:0;font-size:.85rem}.project-role span{color:var(--accent);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-right:12px;font-size:.72rem}.project-card-footer{grid-column:1/-1;grid-template-columns:1fr auto auto;align-items:center;gap:28px;display:grid}.tag-list{flex-wrap:wrap;gap:8px 16px;display:flex}.tag-list span{color:#5a5f67;font-size:.76rem}.project-stack .project-status{font-size:.78rem}.project-stack .text-link{font-size:.82rem}.project-card-compact .project-meta,.project-card-compact .tag-list{display:none}.project-card-compact .project-card-body{grid-template-columns:minmax(220px,.75fr) 1.3fr;align-items:center}.project-card-compact .project-card-footer{grid-column:auto;grid-template-columns:auto auto;justify-content:end}.work-list{border-top:1px solid var(--line);margin-top:34px}.work-row{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(280px,1.3fr) minmax(190px,.8fr) 150px;align-items:center;gap:28px;padding:25px 0;display:grid}.work-index{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:1.45rem}.work-main h2{margin:4px 0;font-size:1.18rem;line-height:1.35}.work-main p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.65}.work-related{gap:5px;font-size:.82rem;display:grid}.work-related>span{color:var(--muted)}.work-related a{color:var(--accent)}.work-action{justify-items:end;gap:7px;font-size:.83rem;display:grid}.work-action a{color:var(--accent);font-weight:600}.work-status{color:var(--muted)}.now-section{grid-template-columns:.8fr 1.2fr;gap:80px;display:grid}.now-section h2{margin:8px 0 0;font-size:2rem}.now-section ol{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.now-section li{border-bottom:1px solid var(--line);gap:30px;padding:16px 0;display:flex}.now-section li span{color:var(--accent);font-family:var(--font-geist-mono), monospace}.page-shell{padding:78px 0 110px}.page-intro{max-width:1040px;padding-bottom:55px}.page-intro h1{letter-spacing:-.045em;max-width:970px;margin:14px 0 20px;font-size:clamp(2.5rem,4vw,3.55rem);line-height:1.16}.page-intro p{max-width:760px;color:var(--muted);margin:0;font-size:1.02rem}.filter-bar{border-block:1px solid var(--line);flex-wrap:wrap;gap:9px;padding:22px 0;display:flex}.filter-bar button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:8px 13px;font-size:.86rem}.filter-bar button:hover,.filter-bar button.is-active{color:var(--accent);border-color:var(--accent)}.project-stack-full{margin-top:0}.empty-state{color:var(--muted);padding:40px 0}.future-note{border-block:1px solid var(--line);grid-template-columns:110px 1fr;margin-top:60px;padding:28px 0;display:grid}.future-note h2{margin:0;font-size:1.2rem}.future-note p{max-width:720px;color:var(--muted);margin:8px 0 0}.works-note{border-block:1px solid var(--line);color:var(--muted);padding:15px 0;font-size:.9rem}.works-note+.work-list{margin-top:0}.about-story{border-block:1px solid var(--line);grid-template-columns:300px 1fr;gap:80px;padding:60px 0;display:grid}.about-profile-index{border-block:1px solid var(--line-strong);flex-direction:column;justify-content:space-between;min-height:420px;padding:24px 0;display:flex}.about-profile-index strong{color:var(--accent);font-family:var(--font-geist-mono), monospace;letter-spacing:-.09em;font-size:clamp(5rem,8vw,7rem);font-weight:520;line-height:.8}.about-profile-index ol{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.about-profile-index li{border-bottom:1px solid var(--line);color:#3f444b;grid-template-columns:30px 1fr;gap:10px;padding:9px 0;font-size:.79rem;display:grid}.about-profile-index li span{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:.68rem}.story-copy h2,.principles-section h2,.about-focus h2,.tools-section h2,.education-block h2{margin:8px 0 22px;font-size:1.8rem}.story-copy p{color:#3f444b;max-width:720px}.principles-section,.about-focus,.tools-section{border-bottom:1px solid var(--line);padding:64px 0}.principle-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:30px;display:grid}.principle-grid article{border-right:1px solid var(--line);padding:24px 28px 0 0}.principle-grid article+article{padding-left:28px}.principle-grid article:last-child{border:0}.principle-grid article>span{color:var(--accent);font-family:var(--font-geist-mono), monospace}.principle-grid h3{font-size:1.16rem}.principle-grid p{color:var(--muted);font-size:.92rem}.about-focus{grid-template-columns:.7fr 1.3fr;gap:60px;display:grid}.about-focus ul{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.about-focus li{border-bottom:1px solid var(--line);gap:30px;padding:15px 0;display:flex}.about-focus li span{color:var(--accent);font-family:var(--font-geist-mono), monospace}.tools-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:30px;display:grid}.tools-grid article{border-right:1px solid var(--line);padding:23px 22px 0 0}.tools-grid article+article{padding-left:22px}.tools-grid article:last-child{border:0}.tools-grid h3{margin:0 0 15px;font-size:1rem}.tools-grid ul{color:var(--muted);margin:0;padding:0;font-size:.9rem;list-style:none}.education-block{border-bottom:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:50px;padding:40px 0;display:grid}.education-block>div:last-child{align-content:center;gap:4px;display:grid}.education-block span{color:var(--muted)}.case-page{padding:76px 0 110px}.case-hero{border-bottom:1px solid var(--line-strong);grid-template-columns:1.25fr .75fr;gap:80px;padding-bottom:55px;display:grid}.case-title h1{letter-spacing:-.045em;max-width:830px;margin:15px 0 16px;font-size:clamp(2.7rem,4.2vw,3.8rem);line-height:1.14}.case-title>p{max-width:720px;color:var(--muted);font-size:1.05rem}.case-title .tag-list{margin-top:25px}.case-facts{border-top:1px solid var(--line);margin:0}.case-facts div{border-bottom:1px solid var(--line);grid-template-columns:85px 1fr;gap:16px;padding:13px 0;display:grid}.case-facts dt{color:var(--muted);font-size:.78rem}.case-facts dd{margin:0;font-size:.86rem}.status-text{color:var(--accent)}.case-links{border-bottom:1px solid var(--line);gap:24px;padding:18px 0;display:flex}.case-links a{color:var(--accent)}.case-section{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;gap:30px;padding:60px 0;display:grid}.case-section>div{max-width:920px}.case-section h2{margin:0 0 24px;font-size:1.8rem}.case-section p{color:#42474e}.case-lead{font-size:1.24rem;line-height:1.8}.question-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.question-list li{border-bottom:1px solid var(--line);grid-template-columns:50px 1fr;gap:20px;padding:17px 0;display:grid}.question-list span{color:var(--accent);font-family:var(--font-geist-mono), monospace}.action-list,.outcome-list{color:#3f444b;margin:0;padding-left:1.1em}.action-list li,.outcome-list li{margin:8px 0;padding-left:7px}.process-grid{border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid}.process-grid article{border-right:1px solid var(--line);padding:20px 18px 0 0}.process-grid article+article{padding-left:18px}.process-grid article:last-child{border:0}.process-grid span{color:var(--accent);font-family:var(--font-geist-mono), monospace}.process-grid h3{margin:10px 0;font-size:1rem}.process-grid p{color:var(--muted);margin:0;font-size:.83rem}.evidence-placeholder{border-left:3px solid var(--accent);background:#e9edf2;flex-direction:column;justify-content:flex-end;min-height:190px;padding:30px;display:flex}.evidence-placeholder span{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:.78rem}.case-pagination{grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding-top:35px;display:grid}.case-pagination>a{gap:4px;display:grid}.case-pagination>a:nth-child(2){color:var(--accent)}.case-pagination>a:last-child{text-align:right}.case-pagination span{color:var(--muted);font-size:.78rem}.case-pagination strong{font-size:.92rem}.resume-actions{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.resume-privacy,.privacy-note{border-block:1px solid var(--line);color:var(--muted);padding:15px 0;font-size:.88rem}.resume-privacy span,.privacy-note span{color:var(--accent);font-family:var(--font-geist-mono), monospace;margin-right:14px;font-size:.72rem}.resume-layout{grid-template-columns:300px 1fr;gap:70px;margin-top:45px;display:grid}.resume-sidebar{border-right:1px solid var(--line);padding-right:35px}.resume-sidebar section{margin-bottom:42px}.resume-sidebar h2,.resume-section h2{font-size:1.25rem}.resume-sidebar p{color:var(--muted);font-size:.92rem}.skill-cloud{color:#4a4f56;flex-wrap:wrap;gap:7px 14px;font-size:.82rem;display:flex}.resume-section{margin-bottom:52px}.resume-entry{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:25px;padding:20px 0;display:grid}.resume-entry h3{margin:0 0 5px;font-size:1rem}.resume-entry p,.resume-entry li{color:var(--muted);font-size:.86rem}.resume-entry p{margin:5px 0}.resume-entry time{color:var(--muted);white-space:nowrap;font-size:.78rem}.clean-list{margin:10px 0 0;padding-left:1.2em}.award-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:0 25px;margin:0;padding:0;list-style:none;display:grid}.award-grid li{border-bottom:1px solid var(--line);padding:13px 0;font-size:.88rem}.contact-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.contact-card{border-bottom:1px solid var(--line);border-right:1px solid var(--line);grid-template-columns:45px 1fr auto;gap:25px;min-height:280px;padding:28px;transition:background .16s;display:grid}.contact-card:last-child{border-right:0}.contact-card:hover{background:#fff}.contact-index{color:var(--accent);font-family:var(--font-geist-mono), monospace}.contact-card h2{margin:8px 0;font-size:1.5rem}.contact-card p{color:var(--muted)}.contact-card strong{color:var(--accent);overflow-wrap:anywhere;font-size:.9rem}.contact-topics{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:30px;padding:50px 0;display:grid}.contact-topics h2{margin:0 0 20px;font-size:1.5rem}.contact-topics ul{grid-template-columns:repeat(2,1fr);gap:0 25px;margin:0;padding:0;list-style:none;display:grid}.contact-topics li{border-top:1px solid var(--line);padding:11px 0}.site-footer{border-top:1px solid var(--line-strong)}.footer-shell{grid-template-columns:1fr auto;align-items:end;gap:25px 60px;padding:40px 0;display:grid}.footer-shell p{margin:8px 0 0}.footer-links{color:var(--muted);flex-wrap:wrap;gap:20px;font-size:.86rem;display:flex}.footer-links a:hover{color:var(--accent)}.footer-shell small{color:var(--muted);grid-column:1/-1}.not-found{place-content:center;justify-items:start;min-height:100vh;padding:40px;display:grid}.not-found>span{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:4rem}.not-found h1{margin:0;font-size:2.5rem}.not-found p{color:var(--muted)}.migration-backdrop{z-index:100;background:#11131775;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.migration-dialog{background:var(--bg);border:1px solid var(--line-strong);width:min(100%,560px);padding:28px 30px 30px;box-shadow:0 24px 70px #1113172e}.migration-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:15px;display:flex}.migration-heading button{border:0;border-bottom:1px solid var(--line-strong);color:var(--muted);font:inherit;cursor:pointer;background:0 0;padding:4px 0;font-size:.82rem}.migration-heading button:hover{color:var(--accent);border-color:var(--accent)}.migration-dialog h2{letter-spacing:-.035em;margin:25px 0 12px;font-size:2rem;line-height:1.3}.migration-dialog>p{color:var(--muted);margin:0;font-size:.97rem}.migration-domain{border-block:1px solid var(--line);color:var(--accent);font-family:var(--font-geist-mono), monospace;justify-content:space-between;align-items:center;margin:26px 0;padding:15px 0;font-size:1rem;display:flex}.migration-actions{flex-wrap:wrap;gap:10px;display:flex}.scroll-reveal{opacity:0;transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);transform:translateY(24px)}.scroll-reveal.is-visible{opacity:1;transform:none}@media (max-width:1050px){.hero{grid-template-columns:1fr}.hero-copy{border-right:0;padding-right:0}.identity-panel{border-left:0;max-width:760px;padding-left:0}.project-card-body{grid-template-columns:1fr}.project-card-footer{grid-column:1}.project-card-compact .project-card-body{grid-template-columns:1fr}.project-card-compact .project-card-footer{grid-column:1;justify-content:start}.work-row{grid-template-columns:60px 1fr 150px}.work-related{display:none}.process-grid{grid-template-columns:repeat(3,1fr)}.process-grid article:nth-child(3){border-right:0}.process-grid article:nth-child(n+4){border-top:1px solid var(--line);margin-top:18px;padding-top:18px}}@media (max-width:800px){.section-shell,.nav-shell,.footer-shell{width:min(calc(100% - 36px), var(--max))}.nav-shell{min-height:72px}.brand-mark{width:38px;height:38px}.menu-toggle{display:block}.primary-nav{background:var(--bg);border-bottom:1px solid var(--line-strong);flex-direction:column;align-items:stretch;padding:12px 18px 22px;display:none;position:absolute;top:72px;left:0;right:0}.primary-nav.is-open{display:flex}.primary-nav>a{padding:10px 0}.primary-nav>a.active:after{width:28px;bottom:2px;left:0;right:auto}.primary-nav .language-switch{margin-left:0}.hero{min-height:0;padding-top:35px}.hero h1{font-size:clamp(2.05rem,8.4vw,2.8rem)}.identity-index{grid-template-columns:1fr 1fr}.section-heading,.now-section{grid-template-columns:1fr;gap:24px;display:grid}.project-card{grid-template-columns:62px 1fr}.project-number{font-size:1.45rem}.project-card-footer{grid-template-columns:1fr;justify-items:start;gap:12px}.work-row{grid-template-columns:48px 1fr}.work-action{grid-column:2;justify-items:start}.about-story,.about-focus,.education-block,.case-hero,.resume-layout{grid-template-columns:1fr;gap:38px}.about-profile-index{width:min(100%,420px);min-height:360px}.principle-grid,.tools-grid{grid-template-columns:1fr}.principle-grid article,.principle-grid article+article,.tools-grid article,.tools-grid article+article{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.case-section{grid-template-columns:55px 1fr}.process-grid{grid-template-columns:1fr}.process-grid article,.process-grid article+article,.process-grid article:nth-child(n+4){border-top:0;border-right:0;border-bottom:1px solid var(--line);margin:0;padding:18px 0}.case-pagination{grid-template-columns:1fr 1fr}.case-pagination>a:nth-child(2){display:none}.resume-sidebar{border-right:0;padding-right:0}.contact-grid{grid-template-columns:1fr}.contact-card{border-right:0}.footer-shell{grid-template-columns:1fr;align-items:start}.footer-shell small{grid-column:1}}@media (max-width:520px){.hero-copy{padding-top:0}.status-row{margin-bottom:24px}.hero h1{letter-spacing:-.04em;font-size:1.86rem;line-height:1.28}.hero-lead{font-size:.96rem}.identity-panel{gap:26px;padding-top:26px}.identity-index{grid-template-columns:1fr;gap:22px}.identity-index strong{font-size:4.9rem}.identity-copy dl div{grid-template-columns:22px 1fr}.selected-projects,.selected-works,.now-section,.page-shell{padding-block:54px}.page-intro h1{font-size:2.35rem}.project-card{grid-template-columns:45px 1fr}.project-card-body{padding-block:20px}.project-card h2{font-size:1.12rem}.project-summary{font-size:.86rem}.work-row{grid-template-columns:40px 1fr;gap:15px}.work-main h2{font-size:1.05rem}.case-section{grid-template-columns:1fr;gap:10px;padding:45px 0}.case-title h1{font-size:2.45rem}.case-facts div{grid-template-columns:68px 1fr}.contact-topics,.contact-topics ul{grid-template-columns:1fr}.contact-card{grid-template-columns:36px 1fr}.contact-card>b{display:none}.resume-entry{grid-template-columns:1fr}.resume-entry time{order:-1}.award-grid{grid-template-columns:1fr}.migration-backdrop{align-items:end;padding:14px}.migration-dialog{padding:22px 20px}.migration-dialog h2{font-size:1.55rem}.migration-actions{display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scroll-reveal{opacity:1;transform:none}}
