@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_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/3d51db290a6a25f3-s.0kkodo7okz7sx.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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/f7054824cbb51795-s.3gwda9lv2grgl.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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/74effe3e2193102a-s.p.2ke8r1sltdje0.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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_1877a3b5-module__eP7bZq__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_1877a3b5-module__eP7bZq__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
:root{--paper:#fff;--ink:#000;--muted:#5c5c5c;--rule:#d8d8d8;--leader:#bdbdbd;--raised:#ededed;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#121212;--ink:#ededed;--muted:#9a9a9a;--rule:#2e2e2e;--leader:#4a4a4a;--raised:#242424;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#121212;--ink:#ededed;--muted:#9a9a9a;--rule:#2e2e2e;--leader:#4a4a4a;--raised:#242424;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--paper);scrollbar-width:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}body{background:var(--paper);color:var(--muted);font-family:var(--font-inter), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}main{max-width:41rem;margin:0 auto;padding:clamp(3rem,9vw,5.5rem) 1.5rem 6rem}a{color:inherit;-webkit-text-decoration-color:var(--leader);text-decoration-color:var(--leader);text-underline-offset:3px}a:hover{color:var(--ink);text-decoration-color:currentColor;text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}.ink{color:var(--ink)}.masthead h1{color:var(--ink);font-family:var(--font-bricolage), system-ui, sans-serif;font-variation-settings:"opsz" 40, "wdth" 100;letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,8vw,3.05rem);font-weight:600;line-height:1.02}.heading-character{font-variation-settings:"opsz" 40, "wdth" var(--letter-width,100);transition:font-variation-settings .2s ease-out;display:inline-block}.standfirst{margin:.7rem 0 0}.lede{max-width:33rem;margin:2.1rem 0 0;font-size:.9688rem;line-height:1.62}.lede a{color:var(--ink)}.actions{flex-wrap:wrap;gap:.5rem;margin:1.9rem 0 0;display:flex}.button{background:var(--ink);color:var(--paper);border:1px solid #0000;border-radius:7px;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.button svg{width:13px;height:13px}.button-mark{font-size:.6875rem;font-weight:700;line-height:1}.button:hover{background:var(--muted);color:var(--paper)}.button.quiet{border-color:var(--rule);background:var(--raised);color:var(--ink)}.section{border-top:1px solid var(--rule);margin-top:3.4rem;padding-top:1.1rem}.section h2{color:var(--ink);font-family:var(--font-bricolage), system-ui, sans-serif;font-variation-settings:"opsz" 14, "wdth" 100;letter-spacing:-.005em;margin:0 0 1.3rem;font-size:.9375rem;font-weight:600}.calnote{margin:-.5rem 0 1rem;font-size:.875rem}.calscroll{--cell:9px;--cellgap:3px;scrollbar-width:none;overflow-x:auto}.calmonths{grid-auto-columns:var(--cell);gap:var(--cellgap);color:var(--muted);grid-auto-flow:column;margin-bottom:.3rem;font-size:.6875rem;display:grid}.calmonths span{white-space:nowrap}.calgrid{grid-auto-columns:var(--cell);grid-auto-flow:column;grid-template-rows:repeat(7, var(--cell));gap:var(--cellgap);width:max-content;margin:0;display:grid}.day{background:var(--rule);border-radius:2px}.level-1{background:var(--ink);opacity:.3}.level-2{background:var(--ink);opacity:.55}.level-3{background:var(--ink);opacity:.8}.level-4{background:var(--ink)}.ledger,.works{margin:0;padding:0;list-style:none}.row{flex-wrap:wrap;align-items:baseline;gap:0 .5rem;padding:.42rem 0;font-size:.9375rem;display:flex}.row-name{min-width:0;color:var(--ink);flex:0 auto;align-items:baseline;display:flex}.row-name>span{overflow-wrap:break-word;min-width:0}.leader{border-bottom:1px dotted var(--leader);flex:2rem;min-width:1.5rem;height:0;transform:translateY(-.28em)}.row-figure{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.job{padding-bottom:.85rem}.job .note{flex:1 0 100%;max-width:30rem;margin-top:.1rem;font-size:.875rem}.tree{flex:1 0 100%;margin:.3rem 0 0 1.65rem;padding:0;font-size:.875rem;list-style:none}.tree li{padding:.2rem 0 .2rem 1.5rem;position:relative}.tree li:before{border-left:1px solid var(--leader);content:"";position:absolute;top:0;bottom:0;left:0}.tree li:last-child:before{height:1.05em;bottom:auto}.tree li:after{border-top:1px solid var(--leader);content:"";width:1.05rem;position:absolute;top:1.05em;left:0}.tree b{color:var(--ink);font-weight:500}.work{border-top:1px dotted var(--rule);padding:1rem 0}.work:first-child{border-top:0;padding-top:0}.work h3{color:var(--ink);margin:0;font-size:.9375rem;font-weight:600}.work p{max-width:31rem;margin:.2rem 0 .35rem;font-size:.9375rem}.cta{color:var(--ink);align-items:center;gap:.35rem;font-size:.875rem;text-decoration:none;display:inline-flex}.cta span{text-decoration:underline;-webkit-text-decoration-color:var(--leader);text-decoration-color:var(--leader);text-underline-offset:3px}.cta:after{color:var(--leader);content:"↗";font-size:.7rem}.skills{margin:0}.skill-row{grid-template-columns:max-content 1fr;align-items:baseline;gap:1.05rem 2.5rem;display:grid}.skill-row+.skill-row{margin-top:1.05rem}.skills dt{color:var(--muted);font-size:.8125rem}.skills dd{flex-wrap:wrap;gap:.65rem 1.5rem;margin:0;display:flex}.skill{color:var(--muted);align-items:center;gap:.4rem;font-size:.8125rem;display:inline-flex}.skill-icon{width:14px;height:14px;color:var(--muted);flex-shrink:0}footer{border-top:1px solid var(--rule);margin-top:3.4rem;padding-top:1.4rem}.sign{max-width:25rem;color:var(--ink);font-family:var(--font-bricolage), system-ui, sans-serif;font-variation-settings:"opsz" 28, "wdth" 100;letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,4.5vw,1.7rem);font-weight:600;line-height:1.2}.links{flex-wrap:wrap;align-items:center;gap:0 1.05rem;margin:1.25rem 0 0;display:flex}.links a{width:18px;height:18px;color:var(--muted);justify-content:center;align-items:center;font-size:.65rem;font-weight:700;text-decoration:none;display:inline-flex}.links svg{width:18px;height:18px}.links .link-icon{width:16px;height:16px}.links a:hover{color:var(--ink)}@media (max-width:34rem){.skill-row{grid-template-columns:1fr;gap:.2rem}.skill-row+.skill-row{margin-top:.9rem}}@media (prefers-reduced-motion:no-preference){.heading-character{animation:.7s cubic-bezier(.2,.7,.3,1) backwards open;animation-delay:calc(var(--character-index) * 28ms)}.standfirst,.lede,.actions{animation:.5s cubic-bezier(.22,.61,.36,1) backwards settle}.row{animation:.42s cubic-bezier(.2,.7,.3,1) backwards print-row;animation-delay:calc(var(--row-index) * 55ms)}}@keyframes open{0%{font-variation-settings:"opsz" 40, "wdth" 75;opacity:.3}}@keyframes settle{0%{opacity:0;transform:translateY(.4rem)}}@keyframes print-row{0%{opacity:0;transform:translateY(.2rem)}}.cv-nav{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-bottom:2.6rem;font-size:.875rem;display:flex}.cv-nav a{color:var(--muted);text-decoration:none}.cv-nav a:hover{color:var(--ink)}.cv h1{color:var(--ink);font-family:var(--font-bricolage), system-ui, sans-serif;font-variation-settings:"opsz" 40, "wdth" 100;letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,7vw,2.6rem);font-weight:600;line-height:1.05}.cv h1+p{color:var(--ink);margin:.6rem 0 0;font-size:1rem}.cv h1+p+p{color:var(--muted);margin-top:.4rem;font-size:.875rem}.cv h2{border-top:1px solid var(--rule);color:var(--ink);font-family:var(--font-bricolage), system-ui, sans-serif;font-variation-settings:"opsz" 14, "wdth" 100;letter-spacing:-.005em;margin:3.2rem 0 1.1rem;padding-top:1.1rem;font-size:.9375rem;font-weight:600}.cv h3{color:var(--ink);margin:1.5rem 0 0;font-size:.9375rem;font-weight:600}.cv h3+p{font-variant-numeric:tabular-nums;margin:.1rem 0 0;font-size:.875rem}.cv p{max-width:36rem;margin:.7rem 0 0;font-size:.9375rem;line-height:1.62}.cv ul{max-width:36rem;margin:.5rem 0 0;padding-left:1.15rem;font-size:.9375rem;line-height:1.6}.cv li{margin:.3rem 0;padding-left:.15rem}.cv li::marker{color:var(--leader)}.cv strong{color:var(--ink);font-weight:500}.cv a{color:var(--ink)}@media print{.cv-nav,.theme-toggle{display:none}main{max-width:none;padding:0}.cv h2{break-after:avoid;margin-top:1.6rem}.cv h3{break-after:avoid}.cv p,.cv ul{max-width:none}}.theme-toggle{z-index:1;width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:inline-grid;position:fixed;top:1.1rem;right:1.1rem}.theme-toggle:hover{color:var(--ink)}.theme-toggle svg{width:15px;height:15px}.theme-toggle .sun{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .sun{display:block}:root:not([data-theme=light]) .theme-toggle .moon{display:none}}:root[data-theme=dark] .theme-toggle .sun{display:block}:root[data-theme=dark] .theme-toggle .moon{display:none}
