:root{--bg:#f6f2ea;--ink:#1d1b16;--muted:#6f6a5f;--rule:rgba(29,27,22,0.14);--accent:#c2402f;--serif:var(--font-serif),"Newsreader",Georgia,serif;--mono:var(--font-mono),"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace}@media (prefers-color-scheme:dark){:root{--bg:#14130f;--ink:#ebe7dd;--muted:#97917f;--rule:rgba(235,231,221,0.16);--accent:#ff7059}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.65;margin:0;padding:0;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg)}a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px;transition:color .15s ease,-webkit-text-decoration-color .15s ease;transition:color .15s ease,text-decoration-color .15s ease;transition:color .15s ease,text-decoration-color .15s ease,-webkit-text-decoration-color .15s ease}a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.mono{font-family:var(--mono);font-size:.75rem;letter-spacing:.04em}.page{max-width:880px;margin:0 auto;padding:4rem 1.5rem 2.5rem}.masthead{margin-bottom:4.5rem;border-bottom:1px solid var(--rule);padding-bottom:3rem}h1{font-size:clamp(2.6rem,7vw,4rem);font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0 0 .75rem}.cursor{display:inline-block;width:.5em;height:.82em;margin-left:.12em;background:var(--accent);animation:blink 1.1s step-end infinite;vertical-align:baseline;transform:translateY(.08em)}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}}.role{color:var(--muted);margin:0 0 2rem}.intro{font-size:1.3rem;line-height:1.55;max-width:38em;margin:0}.row{display:grid;grid-template-columns:160px minmax(0,1fr);grid-gap:2.5rem;gap:2.5rem;padding:2.5rem 0;border-bottom:1px solid var(--rule)}.row:last-of-type{border-bottom:none}.label{color:var(--muted);text-transform:uppercase;font-weight:400;margin:.35rem 0 0}.row-body>p{margin:0 0 1rem;max-width:36em}.row-body>p:last-child{margin-bottom:0}.lab-list,.timeline{list-style:none;margin:0;padding:0}.entry{margin-bottom:2.25rem}.entry:last-child{margin-bottom:0}.entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}h3{font-size:1.2rem;font-weight:600;letter-spacing:-.01em;margin:0}.period{white-space:nowrap}.org,.period{color:var(--muted)}.org{margin:.25rem 0 .5rem}.org a{color:var(--muted);text-decoration:none}.org a:hover{color:var(--accent)}.blurb{margin:0;max-width:36em}.resume{margin:2.5rem 0 0}.footer{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-top:1px solid var(--rule);margin-top:1rem;padding-top:1.5rem;color:var(--muted)}.footer-links{display:flex;gap:1.5rem}.footer a{color:var(--muted);text-decoration:none}.footer a:hover{color:var(--accent)}.clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.page{padding:2.5rem 1.25rem 2rem}.masthead{margin-bottom:2.5rem;padding-bottom:2rem}.intro{font-size:1.15rem}.row{grid-template-columns:1fr;gap:1.25rem;padding:2rem 0}.label{margin-top:0}.entry-head{flex-direction:column;gap:.1rem}}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c-s.woff2) format("woff2");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:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe-s.woff2) format("woff2");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:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f-s.p.woff2) format("woff2");unicode-range:u+00??,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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-s.woff2) format("woff2");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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/665e920483964785-s.woff2) format("woff2");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:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/5611c55482296524-s.p.woff2) format("woff2");unicode-range:u+00??,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:Newsreader Fallback;src:local("Times New Roman");ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.00%;size-adjust:105.48%}.__className_328ff9{font-family:Newsreader,Newsreader Fallback}.__variable_328ff9{--font-serif:"Newsreader","Newsreader Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}