
@font-face{font-family:Newsreader;src:url("/assets/fonts/Newsreader.68c4493c7c6c.ttf") format('truetype');font-weight:400 700;font-display:swap}
*{box-sizing:border-box}html{background:#fdfdfc;color:#252725;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}body{margin:0}main{max-width:720px;margin:0 auto;padding:92px 28px 64px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:62px;font-size:13px;color:#777b76}header a{color:inherit;text-decoration:none}header .mark{font-size:15px;color:#30332f;letter-spacing:-.4px}nav{display:flex;gap:23px}h1{font-family:Newsreader,Georgia,serif;font-weight:450;font-size:51px;line-height:1.1;letter-spacing:-1.7px;margin:0 0 21px}.intro{font-size:18px;line-height:1.7;color:#60645f;max-width:575px;margin:0 0 36px}.line{font-size:16px;line-height:2.35;margin:0 0 17px;color:#686d67}.label{display:inline-block;color:#373c36;margin-right:6px}.chip{display:inline-flex;align-items:center;vertical-align:middle;gap:6px;padding:2px 7px 2px 5px;margin:0 3px 4px 0;background:#f0f1ed;border:1px solid #e6e8e1;border-radius:6px;color:#383c35;text-decoration:none;font-size:14px;line-height:24px;white-space:nowrap;transition:background .12s}.chip img{width:20px;height:20px;object-fit:contain;border-radius:4px}.chip:hover{background:#e5e8df}.chip:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #52664c;outline-offset:4px}.initial{width:20px;height:20px;display:inline-grid;place-items:center;background:#e4e7df;font-size:12px;border-radius:4px}.work{margin-top:42px}.work h2{font-size:12px;letter-spacing:0;font-weight:500;color:#92968f;margin:0 0 22px}.entry{margin-bottom:22px}.entry p{font-size:14px;line-height:1.65;color:#7b8078;margin:4px 0 0}.entry .chip{margin-bottom:0}footer{display:flex;gap:24px;margin-top:40px;padding-top:22px;border-top:1px solid #eee;color:#7b8078;font-size:13px}footer a{color:inherit;text-decoration:none}details{margin-top:27px}summary{cursor:pointer;font-size:14px;color:#6d7467}details p{font-size:14px;line-height:1.7;color:#7b8078}@media(max-width:600px){main{padding:38px 24px 40px}header{margin-bottom:46px}nav{gap:17px}h1{font-size:43px;letter-spacing:-1.3px}.intro{font-size:17px}.line{font-size:15px}.chip{font-size:13px}.work{margin-top:34px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.connect{display:flex;align-items:center;flex-wrap:wrap;gap:17px;margin:-12px 0 35px;font-size:13px}.connect>a:not(.newsletter){color:#73796f;text-decoration:none}.connect .newsletter{display:inline-flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #dce3d5;border-radius:8px;background:#edf1e8;text-decoration:none;color:#35442e}.newsletter img{width:24px;height:24px;border-radius:5px;object-fit:contain}.newsletter strong{display:block;font-size:13px;font-weight:550}.newsletter small{display:block;margin-top:3px;font-size:11px;color:#76806e}.pending-social{color:#a5aaa0;cursor:help}.line{margin-bottom:21px}header{margin-bottom:49px}.intro{margin-bottom:31px}@media(max-width:600px){.connect{gap:16px}.connect .newsletter{flex-basis:100%;width:max-content;flex-grow:0}.newsletter strong{font-size:13px}header{margin-bottom:38px}}.social-icon{width:24px;height:24px;display:grid;place-items:center;font-size:22px;font-weight:600;color:#35442e}.linkedin-icon{font-family:Arial,sans-serif;font-size:16px;border:1.5px solid #72816a;border-radius:4px;width:22px;height:22px}.connect{gap:10px;align-items:stretch}.connect .newsletter{min-height:59px}.connect .social-button{flex:1;justify-content:flex-start}.connect .pending-social{cursor:help}@media(max-width:600px){.connect{gap:10px}.connect .newsletter:not(.social-button){flex-basis:100%}.connect .social-button{flex-basis:calc(50% - 5px);min-width:0}}
/* Keyboard and touch focus reveal the same factual descriptions as hover. */
.project{display:inline-block;vertical-align:middle;max-width:100%}
.project .chip{max-width:100%;white-space:normal}
.project-label{overflow-wrap:anywhere}
.project-description{position:fixed;z-index:10;bottom:20px;left:50%;transform:translateX(-50%);width:min(420px,calc(100vw - 40px));padding:12px 16px;border:1px solid #dce3d5;border-radius:8px;background:#edf1e8;color:#35442e;font-size:14px;line-height:1.6;visibility:hidden;opacity:0;pointer-events:none;box-shadow:0 2px 12px #25272512}
.project:hover .project-description,.project:focus-within .project-description{visibility:visible;opacity:1;pointer-events:auto}
.skip-link{position:fixed;left:12px;top:12px;z-index:20;transform:translateY(-180%);padding:10px;background:#edf1e8;color:#35442e}.skip-link:focus{transform:none}
.line h2{display:inline;font-size:16px;font-weight:400;line-height:inherit;margin:0 6px 0 0;color:#373c36}
.line h2 small{font-size:12px;color:#60645f}.error-page h1{margin-bottom:24px}


.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
