:root{color:#303033;font-synthesis:none;--paper:#f4f3f1;--ink:#29292c;--muted:#6c6c70;--line:#d9d7d3;--accent:#f19757;background:#f4f3f1;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline-offset:6px;outline:3px solid #b65021}::selection{color:#29292c;background:#f19757}.wrap{width:calc(100% - 112px);max-width:1200px;margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:108px;display:flex}.wordmark{letter-spacing:-2px;font-size:32px;font-weight:700}.wordmark span{color:#d4662d}nav{align-items:center;gap:36px;font-size:14px;display:flex}nav a:hover,.text-link:hover{color:#b65021}.nav-contact{border:1px solid #c9c6c1;border-radius:50px;padding:12px 20px}.nav-contact span{margin-left:16px}.hero{grid-template-columns:1.25fr 1fr;align-items:center;gap:70px;padding-block:76px 64px;display:grid}.eyebrow{letter-spacing:1.8px;font-size:11px;font-weight:700;line-height:1.7}.hero .eyebrow{align-items:center;gap:10px;display:flex}.status-dot{background:#d4662d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #f4e3d6}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-3.4px;margin-block:27px;font-size:clamp(48px,5.15vw,72px);font-weight:500;line-height:1.08}em{font-family:Georgia,Times New Roman,serif;font-weight:400}h1 em{color:#bd5727}.hero-intro{color:#68686b;max-width:490px;font-size:17px;line-height:1.8}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px;display:flex}.button{background:var(--ink);color:var(--paper);border-radius:5px;justify-content:space-between;align-items:center;gap:24px;padding:17px 23px;font-size:13px;line-height:1.4;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#48484c;transform:translateY(-2px)}.text-link{padding-block:12px;font-size:13px}.text-link span{margin-left:8px}.location{color:var(--muted);margin:30px 0 0;font-size:12px}.location span{margin-right:6px;font-size:19px}.portrait{align-self:center;margin:0}.portrait-frame{aspect-ratio:.91;background:#e8e5df;border-radius:160px 160px 8px 8px;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%;display:block}.portrait figcaption{color:var(--muted);justify-content:space-between;padding:16px 0;font-size:11px;display:flex}.credentials{border-block:1px solid var(--line);grid-template-columns:.8fr 1fr 1.25fr;gap:30px;padding-block:28px;display:grid}.credentials div{border-left:1px solid var(--line);flex-direction:column;gap:9px;padding-left:30px;display:flex}.credentials div:first-child{border:0;padding-left:0}.credentials strong{letter-spacing:-.6px;font-size:23px;font-weight:500}.credentials span{color:var(--muted);font-size:12px}.section{padding-block:88px}.about{border-bottom:1px solid var(--line);grid-template-columns:1fr 2.3fr;gap:30px;display:grid}.section-label{padding-top:9px}h2{letter-spacing:-1.8px;margin-bottom:28px;font-size:clamp(34px,3.5vw,47px);font-weight:500;line-height:1.16}.about-columns{grid-template-columns:1fr 1fr;gap:36px;display:grid}.about-columns p,.job-content p{color:var(--muted);margin-bottom:12px;font-size:15px;line-height:1.8}.section-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:44px;display:flex}.section-heading h2{margin:0}.job{grid-template-columns:1fr 2.3fr;gap:30px;padding-bottom:40px;display:grid}.job+.job{border-top:1px solid var(--line);padding-top:36px}.job-period{padding-left:22px;position:relative}.timeline-dot{border:1px solid #96918b;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;left:0}.timeline-dot.current{background:#b65021;border-color:#b65021}.job-period .eyebrow{margin-bottom:8px}.job-period>p:last-child{color:var(--muted);font-size:12px;line-height:1.6}.job-title{align-items:center;gap:16px;margin-bottom:8px;display:flex}.job-title h3{letter-spacing:-.8px;margin:0;font-size:27px;font-weight:500}.current-label{color:#a3481d;background:#f4e2d5;border-radius:30px;padding:6px 10px;font-size:10px}.job h4{margin-bottom:19px;font-size:14px;font-weight:500}.tags{flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--line);color:#686369;border-radius:4px;padding:7px 10px;font-size:10px}.open-source{color:var(--paper);background:#29292c;padding-block:80px}.project-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:85px;display:grid}.open-source .eyebrow{color:#f2a776;margin-bottom:24px}.open-source h2{font-size:49px}.open-source h2 em{color:var(--accent)}.open-source p:not(.eyebrow){color:#cecbca;max-width:490px;font-size:14px;line-height:1.85}.light{background:var(--accent);color:var(--ink);margin-top:18px}.light:hover{background:#ffb27b}.project-card{background:#343437;border:1px solid #585558;border-radius:9px;padding:30px 32px;transition:transform .2s,border-color .2s}.project-card:hover{border-color:#f19757;transform:translateY(-4px)}.project-card-top{letter-spacing:1.5px;color:#d5ceca;justify-content:space-between;gap:15px;font-size:9px;display:flex}.project-card-top span:last-child{font-size:23px}.project-card img{object-fit:contain;width:68px;height:68px;margin:25px 0 15px}.project-card h3{letter-spacing:-2px;margin-bottom:17px;font-size:45px;font-weight:500}.project-card h3 span{color:var(--accent)}.project-card-footer{color:#dbd2cd;border-top:1px solid #585558;justify-content:space-between;gap:12px;margin-top:28px;padding-top:20px;font-size:10px;display:flex}.skills-grid{grid-template-columns:repeat(4,1fr);gap:28px;display:grid}.skill{border-top:1px solid var(--line);padding-top:22px}.skill-number{color:#aa603a;font-family:Georgia,serif;font-size:16px}.skill h3{margin-top:25px;margin-bottom:16px;font-size:16px;font-weight:500}.skill p{font-size:13px;line-height:1.85}.muted{color:var(--muted)}.details{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;gap:90px;padding-block:38px;display:grid}.details h3{margin:18px 0 12px;font-size:19px;font-weight:500}.details p:not(.eyebrow){margin-bottom:7px;font-size:13px;line-height:1.6}.languages{gap:48px;margin-top:22px;display:flex}.languages dt{font-size:17px}.languages dd{color:var(--muted);margin:10px 0 0;font-size:12px}.contact{text-align:center;padding-block:90px}.contact h2{margin-top:20px;font-size:48px}.email-link{border-bottom:1px solid #d48d61;gap:30px;padding-bottom:10px;font-size:20px;display:inline-flex}.email-link:hover{color:#b65021}footer{border-top:1px solid var(--line);align-items:center;gap:30px;padding-block:26px;display:flex}footer p{color:var(--muted);margin:0 auto 0 0;font-size:12px}footer>a:not(.wordmark){font-size:12px}.skip-link{z-index:10;background:var(--ink);color:#fff;padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}@media (width>=1500px){.hero{gap:110px}}@media (width<=1050px){.wrap{width:calc(100% - 64px)}.hero{gap:35px}h1{font-size:54px}.hero-actions{gap:12px}.project-grid{gap:40px}.skills-grid{grid-template-columns:1fr 1fr}.languages{gap:30px}}@media (width<=700px){.wrap{width:calc(100% - 40px)}.site-header{height:85px}.wordmark{font-size:28px}nav{gap:17px;font-size:11px}.nav-contact{padding:9px 12px}.nav-contact span{margin-left:5px}.hero{grid-template-columns:1fr;gap:32px;padding-block:42px}h1{letter-spacing:-2px;font-size:clamp(44px,9.5vw,62px)}.hero-intro{font-size:16px}.portrait{width:85%;max-width:400px;margin:auto}.portrait-frame{aspect-ratio:1}.credentials{grid-template-columns:1fr;gap:20px;padding-block:25px}.credentials div,.credentials div:first-child{border:0;grid-template-columns:1fr 1.3fr;align-items:center;gap:18px;padding:0;display:grid}.credentials strong{font-size:19px}.credentials span{font-size:11px;line-height:1.6}.section{padding-block:55px}.about{grid-template-columns:1fr;gap:12px}.about-columns{grid-template-columns:1fr;gap:8px}.section-heading{margin-bottom:30px;display:block}.section-heading .eyebrow{margin-bottom:20px}.job{grid-template-columns:1fr;gap:14px;padding-bottom:28px}.job+.job{padding-top:28px}.job-period{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.job-period p{margin:0!important}.job-title h3{font-size:25px}.project-grid{grid-template-columns:1fr;gap:35px}.open-source{padding-block:55px}.open-source h2{font-size:40px}.project-card{padding:25px}.skills-grid{gap:28px 22px}.skill h3{line-height:1.5}.details{grid-template-columns:1fr;gap:28px;padding-block:30px}.languages{justify-content:space-between;max-width:400px}.contact{padding-block:65px}.contact h2{font-size:37px}.email-link{font-size:18px}footer{flex-wrap:wrap;gap:20px}footer p{width:calc(100% - 110px);font-size:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.build-number{color:var(--muted);white-space:nowrap;font-size:10px}
