@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-cyrillic-ext-wght-normal.okcGN4Nq.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-cyrillic-wght-normal.BS41q_Tv.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-greek-ext-wght-normal.DQgQPNk4.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-greek-wght-normal.sS1B39LI.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-vietnamese-wght-normal.TKKdAiBA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-latin-ext-wght-normal.B4u9PlvR.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-latin-wght-normal.DX-nOvPD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #fafaf8;--night: #070707;--ink: #080808;--milk: #f5f5f2;--muted: #676763;--on-dark: #c0c0bb;--rule-light: rgba(20, 20, 20, .18);--rule-dark: rgba(245, 245, 245, .22);--font: "Inter Tight Variable", "Inter Tight", Arial, sans-serif;--mono: "Geist Mono Variable", ui-monospace, Consolas, monospace;--page-x: clamp(22px, 4.1vw, 78px);--max: 1900px;--ease-paper: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.45 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}::selection{background:#89867e;color:#fff}:focus-visible{outline:2px solid #b88956;outline-offset:4px}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;padding:12px;background:#fff;color:#111}.skip-link:focus{top:12px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sheet-stack{position:relative;isolation:isolate;min-height:100svh}.paper-sheet{width:100%;min-height:100svh;overflow:clip;transform-origin:50% 0%;backface-visibility:hidden}.paper-sheet[data-view=engineering]{background:var(--night);color:var(--milk);color-scheme:dark}.paper-sheet[data-view=presentation]{background:var(--paper);color:var(--ink);color-scheme:light}.paper-rear[data-view=presentation]{background:#d9d7d1}.paper-rear[data-view=engineering]{background:#1e1e1c}.layer-shell{--sheet-x: 16px;--sheet-y: 16px;position:relative;isolation:isolate}.paper-front{position:relative;z-index:2}.paper-rear{position:absolute;inset:0;z-index:1;transform:none;pointer-events:none;visibility:hidden}@media(min-width:741px){.layer-shell .page-wrap{padding-right:calc(var(--page-x) + 132px)}}.sheet-stack.is-changing .paper-sheet{pointer-events:none}.sheet-stack.is-changing .paper-rear{visibility:visible;transform:translate3d(var(--sheet-x),var(--sheet-y),0);overflow:clip;box-shadow:1px 2px 3px #00000029,6px 8px 13px #00000012}.sheet-stack.is-changing .paper-front{box-shadow:2px 2px 4px #00000026,11px 15px 20px #00000018}.sheet-stack.is-changing .paper-front,.sheet-stack.is-changing .paper-rear{will-change:transform}.sheet-stack.is-crossed .paper-rear{z-index:3}.sheet-stack.is-crossed .paper-front{z-index:1}.incoming-sheet-content{transform:translate3d(0,var(--preview-shift, 0px),0);width:100%}.site-header{position:fixed;inset:0 0 auto;z-index:90;display:flex;justify-content:center;background:var(--paper);color:var(--ink);border-bottom:1px solid transparent;transition:none}.site-header.is-dark{background:var(--night);color:var(--milk)}.site-header.is-scrolled{border-bottom-color:var(--rule-light)}.site-header.is-dark.is-scrolled{border-bottom-color:var(--rule-dark)}.nav-shell{width:min(100%,var(--max));min-height:72px;display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);padding:12px calc(var(--page-x) + 32px) 12px calc(var(--page-x) + 7px)}.brand{display:inline-flex;align-items:center;min-height:44px;flex:none;font-size:15px;font-weight:600;letter-spacing:-.02em}.nav-links,.nav-end,.language-switch{display:flex;align-items:center}.nav-links{gap:clamp(12px,1.7vw,25px);margin-left:auto;min-width:0;max-width:100%}.nav-anchor,.nav-end a{position:relative;font-size:13px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.nav-anchor{opacity:.72}.nav-anchor:hover,.nav-anchor.is-current{opacity:1}.nav-anchor:after{content:"";position:absolute;inset:auto 0 7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav-anchor.is-current:after,.nav-anchor:focus-visible:after{transform:scaleX(1)}.nav-end{gap:18px;flex-shrink:0}.language-switch{gap:7px;font-size:12px}.language-switch a{opacity:.65}.language-switch a.active{opacity:1;text-decoration:underline;text-underline-offset:5px}.language-switch span{opacity:.5}.perspective-switcher{--item-height: 145px;--item-gap: 16px;--track-top: 0px;position:fixed;z-index:95;right:max(19px,env(safe-area-inset-right));top:52%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--item-gap);pointer-events:none;color:var(--ink)}.perspective-switcher.is-dark{color:var(--milk)}.perspective-switcher:before{content:"";position:absolute;pointer-events:none;top:var(--track-top);left:2px;width:2px;height:var(--item-height);background:currentColor;opacity:.8;transition:top .33s var(--ease-paper)}.perspective-switcher[data-current=engineering],.perspective-switcher.is-crossed[data-current=presentation]{--track-top: calc(var(--item-height) + var(--item-gap))}.perspective-switcher.is-crossed[data-current=engineering]{--track-top: 0px}.perspective-tab{pointer-events:auto;display:flex;align-items:center;justify-content:center;width:44px;height:var(--item-height);min-height:44px;min-width:44px;font:400 11px/1 var(--mono);letter-spacing:.03em;text-transform:uppercase;opacity:.65;transition:opacity .2s}.perspective-tab span{writing-mode:vertical-rl;pointer-events:none}.perspective-tab.is-active{font-weight:600;opacity:1}.perspective-tab:hover{opacity:1}.perspective-switcher.is-crossed .perspective-tab.is-active{opacity:.65}.perspective-switcher.is-crossed .perspective-tab:not(.is-active){opacity:1}.perspective-tab:focus-visible{outline:2px solid currentColor;outline-offset:-3px}@media(max-width:740px){.nav-shell{padding:8px 22px;gap:0 14px;flex-wrap:wrap;min-height:84px}.brand{font-size:14px;min-height:32px}.nav-end{margin-left:auto;order:2}.language-switch a{min-height:32px;font-size:12px}.nav-links{order:3;flex:1 0 100%;margin:0;gap:19px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scroll-padding-inline:12px}.nav-anchor{font-size:12px;min-height:36px}.nav-anchor:after{bottom:3px}.perspective-switcher{position:fixed;top:84px;left:0;right:0;transform:none;flex-direction:row;justify-content:center;gap:25px;min-height:48px;background:var(--paper);border-bottom:1px solid var(--rule-light)}.perspective-switcher.is-dark{background:var(--night);border-color:var(--rule-dark)}.perspective-switcher:before{display:none}.perspective-tab{width:auto;height:48px;padding-inline:10px;font-size:10px;position:relative}.perspective-tab span{writing-mode:horizontal-tb}.perspective-tab.is-active:after{content:"";position:absolute;height:2px;background:currentColor;bottom:0;left:10px;right:10px}}@media(max-height:540px)and (min-width:741px){.perspective-switcher{--item-height: 90px;--item-gap: 3px}}@media(prefers-reduced-motion:reduce){.perspective-switcher:before,.perspective-tab,.site-header{transition:none}}.paper-sheet .paper-navigation-copy{pointer-events:none;transition:none!important}.paper-sheet .paper-navigation-copy.site-header{position:absolute;top:var(--navigation-scroll, 0px);left:0;right:0;inset-block-end:auto;z-index:90}.paper-sheet .paper-navigation-copy.perspective-switcher{position:absolute;top:calc(var(--navigation-scroll, 0px) + 52svh);z-index:95}body.navigation-transition-active>.site-header,body.navigation-transition-active>.perspective-switcher{visibility:hidden}@media(max-width:740px){.paper-sheet .paper-navigation-copy.perspective-switcher{top:calc(var(--navigation-scroll, 0px) + 84px);transform:none}}.menu-toggle{display:none}@media(max-width:1050px){.site-header{z-index:110}.nav-shell{position:relative;min-height:58px;padding:7px 22px;gap:12px;flex-wrap:nowrap}.brand{min-height:44px}.nav-end{margin-left:auto;order:2;gap:21px}.language-switch a{min-height:44px;align-items:center}.menu-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 0;border:0;background:none;color:inherit;font:500 12px/1 var(--mono);white-space:nowrap}.menu-toggle-icon{display:inline-block;width:16px;height:11px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .2s}.has-open-menu .menu-toggle-icon{transform:rotate(-45deg)}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;order:initial;margin:0;padding:10px 22px 18px;background:var(--paper);border-bottom:1px solid var(--rule-light);box-shadow:0 15px 25px #00000012;flex-direction:column;align-items:stretch;gap:0;max-width:none;overflow:visible}.site-header.is-dark .nav-links{background:var(--night);border-bottom-color:var(--rule-dark)}.site-header.has-open-menu .nav-links{display:flex}.nav-anchor{font-size:14px;min-height:44px;width:100%;white-space:normal;border-bottom:1px solid var(--rule-light)}.site-header.is-dark .nav-anchor{border-bottom-color:var(--rule-dark)}.nav-anchor:last-child{border-bottom:0}.nav-anchor:after{display:none}}@media(prefers-reduced-motion:reduce){.menu-toggle-icon{transition:none}}@media(max-width:1050px){html:not(.has-js) .site-header .nav-links{display:flex}html:not(.has-js) .site-header .menu-toggle{display:none}}@media(max-width:740px){.perspective-switcher{top:58px;min-height:44px;gap:24px;border-bottom:1px solid var(--rule-light)}.perspective-tab{height:44px;min-height:44px}.paper-sheet .paper-navigation-copy.perspective-switcher{top:calc(var(--navigation-scroll, 0px) + 58px)}}.light-scene{background:var(--paper)}.dark-universe{background:var(--night);color:var(--milk)}.hero{min-height:90svh}.hero-content{min-height:90svh;display:flex;flex-direction:column;justify-content:space-between;padding-block:clamp(110px,13vh,150px) 64px;gap:48px}.hero-overline{margin:0;display:flex;justify-content:space-between;gap:24px;color:var(--muted)}.hero-name{font-size:clamp(76px,12vw,200px);font-weight:400;line-height:.96;letter-spacing:-.045em;margin:clamp(25px,5vh,60px) 0;min-width:0}.hero-name>span{display:block;width:max-content;max-width:100%}.hero-name>span+span{padding-left:clamp(20px,9vw,150px)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px}.hero-summary{display:flex;align-items:start;flex-direction:column;gap:20px;max-width:660px}.hero-role{font-size:clamp(23px,2.5vw,37px);font-weight:500;line-height:1.22;letter-spacing:-.02em;margin:0;max-width:600px;text-wrap:balance}.hero-description{margin:0;max-width:490px;font-size:clamp(17px,1.45vw,21px);line-height:1.55}.hero-actions,.project-links{display:flex;align-items:center;gap:22px 30px;flex-wrap:wrap}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);color:var(--paper);min-height:48px;padding:14px 20px;font-size:15px}.primary-link:hover{background:#30302d}.underline-link{display:inline-block;font-size:14px;line-height:1.5;border-bottom:1px solid currentColor;padding-block:8px;max-width:100%;text-wrap:pretty}.underline-link:hover{opacity:.72}.work-heading{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.65fr);gap:60px;align-items:end;margin-bottom:64px}.medium-display{font-size:clamp(55px,7vw,115px);font-weight:500;line-height:1;letter-spacing:-.04em;margin:0}.work-heading>p{font-size:clamp(16px,1.3vw,20px);color:var(--muted);max-width:370px;line-height:1.55;margin:0}.project{border-top:1px solid var(--rule-light);padding-block:24px 64px}.project:last-child{padding-bottom:0}.work-overline{display:flex;justify-content:space-between;gap:18px;color:var(--muted)}.project-composition{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:start;padding-top:40px}.project-copy h3{font-size:clamp(36px,4.1vw,68px);font-weight:500;line-height:1.06;letter-spacing:-.035em;margin:0 0 14px;text-wrap:balance}.project-stack{margin:0 0 27px;color:var(--muted)}.project-description{font-size:clamp(17px,1.45vw,22px);line-height:1.5;margin:0 0 24px;max-width:540px}.project-focus{max-width:470px;margin-bottom:22px}.project-focus>.meta{color:var(--muted)}.project-focus p{font-size:15px;line-height:1.6;color:var(--muted);margin:9px 0 0}.about-section{border-top:1px solid var(--rule-light)}.about-composition{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:clamp(40px,8vw,120px);align-items:end}.statement{font-size:clamp(47px,5.2vw,86px);font-weight:500;line-height:1.06;letter-spacing:-.035em;margin:0 0 45px;text-wrap:balance}.supporting-copy{font-size:clamp(17px,1.4vw,21px);line-height:1.6;max-width:660px;margin:0}.about-index{min-width:0}.about-index-heading{margin:0 0 22px;color:var(--muted)}.index-line{display:grid;grid-template-columns:25px minmax(0,1fr);gap:17px;border-top:1px solid var(--rule-light);padding:24px 0}.index-line .meta{color:var(--muted);padding-top:3px}.index-line h3{font-size:clamp(20px,1.7vw,26px);line-height:1.15;letter-spacing:-.015em;font-weight:500;margin:0 0 12px}.index-line p{font-size:15px;line-height:1.55;color:var(--muted);margin:0}.thinking-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:60px;align-items:end;margin-bottom:60px}.dark-display{font-size:clamp(54px,7vw,120px);line-height:1;letter-spacing:-.04em;font-weight:500;margin:0}.dark-display span{display:inline-block;margin-left:clamp(10px,4vw,60px)}.dark-lead{color:var(--on-dark);max-width:360px;margin:0;font-size:clamp(17px,1.3vw,21px);line-height:1.55}.thinking-list{border-top:1px solid var(--rule-dark)}.thinking-row{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(230px,.7fr);gap:clamp(18px,3vw,45px);padding:35px 0;border-bottom:1px solid var(--rule-dark)}.thinking-row .meta{color:var(--on-dark);padding-top:7px}.thinking-row h3{font-size:clamp(27px,2.7vw,44px);line-height:1.12;letter-spacing:-.025em;font-weight:500;margin:0}.thinking-row p{font-size:16px;line-height:1.6;color:var(--on-dark);max-width:450px;margin:0}.approach-link{margin-top:32px}.contact-section{padding-top:clamp(65px,8vw,120px)}.closing-display{font-size:clamp(62px,10vw,170px);line-height:1.03;letter-spacing:-.04em;font-weight:500;margin:0;max-width:100%;text-wrap:balance}.closing-composition{margin-bottom:55px}.contact-rows{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-bottom:clamp(60px,8vw,120px)}.contact-rows>p{font-size:clamp(17px,1.45vw,23px);max-width:410px;line-height:1.55;color:var(--on-dark);margin:0}.contact-destinations{width:100%;max-width:580px;justify-self:end;border-top:1px solid var(--rule-dark)}.contact-destinations>a{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--rule-dark);padding:20px 0;font-size:clamp(19px,1.9vw,30px);letter-spacing:-.015em;overflow-wrap:anywhere}.contact-destinations>a:hover{opacity:.75}.footer-line{border-top:1px solid var(--rule-dark);color:var(--on-dark);display:flex;justify-content:space-between;gap:25px;padding-block:22px 28px}.resume-links{width:100%;max-width:510px;min-width:0}.resume-options{display:flex;align-items:center;gap:12px 23px;flex-wrap:wrap}.resume-option{border-bottom:1px solid currentColor;padding:10px 0;display:inline-flex;align-items:center;gap:13px;font:500 12px/1.2 var(--mono)}.contact-destinations .resume-links{border-bottom:1px solid var(--rule-dark);padding:14px 0}.hero-summary{max-width:730px}.hero-description{max-width:720px;font-size:clamp(16px,1.22vw,19px);line-height:1.57}.hero-aside{max-width:270px;align-self:end;display:flex;flex-direction:column;align-items:start;gap:12px}.hero-actions{gap:12px 24px}.hero-actions .underline-link{font-size:14px}.body-paragraphs{display:grid;gap:19px}.body-paragraphs .supporting-copy{margin:0}.experience-section,.education-section,.work-section{border-top:1px solid var(--rule-light)}.editorial-section-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);align-items:end;gap:45px;margin-bottom:40px}.editorial-section-head .statement{margin-bottom:0}.editorial-section-head>p{font-size:clamp(17px,1.32vw,21px);line-height:1.55;max-width:460px;color:var(--muted);margin:0}.timeline-entry{display:grid;grid-template-columns:50px minmax(190px,.75fr) minmax(0,1.25fr);gap:clamp(18px,3vw,55px);padding:35px 0;border-top:1px solid var(--rule-light)}.timeline-entry:last-child{border-bottom:1px solid var(--rule-light)}.entry-index{color:var(--muted);padding-top:5px}.timeline-entry h3{font-weight:500;font-size:clamp(28px,3vw,46px);letter-spacing:-.026em;line-height:1.1;margin:0 0 12px}.entry-role{font-size:17px;margin:0 0 15px}.entry-duration{color:var(--muted);margin:0}.entry-body{font-size:clamp(16px,1.27vw,19px);line-height:1.6;margin:0;max-width:720px}.entry-links{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:17px}.education-section .statement{max-width:900px}.education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,70px)}.education-entry{border-top:1px solid var(--rule-light);padding:27px 0 0}.education-entry>.meta{color:var(--muted)}.education-entry h3{font-weight:500;font-size:clamp(26px,2.7vw,42px);line-height:1.15;letter-spacing:-.025em;margin:24px 0 17px}.education-status{margin:0 0 18px;color:var(--muted);line-height:1.7}.education-entry>p:last-child{font-size:17px;line-height:1.65;max-width:630px;margin:0}.project-extra{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 22px;max-width:540px}.thinking-extra{font-size:clamp(16px,1.32vw,20px);line-height:1.65;max-width:920px;color:var(--on-dark);margin:0 0 52px}.closing-display{font-size:clamp(50px,7vw,110px)}@media(max-width:1000px){.editorial-section-head{grid-template-columns:1fr;gap:20px}.hero-aside{max-width:260px}.timeline-entry{grid-template-columns:40px minmax(0,.85fr) minmax(0,1.15fr);gap:24px}}@media(max-width:740px){.hero-aside{max-width:100%;align-self:start;gap:4px}.hero-description{font-size:16px}.body-paragraphs{gap:17px}.timeline-entry{grid-template-columns:28px minmax(0,1fr);gap:10px 16px;padding:26px 0}.timeline-entry>div:last-child{grid-column:2}.timeline-entry h3{font-size:30px}.entry-role,.entry-body{font-size:16px}.education-grid{grid-template-columns:1fr;gap:34px}.education-entry h3{font-size:30px}.thinking-extra{font-size:16px;margin-bottom:35px}.project-extra{font-size:15px}.closing-display{font-size:clamp(43px,9.5vw,68px)}}.hero-portrait{margin:0;max-width:240px;min-width:0}.project-screenshot{margin:0;min-width:0}@media(max-width:740px){.hero-portrait{max-width:195px;margin-bottom:12px}}@media(min-width:741px){.hero,.hero-content{min-height:100svh}.hero--with-portrait,.hero--with-portrait .hero-content{min-height:min(900px,100svh)}.hero-content{padding-block:clamp(90px,11.5svh,140px) clamp(24px,3.5svh,44px);gap:clamp(12px,2svh,26px)}.hero-name{font-size:clamp(72px,10vw,170px);margin:0}.hero-summary{gap:clamp(10px,1.5svh,18px)}.hero-role{font-size:clamp(22px,2.2vw,35px)}.hero-description{font-size:clamp(15px,1.22vw,19px);line-height:1.48}.hero--with-portrait .hero-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,clamp(242px,28vw,400px));grid-template-rows:auto auto auto;align-content:start;gap:clamp(24px,3.5svh,48px) clamp(28px,3.3vw,70px)}.hero--with-portrait .hero-overline{grid-column:1/-1;grid-row:1}.hero--with-portrait .hero-name{grid-column:1;grid-row:2;align-self:start;font-size:clamp(67px,7.9vw,151px);line-height:.96}.hero--with-portrait .hero-name>span+span{padding-left:0}.hero--with-portrait .hero-bottom{display:contents}.hero--with-portrait .hero-summary{grid-column:1;grid-row:3;align-self:end;min-width:0}.hero--with-portrait .hero-aside{grid-column:2;grid-row:2/4;align-self:stretch;justify-content:flex-start;width:100%;max-width:none;gap:clamp(7px,1.2svh,12px)}.hero--with-portrait .hero-portrait{width:100%;max-width:none;min-width:0;margin:0}.hero--with-portrait .hero-aside-links{justify-content:flex-start}}@media(min-width:741px)and (max-width:1050px){.hero--with-portrait .hero-content{grid-template-columns:minmax(0,1fr) minmax(0,27vw);column-gap:24px}.hero--with-portrait .hero-name{font-size:clamp(60px,7.5vw,85px)}.hero--with-portrait .hero-description{font-size:15px}.hero--with-portrait .hero-actions{gap:6px 14px}}.hero-aside-links{display:flex;align-items:center;gap:8px 25px;flex-wrap:wrap}.hero-aside-links .underline-link{font-size:14px}@media(min-width:741px){.hero--with-portrait .hero-aside-links{width:100%;margin-top:auto;align-self:stretch;justify-content:space-between;align-items:stretch;gap:3px clamp(12px,1.5vw,24px)}.hero--with-portrait .hero-aside-links .underline-link{display:inline-flex;align-items:center;min-height:48px;font-size:clamp(12px,1vw,14px)}.hero--with-portrait .hero-actions .primary-link{min-height:48px}}.entry-duration,.education-status,.project-stack,.project-focus>.meta,.work-overline,.about-index-heading,.case-limit>.meta{font-family:var(--font);text-transform:none;letter-spacing:0}.hero-technologies{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:5px;align-items:baseline;margin:2px 0 0;font-size:clamp(12px,1vw,14px);line-height:1.55;color:var(--muted)}.hero-technologies .meta{color:var(--ink);font-size:11px}.timeline-entry--featured{padding-block:clamp(38px,4.5vw,62px)}.timeline-entry--featured h3{font-weight:600}.entry-location{font-size:14px;line-height:1.55;color:var(--muted);margin:10px 0 0}.entry-highlights{list-style:none;margin:23px 0 0;padding:0;display:grid;gap:14px;max-width:740px}.entry-highlights li{position:relative;padding-left:22px;font-size:clamp(15px,1.15vw,17px);line-height:1.6}.entry-highlights li:before{content:"—";position:absolute;left:0;color:var(--muted)}@media(max-width:740px){.hero-technologies{font-size:12px;line-height:1.6}.hero-technologies .meta{font-size:11px}.entry-location{font-size:13px}.entry-highlights{gap:12px;margin-top:18px}.entry-highlights li{font-size:15px}.resume-options{gap:6px 14px}.resume-option{font-size:11px}}.project--featured{padding-top:34px;padding-bottom:clamp(78px,9vw,132px)}.project--featured .project-copy h3{font-size:clamp(50px,5vw,84px)}.project--secondary{padding-block:28px 35px}.project--secondary .project-copy h3{font-size:clamp(32px,3vw,50px)}.project--secondary .project-description{font-size:clamp(16px,1.3vw,19px)}.project-media{display:grid;gap:clamp(20px,2vw,34px);min-width:0}.content-image{margin:0;min-width:0}.content-image img{display:block;width:100%;aspect-ratio:var(--image-aspect,16/10);height:auto;object-fit:var(--image-fit,contain);object-position:var(--image-position,center)}@media(max-width:740px){.content-image img{object-fit:var(--image-fit-mobile,var(--image-fit,contain));object-position:var(--image-position-mobile,var(--image-position,center))}}.content-image figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:10px 20px;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule-light);font-family:var(--font);font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.55;color:var(--muted)}.content-image figcaption span{max-width:65ch;text-wrap:pretty}.content-image figcaption a{flex-shrink:0;min-height:32px;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.project-media .project-screenshot--additional{max-width:88%;margin-inline-start:auto}.project .project-composition--text-only{display:block}.project .project-composition--text-only .project-copy{max-width:870px}.case-gallery{display:grid;gap:25px;margin-bottom:25px}.case-gallery .case-screenshot{margin:0}.case-gallery .content-image figcaption{color:var(--on-dark);border-color:var(--rule-dark)}.case-gallery .content-image figcaption a{color:var(--milk)}@media(min-width:741px){.hero:not(.hero--with-portrait) .hero-summary{max-width:760px}.hero:not(.hero--with-portrait) .hero-aside{align-self:end;max-width:270px}.hero--with-portrait .hero-portrait{width:100%;max-width:none;min-height:0;align-self:stretch}.hero--with-portrait .hero-portrait img{height:auto}.hero--with-portrait .hero-summary{gap:clamp(8px,1.1svh,15px)}.hero--with-portrait .hero-aside-links{justify-content:flex-start;gap:8px clamp(12px,1.55vw,28px)}.hero--with-portrait .hero-aside-links .underline-link{font-size:13px}}@media(max-width:1000px){.project--featured .project-composition,.project--secondary .project-composition{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:740px){.project--featured .project-composition,.project--secondary .project-composition{grid-template-columns:1fr;gap:25px}.project--featured .project-copy h3{font-size:clamp(37px,9vw,65px)}.project--featured{padding-bottom:55px}.content-image figcaption{flex-wrap:wrap;gap:4px 16px}.hero{min-height:0}.hero-content{min-height:0;padding-top:123px;padding-bottom:47px;gap:16px;justify-content:flex-start}.hero-name{font-size:clamp(52px,12vw,84px);line-height:.99;margin:8px 0 3px}.hero-bottom{gap:18px;align-items:start}.hero-summary{gap:11px}.hero-role{font-size:clamp(21px,5.6vw,26px);line-height:1.18}.hero-description{font-size:15px;line-height:1.45;max-width:520px}.hero-technologies{font-size:11px;line-height:1.45;row-gap:2px}.hero-actions{gap:10px 20px}.hero-actions .primary-link{min-height:44px;padding:10px 15px;font-size:13px}.hero-actions .underline-link{font-size:13px}.hero-aside{width:100%;max-width:100%;gap:15px}.hero-aside-links{gap:8px 21px}.hero-aside-links .underline-link{font-size:12px}.hero-portrait{width:100%;max-width:260px;margin-top:12px}.hero-portrait img{max-width:100%;height:auto}.engineering-hero{padding-top:132px}}@media(max-width:360px){.hero-name{font-size:12vw}.hero-actions{gap:9px 14px}.hero-technologies{font-size:10px}}@media(max-width:390px){.hero-content{padding-bottom:35px}.hero-name{margin:5px 0 2px}.hero-summary{gap:9px}.hero-technologies{font-size:10px}.hero-actions{gap:8px 14px}.hero-actions .primary-link{gap:15px}.project-media .project-screenshot--additional{max-width:100%}}.chapter-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:14px;border-bottom:1px solid var(--rule-dark);color:var(--on-dark)}.engineering-hero{padding-block:clamp(115px,13vh,150px) 65px}.engineering-hero .chapter-head{margin-bottom:55px}.engineering-display{font-size:clamp(65px,10vw,160px);font-weight:500;letter-spacing:-.04em;line-height:1;margin:0 0 50px}.engineering-display span{padding-left:clamp(15px,7vw,100px)}.engineering-sub{display:flex;justify-content:space-between;align-items:end;gap:40px}.engineering-sub p{font-size:clamp(17px,1.45vw,22px);line-height:1.6;max-width:620px;margin:0}.technical-case{padding-block:70px}.engineering-view .section-marker{margin-bottom:45px}.technical-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:50px;align-items:end;margin-bottom:50px}.technical-heading h2{font-size:clamp(40px,4.8vw,78px);font-weight:500;line-height:1.06;letter-spacing:-.03em;margin:0;max-width:900px;text-wrap:balance}.technical-heading>p{font-size:18px;line-height:1.55;color:var(--on-dark);margin:0}.case-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0 0 50px;border-block:1px solid var(--rule-dark)}.case-flow li{position:relative;padding:28px 30px 30px 0}.case-flow li+li{padding-left:30px;border-left:1px solid var(--rule-dark)}.case-flow li+li:before{content:"→";position:absolute;left:-8px;top:27px;background:var(--night);color:var(--on-dark)}.case-flow .meta{color:var(--on-dark)}.case-flow h3{font-size:clamp(22px,2vw,31px);line-height:1.2;letter-spacing:-.02em;font-weight:500;margin:23px 0 12px}.case-flow p{font-size:16px;line-height:1.6;color:var(--on-dark);margin:0;max-width:330px}.case-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,6vw,90px)}.case-reasoning{margin:0}.case-reasoning>div+div{margin-top:28px}.case-reasoning dt{color:var(--on-dark);margin-bottom:10px}.case-reasoning dd{font-size:18px;line-height:1.6;margin:0;max-width:580px}.case-evidence{min-width:0}.code-excerpt{margin:0;border:1px solid var(--rule-dark);background:#131414}.code-excerpt figcaption{padding:18px 22px;border-bottom:1px solid var(--rule-dark);color:var(--on-dark);text-transform:none;overflow-wrap:anywhere}.code-excerpt pre{margin:0;padding:27px 22px;overflow-x:auto;font:400 clamp(12px,1.05vw,16px)/1.9 var(--mono);tab-size:2}.frame-snippet{--snippet-rule:rgba(20,20,20,.28);--snippet-muted:var(--muted);min-width:0;border:1px solid var(--snippet-rule);background:#f3f3f0;color:inherit}.dark-universe .frame-snippet{--snippet-rule:rgba(245,245,245,.3);--snippet-muted:var(--on-dark);background:#101010}.frame-snippet figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 20px;border-color:var(--snippet-rule);font:400 13px/1.55 var(--font);color:var(--snippet-muted)}.frame-snippet figcaption .meta{flex-shrink:0;color:var(--snippet-muted)}.frame-snippet .code-scroll{max-height:clamp(240px,45svh,360px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--snippet-muted) transparent;scrollbar-gutter:stable}.frame-snippet pre{width:max-content;min-width:100%;padding:20px;overflow:visible;font-size:13px;line-height:1.85}.frame-snippet .astro-code{background-color:transparent!important}.frame-snippet code{font-family:var(--mono)}.project-media .frame-snippet .code-scroll{max-height:290px}.case-code{margin-top:40px;min-width:0}@media(max-width:740px){.case-code{margin-top:30px}.frame-snippet figcaption{padding-inline:15px}.frame-snippet pre{padding-inline:15px}}.case-source-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:18px}.case-limit{border-top:1px solid var(--rule-dark);margin-top:30px;padding-top:22px}.case-limit h3{font-weight:400;color:var(--on-dark);margin:0 0 12px}.case-limit p{color:var(--on-dark);font-size:15px;line-height:1.6;margin:0}.case-evidence-description{font-size:15px;line-height:1.65;color:var(--on-dark);margin:18px 0 0}.case-source-links .underline-link{overflow-wrap:anywhere}.case-screenshot{min-width:0}.case-screenshot img{display:block;width:100%;height:auto}.technical-case--frame .technical-heading{grid-template-columns:minmax(0,1.55fr) minmax(220px,.45fr)}.technical-case--eufunding .case-source-links{padding-top:4px;border-top:1px solid var(--rule-dark)}.technical-case--systems .case-detail{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}@media(max-width:1000px){.technical-case--frame .technical-heading{grid-template-columns:1fr}}@media(max-width:740px){.technical-case--systems .case-detail{grid-template-columns:1fr}}.threshold{height:137svh;position:relative;background:var(--night)}.threshold-stage{position:sticky;top:0;height:100svh;width:100%;overflow:clip;isolation:isolate;background:var(--paper)}.shadow-wash{position:absolute;top:0;left:-12%;width:124%;height:285%;z-index:1;pointer-events:none;transform:translate3d(0,var(--shadow-y,105svh),0);will-change:transform;background:linear-gradient(180deg,transparent 0%,rgba(3,3,3,.025) 7%,rgba(3,3,3,.12) 14%,rgba(3,3,3,.35) 23%,rgba(3,3,3,.68) 33%,rgba(3,3,3,.93) 43%,var(--night) 52%,var(--night) 100%)}.shadow-wash:before,.shadow-wash:after{content:"";position:absolute;left:-3%;width:106%;top:-9%;height:55%;pointer-events:none}.shadow-wash:before{background:radial-gradient(ellipse 44% 74% at 19% 82%,rgba(3,3,3,.43),transparent 96%),radial-gradient(ellipse 62% 72% at 79% 88%,rgba(3,3,3,.33),transparent 97%);filter:blur(clamp(26px,4vw,70px))}.shadow-wash:after{transform:translateY(-5%);background:radial-gradient(ellipse 32% 40% at 42% 97%,rgba(3,3,3,.29),transparent 96%),radial-gradient(ellipse 39% 45% at 94% 91%,rgba(3,3,3,.23),transparent 96%);filter:blur(clamp(24px,3.4vw,58px))}.threshold-words{z-index:2;color:#fff;mix-blend-mode:difference}@media(max-width:700px){.shadow-wash{height:290%}.shadow-wash:before,.shadow-wash:after{filter:blur(27px)}.threshold-words>span:first-child{margin-bottom:20px}.threshold-foot{margin-top:26px}}@media(prefers-reduced-motion:reduce){.threshold-stage{background:linear-gradient(180deg,var(--paper),#91918f 45%,var(--night) 100%)}.shadow-wash{display:none;will-change:auto}}.threshold-words{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;pointer-events:none}.threshold-words>span:first-child{margin-bottom:clamp(20px,4vw,48px)}.threshold-words h2{font-size:clamp(58px,8vw,125px);line-height:1.02;letter-spacing:-.04em;margin:0}.threshold-words h2 span{padding-left:clamp(20px,12vw,185px)}.threshold-foot{align-self:flex-end;margin-top:clamp(24px,5vw,60px)}.threshold-words h2{font-size:clamp(43px,5.5vw,96px);max-width:1100px;text-wrap:balance;overflow-wrap:normal}.threshold-words h2 span{display:block;padding-left:clamp(0px,4vw,58px);max-width:100%}[data-refract]{position:relative;isolation:isolate}.optical-filters{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}[data-refract].warp-text-active{filter:url(#hover-type-warp)!important}@media(prefers-reduced-motion:reduce){[data-refract].warp-text-active{filter:none!important}}.page-wrap{width:min(100%,var(--max));padding-inline:var(--page-x);margin-inline:auto}.meta{font:400 11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.015em}.page-section{padding-block:clamp(75px,8vw,125px)}.section-marker{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--rule-light);margin-bottom:clamp(40px,5vw,75px)}.dark-universe .section-marker{border-color:var(--rule-dark)}.hero-name,.statement,.dark-display,.medium-display,.closing-display,.engineering-display,.threshold-words h2{font-family:var(--font);font-style:normal}@keyframes front-to-rear{0%{transform:translateZ(0)}43%{transform:translate3d(-17px,-12px,0)}61%{transform:translate3d(8px,6px,0)}to{transform:translate3d(var(--sheet-x),var(--sheet-y),0)}}@keyframes rear-to-front{0%{transform:translate3d(var(--sheet-x),var(--sheet-y),0)}43%{transform:translate3d(28px,23px,0)}61%{transform:translate3d(7px,6px,0)}to{transform:translateZ(0)}}.sheet-stack.is-changing .paper-front{animation:front-to-rear .64s var(--ease-paper) both}.sheet-stack.is-changing .paper-rear{animation:rear-to-front .64s var(--ease-paper) both}@media(prefers-reduced-motion:reduce){.sheet-stack.is-changing .paper-sheet{animation:none!important}}@media(max-width:1000px){.about-composition,.work-heading,.technical-heading{grid-template-columns:1fr;gap:30px}.work-heading>p{max-width:520px}.project-composition{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}.thinking-row{grid-template-columns:30px minmax(0,1fr)}.thinking-row p{grid-column:2}}@media(max-width:740px){:root{--page-x:22px}html{scroll-padding-top:160px}.layer-shell{--sheet-x:3px;--sheet-y:5px}.sheet-stack.is-changing .paper-front{box-shadow:1px 2px 3px #0000001f}.page-section{padding-block:65px}.section-marker{margin-bottom:40px;gap:16px;align-items:start}.hero{min-height:0}.hero-content{min-height:0;padding-top:175px;padding-bottom:60px;gap:35px}.hero-overline{font-size:9px}.hero-overline span:last-child{text-align:right}.hero-name{font-size:clamp(52px,12.5vw,90px);line-height:1.03;margin:15px 0 10px;letter-spacing:-.04em}.hero-name>span+span{padding-left:0}.hero-bottom{flex-direction:column;align-items:start;gap:24px}.hero-summary{gap:19px}.hero-role{font-size:25px;max-width:480px}.hero-description{font-size:18px;max-width:470px}.hero-actions{gap:14px 23px}.medium-display{font-size:clamp(40px,9.7vw,70px)}.work-heading{gap:26px;margin-bottom:40px}.work-heading>p{font-size:17px}.project{padding-block:22px 45px}.work-overline{flex-direction:column;gap:9px;font-size:10px}.project-composition{grid-template-columns:1fr;gap:28px;padding-top:28px}.project-copy h3{font-size:clamp(33px,8.5vw,55px)}.project-stack{font-size:10px;margin-bottom:20px}.project-description{font-size:18px}.project-focus p{font-size:15px}.project-links{gap:9px 22px}.project-links .underline-link{font-size:13px}.about-composition,.thinking-head,.contact-rows,.case-detail{grid-template-columns:1fr;gap:35px}.statement{font-size:clamp(43px,10.5vw,72px);margin-bottom:28px}.supporting-copy{font-size:18px}.index-line p{font-size:15px}.dark-display{font-size:clamp(52px,12vw,85px)}.dark-display span{margin-left:10px}.thinking-head{margin-bottom:35px}.thinking-row{gap:15px;padding:28px 0}.thinking-row h3{font-size:29px}.thinking-row p{font-size:16px}.threshold{height:135svh}.threshold-words h2{font-size:clamp(41px,10vw,70px);letter-spacing:-.035em}.threshold-words h2 span{padding-left:3vw}.threshold-foot{align-self:start;font-size:9px}.contact-section{padding-top:55px}.closing-display{font-size:clamp(49px,12vw,85px)}.closing-composition{margin-bottom:35px}.contact-rows{margin-bottom:65px}.contact-destinations{justify-self:stretch}.footer-line{font-size:9px;gap:15px}.engineering-hero{padding-top:175px;padding-bottom:40px}.chapter-head{font-size:9px;gap:16px}.engineering-hero .chapter-head{margin-bottom:35px}.engineering-display{font-size:clamp(51px,12vw,85px);margin-bottom:30px}.engineering-display span{padding-left:10px}.engineering-sub{flex-direction:column;align-items:start;gap:20px}.engineering-sub p{font-size:18px}.technical-case{padding-block:50px}.technical-heading{gap:25px;margin-bottom:30px}.technical-heading h2{font-size:clamp(35px,8.8vw,58px)}.technical-heading>p{font-size:17px}.case-flow{grid-template-columns:1fr;margin-bottom:32px}.case-flow li,.case-flow li+li{padding:24px 0 24px 35px;border-left:0}.case-flow li+li{border-top:1px solid var(--rule-dark)}.case-flow li+li:before{content:"↓";left:0;top:29px}.case-flow h3{font-size:25px;margin-top:13px}.case-flow p{font-size:16px}.case-reasoning dd{font-size:17px}.code-excerpt figcaption{padding:15px}.code-excerpt pre{padding:20px 15px;font-size:12px}}@media(prefers-reduced-motion:reduce){.paper-front,.paper-rear{will-change:auto!important}}@media(max-width:740px){.threshold-words h2{font-size:clamp(35px,7.8vw,60px)}.threshold-words h2 span{padding-left:0}}@media(max-width:740px){.hero-overline,.chapter-head,.threshold-foot,.footer-line,.work-overline,.project-stack{font-size:11px}.project-screenshot figcaption{font-size:13px}}@media(max-width:740px){html{scroll-padding-top:126px}}
