@font-face{font-family:Hubot Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/hubot-sans-vietnamese-wght-normal-CfVCUiwU.woff2)format("woff2-variations");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:Hubot Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/hubot-sans-latin-ext-wght-normal-HZLZm8wG.woff2)format("woff2-variations");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:Hubot Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/hubot-sans-latin-wght-normal-4x4LLvEw.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");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}:root{--paper:#f6f6f7;--ink:#0c0c0c;--muted:#6b6d72;--rule:#d4d6db;--blue:#2364ed;--image-well:#e4e6e9;--nav:#3f4146;--body-muted:#45474c;--period:#5c5e63;--unavailable:#a8aaaf;--chrome-border:#bec1c7;--chrome-rule:#d4d6db;--chrome-surface:#eceef1;--chrome-dot:#969aa2;--chrome-address-border:#d2d4d8;--chrome-address-surface:#f8f8f9;--chrome-address-text:#777a80;--rail:136px;--gutter:clamp(28px, 2.5vw, 40px);--column-pad:clamp(24px, 2.2vw, 36px);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Manrope Variable,sans-serif}html[data-theme=dark]{--paper:#111214;--ink:#f2f3f4;--muted:#a5a8af;--rule:#34373d;--blue:#78a6ff;--image-well:#202329;--nav:#d4d6db;--body-muted:#b7bac1;--period:#b0b3ba;--unavailable:#777b84;--chrome-border:#454951;--chrome-rule:#3a3d44;--chrome-surface:#26292f;--chrome-dot:#858a95;--chrome-address-border:#4a4e57;--chrome-address-surface:#17191d;--chrome-address-text:#b8bdc7}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%;margin:0}body{background:var(--paper);overflow-x:hidden}button,a{color:inherit;font:inherit}a{text-decoration:none}button{cursor:pointer;background:0 0;border:0;padding:0}img{max-width:100%}svg{display:block}::selection{color:#fff;background:var(--blue)}.skip-link{z-index:20;color:#fff;background:var(--ink);padding:10px 14px;transition:transform .2s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{transform:translateY(0)}.site-shell{min-height:100vh}.site-rail{z-index:10;width:var(--rail);border-right:1px solid var(--rule);background:color-mix(in srgb, var(--paper) 94%, transparent);flex-direction:column;align-items:flex-start;padding:26px 20px;display:flex;position:fixed;inset:0 auto 0 0}.rail-utility{display:contents}.rail-mark{order:0;width:32px;height:32px;display:block}.rail-mark img{width:100%;height:100%;display:block}.rail-nav{flex-direction:column;order:1;gap:10px;width:100%;margin-top:72px;font-size:12px;display:flex}.rail-nav a{color:var(--nav);grid-template-columns:5px minmax(0,1fr);align-items:center;gap:7px;transition:color .2s;display:grid}.rail-nav a span{opacity:0;background:currentColor;border-radius:50%;width:5px;height:5px;transition:opacity .2s,transform .2s;transform:scale(.5)}.rail-nav a.active{color:var(--blue);font-weight:750}.rail-nav a.active span{opacity:1;transform:scale(1)}.rail-nav a:hover{color:var(--blue)}.rail-locale{flex-direction:column;order:2;gap:6px;margin-top:56px;display:flex}.rail-locale button{min-width:28px;min-height:28px;color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:700}.rail-locale button.active{color:var(--blue)}.theme-toggle{place-items:center;margin-top:18px;display:grid}.theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:17px;height:17px}.site-main{margin-left:var(--rail)}.hero{min-height:min(350px,44vh);padding:clamp(36px, 3.4vw, 54px) var(--gutter) 36px;border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,52%) minmax(0,48%);align-items:center;column-gap:0;display:grid}.hero h1{letter-spacing:-.04em;grid-column:1;margin:0;font-family:Hubot Sans Variable,sans-serif;font-size:clamp(88px,10.8vw,164px);font-weight:800;line-height:.78}.hero h1 span{display:block}.hero-copy{width:100%;padding-left:var(--column-pad);grid-column:2}.hero-lead,.about-lead{letter-spacing:-.03em;margin:0;font-size:clamp(24px,2.4vw,34px);font-weight:540;line-height:1.18}.hero-context{color:var(--body-muted);margin:22px 0 0;font-size:16px;line-height:1.55}.experience-section{padding:84px var(--gutter) 108px}.experience-heading{grid-template-columns:minmax(0,52%) minmax(0,48%);align-items:end;column-gap:0;margin-bottom:54px;display:grid}.experience-heading h2{grid-column:1}.experience-heading p{grid-column:2}.experience-heading h2{letter-spacing:-.035em;margin:0;font-family:Hubot Sans Variable,sans-serif;font-size:clamp(48px,5.4vw,80px);font-weight:760;line-height:.94}.experience-heading p{padding-left:var(--column-pad);letter-spacing:-.02em;margin:0;font-size:clamp(18px,1.6vw,24px);font-weight:500;line-height:1.35}.career-timeline{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.career-entry{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,18%) minmax(0,34%) minmax(0,48%);column-gap:0;padding:30px 0 34px;display:grid}.career-period{color:var(--body-muted);font-variant-numeric:tabular-nums;white-space:nowrap;grid-column:1;font-size:13px;font-weight:700}.career-identity{padding-left:var(--column-pad);grid-column:2}.career-detail{padding-left:var(--column-pad);grid-column:3}.career-identity h3{letter-spacing:-.03em;margin:0 0 7px;font-size:clamp(22px,2vw,32px);line-height:1}.career-identity p{margin:0 0 10px;font-weight:650}.career-identity span{color:var(--muted);font-size:13px}.career-detail>p{color:var(--body-muted);margin:0;font-size:16px;line-height:1.55}.work-section{padding:84px var(--gutter) 96px;border-top:1px solid var(--rule)}.work-header{grid-template-columns:minmax(0,52%) minmax(0,48%);align-items:end;column-gap:0;margin-bottom:54px;display:grid}.work-header h2{grid-column:1}.work-header>div{grid-column:2}.work-header h2{letter-spacing:-.035em;margin:0;font-family:Hubot Sans Variable,sans-serif;font-size:clamp(38px,4.2vw,60px);font-weight:740;line-height:.96}.work-header>div{padding-left:var(--column-pad)}.work-header p{letter-spacing:-.015em;margin:0;font-size:clamp(16px,1.3vw,20px);font-weight:500;line-height:1.45}.work-stage{grid-template-columns:minmax(360px,.92fr) minmax(520px,1.08fr);align-items:start;gap:42px;display:grid}.project-ledger{min-width:0}.project-row{border-bottom:1px solid var(--rule);position:relative}.project-preview-trigger{text-align:left;grid-template-columns:46px minmax(0,1fr) minmax(86px,auto);align-items:center;gap:10px;width:calc(100% - 48px);min-height:52px;display:grid}.project-number{color:var(--period);font-variant-numeric:tabular-nums;font-size:13px}.project-title{letter-spacing:-.035em;font-size:clamp(16px,1.25vw,20px);font-weight:720;line-height:1.05}.project-sector{color:var(--muted);text-align:right;font-size:13px}.project-link{place-items:center;width:28px;height:28px;display:grid;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.project-link svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:24px;height:24px;transition:transform .25s cubic-bezier(.16,1,.3,1)}.project-link:hover svg{transform:translate(3px,-3px)}.project-link.unavailable{color:var(--unavailable);font-size:18px}.project-row.active .project-title,.project-row.active .project-number{color:var(--blue)}.project-row.active .project-preview-trigger{cursor:default}.project-mobile-frame,.project-mobile-caption{display:none}.project-visual{padding-top:24px;position:sticky;top:24px}.project-visual figure{margin:0}.browser-frame{border:1px solid var(--chrome-border);background:#fff;border-radius:7px;overflow:hidden}.browser-toolbar{border-bottom:1px solid var(--chrome-rule);background:var(--chrome-surface);grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;height:30px;padding:0 10px;display:grid}.browser-controls{gap:5px;display:flex}.browser-controls i{background:var(--chrome-dot);border-radius:50%;width:6px;height:6px}.browser-address{border:1px solid var(--chrome-address-border);background:var(--chrome-address-surface);min-width:0;height:17px;color:var(--chrome-address-text);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;padding:0 8px;font-size:8px;line-height:1;display:flex;overflow:hidden}.browser-viewport{background:#fff;overflow:hidden}.browser-viewport:not(.is-loaded){background:var(--image-well)}.browser-viewport:not(.is-loaded) img{visibility:hidden}.browser-frame img{background:#fff;width:100%;height:auto;animation:.72s cubic-bezier(.16,1,.3,1) preview-image-in;display:block}.project-visual figcaption{color:var(--muted);justify-content:space-between;gap:20px;padding-top:12px;font-size:13px;animation:.72s cubic-bezier(.16,1,.3,1) caption-in;display:flex}.project-visual figcaption span:first-child{color:var(--ink);font-weight:700}.about-section{padding:84px var(--gutter) 108px;border-top:1px solid var(--rule);grid-template-columns:minmax(0,52%) minmax(0,48%);gap:0;display:grid}.about-section h2{letter-spacing:-.035em;grid-column:1;margin:0;font-family:Hubot Sans Variable,sans-serif;font-size:clamp(48px,5.4vw,80px);font-weight:760;line-height:.94}.about-copy{padding-left:var(--column-pad);grid-column:2}.about-copy p{margin:0}.about-copy p+p{color:var(--body-muted);margin-top:26px;font-size:16px;line-height:1.65}.contact-section{padding:72px var(--gutter) 48px;border-top:1px solid var(--rule)}.contact-section h2{letter-spacing:-.035em;margin:0 0 28px;font-family:Hubot Sans Variable,sans-serif;font-size:clamp(34px,3.8vw,52px);font-weight:740;line-height:.95}.contact-links{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.contact-link{border-left:1px solid var(--rule);justify-content:space-between;align-items:center;gap:22px;min-height:68px;padding:0 24px;font-weight:650;display:flex}.contact-link:first-child{border-left:0;padding-left:0}.contact-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.contact-copy>span{color:var(--muted);font-size:12px;font-weight:500}.contact-copy strong{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(16px,1.55vw,24px);font-weight:650}.contact-link svg{fill:none;stroke:currentColor;stroke-width:1.6px;flex:none;width:17px;height:17px;transition:transform .25s cubic-bezier(.16,1,.3,1)}.contact-link:hover svg{transform:translate(3px,-3px)}footer{padding:22px var(--gutter) 0;border-top:1px solid var(--rule);color:var(--muted);text-align:right;margin-top:72px;font-size:12px}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}@keyframes preview-image-in{0%{opacity:.5;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes caption-in{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=1040px){:root{--rail:112px}.site-rail{padding-inline:18px}.rail-nav{font-size:12px}.hero{grid-template-columns:1fr;align-content:center;gap:40px;min-height:560px}.hero h1,.hero-copy{grid-column:1}.hero h1{font-size:clamp(92px,15vw,150px)}.hero-copy{justify-self:start;padding-left:0}.career-entry{grid-template-columns:minmax(0,18%) minmax(0,34%) minmax(0,48%);column-gap:0}.work-stage{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:28px}.project-preview-trigger{grid-template-columns:38px minmax(0,1fr)}.project-sector{display:none}.about-section{grid-template-columns:1fr}.about-section h2,.about-copy{grid-column:1}.about-copy{padding-left:0}}@media (width<=900px){:root{--rail:0px}html{scroll-padding-top:44px}.skip-link{align-items:center;min-height:44px;display:flex;top:8px;left:18px}.site-rail{display:contents}.rail-utility{background:var(--paper);justify-content:space-between;align-items:center;min-height:56px;padding:6px 18px 0;display:flex}.rail-mark{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.rail-nav{z-index:10;border-bottom:1px solid var(--rule);background:var(--paper);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;margin:0;font-size:12px;display:grid;position:sticky;top:0}.rail-nav a{align-items:center;min-height:44px;display:flex}.rail-nav a span{display:none}.rail-locale{flex-direction:row;gap:0;margin:0}.theme-toggle{margin-top:0;margin-left:6px}.rail-locale button{min-width:44px;min-height:44px;font-size:12px}.site-main{margin-left:0}.hero{grid-template-columns:1fr;gap:48px;min-height:auto;padding:68px 18px 64px}.hero h1{font-size:clamp(66px,20vw,96px);line-height:.82}.hero-copy{justify-self:start}.hero-lead{font-size:clamp(23px,7vw,31px)}.experience-section{padding:76px 18px 96px}.experience-heading,.work-header{grid-template-columns:minmax(0,1fr);gap:30px;margin-bottom:48px}.experience-heading>*,.work-header>*{grid-column:1;min-width:0}.experience-heading h2,.experience-heading p,.work-header h2,.work-header>div{grid-column:1}.hero-copy,.experience-heading p,.work-header>div,.about-copy{padding-left:0}.experience-heading h2{font-size:clamp(40px,11vw,52px)}.experience-heading p{font-size:20px}.career-entry{grid-template-columns:1fr;gap:18px;padding:28px 0 34px}.career-period,.career-identity,.career-detail{grid-column:1;padding-left:0}.career-identity h3{font-size:26px}.career-detail>p{font-size:16px}.work-section{padding:76px 18px 92px}.work-header h2{font-size:clamp(34px,9.5vw,42px)}.work-header p{font-size:17px}.work-stage{display:block}.project-visual{display:none}.project-row{padding:0}.project-row.active{padding-bottom:26px}.project-preview-trigger{grid-template-columns:36px 1fr;width:calc(100% - 38px);min-height:78px}.project-link{top:39px}.project-title{font-size:22px}.project-mobile-frame{opacity:0;will-change:grid-template-rows, opacity, transform;grid-template-rows:0fr;width:100%;transition:grid-template-rows .65s cubic-bezier(.16,1,.3,1),opacity .4s,transform .65s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden;transform:translateY(-10px)}.project-mobile-frame>.browser-frame{min-height:0}.project-row.active .project-mobile-frame{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.project-mobile-frame .browser-toolbar{grid-template-columns:40px minmax(0,1fr) 40px;height:26px}.project-mobile-frame .browser-address{font-size:7px}.project-mobile-caption{color:var(--muted);text-align:right;padding-top:10px;font-size:12px;animation:.4s cubic-bezier(.16,1,.3,1) caption-in;display:none}.project-row.active .project-mobile-caption{display:block}.about-section{grid-template-columns:1fr;row-gap:30px;padding:72px 18px 84px}.about-section h2{margin:0;font-size:clamp(40px,11vw,52px)}.about-copy{grid-column:1}.about-lead{font-size:25px}.contact-section{padding:60px 18px 28px}.contact-section h2{font-size:clamp(34px,9vw,42px)}.contact-links{grid-template-columns:1fr 1fr}.email-contact{grid-column:1/3}.contact-link{gap:10px;min-height:58px;padding:0 12px}.contact-link:nth-child(2){border-left:0;padding-left:0}.contact-copy strong{font-size:clamp(16px,4.5vw,18px)}footer{margin-top:80px;padding-inline:18px}}@media (width>=761px) and (width<=900px){.rail-utility{padding-inline:32px}.hero{gap:52px;padding:72px 32px 68px}.hero h1{font-size:clamp(96px,13vw,112px)}.hero-lead{font-size:clamp(24px,3.2vw,28px)}.experience-section{padding:80px 32px 100px}.work-section{padding:80px 32px 96px}.about-section{padding:76px 32px 92px}.contact-section{padding:64px 32px 32px}}@media (width<=760px){:root{--mobile-gutter:clamp(18px, 5.2vw, 22px)}html{scroll-padding-top:48px}.rail-utility{min-height:60px;padding:max(8px, env(safe-area-inset-top)) var(--mobile-gutter) 0;background:var(--paper)}.rail-mark{width:36px;min-width:44px;height:36px;min-height:44px}.rail-mark img{width:36px;height:36px}.rail-nav{width:100%;margin-inline:0}.rail-nav a{min-height:48px;color:var(--muted);justify-content:center;padding:0 4px;font-size:11px;font-weight:620;position:relative}.rail-nav a:after{content:"";background:var(--blue);transform-origin:50%;height:2px;transition:transform .25s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-1px;left:4px;right:4px;transform:scaleX(0)}.rail-nav a.active:after{transform:scaleX(1)}.rail-locale button{min-width:40px;min-height:44px}.theme-toggle{margin-left:0}.hero{padding:56px var(--mobile-gutter) 60px;gap:36px}.hero h1{font-size:clamp(62px,17.5vw,76px);line-height:.81}.hero-lead{font-size:clamp(25px,7vw,29px);line-height:1.12}.hero-context{margin-top:18px;font-size:15px;line-height:1.6}.experience-section{padding:64px var(--mobile-gutter) 76px}.experience-heading,.work-header{gap:18px;margin-bottom:34px}.experience-heading h2,.about-section h2{font-size:clamp(34px,9.5vw,40px);line-height:.98}.experience-heading p{font-size:18px;line-height:1.45}.career-entry{gap:0;padding:26px 0 30px}.career-entry:last-child{border-bottom:0}.career-period{margin-bottom:18px;font-size:12px}.career-identity h3{margin-bottom:6px;font-size:25px;line-height:1.05}.career-identity p{margin-bottom:8px;font-size:15px;line-height:1.4}.career-identity span{font-size:12px}.career-detail{margin-top:20px}.career-detail>p{font-size:15px;line-height:1.65}.about-section{padding:64px var(--mobile-gutter) 76px;row-gap:24px}.about-lead{font-size:24px;line-height:1.2}.about-copy p+p{margin-top:20px;font-size:15px;line-height:1.65}.work-section{padding:64px var(--mobile-gutter) 76px}.work-header h2{font-size:clamp(32px,8.8vw,36px);line-height:1}.work-header p{font-size:16px;line-height:1.55}.project-row.active{padding-bottom:22px}.project-preview-trigger{grid-template-rows:auto auto;grid-template-columns:30px minmax(0,1fr);gap:4px 12px;width:calc(100% - 44px);min-height:72px;padding:12px 0}.project-number{grid-area:1/1/3;align-self:start;padding-top:2px;font-size:12px}.project-title{grid-area:1/2;font-size:20px;line-height:1.1}.project-sector{color:var(--muted);text-align:left;grid-area:2/2;font-size:11px;line-height:1.3;display:block}.project-link{width:44px;height:44px;top:36px;right:-6px}.project-link svg{width:22px;height:22px}.project-mobile-frame{opacity:0;will-change:grid-template-rows, opacity, transform;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.16,1,.3,1),opacity .35s,transform .6s cubic-bezier(.16,1,.3,1);display:grid;transform:translateY(-8px)}.project-mobile-frame>.browser-frame{min-height:0}.project-row.active .project-mobile-frame{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.project-mobile-caption{font-size:11px}.project-row.active .project-mobile-caption{padding-top:9px}.contact-section{padding:56px var(--mobile-gutter) 24px}.contact-section h2{margin-bottom:24px;font-size:clamp(32px,8.8vw,36px);line-height:1}.contact-link{min-height:64px;padding:0 14px}.email-contact{border-bottom:1px solid var(--rule)}.contact-copy strong{font-size:clamp(15px,4.4vw,17px)}footer{padding:20px var(--mobile-gutter) max(24px, env(safe-area-inset-bottom));margin-top:48px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{@page{size:A4;margin:28mm 15mm 18mm}:root,html[data-theme=dark]{--paper:#fff;--ink:#111;--muted:#555;--body-muted:#333;--rule:#c7c9ce;--blue:#174db8}html,body{color:#111!important;background:#fff!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-rail,.skip-link,.project-visual,.project-mobile-frame,.project-mobile-caption,.theme-toggle{display:none!important}.site-main{margin-left:0}.hero{border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr;align-items:end;gap:8mm;min-height:auto;padding:0 0 10mm;display:grid}.hero h1{grid-column:1;font-size:54pt;line-height:.82}.hero-copy{grid-column:2;padding-left:0}.hero-lead{font-size:16pt;line-height:1.08}.hero-context{margin-top:8pt;font-size:9pt;line-height:1.4}.experience-section,.about-section,.work-section,.contact-section{border-top:0;padding:10mm 0}.experience-heading,.work-header{grid-template-columns:1fr 1fr;margin-bottom:5mm}.experience-heading h2,.work-header h2{grid-column:1}.experience-heading p,.work-header>div{grid-column:2}.experience-heading h2,.about-section h2{font-size:30pt}.experience-heading p,.work-header p{padding-left:0;font-size:11pt}.career-entry{break-inside:avoid;grid-template-columns:17% 33% 50%;padding:6mm 0}.career-entry>*{min-width:0}.career-period{grid-column:1}.career-identity{grid-column:2}.career-detail{grid-column:3}.career-period{font-size:8.5pt}.career-identity{padding-left:5mm}.career-identity h3{font-size:16pt}.career-identity p,.career-identity span,.career-detail>p{font-size:9pt}.career-detail{padding-left:3mm}.career-detail>p{overflow-wrap:anywhere;line-height:1.45}.about-section{grid-template-columns:1fr 1fr;gap:8mm;display:grid}.about-section h2{grid-column:1}.about-copy{grid-column:2;padding-left:0}.about-copy p+p{margin-top:5mm;font-size:9pt;line-height:1.5}.about-tools{margin-top:6mm}.about-tools-label{margin-bottom:3mm;font-size:7pt}.about-tool-list{gap:3mm 6mm}.about-tool{font-size:8pt}.tool-icon{width:12px;height:12px}.work-header>div{padding-left:0}.work-section{padding-top:16mm}.work-stage{display:block}.project-row{break-inside:avoid;grid-template-columns:12mm minmax(0,1fr) minmax(32mm,auto) minmax(44mm,auto);align-items:center;min-height:12mm;display:grid}.project-row.active{padding-bottom:0}.project-preview-trigger{grid-column:1/4;grid-template-columns:12mm minmax(0,1fr) minmax(32mm,auto);width:100%;min-height:12mm}.project-number,.project-sector,.project-link{font-size:8pt}.project-title{font-size:10.5pt}.project-row.active .project-title,.project-row.active .project-number{color:var(--ink)}.project-sector{grid-area:1/3;justify-self:end;margin-right:0;display:block}.project-link{width:auto;height:auto;color:var(--body-muted);text-align:right;overflow-wrap:anywhere;grid-area:1/4;display:block;position:static;transform:none}.project-link svg{display:none}.project-link:after{content:attr(href);font-size:7.5pt}.contact-section{padding-bottom:4mm}.contact-section h2{margin-bottom:5mm;font-size:22pt}.contact-links{grid-template-columns:repeat(3,minmax(0,1fr))}.email-contact{grid-column:auto}.contact-link,.contact-link:first-child,.contact-link:nth-child(2){border-left:1px solid var(--rule);min-height:14mm;padding:0 4mm;font-size:8pt}.contact-link:first-child{border-left:0;padding-left:0}.contact-link strong{font-size:9pt}.contact-link svg{display:none}footer{margin-top:8mm;padding:4mm 0 0;font-size:8pt}}
