*,*:before,*:after{box-sizing:border-box}:root{--background: #e8e7e2;--foreground: #222222;--link: #0000ee;--space: 8px}@font-face{font-family:Belmonte Ballpoint;src:url(../../../fonts/belmonte-ballpoint.woff2) format("woff2");font-display:swap}@font-face{font-family:Open Sauce Sans;src:url(../../../fonts/OpenSauceSans-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Open Sauce Sans;src:url(../../../fonts/OpenSauceSans-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Open Sauce Sans;src:url(../../../fonts/OpenSauceSans-SemiBold.woff2) format("woff2");font-weight:600 700;font-display:swap}html{background:var(--background);color:var(--foreground);font-family:Open Sauce Sans,Arial,Helvetica,sans-serif;font-size:100%;line-height:1.5;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh;background:var(--background)}a{color:var(--link);text-decoration:none;text-underline-offset:2px}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--link);outline-offset:3px}main p a,main li a,main dd a,.content a{text-decoration:underline;text-decoration-thickness:1px}.skip-link{position:absolute;top:0;left:-9999px}.skip-link:focus{position:fixed;z-index:10;top:8px;left:8px;padding:8px 12px;background:var(--foreground);color:var(--background)}.wrap{width:min(695px,calc(100% - 40px));margin-inline:auto;padding:50px 0 80px}.wrap.wide{width:min(760px,calc(100% - 40px))}.profile-header{display:flex;min-height:168px;gap:calc(var(--space) * 2)}.profile-image{flex:0 0 168px;width:168px;height:168px;object-fit:cover}.identity{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:space-between;padding:1px 0 8px}h1,h2,p{margin:0}h1{font-size:1.5625rem;font-weight:400;line-height:1.2}.identity-line{font-size:1.25rem;line-height:1.2}.current-line{font-size:1.09375rem}.bio .current-line{margin-top:16px}h2{font-size:1.25rem;font-weight:700;line-height:1.2}.contact-links{display:flex;flex-direction:column;gap:var(--space);font-size:1.25rem;line-height:1.2}.link-row{display:flex;flex-wrap:wrap;gap:0 16px}main{margin-top:calc(var(--space) * 2);font-size:1.09375rem}section p{margin-top:var(--space)}.bio-description{margin-top:16px;line-height:1.5;text-align:justify}.bio-description+.bio-description{margin-top:16px}.experience{margin-top:calc(var(--space) * 2)}.projects,.skills{margin-top:0}.projects,.skills{margin-top:56px}.entry{margin-top:24px}.entry+.entry{margin-top:24px}.entry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space) calc(var(--space) * 2)}h3,.entry-heading span,.entry-context,dt,dd{font-size:1.09375rem;line-height:1.5}h3{margin:0;font-weight:600}.entry-heading span,.entry-context{color:#444}.entry-heading span{flex:0 1 auto;max-width:62%;text-align:right}.entry-context{margin-top:0}.entry ul{margin:8px 0 0;padding-left:17px}.entry li+li{margin-top:5px}.entry p:not(.entry-context){margin-top:8px;line-height:1.5}dl{margin:calc(var(--space) * 2) 0 0}dl>div+div{margin-top:var(--space)}dt{font-weight:700}dd{margin:0}.signature{position:fixed;right:clamp(24px,4vw,60px);bottom:clamp(24px,4vw,35px);color:var(--link);font-family:Belmonte Ballpoint,cursive;font-size:3.875rem;font-weight:400;line-height:1;transform:rotate(-7deg);transform-origin:bottom right}@media(max-width:900px){.wrap,.wrap.wide{width:auto;margin:0;padding:28px 20px 120px}.profile-header{gap:calc(var(--space) * 2);min-height:110px}.profile-image{flex-basis:110px;width:110px;height:110px}.identity{padding-bottom:2px}h1{font-size:1.25rem}.identity-line,.current-line{font-size:1rem}h2{font-size:1.125rem}.contact-links{font-size:1rem}.link-row{gap:3px 12px}main{margin-top:0;font-size:1rem}.experience{margin-top:calc(var(--space) * 2)}.projects,.skills{margin-top:48px}.entry-heading{display:block}h3,.entry-heading span,.entry-context,dt,dd{font-size:1rem}.entry-heading span{display:block;margin-top:0;max-width:none;text-align:left}.signature{right:20px;bottom:20px;font-size:3.125rem}}
