@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(./space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(./space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff")}:root{--color-ink-black: #000000;--color-paper-white: #ffffff;--color-pencil-gray: #767676;--font-display: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-text: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-caption: 13px;--text-body-sm: 16px;--text-body: 20px;--text-subheading: 24px;--text-heading: 48px;--text-display: 80px;--spacing-5: 5px;--spacing-10: 10px;--spacing-12: 12px;--spacing-13: 13px;--spacing-20: 20px;--spacing-26: 26px;--spacing-48: 48px;--spacing-50: 50px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-paper-white);color:var(--color-ink-black);font-family:var(--font-text);font-weight:400;font-size:var(--text-body);line-height:1.2}a{color:var(--color-ink-black);text-decoration:none}.page{padding:var(--spacing-50) var(--spacing-50) 0}.caption{font-family:var(--font-text);font-size:var(--text-caption);line-height:1.2;color:var(--color-pencil-gray)}.body-sm{font-size:var(--text-body-sm)}.rule-dotted{border:none;border-top:1px dotted var(--color-ink-black)}.rule-dashed{border:none;border-top:1px dashed var(--color-ink-black)}.connector-v{width:0;border-left:1px dotted var(--color-ink-black);height:var(--spacing-48);margin-left:var(--spacing-5)}.action{display:inline-block;font-family:var(--font-text);font-size:var(--text-body-sm);font-weight:400;color:var(--color-ink-black);border:1px solid var(--color-ink-black);border-radius:0;padding:var(--spacing-10) var(--spacing-20);background:none;transition:background .15s,color .15s}.action:hover{background:var(--color-ink-black);color:var(--color-paper-white)}.link-underline{border-bottom:1px solid var(--color-ink-black);padding:0 2px;margin:0 -2px;transition:background .12s,color .12s}.link-underline:hover{background:var(--color-ink-black);color:var(--color-paper-white)}.lang-toggle{display:inline-flex;align-items:baseline;gap:var(--spacing-10);white-space:nowrap}.lang-toggle button{font-family:var(--font-text);font-size:var(--text-body-sm);font-weight:400;line-height:1.2;color:var(--color-pencil-gray);background:none;border:none;border-bottom:1px solid transparent;border-radius:0;padding:0;cursor:pointer}.lang-toggle button{transition:background .12s,color .12s}.lang-toggle button:hover{background:var(--color-ink-black);color:var(--color-paper-white)}.lang-toggle button.active{color:var(--color-ink-black);border-bottom:1px solid var(--color-ink-black)}.lang-toggle .slash{color:var(--color-pencil-gray);font-size:var(--text-body-sm)}.hero{display:flex;flex-direction:column;gap:var(--spacing-26)}.hero-fig{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:var(--spacing-12)}.hero-fig-side{display:flex;align-items:baseline;gap:var(--spacing-12);min-width:0}.hero-fig-side .rule-dotted{flex:1;min-width:var(--spacing-26)}.hero-grid{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-48);align-items:start}.hero-text{display:flex;flex-direction:column;gap:var(--spacing-26)}.portrait{margin:0;width:clamp(180px,24vw,320px)}.portrait img{display:block;width:100%;height:auto;border-radius:0}.portrait-caption{display:flex;align-items:baseline;gap:var(--spacing-12);margin-top:var(--spacing-10)}.portrait-caption .rule-dotted{flex:1}.hero-name{font-family:var(--font-display);font-size:clamp(48px,11vw,128px);font-weight:400;line-height:.9;letter-spacing:-.01em;text-transform:uppercase}.hero-role{font-family:var(--font-display);font-size:var(--text-subheading);line-height:1.1}.hero-location-m{display:none}.hero-meta{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--spacing-20);row-gap:var(--spacing-10)}.hero-stack{font-size:var(--text-body-sm);color:var(--color-pencil-gray)}.hero-links{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--spacing-20);row-gap:var(--spacing-12);font-size:var(--text-body-sm)}.hero-links .sep{color:var(--color-pencil-gray)}.tri-nav{display:flex;flex-wrap:wrap;margin-top:var(--spacing-50)}.tri-nav a{flex:1 1 200px;padding:var(--spacing-20);border-top:1px dashed var(--color-ink-black);display:flex;flex-direction:column;gap:var(--spacing-5);transition:background .12s,color .12s}.tri-nav a+a{border-left:1px dashed var(--color-ink-black)}.tri-nav .label{font-family:var(--font-display);font-size:var(--text-subheading);line-height:1.1}.tri-nav a:hover{background:var(--color-ink-black);color:var(--color-paper-white)}.section{padding:var(--spacing-50) 0}.section-head{display:flex;align-items:baseline;gap:var(--spacing-20);margin-bottom:var(--spacing-48)}.section-anchor{font-family:var(--font-display);font-size:clamp(28px,4vw,40px);line-height:.8;white-space:nowrap}.section-head .rule-dashed{flex:1;min-width:var(--spacing-26);position:relative;top:-.35em}.section-title{font-family:var(--font-display);font-size:clamp(32px,6vw,var(--text-heading));font-weight:400;line-height:.8;white-space:nowrap;text-wrap:balance}.prose{font-size:var(--text-body);line-height:1.35;max-width:60ch;margin-bottom:var(--spacing-26)}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-48) var(--spacing-48)}.skill-group .caption{font-size:var(--text-body-sm);margin-bottom:var(--spacing-10)}.skill-group .rule-dotted{margin-bottom:var(--spacing-12)}.skill-group p{font-size:var(--text-body-sm);line-height:1.4}.job{display:grid;grid-template-columns:180px 1fr;gap:var(--spacing-20) var(--spacing-48);padding:var(--spacing-26) 0}.job+.job{border-top:1px dotted var(--color-ink-black)}.job-when{display:flex;flex-direction:column;gap:var(--spacing-5)}.job-title{font-family:var(--font-display);font-size:var(--text-subheading);line-height:1.1;margin-bottom:var(--spacing-5)}.job-role{font-size:var(--text-body);margin-bottom:var(--spacing-13)}.job ul{list-style:none}.job li{font-size:var(--text-body-sm);line-height:1.4;margin-bottom:var(--spacing-12);padding-left:var(--spacing-26);position:relative}.job li:before{content:"→";position:absolute;left:0}.job-tech{color:var(--color-pencil-gray)}.link-row{font-size:var(--text-caption);line-height:1.6;margin-top:var(--spacing-12)}.link-row .sep{color:var(--color-pencil-gray)}.early{border-top:1px dashed var(--color-ink-black)}.early-row{display:grid;grid-template-columns:180px 1fr;gap:var(--spacing-10) var(--spacing-48);padding:var(--spacing-20) 0;border-bottom:1px dashed var(--color-ink-black)}.early-row h3{font-family:var(--font-display);font-size:var(--text-body-sm);font-weight:400}.early-row p{font-size:var(--text-body-sm);line-height:1.4;color:var(--color-ink-black)}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-48)}.two-col p{font-size:var(--text-body-sm);line-height:1.4;margin-bottom:var(--spacing-12)}.two-col .col-head{font-family:var(--font-display);font-size:var(--text-body);line-height:1.2;color:var(--color-ink-black);margin-bottom:var(--spacing-13)}.footer{background:var(--color-ink-black);color:var(--color-paper-white);margin:var(--spacing-50) calc(-1 * var(--spacing-50)) 0;padding:calc(2 * var(--spacing-48)) var(--spacing-50);display:flex;flex-direction:column;gap:var(--spacing-48)}.footer a{color:var(--color-paper-white)}.footer .caption{color:var(--color-pencil-gray)}.footer-fig{display:flex;align-items:baseline;gap:var(--spacing-12)}.footer-fig .rule-dotted{flex:1;border-top-color:var(--color-pencil-gray)}.footer-title{font-family:var(--font-display);font-size:clamp(40px,8vw,var(--text-display));line-height:.8}.footer-links{display:flex;flex-wrap:wrap;column-gap:var(--spacing-48);row-gap:var(--spacing-20);font-family:var(--font-display);font-size:var(--text-subheading)}.footer-links a{border-bottom:1px solid var(--color-paper-white);padding:0 var(--spacing-5) var(--spacing-5);margin:0 calc(-1 * var(--spacing-5));transition:background .12s,color .12s}.footer-links a:hover{background:var(--color-paper-white);color:var(--color-ink-black)}.footer-meta{display:flex;flex-direction:column;gap:var(--spacing-5);border-top:1px dashed var(--color-pencil-gray);padding-top:var(--spacing-20)}@media(max-width:900px){.job{grid-template-columns:1fr;gap:var(--spacing-12)}.job-when{flex-direction:row;align-items:baseline;gap:var(--spacing-12)}.job-when:after{content:"";order:1;flex:1;min-width:var(--spacing-26);border-top:1px dotted var(--color-ink-black)}.job-when span:last-child{order:2}.early-row{grid-template-columns:1fr;gap:var(--spacing-10);padding:var(--spacing-26) 0}.early-row h3{text-wrap:balance}}@media(max-width:760px){.hero-grid{grid-template-columns:1fr;gap:var(--spacing-26)}.portrait{width:clamp(220px,62vw,300px);margin-top:var(--spacing-12)}.hero-fig{grid-template-columns:1fr auto}.hero-fig-side.right{display:none}.hero-name{font-size:clamp(48px,15vw,100px);line-height:.92;letter-spacing:-.02em}.hero-role{margin-top:calc(-1 * var(--spacing-5))}.hero-location-m{display:block;margin-top:calc(-1 * var(--spacing-20))}.hero-meta{border-top:1px dotted var(--color-ink-black);padding-top:var(--spacing-20)}.hero-stack{line-height:1.4}.hero-links{flex-direction:column;align-items:flex-start;row-gap:var(--spacing-13);margin-top:calc(-1 * var(--spacing-10))}.hero-links .sep{display:none}.tri-nav a{flex:1 1 100%;padding:var(--spacing-20) 0}.tri-nav a+a{border-left:none}.tri-nav a:last-child{border-bottom:1px dashed var(--color-ink-black)}}@media(max-width:640px){.page{padding:var(--spacing-26) var(--spacing-20) 0}.portrait{width:100%}.section{padding:var(--spacing-48) 0}.section-head{flex-wrap:wrap;column-gap:var(--spacing-20);row-gap:var(--spacing-13);margin-bottom:var(--spacing-26)}.section-anchor{font-size:var(--text-body);line-height:1}.section-title{flex-basis:100%;white-space:normal;font-size:clamp(36px,11vw,44px);line-height:.95;letter-spacing:-.01em}.prose{font-size:18px;line-height:1.5;margin-bottom:var(--spacing-20)}.prose,.job li{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:12 5 4;hyphenate-limit-lines:2;-webkit-hyphenate-limit-before:5;-webkit-hyphenate-limit-after:4;-webkit-hyphenate-limit-lines:2}.job li,.skill-group p,.early-row p,.two-col p{line-height:1.5}.job{padding:calc(var(--spacing-26) + var(--spacing-12)) 0}.job:first-of-type{padding-top:var(--spacing-10)}.job-role{font-size:var(--text-body-sm);line-height:1.4;margin-top:var(--spacing-5);margin-bottom:var(--spacing-13)}.job li{padding-left:var(--spacing-20)}.job-tech{margin-top:var(--spacing-20)}.two-col .col-head{padding-bottom:var(--spacing-10);border-bottom:1px dotted var(--color-ink-black);margin-bottom:var(--spacing-13)}.footer{margin:var(--spacing-48) calc(-1 * var(--spacing-20)) 0;padding:var(--spacing-48) var(--spacing-20)}.footer-title{font-size:clamp(40px,11vw,64px);line-height:.92}.footer-links{flex-direction:column;align-items:flex-start;row-gap:var(--spacing-20)}}
