@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fe8b9d92-module__LINzvG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fe8b9d92-module__LINzvG__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--reading-rail-end:clamp(640px, 65vw, 832px);--page:#fff;--ink:#090909;--muted:#7a7a7a;--faint:#b7b7b7;--hairline:#0909091a;--patent-hover:#f9f9f9cc;--selection:#dce8ff;--preview-ink:#101010;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--ease-float:cubic-bezier(.37, 0, .63, 1);--duration-fast:.16s;--duration-ui:.2s;--duration-preview:.5s;--duration-rail-transition:.68s;--work-thumbnail-radius:12px;--work-thumbnail-radius-ratio:20%}*{box-sizing:border-box;corner-shape:squircle;margin:0;padding:0}:before,:after{corner-shape:squircle}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{min-height:100vh;color:var(--muted);background:var(--page);font-family:var(--font-inter), Inter, Arial, sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;font-style:normal;font-weight:400;line-height:2;overflow-x:hidden}::selection{color:var(--ink);background:var(--selection)}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.site-shell{background:var(--page);min-height:100vh;transition:background-color var(--duration-ui) ease;position:relative}.resume{width:min(100%, var(--reading-rail-end));min-height:100vh;padding:107px 79px 72px}.masthead{justify-content:space-between;align-items:center;display:flex}.portrait{corner-shape:round;background:#202020;border-radius:50%;width:56px;height:56px;position:relative;overflow:hidden}.portrait img{object-fit:cover;object-position:center;transform:none}.social-links{align-items:center;gap:12px;padding-right:30px;display:flex}.icon-link{opacity:.55;width:23px;height:18px;transition:opacity var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out);place-items:center;display:grid}.icon-link img{object-fit:contain;width:auto;height:12px}.icon-x{aspect-ratio:12.72/13}.icon-email{aspect-ratio:15.5002/12.5}.icon-link:hover,.icon-link:focus-visible{opacity:1}@media (hover:hover) and (pointer:fine){.icon-link:hover{transform:translateY(-1px)}}h1{max-width:665px;color:var(--ink);font-family:var(--font-inter), Inter, Arial, sans-serif;letter-spacing:-.04em;margin-top:22px;font-size:20px;font-style:normal;font-weight:500;line-height:1.8}.bio{max-width:663px;margin-top:58px}.bio p+p{margin-top:28px}.interactive-phrase{appearance:none;color:var(--ink);cursor:pointer;line-height:inherit;text-align:left;transition:opacity var(--duration-fast) ease;background:0 0;border:0;border-radius:2px;display:inline;position:relative}.interactive-phrase:hover,.interactive-phrase:focus-visible,.interactive-phrase[aria-expanded=true]{outline:none}.biography-media-progress{pointer-events:none;transform-origin:0;background:currentColor;height:1px;display:block;position:absolute;bottom:0;left:0;right:0;transform:scaleX(1)}.biography-media-progress[data-progressing=true]{animation-name:biography-media-progress;animation-timing-function:linear;animation-fill-mode:both}@keyframes biography-media-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.patents{max-width:663px;margin-top:78px}.patents h2{font-family:var(--font-inter), Inter, Arial, sans-serif;font-size:14px;font-weight:500;line-height:2}.patent-list{gap:16px;margin-top:16px;list-style:none;display:grid}.patent-item{min-width:0}.patent-link,.award-row{background:0 0;border-radius:8px;grid-template-columns:177px 1fr;align-items:start;gap:16px;margin:-12px;padding:12px;display:grid}.patent-link{cursor:pointer;transition:background-color var(--duration-fast) ease}.patent-link:hover,.patent-link:focus-visible,.patent-link[data-active=true]{background:var(--patent-hover);outline:none}.patent-company,.patent-number,.patent-title{line-height:2}.patent-number{color:var(--ink)}.patent-preview-layer{--media-rail-left:var(--reading-rail-end);--media-safe-x:clamp(48px, 4vw, 76px);--media-safe-y:clamp(64px, 8vh, 112px);z-index:5;inset:0 0 0 var(--media-rail-left);padding:var(--media-safe-y) var(--media-safe-x);pointer-events:none;position:fixed;overflow:hidden}.patent-preview-layer canvas{z-index:1;opacity:0;width:100%;height:100%;transition:opacity .14s;display:block;position:relative}.patent-preview-layer[data-render-state=ready] canvas{opacity:1}.patent-preview-fallback{z-index:0;opacity:1;width:min(72%,380px);height:min(78%,520px);transition:opacity .14s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.2)}.patent-preview-layer[data-render-state=ready] .patent-preview-fallback{opacity:0}@media (min-width:1181px) and (hover:hover) and (pointer:fine){.patent-preview-layer[data-render-state=loading] .patent-preview-fallback{opacity:0}}.patent-preview-fallback img{background:#fff;border-radius:2px;width:42%;height:auto;position:absolute;box-shadow:0 12px 28px #0000000f,0 2px 8px #0000000a}.patent-preview-fallback img:first-child{z-index:1;top:7%;left:9%;transform:rotate(-5deg)}.patent-preview-fallback img:nth-child(2){z-index:2;top:3%;right:8%;transform:rotate(4deg)}.patent-preview-fallback img:nth-child(3){z-index:3;top:33%;left:2%;transform:rotate(2deg)}.patent-preview-fallback img:nth-child(4){z-index:4;top:30%;right:1%;transform:rotate(-3deg)}.patent-preview-fallback img:nth-child(5){z-index:5;bottom:1%;left:13%;transform:rotate(-4deg)}.patent-preview-fallback img:nth-child(6){z-index:6;bottom:0;right:13%;transform:rotate(5deg)}.patent-preview-caption{right:var(--media-safe-x);bottom:calc(var(--media-safe-y) * .5);color:var(--faint);letter-spacing:.08em;opacity:0;text-transform:uppercase;transition:opacity var(--duration-ui) var(--ease-out), transform var(--duration-ui) var(--ease-out);font-size:10px;line-height:1.4;position:absolute;transform:translateY(6px)}.patent-preview-layer[data-layer-state=active] .patent-preview-caption{opacity:1;transform:translateY(0)}footer{max-width:663px;color:var(--faint);justify-content:space-between;margin-top:96px;padding-top:20px;font-size:12px;display:flex}footer:not([data-portfolio-footer]){border-top:1px solid var(--hairline)}footer a{transition:color var(--duration-fast) ease}footer a:hover,footer a:focus-visible{color:var(--ink)}.story-preview{--preview-a:#f3efe7;--preview-b:#c8b9a4;--media-rail-left:var(--reading-rail-end);--media-safe-x:clamp(48px, 4vw, 76px);--media-safe-y:clamp(64px, 8vh, 112px);z-index:10;inset:0 0 0 var(--media-rail-left);aspect-ratio:auto;width:auto;min-width:0;height:100dvh;color:var(--preview-ink);box-shadow:none;opacity:0;pointer-events:none;transition:opacity var(--duration-ui) var(--ease-out);background:0 0;border:0;border-radius:0;position:fixed;overflow:hidden;transform:none}.story-preview[data-visible=true]{opacity:1}.story-preview[data-interactive=true]{pointer-events:auto}.story-preview-patent-mount{pointer-events:none;position:absolute;inset:0}.right-rail-transition-layer{opacity:0;pointer-events:none;backface-visibility:hidden;filter:blur(14px);transform-origin:50%;transition:opacity var(--duration-rail-transition) var(--ease-in-out), filter var(--duration-rail-transition) var(--ease-in-out), transform var(--duration-rail-transition) var(--ease-in-out);will-change:opacity, filter, transform;transform:scale(.955)}.right-rail-transition-layer[data-layer-state=active]{opacity:1;filter:blur();transform:scale(1)}@starting-style{.right-rail-transition-layer[data-layer-state=active]{opacity:0;filter:blur(14px);transform:scale(.955)}}.story-preview-layer{inset:var(--media-safe-y) var(--media-safe-x);background:0 0;border-radius:0;position:absolute;overflow:visible}.story-preview-layer[data-layer-state=active]{pointer-events:auto}.story-preview-layer[data-preview-layer=lyft]{background:0 0}.story-preview-layer[data-preview-layer=objects]{background:var(--page);inset:0;overflow:hidden}.story-preview[data-preview=objects]{background:0 0;transform:none}.story-preview[data-preview=objects][data-visible=true]{transform:none}.story-preview-layer[data-preview-layer=wallet]{--preview-a:#dce8ff;--preview-b:#4d77ff}.story-preview-layer[data-preview-layer=koodos]{--preview-a:#fff0c6;--preview-b:#f19b65}.story-preview-layer[data-preview-layer=coinbase]{--preview-a:#e7eeff;--preview-b:#3164f5}.story-preview-layer[data-preview-layer=polymarket]{--preview-a:#e7efff;--preview-b:#7555e9}.preview-art{position:absolute;inset:0;overflow:visible}.preview-art video,.preview-art iframe{object-fit:contain;border:0;width:100%;height:100%;display:block}.lyft-glowstache-preview{isolation:isolate;touch-action:none;background:0 0;position:absolute;inset:0;overflow:visible}.lyft-glowstache-surface{z-index:0;top:var(--glowstache-surface-top,58.5%);height:var(--glowstache-surface-height,19%);pointer-events:none;opacity:0;transition:opacity var(--duration-ui) var(--ease-out);background:radial-gradient(48% 42% at 50% 25%,#ff229a1a 0%,#ff2b9e0e 36%,#ff53b306 58%,#0000 78%);position:absolute;left:2%;right:2%}.lyft-glowstache-surface:before,.lyft-glowstache-surface:after{content:"";corner-shape:round;border-radius:50%;position:absolute}.lyft-glowstache-surface:before{filter:blur(9px);background:radial-gradient(#ff239717 0%,#ff1e960d 38%,#ff188f04 64%,#0000 78%);height:34%;top:3%;left:18%;right:18%}.lyft-glowstache-surface:after{height:31%;animation:floating-model-shadow 5s var(--ease-float) infinite;filter:blur(10px);mix-blend-mode:multiply;transform-origin:50%;will-change:transform, opacity;background:radial-gradient(#2302153d 0%,#4003252b 32%,#8f054e16 56%,#ff1c9405 72%,#0000 88%);top:14%;left:18%;right:18%}.lyft-glowstache-preview canvas{z-index:1;width:100%;height:100%;animation:floating-model 5s var(--ease-float) infinite;transition:opacity var(--duration-ui) var(--ease-out);will-change:transform;display:block;position:absolute;inset:0}@keyframes floating-model{0%,to{transform:translateY(1px)}50%{transform:translateY(-3px)}}@keyframes floating-model-shadow{0%,to{opacity:1;transform:scaleX(1.03)}50%{opacity:.72;transform:scale(.9,.86)}}.lyft-glowstache-preview canvas{z-index:2;opacity:0;cursor:grab;filter:drop-shadow(0 3px 3px #3902223d)drop-shadow(0 0 11px #ff169636)drop-shadow(0 0 30px #ff16961a)}.lyft-glowstache-preview canvas:active,.lyft-glowstache-preview canvas[data-dragging=true]{cursor:grabbing}.lyft-glowstache-preview[data-ready=true] .lyft-glowstache-surface{opacity:.92}.lyft-glowstache-preview[data-ready=true] canvas{opacity:1}.coinbase-wallet-preview{isolation:isolate;background:0 0;position:absolute;inset:0;overflow:visible}.coinbase-wallet-surface{z-index:0;corner-shape:round;pointer-events:none;filter:blur(10px);opacity:0;transform-origin:50%;height:9%;transition:opacity var(--duration-ui) var(--ease-out);will-change:transform, opacity;background:radial-gradient(#221f4b33 0%,#2e578a1c 34%,#44b9cd0b 58%,#0000 78%);border-radius:50%;position:absolute;top:72.5%;left:22%;right:22%}.coinbase-wallet-preview canvas{z-index:1;width:100%;height:100%;animation:floating-model 5s var(--ease-float) infinite;transition:opacity var(--duration-ui) var(--ease-out);will-change:transform;z-index:2;opacity:0;pointer-events:none;filter:drop-shadow(0 7px 8px #19183d33)drop-shadow(-10px 12px 22px #3e77ff29)drop-shadow(12px -10px 24px #142dff29);display:block;position:absolute;inset:0}.coinbase-wallet-preview[data-ready=true] .coinbase-wallet-surface{animation:floating-model-shadow 5s var(--ease-float) infinite}.coinbase-wallet-preview[data-ready=true] canvas{opacity:1}.koodos-holo-preview{isolation:isolate;background:0 0;position:absolute;inset:0;overflow:visible}.koodos-holo-preview canvas{z-index:1;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--duration-ui) var(--ease-out);display:block;position:absolute;inset:0}.koodos-holo-preview[data-ready=true] canvas{opacity:1}.coinbase-liquid-metal-preview,.polymarket-liquid-metal-preview{isolation:isolate;background:0 0;position:absolute;inset:0;overflow:visible}.coinbase-flagship-video-preview{isolation:isolate;background:0 0;position:absolute;inset:0;overflow:visible;container-type:size}.coinbase-flagship-video-media{z-index:1;isolation:isolate;width:min(100cqw,83.9895cqh);height:min(100cqh,119.063cqw);position:absolute;top:50%;right:0;overflow:visible;transform:translateY(-50%);-webkit-mask-image:linear-gradient(#0000 0%,#0000000a 4%,#00000024 8%,#00000052 12%,#00000094 17%,#000000d1 21%,#000 26% 74%,#000000d1 79%,#00000094 83%,#00000052 88%,#00000024 92%,#0000000a 96%,#0000 100%);mask-image:linear-gradient(#0000 0%,#0000000a 4%,#00000024 8%,#00000052 12%,#00000094 17%,#000000d1 21%,#000 26% 74%,#000000d1 79%,#00000094 83%,#00000052 88%,#00000024 92%,#0000000a 96%,#0000 100%)}.coinbase-flagship-video-frame{z-index:1;isolation:isolate;background:url(/media/coinbase/flagship-halftone-poster.webp) 50%/100% 100% no-repeat;position:absolute;inset:0;overflow:visible;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#0000000a 4%,#00000024 8%,#00000052 12%,#00000094 17%,#000000d1 21%,#000 26% 74%,#000000d1 79%,#00000094 83%,#00000052 88%,#00000024 92%,#0000000a 96%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#0000000a 4%,#00000024 8%,#00000052 12%,#00000094 17%,#000000d1 21%,#000 26% 74%,#000000d1 79%,#00000094 83%,#00000052 88%,#00000024 92%,#0000000a 96%,#0000 100%)}.coinbase-flagship-video-frame:before,.coinbase-flagship-video-frame:after{z-index:2;content:"";-webkit-backdrop-filter:blur(clamp(16px,1.8vw,24px));backdrop-filter:blur(clamp(16px,1.8vw,24px));pointer-events:none;position:absolute;inset:0}.coinbase-flagship-video-frame:before{background:linear-gradient(90deg,#ffffffe0 0%,#ffffff7a 10%,#ffffff24 19%,#0000 29% 71%,#ffffff24 81%,#ffffff7a 90%,#ffffffe0 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000000d1 10%,#00000061 19%,#0000 29% 71%,#00000061 81%,#000000d1 90%,#000 100%);mask-image:linear-gradient(90deg,#000 0%,#000000d1 10%,#00000061 19%,#0000 29% 71%,#00000061 81%,#000000d1 90%,#000 100%)}.coinbase-flagship-video-frame:after{background:linear-gradient(#ffffffe0 0%,#ffffff7a 10%,#ffffff24 19%,#0000 29% 71%,#ffffff24 81%,#ffffff7a 90%,#ffffffe0 100%);-webkit-mask-image:linear-gradient(#000 0%,#000000d1 10%,#00000061 19%,#0000 29% 71%,#00000061 81%,#000000d1 90%,#000 100%);mask-image:linear-gradient(#000 0%,#000000d1 10%,#00000061 19%,#0000 29% 71%,#00000061 81%,#000000d1 90%,#000 100%)}.coinbase-flagship-video-media video{clip-path:inset(50%);opacity:0;pointer-events:none;background:0 0;border:0;width:1px;height:1px;display:block;position:absolute;top:0;right:0}.coinbase-flagship-video-media canvas{z-index:1;object-fit:fill;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--duration-ui) var(--ease-out);display:block;position:absolute;inset:0}.coinbase-flagship-video-preview video::-webkit-media-controls{display:none!important}.coinbase-flagship-video-preview video::-webkit-media-controls-enclosure{display:none!important}.coinbase-flagship-video-preview video::-webkit-media-controls-mute-button{display:none!important}.coinbase-flagship-video-preview[data-ready=true] canvas{opacity:1}.coinbase-flagship-video-caption{z-index:3;right:0;bottom:calc(var(--media-safe-y) * -.5);text-align:right;width:100%}.story-preview-layer[data-layer-state=active] .coinbase-flagship-video-caption{opacity:1;transform:translateY(0)}.coinbase-liquid-metal-preview canvas,.polymarket-liquid-metal-preview canvas{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--duration-ui) var(--ease-out);display:block;position:absolute;inset:0}.coinbase-liquid-metal-preview[data-ready=true] canvas,.polymarket-liquid-metal-preview[data-ready=true] canvas{opacity:1}@media (hover:hover) and (pointer:fine){.coinbase-wallet-preview canvas,.koodos-holo-preview canvas,.coinbase-liquid-metal-preview canvas,.polymarket-liquid-metal-preview canvas{pointer-events:auto}.coinbase-wallet-preview canvas{cursor:grab}.coinbase-wallet-preview canvas:active,.coinbase-wallet-preview canvas[data-dragging=true]{cursor:grabbing}.koodos-holo-preview canvas{cursor:grab}.koodos-holo-preview canvas:active{cursor:grabbing}}.industrial-preview{--industrial-slide-transition-duration:.6s;--industrial-slide-transition-blur:8px;opacity:0;width:100%;height:100%;transition:opacity var(--duration-ui) var(--ease-out);background:0 0;position:absolute;inset:0;overflow:hidden;container-type:inline-size}.industrial-preview[data-ready=true]{opacity:1}.industrial-preview-slide{background:var(--page);filter:blur(var(--industrial-slide-transition-blur));opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--industrial-slide-transition-duration) var(--ease-in-out), filter var(--industrial-slide-transition-duration) var(--ease-out), transform var(--industrial-slide-transition-duration) var(--ease-out), visibility 0s linear var(--industrial-slide-transition-duration);will-change:opacity, filter, transform;position:absolute;inset:0;overflow:hidden;transform:scale(1.008)}.industrial-preview-slide[data-active=true]{z-index:2;filter:blur();opacity:1;visibility:visible;transition-delay:0s;transform:scale(1)}.industrial-preview-slide figure{margin:0;position:absolute;overflow:hidden}.industrial-preview-slide[data-industrial-slide=hero]{--cielo-left:clamp(10px, 2%, 44px);--cielo-width:min(38.7%, 39.15dvh);--clamp-object-inset:min(33.6%, 31.98dvh);--lamp-safety-gap:clamp(28px, 2.5%, 56px);--clamp-left-baseline:clamp(31px, 6vw, 112px)}@media (min-width:2400px){.industrial-preview-slide[data-industrial-slide=hero]{--extreme-composition-width:min(1800px, 100cqw);--cielo-left:calc((100cqw - var(--extreme-composition-width)) / 2)}}@media (min-width:901px) and (max-aspect-ratio:4/5){.industrial-preview-slide[data-industrial-slide=hero]{--tall-composition-gap:clamp(28px, 3cqw, 44px)}}.industrial-slide-cielo{z-index:3;top:-3%;left:var(--cielo-left);width:var(--cielo-width);aspect-ratio:351/468}.industrial-slide-cielo img{object-fit:contain;object-position:top center}.industrial-slide-clamp{z-index:2;inset:0}.industrial-slide-clamp img{top:50%;left:max(var(--clamp-left-baseline), calc(var(--cielo-left) + var(--cielo-width) + var(--lamp-safety-gap) - var(--clamp-object-inset)));object-fit:contain;width:min(112%,106.61dvh);max-width:none;height:auto;position:absolute;transform:translateY(-50%);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000029 2%,#000000b3 5%,#000 10%);mask-image:linear-gradient(90deg,#0000 0%,#00000029 2%,#000000b3 5%,#000 10%)}@media (min-width:901px) and (max-aspect-ratio:4/5){.industrial-slide-cielo{top:auto;bottom:calc(50% + min(52.53cqw, 49.99dvh) + var(--tall-composition-gap))}}.industrial-slide-exploded{aspect-ratio:2000/1498;width:min(96%,98.81dvh);top:53%;left:49%;transform:translate(-50%,-50%);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#0000002e 3%,#000000b8 8%,#000 14%);mask-image:linear-gradient(90deg,#0000 0%,#0000002e 3%,#000000b8 8%,#000 14%)}.industrial-slide-exploded img{object-fit:contain;object-position:center}.industrial-slide-exploded:after{z-index:2;content:"";pointer-events:none;background:linear-gradient(90deg,#fff0 0%,#ffffff1f 24%,#ffffffb8 72%,#fff 100%);width:clamp(36px,6%,64px);position:absolute;top:0;bottom:0;right:0}.industrial-slide-circa{background:#2b190f;inset:0}.industrial-preview-slide[data-industrial-slide=circa]{background:#2b190f}.industrial-slide-circa img{object-fit:cover;object-position:50% center}.industrial-preview-indicator{--indicator-track:#09090924;--indicator-fill:#090909d1;z-index:8;pointer-events:none;justify-content:center;align-items:center;gap:6px;width:max-content;height:8px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.industrial-preview[data-slide="2"] .industrial-preview-indicator{--indicator-track:#ffffff4d;--indicator-fill:#fffffff0;filter:drop-shadow(0 1px 5px #0000002e)}.industrial-preview-indicator-item{background:var(--indicator-track);width:8px;height:8px;transition:background-color var(--duration-fast) ease, width var(--duration-ui) var(--ease-in-out);border-radius:999px;flex:none;display:block;position:relative;overflow:hidden}.industrial-preview-indicator-item[data-active=true]{width:25px}.industrial-preview-indicator-progress{z-index:1;background:var(--indicator-fill);clip-path:inset(0 calc(100% - 4px) 0 0 round 999px);opacity:0;transition:background-color var(--duration-fast) ease, opacity var(--duration-fast) ease;border-radius:999px;display:block;position:absolute;inset:2px}.industrial-preview-indicator-item[data-active=true] .industrial-preview-indicator-progress{opacity:1;animation-name:industrial-indicator-progress;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes industrial-indicator-progress{to{clip-path:inset(0 round 999px)}}.story-preview[data-preview=objects] .preview-copy{clip-path:inset(50%);white-space:nowrap;background:0 0;border:0;width:1px;height:1px;padding:0;inset:0 auto auto 0;overflow:hidden}.story-preview-layer:not([data-preview-layer=objects]) .preview-art>span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff3d;border:1px solid #ffffffa6;display:block;position:absolute;box-shadow:inset 0 1px #fff6}.story-preview-layer:not([data-preview-layer=objects]) .preview-art>span:first-child{aspect-ratio:1;border-radius:42% 58% 55% 45%;width:78%;animation:9s ease-in-out infinite alternate paused drift;top:12%;right:0}.story-preview-layer:not([data-preview-layer=objects]) .preview-art>span:nth-child(2){aspect-ratio:1;corner-shape:round;border-radius:50%;width:68%;animation:12s ease-in-out -3s infinite alternate-reverse paused drift;top:32%;left:0}.story-preview-layer:not([data-preview-layer=objects]) .preview-art>span:nth-child(3){aspect-ratio:1;border-radius:24%;width:34%;animation:14s linear infinite paused turn;bottom:20%;right:14%;transform:rotate(24deg)}.story-preview-layer[data-layer-state=active] .preview-art>span{animation-play-state:running}.preview-copy{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.preview-copy p{font-size:11px;line-height:1.5}.preview-copy h2{letter-spacing:-.04em;margin:4px 0 7px;font-size:21px;font-weight:500;line-height:1.2}.preview-close{z-index:2;corner-shape:round;color:#111;cursor:pointer;width:32px;height:32px;transition:background-color var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out);background:#ffffffb8;border:0;border-radius:50%;font-size:20px;line-height:1;display:none;position:absolute;top:12px;right:12px}.preview-close:active{transform:scale(.97)}@keyframes drift{to{transform:translate(10%,-6%)rotate(14deg)}}@keyframes turn{to{transform:rotate(384deg)}}@media (max-width:1180px){.patent-preview-layer{display:none}.story-preview{--media-safe-x:48px;--media-safe-y:48px}}@media (max-width:900px){:root{--mobile-media-height:min(48dvh, 460px)}.resume{width:100%;padding:calc(var(--mobile-media-height) + 40px) 24px 40px}.social-links{padding-right:2px}h1{margin-top:28px}.bio{margin-top:56px}.bio p+p{margin-top:27px}.biography-media-progress{display:none}.story-preview{width:100%;height:var(--mobile-media-height);background:var(--page);--media-safe-x:24px;--media-safe-y:20px;aspect-ratio:auto;min-width:0;inset:0 0 auto;transform:none}.story-preview:after{content:"";pointer-events:none;background:linear-gradient(to bottom, var(--page), transparent);height:18px;position:absolute;bottom:-18px;left:0;right:0}.story-preview[data-visible=true],.story-preview[data-preview=objects],.story-preview[data-preview=objects][data-visible=true]{transform:none}.story-preview[data-interactive=true]{pointer-events:none}:is(.story-preview:has(.patent-preview-layer--shared[data-layer-state=active]),.story-preview:has(.patent-preview-layer--shared[data-layer-state=outgoing])){opacity:1}.story-preview .coinbase-flagship-video-preview{--mobile-video-caption-space:32px}.story-preview .coinbase-flagship-video-media{width:min(100cqw,83.9895cqh - 26.8766px);height:min(calc(100cqh - var(--mobile-video-caption-space)), 119.063cqw);top:0;left:50%;right:auto;transform:translate(-50%)}.story-preview .coinbase-flagship-video-caption{text-align:center;width:max-content;max-width:calc(100vw - 48px);display:block;bottom:4px;left:50%;right:auto;transform:translate(-50%,6px)}.story-preview-layer[data-layer-state=active] .coinbase-flagship-video-caption{transform:translate(-50%)}.story-preview-layer[data-preview-layer=objects]{inset:0}.industrial-slide-clamp img{width:auto;height:calc(100% - 12px)}.patent-preview-layer--shared{--media-safe-x:24px;--media-safe-y:20px;z-index:0;inset:var(--media-safe-y) var(--media-safe-x);width:auto;height:auto;padding:0;display:block;position:absolute;overflow:visible}.patent-preview-layer canvas,.patent-preview-layer .patent-preview-caption{display:none}.patent-preview-fallback{width:min(82%,360px);height:calc(100% - 32px);transform:translate(-50%,-50%)}.industrial-preview-indicator{bottom:14px}.patents{margin-top:64px}.patent-list{gap:24px;margin-top:20px}.patent-link:hover,.patent-link:focus-visible,.patent-link[data-active=true]{background:0 0}.patent-link:focus-visible{outline:1px solid var(--hairline);outline-offset:2px}.patent-link,.award-row{grid-template-columns:112px 1fr;gap:12px}footer{margin-top:72px}.preview-close{display:none}}@media (max-width:480px){.patent-link,.award-row{grid-template-columns:1fr;gap:2px}.patent-link:hover,.patent-link:focus-visible,.patent-link[data-active=true]{transform:none}footer{align-items:flex-start;gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.icon-link,.patent-preview-caption,.preview-close,.icon-link:hover,.icon-link:focus-visible,.preview-close:active{transform:none}.biography-media-progress{animation:none;transform:scaleX(1)}.story-preview,.right-rail-transition-layer,.patent-preview-layer,.patent-preview-caption,.lyft-glowstache-preview canvas,.coinbase-wallet-preview canvas,.coinbase-wallet-surface,.coinbase-flagship-video-preview canvas,.koodos-holo-preview canvas,.industrial-preview{transition-duration:var(--duration-ui)}.industrial-preview-slide{filter:none;transition:none;transform:none}.right-rail-transition-layer,.right-rail-transition-layer[data-layer-state=active],.right-rail-transition-layer[data-layer-state=outgoing]{filter:none;transform:none}.lyft-glowstache-preview canvas,.lyft-glowstache-surface:after,.coinbase-wallet-preview canvas,.coinbase-wallet-preview[data-ready=true] .coinbase-wallet-surface{animation:none;transform:none}.lyft-glowstache-surface:after{opacity:1}.story-preview-layer:not([data-preview-layer=objects]) .preview-art>span{animation:none}.industrial-preview-indicator-item{transition:none}.industrial-preview-indicator-progress{clip-path:inset(0 round 999px);transition:none;animation:none}.industrial-preview-indicator-item[data-active=true] .industrial-preview-indicator-progress{clip-path:inset(0 round 999px);animation:none}.patent-preview-fallback{transition:none;transform:translate(-50%,-50%)}}
html[data-cloud-entry]{--cloud-entry-ground:#fff}html[data-cloud-entry-night=true]{--cloud-entry-ground:#000}html[data-cloud-entry]:not([data-cloud-entry=complete]) body{background:var(--cloud-entry-ground)}html[data-cloud-entry=pending] #story-preview{visibility:hidden;opacity:0}html:is([data-cloud-entry=pending],[data-cloud-entry=circle],[data-cloud-entry=opening]) #story-preview>:not([data-cloud-background=viewport]):not([data-cloud-entry-overlay=true]){visibility:hidden;pointer-events:none;opacity:0!important}html:is([data-cloud-entry=pending],[data-cloud-entry=circle],[data-cloud-entry=opening]) #story-preview:after{opacity:0}.portfolio-cloud-entry{z-index:60;pointer-events:none;width:100%;height:100%;display:none;position:fixed;inset:0;overflow:hidden}html:is([data-cloud-entry=pending],[data-cloud-entry=circle],[data-cloud-entry=opening]) .portfolio-cloud-entry{display:block}html[data-cloud-entry=content] #story-preview:after{animation:cloud-entry-opacity var(--duration-rail-transition) var(--ease-out) both}@keyframes cloud-entry-opacity{0%{opacity:0}to{opacity:1}}@keyframes cloud-entry-copy{0%{opacity:0;filter:blur(var(--page-transition-blur));transform:scale(var(--page-transition-text-scale))}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes cloud-entry-media{0%{opacity:0;filter:blur(var(--page-transition-blur));transform:scale(var(--page-transition-media-scale))}to{opacity:1;filter:blur();transform:scale(1)}}html[data-cloud-entry=content] [data-portfolio-media-stage=true]{animation:cloud-entry-media var(--duration-rail-transition) var(--ease-out) both}html[data-cloud-entry=content] [data-project-scroll-surface=true][data-phase=active]{animation:cloud-entry-copy var(--duration-rail-transition) var(--ease-out) 50ms both}html[data-cloud-entry=content] [data-cloud-control-surface=true]{animation:cloud-entry-opacity var(--duration-rail-transition) var(--ease-out) .1s both}@media (prefers-reduced-motion:reduce){html[data-cloud-entry=content] #story-preview:after,html[data-cloud-entry=content] [data-portfolio-media-stage=true],html[data-cloud-entry=content] [data-project-scroll-surface=true][data-phase=active],html[data-cloud-entry=content] [data-cloud-control-surface=true]{animation:cloud-entry-opacity var(--duration-ui) ease both}}@media (scripting:none){#story-preview *{animation:none!important}}
