@charset "UTF-8";
:root{--ink:#11141c;--muted:#555e70;--paper:#fff;--line:#dce0e7;--soft:#f3f5f8;--lime:#baff55;--blue:#254acb;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--blue)}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}p,h1,h2,h3{margin:0}p+p{margin-top:16px}button,a{-webkit-tap-highlight-color:transparent}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-80px;z-index:10;padding:12px;background:var(--lime);color:var(--ink)}.skip-link:focus{top:16px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--mono);font-weight:700;font-size:17px;letter-spacing:-.7px;text-decoration:none;white-space:nowrap}.wordmark span{color:#747d8e}.site-header nav{display:flex;gap:26px;font-size:14px}.site-header nav a{text-decoration:none;padding-block:12px}.resume-link{font-size:14px;font-weight:600;text-decoration:none;padding:12px 0;white-space:nowrap}.file-type{font-family:var(--mono);font-size:12px;background:var(--soft);padding:3px 5px;margin-left:7px}.hero{padding-block:56px 72px}.hero-intro{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:1.3px;line-height:1.6}.availability{font-size:14px;color:#334121;border:1px solid #cbddb6;padding:6px 12px;border-radius:4px;margin:0}.hero h1{font-size:clamp(4.6rem,10.7vw,9rem);font-weight:650;letter-spacing:-.065em;line-height:1.02;margin-block:36px 46px}.hero h1>span{color:#596173}.period{color:var(--blue)}.hero-bottom{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}.hero-statement{font-size:clamp(1.35rem,2.25vw,1.85rem);font-weight:500;line-height:1.45;letter-spacing:-.6px}.hero-context{max-width:500px;color:var(--muted)}.hero-context strong{color:var(--ink);font-weight:550}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:26px}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;text-decoration:none;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:4px;transition:background .15s,color .15s}.primary{background:var(--ink);color:white}.primary:hover{background:var(--blue);color:white}.text-link{font-size:14px;font-weight:600;display:inline-block;padding-block:10px}.proof-strip{background:var(--soft);border-block:1px solid var(--line)}.proof-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:26px;gap:25px}.proof-inner p{margin:0;display:flex;flex-direction:column;gap:4px}.proof-inner strong{font-size:14px;font-weight:600}.proof-inner span{font-size:13px;color:var(--muted)}.section{padding-block:96px}.section-heading{display:grid;grid-template-columns:1fr 1.45fr;gap:18px 60px;align-items:end;margin-bottom:48px}.section-heading>.eyebrow{grid-column:1/-1}.section-heading h2,h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:550;letter-spacing:-1.8px;line-height:1.13}.section-heading>p:last-child{max-width:420px;color:var(--muted)}.section-heading.horizontal{grid-template-columns:1fr 1fr}.horizontal .eyebrow{margin-bottom:20px}.experience{display:grid;grid-template-columns:1fr 2fr;gap:48px;border-top:1px solid var(--line);padding-block:32px}.experience:last-child{padding-bottom:0}.experience-meta{display:flex;align-items:flex-start;flex-direction:column;gap:15px}.date{font-family:var(--mono);font-size:13px;color:var(--muted)}.tag{display:inline-flex;font-size:12px;font-weight:600;line-height:1.5;padding:5px 9px;border-radius:4px;white-space:nowrap}.dark-tag{background:var(--ink);color:var(--paper)}h3{font-size:23px;letter-spacing:-.6px;font-weight:600;line-height:1.3}.role{color:var(--muted);font-size:14px;margin-top:4px;margin-bottom:18px}.detail-list{padding-left:19px;margin:22px 0}.detail-list li{padding-left:5px;margin-bottom:12px;color:var(--muted)}.detail-list strong{color:var(--ink);font-weight:550}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.tags span{border:1px solid var(--line);padding:4px 9px;font-family:var(--mono);font-size:12px;border-radius:3px}.muted-label{font-size:14px;color:var(--muted)}.projects-section{background:var(--soft)}.project{border-radius:8px;overflow:hidden}.featured-project{display:grid;grid-template-columns:1.1fr 1fr;background:var(--ink);color:#f2f4f9}.project-story{padding:40px}.project-number{font-family:var(--mono);font-size:12px;letter-spacing:1px;color:#aab3c4;margin-bottom:21px}.project-story h3{font-size:44px;letter-spacing:-1.4px}.project-subtitle{font-size:20px;color:#fff;margin-top:4px!important;margin-bottom:18px}.project-story>p:not(.project-subtitle):not(.project-number){color:#b9c1ce}.project-points{display:grid;gap:18px;margin-top:25px}.project-points p{margin:0;font-size:14px;color:#b9c1ce;line-height:1.65}.project-points strong{color:#f2f4f9;font-weight:550}.project-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.light-button{background:var(--lime);color:var(--ink)}.light-button:hover{background:#d0ff8b;color:var(--ink)}.outline-light{border-color:#646d80;color:white}.outline-light:hover{background:#272d3a;color:var(--lime)}.flow-panel{margin:24px 24px 24px 0;border:1px solid #3a4252;border-radius:5px;background:#191e28;padding:26px;display:flex;flex-direction:column;justify-content:center}.flow-topline{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12px;color:#aab3c4;border-bottom:1px solid #3a4252;padding-bottom:18px}.request-flow{list-style:none;padding:28px 0 0;margin:0}.request-flow li{display:flex;gap:18px;padding-bottom:30px;position:relative}.request-flow li:not(:last-child):before{content:"";position:absolute;left:15px;top:33px;bottom:3px;width:1px;background:#4d5842}.step-index{flex-shrink:0;width:31px;height:31px;display:grid;place-items:center;border:1px solid #586446;color:var(--lime);font-family:var(--mono);font-size:12px;border-radius:50%;margin-top:3px}.request-flow strong{display:block;font-size:16px;font-weight:500}.request-flow li div>span{display:block;font-size:13px;color:#b9c1ce;margin-top:4px}.flow-note{font-family:var(--mono);color:var(--lime);font-size:13px;margin-top:0}.inverted span{border-color:#404b5c;color:#c9d1dd}.secondary-project{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;padding:36px 40px;background:white;border:1px solid var(--line);margin-top:22px}.secondary-project .project-number{color:var(--muted);margin-bottom:14px}.secondary-project h3{font-size:28px;margin-bottom:12px}.secondary-project p{color:var(--muted)}.secondary-detail{align-self:center}.secondary-detail strong{color:var(--ink)}.secondary{border-color:#b9c0cd;margin-top:22px}.secondary:hover{background:var(--ink);color:white}.contribution{display:grid;grid-template-columns:145px 1fr 70px;gap:25px;align-items:start;padding:28px 0;border-top:1px solid var(--line);text-decoration:none;transition:background .15s}.contribution:hover{background:var(--soft);color:var(--ink)}.repo-label{font-family:var(--mono);font-size:14px;padding-top:3px}.repo-label span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.contribution h3{font-size:20px;margin-bottom:8px;letter-spacing:-.4px}.contribution p{color:var(--muted);font-size:16px;max-width:720px}.merged{color:#28502f;background:#e9f3e9;justify-self:end;margin-top:3px}.oss-footer{display:flex;justify-content:space-between;align-items:start;gap:32px;padding-top:25px;border-top:1px solid var(--line)}.oss-footer p{font-size:14px;color:var(--muted);max-width:650px}.oss-footer .text-link{white-space:nowrap}.snapshot{font-size:12px;display:inline-block;margin-top:8px}.about-section{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding-block:72px 90px;border-top:1px solid var(--line)}.about-section .eyebrow{margin-bottom:18px}.about-copy>p{font-size:18px;color:var(--muted)}.education{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.education p{margin-top:8px;font-size:14px;color:var(--muted)}.education strong{font-weight:550;color:var(--ink)}.contact-section{padding-block:68px;background:var(--lime);color:var(--ink)}.contact-section h2{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.05em;margin-top:22px}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:28px}.contact-bottom p{font-size:17px}.contact-email{font-size:clamp(1.15rem,2.6vw,2rem);font-weight:550;letter-spacing:-.6px;overflow-wrap:anywhere}.contact-links{display:flex;gap:28px;margin-top:34px;border-top:1px solid #7ba934;padding-top:24px}.contact-links a{font-size:14px;font-weight:600;padding-block:8px}.site-footer{display:flex;justify-content:space-between;gap:20px;padding-block:26px;font-family:var(--mono);font-size:12px;color:var(--muted)}
@media(min-width:1500px){.hero h1{font-size:144px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.site-header{flex-wrap:wrap;padding-block:20px;gap:12px;min-height:auto}.site-header nav{order:3;width:100%;gap:24px}.hero{padding-top:40px}.hero-bottom{gap:30px}.featured-project{grid-template-columns:1fr}.flow-panel{margin:0 30px 30px;padding:28px}.request-flow{display:grid;grid-template-columns:1fr 1fr;gap:25px}.request-flow li{padding-bottom:5px}.request-flow li:before{display:none}.project-story{padding:32px}.project-points{grid-template-columns:1fr 1fr}.secondary-project{gap:30px;padding:30px}.experience{grid-template-columns:1fr 2.2fr;gap:25px}.about-section{gap:40px}.contact-bottom{align-items:start;flex-direction:column}.proof-inner{gap:18px}.section{padding-block:70px}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.wordmark{font-size:16px}.resume-link{font-size:13px}.file-type{display:none}.site-header nav{justify-content:space-between;gap:10px;font-size:14px}.hero{padding-block:30px 42px}.hero-intro{align-items:flex-start;flex-direction:column;gap:14px}.eyebrow{font-size:12px;letter-spacing:.8px}.availability{font-size:13px}.hero h1{font-size:clamp(3.25rem,12.9vw,5.2rem);margin-block:26px 30px;letter-spacing:-.065em}.hero-bottom{grid-template-columns:1fr;gap:20px}.hero-statement{font-size:1.35rem}.hero-context{font-size:16px}.hero-actions{gap:22px;margin-top:22px}.proof-inner{grid-template-columns:1fr;padding-block:22px;gap:17px}.proof-inner p{gap:1px}.section{padding-block:52px}.section-heading,.section-heading.horizontal{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.section-heading h2,h2{font-size:2.25rem;letter-spacing:-1.1px}.horizontal .eyebrow{margin-bottom:16px}.experience{grid-template-columns:1fr;gap:18px;padding-block:26px}.experience-meta{flex-direction:row;align-items:center;flex-wrap:wrap;gap:16px}.date{font-size:12px}.experience p,.detail-list{font-size:16px}.project-story{padding:25px}.project-story h3{font-size:38px}.project-subtitle{font-size:18px}.project-points{grid-template-columns:1fr}.flow-panel{margin:0 14px 14px;padding:20px}.flow-topline{flex-direction:column;gap:4px;font-size:12px}.request-flow{display:block}.request-flow li{padding-bottom:25px}.request-flow li:not(:last-child):before{display:block}.secondary-project{grid-template-columns:1fr;gap:22px;padding:25px}.secondary-project p{font-size:16px}.secondary{margin-top:16px}.contribution{grid-template-columns:1fr auto;gap:12px;padding-block:24px}.repo-label{grid-column:1;display:flex;gap:9px;align-items:baseline;padding:0}.repo-label span{margin:0}.contribution>div{grid-column:1/-1;grid-row:2}.merged{grid-column:2;grid-row:1;margin:0}.contribution h3{font-size:19px}.oss-footer{flex-direction:column;gap:14px}.about-section{grid-template-columns:1fr;gap:26px;padding-block:48px}.about-copy>p{font-size:16px}.contact-section{padding-block:44px}.contact-section h2{font-size:3.4rem}.contact-bottom p{font-size:16px}.contact-email{font-size:1.25rem;letter-spacing:-.3px}.contact-links{gap:20px;flex-wrap:wrap}.site-footer{font-size:12px;align-items:center}.site-footer a{padding-block:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header nav,.hero-actions,.resume-link,.contact-section,.site-footer{display:none}.wrap{width:100%}.hero h1{font-size:50px}.hero,.section,.about-section{padding-block:24px}.project,.experience,.contribution{break-inside:avoid}.featured-project{background:white;color:black}.project-story p,.project-points strong{color:black!important}.flow-panel{display:none}.featured-project{display:block}a{color:black}.proof-strip{background:white}}
