@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/a128116a0bc3fa8c.1j5s5ojb4-d-s.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/9db33c57cd4391b8.237s8-2g-gft2.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/8010b10db0d5feb2.p.0hamgza7cpt1x.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522.40v7iydlhc_yt.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e.438h7bwt6ldsi.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6.p.0rg7ym60g9xsl.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}.fraunces_94b62ee6-module__m1TDiW__className{font-family:Fraunces,Georgia,serif}.fraunces_94b62ee6-module__m1TDiW__variable{--font-display:"Fraunces", Georgia, serif}
@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/79e9e0e3b9220e46.15s2gb72mvmw9.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:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/e62850744c7f266e.43_ypb-kqawuo.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:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/9433d1a810498265.p.3z77xcxvtx9_e.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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02.2ym9msm88vm4r.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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f.08jxdyhjmo52g.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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a.p.23oeb0afa3wba.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}.newsreader_43c98050-module__FOAESq__className{font-family:Newsreader,Georgia,serif}.newsreader_43c98050-module__FOAESq__variable{--font-body:"Newsreader", Georgia, serif}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5.341_rbs6dql3t.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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd.40d3ll7mho212.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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440.p.3-4lwpipb4a4k.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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69.37aqrzupgb8zi.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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554.0e_5-ojqbtsw9.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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c.p.2p-978ij53_v6.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}.space_mono_c76eeb75-module__1W5lRa__className{font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-style:normal}.space_mono_c76eeb75-module__1W5lRa__variable{--font-mono:"Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace}
:root{--paper:#f0ede8;--paper-2:#e7e2d9;--ink:#1b1a17;--ink-soft:#3a362f;--muted:#6e685e;--faint:#847d6c;--accent:#9a2b1e;--accent-ink:#7a2115;--accent-soft:#e9a79b;--rule:#1b1a1733;--rule-soft:#1b1a171c;--display:var(--font-display,"Fraunces"), Georgia, serif;--body:var(--font-body,"Newsreader"), Georgia, serif;--mono:var(--font-mono,"Space Mono"), ui-monospace, "SFMono-Regular", Menlo, monospace;--maxw:1120px;--gutter:clamp(20px,5vw,64px);--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(#1b1a1705 1px,#0000 1px);background-size:3px 3px;margin:0;font-size:clamp(17px,1.05vw + 13px,19px);line-height:1.55;overflow-x:hidden}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.wrap{max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.accent{color:var(--accent)}#progress{background:var(--accent);z-index:120;will-change:width;width:0;height:2px;position:fixed;top:0;left:0;box-shadow:0 0 8px #9a2b1e80}.ribbon{border-bottom:1px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;font-size:.66rem;position:relative;overflow:hidden}.marquee{width:max-content;padding-block:9px;animation:34s linear infinite scrollx;display:flex}.ribbon:hover .marquee{animation-play-state:paused}.marquee span{white-space:nowrap;color:#f0ede8b8;padding-inline:1.5em}.marquee span .b{color:var(--paper)}.marquee span .dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:.7em;display:inline-block}@keyframes scrollx{0%{transform:translate(0)}to{transform:translate(-50%)}}.masthead{border-bottom:2px solid var(--ink);z-index:100;background:var(--paper);position:relative}.masthead .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding-top:14px;padding-bottom:12px;display:flex}.wordmark{font-family:var(--display);letter-spacing:-.02em;align-items:baseline;font-size:clamp(1.6rem,3.4vw,2.35rem);line-height:.9;display:inline-flex}.wordmark .a1{color:var(--faint);transition:color .4s var(--ease);font-weight:340}.wordmark .a2{color:var(--ink);margin-left:.22em;font-weight:800}.masthead:hover .wordmark .a1{color:var(--muted)}.tagline{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:.58rem;display:block}nav.main{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;gap:clamp(.9rem,2vw,1.7rem);font-size:.72rem;display:flex}nav.main a{padding-bottom:3px;position:relative}nav.main a:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .32s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}nav.main a:hover{color:var(--accent)}nav.main a:hover:after{transform:scaleX(1)}.hero{border-bottom:1px solid var(--rule);padding-block:clamp(48px,7vw,96px)}.hero .kicker{flex-wrap:wrap;gap:1.2em;margin-bottom:1.7rem;display:flex}.hero h1{font-family:var(--display);letter-spacing:-.015em;text-wrap:balance;max-width:16ch;margin:0 0 1.3rem;font-size:clamp(2.5rem,7.4vw,5.6rem);font-weight:340;line-height:.98}.hero h1 em{color:var(--accent);font-style:italic;font-weight:500}.hero .lede{max-width:46ch;color:var(--ink-soft);margin:0 0 2.4rem;font-size:clamp(1.1rem,1.4vw,1.35rem)}.figures{border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,1fr);display:grid;position:relative}.figures .fig{border-left:1px solid var(--rule-soft);padding:1.5rem clamp(1.1rem,2.2vw,1.9rem)}.figures .fig:first-child{border-left:0;padding-left:0}.figures .n{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:600;line-height:1;overflow:hidden}.figures .n span{display:inline-block}.figures .l{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:.7rem;font-size:.62rem;line-height:1.45}.nowline{font-family:var(--mono);letter-spacing:.05em;color:var(--muted);flex-direction:column;gap:.9rem;margin-top:2.5rem;font-size:.72rem;display:flex}.nowline .row{flex-wrap:wrap;align-items:baseline;gap:.7em;display:flex}.nowline b{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;font-weight:700}.nowline a{color:var(--ink-soft);padding-bottom:2px;position:relative}.nowline a:after{content:"";background:var(--rule);transform-origin:0;width:100%;height:1px;transition:background .25s,transform .3s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(1)}.nowline a:hover{color:var(--accent)}.nowline a:hover:after{background:var(--accent)}.nowline .ghlink{color:var(--accent)}.nowline .ghlink .arw{transition:transform .3s var(--ease);display:inline-block}.nowline .ghlink:hover .arw{transform:translate(3px,-3px)}.now-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(1.6rem,4vw,3.4rem);display:grid}.now-meta{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-size:.62rem}.now-lede p{color:var(--ink-soft);margin:0 0 1.7rem;font-size:clamp(1.02rem,1.2vw,1.15rem)}.now-link{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent-soft);padding-bottom:3px;font-size:.7rem}.now-link .arw{transition:transform .3s var(--ease);display:inline-block}.now-link:hover{border-bottom-color:var(--accent)}.now-link:hover .arw{transform:translate(4px)}.now-anatomy{margin:0;padding:1.4rem 0 0;list-style:none}.now-anatomy li{border-bottom:1px solid var(--rule-soft);grid-template-columns:auto 1fr;gap:.35rem 1.1rem;padding:1rem 0;display:grid}.now-anatomy li:last-child{border-bottom:0}.now-anatomy .ix{font-family:var(--mono);letter-spacing:.14em;color:var(--accent);grid-row:1/span 2;padding-top:.4em;font-size:.6rem}.now-anatomy .k{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-size:.66rem}.now-anatomy .v{color:var(--muted);font-size:.95rem}section{border-bottom:1px solid var(--rule);padding-block:clamp(54px,7vw,98px)}.sechead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.8rem;display:flex}.sechead .folio{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:.68rem}.sechead h2{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;max-width:20ch;margin:0;font-size:clamp(1.9rem,4.2vw,3rem);font-weight:340;line-height:1.02}.sechead h2 em{color:var(--accent);font-style:italic;font-weight:400}.ruled{position:relative}.ruled:before{content:"";background:var(--ink);transform-origin:0;height:1.5px;transition:transform 1s var(--ease);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.ruled.in:before{transform:scaleX(1)}.credo .intro{max-width:52ch;color:var(--ink-soft);margin:0 0 3rem;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.4}.credo .intro em{font-style:italic}.laws{grid-template-columns:repeat(3,1fr);display:grid}.law{border-left:1px solid var(--rule-soft);transition:background .35s var(--ease);padding:1.9rem clamp(1.2rem,2.4vw,2rem)}.law:first-child{border-left:0;padding-left:0}.law:hover{background:color-mix(in srgb, var(--paper-2) 55%, transparent)}.law .no{font-family:var(--mono);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;font-size:.66rem}.law h3{font-family:var(--display);margin:.7rem 0 .6rem;font-size:1.35rem;font-weight:500;line-height:1.12}.law p{color:var(--muted);margin:0;font-size:.98rem}.ventures-grid{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.venture{background:var(--paper);min-height:100%;transition:transform .4s var(--ease),background .4s var(--ease);flex-direction:column;padding:1.8rem 1.6rem 1.9rem;display:flex;position:relative}.venture:after{content:"";background:var(--accent);transform-origin:top;width:2px;height:100%;transition:transform .4s var(--ease);position:absolute;top:0;left:0;transform:scaleY(0)}.venture:hover{z-index:2;background:#f4f1ec;transform:translateY(-5px)}.venture:hover:after{transform:scaleY(1)}.venture .status{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.5em;margin-bottom:1.1rem;font-size:.6rem;display:flex}.venture .status .pip{background:var(--accent);width:6px;height:6px;animation:blink 2.4s var(--ease) infinite;border-radius:50%;flex:none}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.venture h3{font-family:var(--display);letter-spacing:-.01em;margin:0 0 .15rem;font-size:1.6rem;font-weight:600}.venture h3 a{transition:color .25s var(--ease)}.venture:hover h3 a{color:var(--accent)}.venture .tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;font-size:.62rem}.venture p{color:var(--ink-soft);flex:1;margin:0 0 1.4rem;font-size:1rem}.venture dl{border-top:1px solid var(--rule-soft);grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0;padding-top:1rem;font-size:.85rem;display:grid}.venture dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-self:center;font-size:.58rem}.venture dd{color:var(--ink);margin:0}.venture-links{flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1rem;display:flex}.venture .repo{font-family:var(--mono);letter-spacing:.04em;color:var(--accent);align-items:center;gap:.5em;font-size:.66rem;display:inline-flex}.venture .repo .arw{transition:transform .3s var(--ease);display:inline-block}.venture .repo:hover .arw{transform:translate(3px,-3px)}.venture .repo.cs-link{flex-basis:100%;font-weight:700}.venture .repo.cs-link:hover .arw{transform:translate(4px)}.ventures-foot{text-align:right;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-top:1.7rem;font-size:.7rem}.ventures-foot a{color:var(--accent);border-bottom:1px solid var(--accent-soft);padding-bottom:3px}.ventures-foot a:hover{border-bottom-color:var(--accent)}.ventures-foot .arw{transition:transform .3s var(--ease);display:inline-block}.ventures-foot a:hover .arw{transform:translate(4px)}.record{gap:0;display:grid}.role{border-top:1px solid var(--rule);transition:background .35s var(--ease);grid-template-columns:minmax(180px,1fr) 3fr;gap:clamp(1rem,4vw,3rem);margin-inline:clamp(-1rem,-1.5vw,-.6rem);padding:2.4rem clamp(.6rem,1.5vw,1rem);display:grid}.record .role:first-child{border-top:1px solid var(--ink)}.role:hover{background:color-mix(in srgb, var(--paper-2) 50%, transparent)}.role .meta .co{font-family:var(--display);letter-spacing:-.01em;font-size:1.45rem;font-weight:600;line-height:1.05}.role .meta .rl{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:.6rem;font-size:.66rem}.role .meta .dt{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);margin-top:.5rem;font-size:.66rem}.role .meta .loc{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);margin-top:.25rem;font-size:.62rem}.role ul{margin:0;padding:0;list-style:none}.role li{color:var(--ink-soft);margin-bottom:.9rem;padding-left:1.5em;position:relative}.role li:last-child{margin-bottom:0}.role li:before{content:"—";color:var(--accent);transition:transform .3s var(--ease);position:absolute;left:0}.role li:hover:before{transform:translate(3px)}.role li b{color:var(--ink);font-weight:600}.skills-wrap{grid-template-columns:1.1fr 2fr;gap:clamp(1.4rem,4vw,3rem);display:grid}.skills-note{color:var(--muted);max-width:34ch;font-size:1rem}.skills-note .edu{border-top:1px solid var(--rule);margin-top:2rem;padding-top:1.4rem}.skills-note .edu .d{font-family:var(--display);color:var(--ink);font-size:1.15rem;font-weight:600}.skills-note .edu .m{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:.4rem;font-size:.66rem}.skill-cols{columns:2;font-family:var(--mono);column-gap:2.4rem;font-size:.82rem}.skill-group{break-inside:avoid;margin-bottom:1.7rem}.skill-group .h{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--rule);margin-bottom:.7rem;padding-bottom:.6rem;font-size:.64rem}.skill-group ul{margin:0;padding:0;list-style:none}.skill-group li{color:var(--ink-soft);transition:color .2s,transform .2s var(--ease);padding:.24rem 0}.skill-group li:hover{color:var(--accent);transform:translate(3px)}.colophon{background:var(--ink);color:var(--paper);border-bottom:0}.colophon .wrap{padding-block:clamp(48px,7vw,88px)}.colophon .big{font-family:var(--display);letter-spacing:-.01em;max-width:20ch;margin:0 0 2.8rem;font-size:clamp(1.9rem,5vw,3.4rem);font-weight:340;line-height:1.04}.colophon .big em{color:var(--accent-soft);font-style:italic}.colo-grid{border-top:1px solid #f0ede833;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:1.8rem 1.6rem;padding-top:2rem;display:grid}.colo-grid .k{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#f0ede880;margin-bottom:.7rem;font-size:.6rem}.colo-grid .v{font-family:var(--body);font-size:1rem;line-height:1.5}.colo-grid a{position:relative}.colo-grid a:after{content:"";transform-origin:0;width:100%;height:1px;transition:background .25s,transform .3s var(--ease);background:#f0ede84d;position:absolute;bottom:-2px;left:0;transform:scaleX(1)}.colo-grid a:hover{color:var(--accent-soft)}.colo-grid a:hover:after{background:var(--accent-soft)}.colo-foot{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#f0ede880;border-top:1px solid #f0ede833;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.8rem;padding-top:1.4rem;font-size:.62rem;display:flex}.btn{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);background:0 0;align-items:center;gap:.6em;padding:.95em 1.4em;font-size:.7rem;line-height:1;display:inline-flex}.btn .arw{transition:transform .3s var(--ease);display:inline-block}.btn:hover .arw{transform:translateY(2px)}.btn[data-arw=↗]:hover .arw{transform:translate(3px,-3px)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn-secondary:hover{background:var(--ink);color:var(--paper)}.btn-ghost{border-color:var(--rule);color:var(--muted)}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.cta{margin:0 0 2.6rem}.cta-row{flex-wrap:wrap;gap:.7rem;display:flex}.cta-note{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);max-width:44ch;margin:1.05rem 0 0;font-size:.64rem;line-height:1.6}.invert .btn{color:var(--paper);border-color:#f0ede859}.invert .btn-primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.invert .btn-primary:hover{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--ink)}.invert .btn-secondary:hover{background:var(--paper);color:var(--ink)}.invert .btn-ghost{color:#f0ede899;border-color:#f0ede833}.invert .btn-ghost:hover{border-color:var(--paper);color:var(--paper)}.invert .cta-note{color:#f0ede880}.colophon .cta{margin:0 0 2.6rem}.mast-actions{align-items:center;gap:clamp(.9rem,2.2vw,1.6rem);display:flex}.mast-cv{padding:.62em .95em;font-size:.64rem}.menu-btn{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);cursor:pointer;background:0 0;align-items:center;gap:.55em;padding:.72em .9em;font-size:.68rem;line-height:1;display:none}.menu-btn .bars{flex-direction:column;justify-content:center;gap:4px;width:15px;display:inline-flex}.menu-btn .bars span{height:1.5px;transition:transform .3s var(--ease);background:currentColor;display:block}.menu-btn.is-open .bars span:first-child{transform:translateY(2.75px)rotate(45deg)}.menu-btn.is-open .bars span:last-child{transform:translateY(-2.75px)rotate(-45deg)}.mobile-nav{display:none}.mobile-nav:focus{outline:none}.mobile-nav-head{padding:12px var(--gutter);border-bottom:2px solid var(--ink);flex:none;justify-content:space-between;align-items:center;gap:1rem;display:flex}.mobile-nav-head .wordmark{font-size:1.5rem}.mobile-nav-inner{padding:1.8rem var(--gutter) 3rem}.mobile-links{border-top:1px solid var(--rule);flex-direction:column;display:flex}.mobile-links a{border-bottom:1px solid var(--rule-soft);font-family:var(--display);letter-spacing:-.01em;align-items:baseline;gap:1rem;padding:1.05rem 0;font-size:1.85rem;font-weight:400;line-height:1;display:flex}.mobile-links a:active{color:var(--accent)}.mobile-links .idx{font-family:var(--mono);letter-spacing:.18em;color:var(--accent);font-size:.58rem}.mobile-cta{flex-direction:column;gap:.7rem;margin-top:2rem;display:flex}.mobile-cta .btn{justify-content:center}.mobile-meta{border-top:1px solid var(--rule);font-family:var(--mono);letter-spacing:.1em;color:var(--muted);flex-wrap:wrap;gap:.8rem 1.4rem;margin-top:2.2rem;padding-top:1.4rem;font-size:.68rem;display:flex}.resume-bar{border-bottom:1px solid var(--rule);background:var(--paper)}.resume-bar .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:14px;display:flex}.resume-back{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .25s var(--ease);font-size:.66rem}.resume-back:hover{color:var(--accent)}.resume-bar .cta-row{gap:.6rem}.resume-bar .btn{padding:.7em 1em;font-size:.62rem}.cv{max-width:880px;padding:clamp(30px,5vw,56px) var(--gutter) clamp(48px,8vw,96px);margin-inline:auto}.cv-head{border-bottom:2px solid var(--ink);padding-bottom:1.5rem}.cv-head h1{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:340;line-height:1}.cv-head .rl{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:.9rem;font-size:.68rem}.cv-head .contact{font-family:var(--mono);letter-spacing:.05em;color:var(--muted);flex-wrap:wrap;gap:.45rem 1.3rem;margin-top:1.1rem;font-size:.68rem;display:flex}.cv-head .contact a{border-bottom:1px solid var(--rule-soft)}.cv-head .contact a:hover{color:var(--accent)}.cv-sec{border-bottom:0;padding-block:2.2rem 0}.cv-sec>h2{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--rule);margin:0 0 1.2rem;padding-bottom:.55rem;font-size:.64rem}.cv p{color:var(--ink-soft);margin:0 0 1rem}.cv p:last-child{margin-bottom:0}.cv ul{margin:0;padding:0;list-style:none}.cv li{color:var(--ink-soft);margin-bottom:.55rem;padding-left:1.4em;font-size:.95rem;position:relative}.cv li:last-child{margin-bottom:0}.cv li:before{content:"—";color:var(--accent);position:absolute;left:0}.cv li b{color:var(--ink);font-weight:600}.cv-job{break-inside:avoid;margin-bottom:1.9rem}.cv-job:last-child{margin-bottom:0}.cv-job .top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem 1rem;display:flex}.cv-job .co{font-family:var(--display);letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.cv-job .when{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.cv-job .rl{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:.3rem 0 .85rem;font-size:.62rem}.cv-proj{break-inside:avoid;margin-bottom:1.35rem}.cv-proj:last-child{margin-bottom:0}.cv-proj .top{flex-wrap:wrap;align-items:baseline;gap:.4rem .9rem;display:flex}.cv-proj .nm{font-family:var(--display);font-size:1.1rem;font-weight:600}.cv-proj .tg{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.58rem}.cv-proj .lk{font-family:var(--mono);color:var(--accent);font-size:.6rem}.cv-proj p{margin:.35rem 0 0;font-size:.94rem}.cv-skills{font-family:var(--mono);grid-template-columns:repeat(2,1fr);gap:1.3rem 2.2rem;font-size:.76rem;display:grid}.cv-skills .h{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.55rem;font-size:.58rem}.cv-skills .items{color:var(--ink-soft);line-height:1.65}.cv-grid{grid-template-columns:auto 1fr;gap:.6rem 1.4rem;margin:0;font-size:.92rem;display:grid}.cv-grid dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:.3em;font-size:.58rem}.cv-grid dd{color:var(--ink-soft);margin:0}article.study{max-width:820px;padding:clamp(34px,6vw,68px) var(--gutter) clamp(56px,9vw,104px);margin-inline:auto}.study-head{border-bottom:2px solid var(--ink);padding-bottom:2rem}.study-folio{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.study-folio .folio{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:.66rem}.study-status{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.study-head h1{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(2.4rem,6.4vw,4rem);font-weight:340;line-height:1}.study-head .rl{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:.9rem;font-size:.68rem}.study-lede{color:var(--ink-soft);max-width:52ch;margin:1.6rem 0 0;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.45}.study-meta{border-top:1px solid var(--rule-soft);grid-template-columns:auto 1fr;gap:.5rem 1.4rem;margin:1.9rem 0 0;padding-top:1.4rem;font-size:.92rem;display:grid}.study-meta dt{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding-top:.34em;font-size:.58rem}.study-meta dd{color:var(--ink);margin:0}.study-links{flex-wrap:wrap;gap:.7rem;margin-top:1.8rem;display:flex}.study-sec{border-bottom:0;padding-block:clamp(34px,5.5vw,58px) 0}.study-sec>h2{font-family:var(--display);letter-spacing:-.01em;border-bottom:1px solid var(--rule);margin:0 0 1.5rem;padding-bottom:.7rem;font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:340;line-height:1.06}article.study p{color:var(--ink-soft);margin:0 0 1.15rem}article.study p:last-child{margin-bottom:0}article.study .study-lede{margin:1.7rem 0 0}code.ic{font-family:var(--mono);background:color-mix(in srgb, var(--paper-2) 75%, transparent);border:1px solid var(--rule-soft);color:var(--ink);white-space:pre-wrap;overflow-wrap:break-word;border-radius:2px;padding:.1em .34em;font-size:.82em}.diagram{border:1px solid var(--rule);background:color-mix(in srgb, var(--paper-2) 45%, transparent);margin:1.9rem 0 0;overflow-x:auto}.diagram pre{font-family:var(--mono);color:var(--ink-soft);white-space:pre;margin:0;padding:1.4rem clamp(1rem,2.4vw,1.6rem);font-size:.7rem;line-height:1.62}.plate{border:1px solid var(--rule);background:var(--paper-2);margin:clamp(34px,5.5vw,58px) 0 0;padding:clamp(.7rem,1.6vw,1.1rem)}.plate img{border:1px solid var(--rule-soft);width:100%;height:auto;display:block}.plate figcaption{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);border-top:1px solid var(--rule-soft);margin-top:.9rem;padding-top:.75rem;font-size:.62rem;line-height:1.65}.plate-portrait{max-width:560px;margin-inline:auto}.decisions{margin:0;padding:0;list-style:none}.decisions li{border-top:1px solid var(--rule-soft);padding:1.7rem 0}.decisions li:first-child{border-top:0;padding-top:.2rem}.decisions .n{font-family:var(--mono);letter-spacing:.2em;color:var(--accent);font-size:.62rem}.decisions h3{font-family:var(--display);letter-spacing:-.005em;margin:.55rem 0 .7rem;font-size:clamp(1.15rem,2vw,1.4rem);font-weight:500;line-height:1.2}.decisions p{color:var(--ink-soft);margin:0;font-size:.98rem}.proof{margin:1.3rem 0 0;padding:0;list-style:none}.proof li{color:var(--ink-soft);margin-bottom:.85rem;padding-left:1.5em;font-size:.98rem;position:relative}.proof li:last-child{margin-bottom:0}.proof li:before{content:"—";color:var(--accent);position:absolute;left:0}.proof li b{color:var(--ink);font-weight:600}.scope{grid-template-columns:1fr 1fr;gap:clamp(1.4rem,3vw,2.6rem);display:grid}.scope .h{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--rule);margin-bottom:.9rem;padding-bottom:.6rem;font-size:.62rem}.scope ul{margin:0;padding:0;list-style:none}.scope li{color:var(--ink-soft);margin-bottom:.7rem;padding-left:1.3em;font-size:.93rem;position:relative}.scope li:before{content:"·";color:var(--faint);position:absolute;left:.3em}.study-foot{border-top:2px solid var(--ink);grid-template-columns:1fr 1fr;gap:1rem;margin-top:clamp(44px,7vw,80px);padding-top:1.6rem;display:grid}.study-foot a{flex-direction:column;align-items:flex-start;gap:.45rem;display:flex}.study-foot .next{text-align:right;align-items:flex-end}.study-foot .k{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.62rem}.study-foot .v{font-family:var(--display);letter-spacing:-.01em;transition:color .25s var(--ease);font-size:1.25rem;font-weight:500;line-height:1.15}.study-foot a:hover .v{color:var(--accent)}.worklist{padding-block:clamp(40px,6vw,76px) clamp(56px,9vw,104px)}.worklist-head{border-bottom:2px solid var(--ink);max-width:820px;padding-bottom:2rem}.worklist-head .folio{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:.68rem}.worklist-head h1{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:1rem 0 0;font-size:clamp(2.3rem,6vw,3.8rem);font-weight:340;line-height:1}.worklist-head h1 em{color:var(--accent);font-style:italic;font-weight:400}.worklist .study-lede{margin-top:1.4rem}.worklist-rows{display:grid}.workrow{border-top:1px solid var(--rule);transition:background .35s var(--ease);grid-template-columns:minmax(200px,1fr) 2.2fr;gap:clamp(1rem,4vw,3rem);margin-inline:clamp(-1rem,-1.5vw,-.6rem);padding:2.2rem clamp(.6rem,1.5vw,1rem);display:grid}.workrow:first-child{border-top:0}.workrow:hover{background:color-mix(in srgb, var(--paper-2) 50%, transparent)}.workrow .meta{flex-direction:column;gap:.45rem;display:flex}.workrow .ix{font-family:var(--mono);letter-spacing:.2em;color:var(--accent);font-size:.6rem}.workrow .nm{font-family:var(--display);letter-spacing:-.01em;transition:color .25s var(--ease);font-size:1.5rem;font-weight:600;line-height:1.05}.workrow:hover .nm{color:var(--accent)}.workrow .tg{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.64rem}.workrow .st{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);font-size:.62rem}.workrow .body p{color:var(--ink-soft);margin:0 0 1.2rem}.workrow .body dl{grid-template-columns:auto 1fr;gap:.35rem 1.1rem;margin:0 0 1.3rem;font-size:.88rem;display:grid}.workrow .body dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-self:center;font-size:.56rem}.workrow .body dd{color:var(--ink);margin:0}.workrow .go{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.66rem}.workrow .go .arw{transition:transform .3s var(--ease);display:inline-block}.workrow:hover .go .arw{transform:translate(4px)}.reveal{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.stagger>*{opacity:0;transition:opacity .65s var(--ease),transform .65s var(--ease);transform:translateY(20px)}.stagger.in>*{opacity:1;transform:none}.stagger.in>:first-child{transition-delay:50ms}.stagger.in>:nth-child(2){transition-delay:.16s}.stagger.in>:nth-child(3){transition-delay:.27s}.stagger.in>:nth-child(4){transition-delay:.38s}.stagger.in>:nth-child(5){transition-delay:.49s}.stagger.in>:nth-child(6){transition-delay:.6s}.stagger.in>:nth-child(7){transition-delay:.71s}.figures.in .n span{animation:riseIn .8s var(--ease) both}@keyframes riseIn{0%{transform:translateY(105%)}to{transform:translateY(0)}}@media (max-width:860px){.now-grid{grid-template-columns:1fr}.scope{grid-template-columns:1fr;gap:1.8rem}.workrow{grid-template-columns:1fr;gap:1.1rem}.laws{grid-template-columns:1fr}.law{border-left:0;border-top:1px solid var(--rule-soft);padding:1.6rem 0}.law:first-child{border-top:0}.ventures-grid{grid-template-columns:1fr}.role{grid-template-columns:1fr;gap:1.2rem}.skills-wrap{grid-template-columns:1fr}}@media (max-width:560px){.study-foot{grid-template-columns:1fr;gap:1.7rem}.study-foot .next{text-align:left;align-items:flex-start}.diagram pre{font-size:.62rem}nav.main,.mast-cv{display:none}.menu-btn{display:inline-flex}.mobile-nav{z-index:130;background:var(--paper);opacity:0;visibility:hidden;transition:opacity .28s var(--ease),transform .34s var(--ease),visibility .34s;overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-10px)}.mobile-nav.open{opacity:1;visibility:visible;transform:none}.cta-row .btn{flex:auto;justify-content:center}.cv-skills{grid-template-columns:1fr}.cv-grid{grid-template-columns:1fr;gap:.3rem}.cv-grid dd{margin-bottom:.7rem}.figures{border-bottom:0;grid-template-columns:1fr}.figures .fig{padding-left:0;border-left:0;border-top:1px solid var(--rule-soft);padding-block:1.2rem}.figures .fig:first-child{border-top:0}.skill-cols{column-gap:1.4rem;font-size:.76rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.stagger>*{opacity:1;transition:none;transform:none}.ruled:before{transform:scaleX(1)}.marquee{width:auto;animation:none}.figures .n span,.venture .status .pip{animation:none}#progress{display:none}.mobile-nav,.btn,.btn .arw{transition:none}}@media print{html{scroll-behavior:auto;font-size:11px}body{background:#fff;font-size:9.6pt;line-height:1.42}.ribbon,.masthead,#progress{position:static}*,:before,:after{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.ruled:before{transform:scaleX(1)!important}.resume-bar,.menu-btn,.mobile-nav{display:none!important}.cv{max-width:none;padding:0}.cv-head{padding-bottom:.9rem}.cv-head h1{font-size:23pt}.cv-head .rl{margin-top:.5rem}.cv-head .contact{gap:.25rem 1.1rem;margin-top:.65rem}.cv-sec{padding-top:1.15rem}.cv-sec>h2{break-after:avoid;margin-bottom:.7rem;padding-bottom:.35rem}.cv p{margin-bottom:.5rem;font-size:9.5pt}.cv li{margin-bottom:.3rem;font-size:9.3pt}.cv-job{margin-bottom:1rem}.cv-job .rl{margin:.2rem 0 .5rem}.cv-proj{margin-bottom:.7rem}.cv-proj p{font-size:9.2pt}.cv-skills{gap:.8rem 1.6rem}.cv a{color:inherit;border:0}@page{size:A4;margin:12mm}}
