@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap";:root{color:#292c29;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#faf9f6;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}html{scrollbar-gutter:stable both-edges}body{margin:0}a{color:inherit;text-underline-offset:5px;text-decoration-color:#959d8d}a:hover{color:#4c653e;text-decoration-color:currentColor}a:focus-visible{outline-offset:6px;border-radius:2px;outline:2px solid #4c653e}.site-shell{flex-direction:column;max-width:824px;margin:0 auto;padding:0 40px;display:flex}.site-header{justify-content:flex-start;align-items:center;gap:30px;padding:28px 0 0;display:flex}.wordmark{letter-spacing:-.6px;white-space:nowrap;font-size:18px;font-weight:650;text-decoration:none}.wordmark span{color:#637951}nav{align-items:center;gap:15px;font-size:13px;display:flex}nav a{color:#696b65;text-decoration:none}nav a.active{color:#30372b;font-weight:600}h1 a,h2 a,h3 a{text-decoration:none}.unavailable{color:#777971;cursor:default}.file-label{letter-spacing:.3px;margin-left:3px;font-size:9px}main{outline:none;padding:38px 0 28px}.page-heading{margin-bottom:26px}.eyebrow{text-transform:uppercase;color:#66735c;letter-spacing:1.8px;margin:0 0 8px;font-size:10px;font-weight:600}h1{letter-spacing:-1px;margin:0 0 10px;font-size:clamp(28px,5vw,34px);font-weight:550;line-height:1.2}.lead{color:#70736a;margin:0;font-size:17px}h2{letter-spacing:-.3px;margin:0 0 10px;font-size:17px;font-weight:600;line-height:1.45}p{margin:0 0 12px;font-size:15px}.about p{max-width:640px}.contact{margin-top:26px}.muted{color:#777970}footer{color:#7b7e74;border-top:1px solid #e4e4dc;justify-content:space-between;gap:20px;padding:16px 0 24px;font-size:11px;display:flex}footer div{gap:19px;display:flex}footer a{text-decoration:none}.project-row{border-bottom:1px solid #e4e4dc;justify-content:space-between;align-items:baseline;gap:25px;padding:16px 0;text-decoration:none;display:flex}.project-row:first-child{border-top:1px solid #e4e4dc}.project-row h2{margin-bottom:7px}.project-title{flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:7px;display:flex}.project-title h2{margin:0}.project-tag{color:#66735c;white-space:nowrap;font-size:11px;font-weight:400}.project-meta{color:#777970;flex-wrap:wrap;align-items:baseline;gap:8px 14px;font-size:12px;display:flex}.project-poster{margin-bottom:30px}.project-row p{color:#777970;margin:0;font-size:14px}.entry-date{color:#7b7e74;font-size:12px}.experience{border-top:1px solid #e4e4dc;grid-template-columns:140px 1fr;gap:22px;padding:18px 0;display:grid}.experience h2{margin-bottom:4px}.company{color:#69735f;font-size:14px}.experience ul{margin:0;padding-left:18px;font-size:14px}.experience li{margin-bottom:10px;padding-left:4px}.resume-note{color:#777970;margin-top:24px;font-size:13px}.back-link{color:#70736a;margin-bottom:20px;font-size:12px;text-decoration:none;display:inline-block}.project-heading{margin-bottom:26px}.technologies{color:#747a6c;margin:20px 0 0;font-size:12px}.project-links{gap:24px;margin-top:20px;font-size:13px;display:flex}.project-photos{margin-top:26px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;display:grid}.gallery-single{grid-template-columns:1fr}figure{min-width:0;margin:0}.photo-link{display:block}figure img{background:#efeee7;border-radius:4px;width:100%;height:auto;display:block}figcaption{color:#777970;margin-top:9px;font-size:12px}.photo-placeholder{text-align:center;color:#747a6c;background:#f0f0e9;border:1px dashed #d7dacd;border-radius:4px;padding:62px 20px}.photo-placeholder>span{font-size:27px}.photo-placeholder p{margin:10px 0 2px}.photo-placeholder small{font-size:11px}.skip-link{z-index:5;background:#faf9f6;padding:10px;position:absolute;top:-100px;left:15px}.skip-link:focus{top:10px}@media (width<=620px){.site-shell{padding:0 24px}.site-header{flex-direction:column;align-items:flex-start;gap:12px;padding-top:24px}nav{flex-wrap:wrap;gap:15px;font-size:13px}main{padding:30px 0 24px}.page-heading{margin-bottom:24px}.experience{grid-template-columns:1fr;gap:5px}.experience .entry-date{margin-bottom:8px}.gallery{grid-template-columns:1fr}footer{flex-wrap:wrap}}
