:root{color-scheme:light;--paper:#f3f4f1;--ink:#122235;--muted:#5d6b7a;--rule:#c5cfd8;--grid:#e5e9ed;--accent:#1f5fb4;--accent-ink:#fff;--mark:#e4572e;--mark-ink:#fff;--sans:"Barlow", system-ui, sans-serif;--display:"Barlow Condensed", "Barlow", system-ui, sans-serif;--mono:"Azeret Mono", ui-monospace, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#0d2440;--ink:#e3ecf5;--muted:#93a7bb;--rule:#2e4d70;--grid:#163050;--accent:#7fb3f2;--accent-ink:#0d2440;--mark:#ff8f5a;--mark-ink:#0d2440}}:root[data-theme=dark]{color-scheme:dark;--paper:#0d2440;--ink:#e3ecf5;--muted:#93a7bb;--rule:#2e4d70;--grid:#163050;--accent:#7fb3f2;--accent-ink:#0d2440;--mark:#ff8f5a;--mark-ink:#0d2440}*{box-sizing:border-box;margin:0}[hidden]{display:none!important}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}main{max-width:62rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 1rem 4rem}@media (width>=40rem){main{padding-inline:2rem}}a{color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.2em;transition:color .12s,text-decoration-color .12s}a:hover{color:var(--accent);text-decoration-color:var(--mark)}a:focus-visible,button:focus-visible{outline:2px solid var(--mark);outline-offset:3px}ul{padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--display)}.icon{vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;display:inline-block}.icon-fill{fill:currentColor;stroke:none}.sheet{background-color:var(--paper);background-image:linear-gradient(var(--ink), var(--ink)), linear-gradient(var(--ink), var(--ink)), linear-gradient(var(--ink), var(--ink)), linear-gradient(var(--ink), var(--ink));border:1px solid var(--rule);background-position:0 0,0 0,100% 100%,100% 100%;background-repeat:no-repeat;background-size:16px 2px,2px 16px,16px 2px,2px 16px;position:relative}.sheet.grid{background-image:linear-gradient(var(--ink), var(--ink)), linear-gradient(var(--ink), var(--ink)), linear-gradient(var(--ink), var(--ink)), linear-gradient(var(--ink), var(--ink)), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-position:0 0,0 0,100% 100%,100% 100%,0 0,0 0;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat,repeat;background-size:16px 2px,2px 16px,16px 2px,2px 16px,24px 24px,24px 24px}.title-block{grid-template-columns:1fr 1fr;align-self:start;display:grid}.title-block>div{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.5rem .7rem .55rem}.title-block>div:nth-child(2n){border-right:0}.title-block>div:nth-last-child(-n+2){border-bottom:0}.title-block dt{font:500 .5625rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.title-block dd{font:600 .9375rem/1.2 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);overflow-wrap:anywhere;margin:.15rem 0 0}.skip{z-index:100;background:var(--mark);color:var(--mark-ink);font:500 .8125rem/1.4 var(--mono);padding:.5rem .75rem;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.site-header,.site-footer{max-width:90rem;margin:0 auto;padding-inline:1rem}@media (width>=40rem){.site-header,.site-footer{padding-inline:2rem}}@media (width<=39.99rem){.site-nav{flex-basis:100%;order:3}}.site-header{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding-top:1.25rem;display:flex}.brand{font:700 .9375rem/1.6 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none}.brand:hover{color:var(--accent)}.site-nav{font:600 .875rem/1.6 var(--display);letter-spacing:.1em;text-transform:uppercase;gap:1.25rem;display:flex}.site-nav a{color:var(--muted);text-decoration:none}.site-nav a:hover{color:var(--accent)}.site-nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--mark);text-underline-offset:.35em;text-decoration-thickness:2px}.header-links{align-items:center;gap:.2rem;margin-left:auto;display:flex}.icon-link{width:2.1rem;height:2.1rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;transition:color .12s,border-color .12s;display:grid}.icon-link:hover{color:var(--accent);border-color:var(--rule)}.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}.site-footer{color:var(--muted);gap:.6rem;padding-top:1.5rem;padding-bottom:3rem;font-size:.875rem;display:grid}.site-footer:before{content:"";border-top:1px solid var(--rule);margin-bottom:.4rem;display:block}.footer-row{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;display:flex}.footer-who strong{color:var(--ink);font-weight:600}.footer-links{font:400 .75rem/1.6 var(--mono);flex-wrap:wrap;gap:.4rem 1.25rem;display:flex}.footer-links a{color:var(--ink);align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.footer-links a:hover{color:var(--accent)}.colophon{font:400 .6875rem/1.6 var(--mono);letter-spacing:.02em}.cv{counter-reset:sheet;column-gap:3rem;display:grid}@media (width>=64rem){.cv-page{max-width:72rem}.cv{grid-template-columns:16rem minmax(0,1fr);grid-template-areas:"head head""side summary""side main"}.cv-head{grid-area:head}.cv-summary{grid-area:summary}.cv-side{scrollbar-width:thin;grid-area:side;align-self:start;max-height:calc(100vh - 3rem);position:sticky;top:1.5rem;overflow-y:auto}.cv-main{grid-area:main}}.cv-head{gap:2rem;padding-bottom:clamp(2rem,5vw,3.5rem);display:grid}@media (width>=64rem){.cv-head{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;column-gap:3rem}}.cv-name{gap:1.5rem;display:grid}h1{letter-spacing:.01em;text-transform:uppercase;font-size:clamp(3.25rem,10vw,6.5rem);font-weight:700;line-height:.92}.cv-name h1{margin:-.1em 0 0 -.035em}.cv-title{font:400 clamp(1.05rem, 2.2vw, 1.3rem) / 1.3 var(--sans);color:var(--muted);margin-top:1rem}.dim{align-items:center;gap:.9rem;display:flex}.dim span{flex:none}.dim:before,.dim:after{content:"";border-bottom:1px solid var(--rule);flex:1;height:9px;transform:translateY(-4px)}.dim:before{border-left:1px solid var(--ink)}.dim:after{border-right:1px solid var(--ink)}.cv-contact{font:400 .8125rem/1.6 var(--mono);overflow-wrap:anywhere;gap:.4rem 2.5rem;display:grid}@media (width>=40rem){.cv-contact{grid-template-columns:repeat(2,minmax(0,max-content))}}.cv-contact li{align-items:center;gap:.45rem;display:inline-flex}.cv-contact .icon{color:var(--muted)}.actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.download{background:var(--accent);color:var(--accent-ink);font:500 .8125rem/1.4 var(--mono);justify-self:start;align-items:center;gap:.5rem;padding:.6rem 1.1rem;text-decoration:none;transition:opacity .12s;display:inline-flex}.download:hover{color:var(--accent-ink);opacity:.85}.teaser{color:var(--muted);font-size:.9375rem;line-height:1.5}.teaser a{color:var(--ink)}.cv section{border-top:1px solid var(--rule);counter-increment:sheet;padding-block:2rem}.cv h2{font:600 .9375rem/1.3 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.75rem;margin-bottom:1.1rem;display:flex}.cv h2:before{content:counter(sheet, decimal-leading-zero);font:500 .6875rem/1 var(--mono);letter-spacing:.1em;color:var(--muted)}.cv h2:after{content:"";background:var(--rule);flex:1;height:1px}.cv-body>p{max-width:44rem;font-size:1.1875rem;line-height:1.55}.skills{gap:1.2rem;display:grid}.skills dt{font:600 .9375rem/1.3 var(--display);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.45rem}.skills dd{margin:0}.tags{flex-wrap:wrap;gap:.35rem;display:flex}.tags li{border:1px solid var(--rule);font:400 .6875rem/1.6 var(--mono);color:var(--ink);padding:.15rem .5rem}.skills>div:first-child .tags li{border-color:var(--mark)}@media (width<=63.99rem){.skills{gap:.6rem}.skills>div{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;display:flex}.skills dt{margin:0 .25rem 0 0;font-size:.875rem}.skills dd,.skills .tags{display:contents}}.entry+.entry{margin-top:2.25rem}.entry-head{margin-bottom:.5rem}.cv h3{letter-spacing:.01em;font-size:1.4rem;font-weight:600;line-height:1.2}.org{color:var(--muted);font-weight:600}.meta{font:400 .75rem/1.6 var(--mono);color:var(--muted);margin-top:.15rem}.cv h4{font:600 .8125rem/1.4 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:1.25rem}.entry ul li{max-width:44rem;margin-top:.5rem;padding-left:1.1rem;position:relative}.entry ul li:before{content:"";background:var(--accent);width:.45rem;height:1px;position:absolute;top:.72em;left:0}.entry>p{max-width:44rem}.not-found{align-content:center;gap:.75rem;min-height:40vh;display:grid}.kicker-mono{font:500 .8125rem/1.5 var(--mono);letter-spacing:.06em;color:var(--accent)}.not-found h1{font-size:clamp(2.5rem,7vw,4rem)}.not-found p{max-width:40rem;font-size:1.125rem}@media print{.skip,.site-header,.site-footer,.actions,.title-block{display:none!important}.cv{display:block}.cv-side{max-height:none;position:static;overflow:visible}.sheet{background-image:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
