*{box-sizing:border-box}html{scroll-padding-top:24px}body{color:#111;background:#fff;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}.wrap{width:min(760px,100% - 48px);margin-inline:auto}a{color:inherit;text-underline-offset:3px;text-decoration:underline}a:hover{text-decoration-thickness:2px}a:focus-visible{outline-offset:4px;outline:2px solid #111}.site-header a{font-size:14px;text-decoration:none}.site-header a:hover,nav a[aria-current=page]{text-decoration:underline}.site-header .name{font-size:32px;font-weight:600;line-height:1.25;display:inline-block}nav{border-bottom:1px solid #ddd;flex-wrap:wrap;gap:12px 24px;margin-top:24px;padding-bottom:18px;display:flex}main{min-height:45vh;padding-top:32px}.overview{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.overview>section{min-width:0}.overview p:last-child{margin-bottom:0}h1,h2,h3,p{text-indent:0;text-align:left;margin:0;padding:0}h1{margin-bottom:28px;font-size:32px;font-weight:600;line-height:1.25}.intro h1,h2{margin-bottom:20px;font-size:20px;font-weight:500;line-height:1.4}h3{font-size:16px;font-weight:500;line-height:1.5}p{margin-bottom:18px}.social-links{flex-wrap:wrap;gap:0 10px;margin-bottom:20px;font-size:14px;display:flex}.section{border-top:1px solid #ddd;margin-top:48px;padding-top:28px}article{margin-top:30px}article h2{margin-bottom:5px}article p{margin-top:10px;margin-bottom:0}.date{margin-top:3px;font-size:14px}#experience .date{margin:0 0 6px}.resume-document{display:block}.resume-preview{border:1px solid #ddd;width:100%;height:auto;display:block}footer{border-top:1px solid #ddd;margin-top:60px;padding-block:24px;font-size:13px}footer p{margin:0}.skip-link{background:#fff;padding:8px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:10px}@media (width<=600px){.overview{grid-template-columns:1fr;gap:36px}}@media (width<=520px){.wrap{width:calc(100% - 40px)}.site-header{padding-top:26px}nav{gap:10px 20px}main{padding-top:18px}h1{font-size:28px}}.experience-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.experience-heading h2{margin:0}.experience-heading a{white-space:nowrap;font-size:13px;text-decoration:none}.experience-heading a:hover{text-decoration:underline}#experience article{margin-top:0}.experience-page article{border-top:1px solid #ddd;margin-top:28px;padding-top:24px}.experience-page article h2{margin-bottom:10px;font-size:18px}.experience-page .date{margin:0 0 8px;font-size:13px}#root{flex-direction:column;min-height:100svh;display:flex}.site-header{padding-top:clamp(16px,3vh,32px)}nav{margin-top:16px;padding-bottom:12px}main{flex:1;min-height:0;padding-top:22px}h1{margin-bottom:18px;font-size:28px}footer{margin-top:24px;padding-block:14px}.social-links{margin-bottom:10px}.page-experience article,.page-projects article{border-top:1px solid #ddd;margin-top:14px;padding-top:12px}.page-experience article h2,.page-projects article h2{margin-bottom:4px;font-size:17px}.page-experience article p,.page-projects article p{margin-top:4px;font-size:14px;line-height:1.45}.page-experience .date,.page-projects article .date{font-size:12px}.page-resume{flex-direction:column;display:flex}.page-resume h1{margin-bottom:8px}.page-resume>p{margin-bottom:10px;font-size:13px}.resume-preview{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100svh - 265px)}@media (height<=760px),(width<=520px){body{font-size:14px;line-height:1.4}.site-header .name{font-size:26px}.site-header{padding-top:14px}nav{gap:10px 18px;margin-top:12px;padding-bottom:10px}main{padding-top:16px}h1{margin-bottom:12px;font-size:24px}footer{margin-top:16px;padding-block:10px}.page-experience article,.page-projects article{margin-top:10px;padding-top:8px}.page-experience article p,.page-projects article p{font-size:12px;line-height:1.35}.page-experience article h2,.page-projects article h2{font-size:15px;line-height:1.3}.page-projects article .date,.page-experience .date{font-size:11px}.resume-preview{max-height:calc(100svh - 222px)}.overview{gap:24px}}.page-projects article{min-width:0}@media (width>=900px){.page-projects{width:min(1120px,50% + 356px);margin-left:calc(50% - 380px);margin-right:24px}.page-projects>h1{margin-bottom:10px}.page-projects article{margin-top:10px;padding-top:8px}.page-projects article p{line-height:1.35}}@media (width>=900px) and (height<=850px){.page-projects article p{font-size:12px}.page-projects article .date{font-size:11px}.page-projects article p+p:not(.date){margin-top:5px}.page-projects article{margin-top:8px;padding-top:6px}}@media (width>=900px){.page-projects article p{line-height:1.25}.page-projects article p+p:not(.date){margin-top:5px}.page-projects article{margin-top:8px;padding-top:6px}}#root:has(.page-home){justify-content:flex-start}#root:has(.page-home) main{flex:none}#root:has(.page-home) footer{margin-top:16px}.page-projects article p+p:not(.date),.page-experience article p+p{margin-top:10px}#root main{flex:none}#root footer{margin-top:16px}.page-experience article .role{margin-top:0;font-size:12px}.page-experience article h2{margin-bottom:0;font-family:Times New Roman,Times,serif;font-size:17px;font-weight:700;line-height:1.2}.page-experience article .role{margin-top:2px;font-family:Times New Roman,Times,serif;font-size:14px;font-style:italic;line-height:1.25}.page-projects article h2{margin-bottom:2px}.page-projects article p:last-child{margin-top:10px}.page-projects .project-stack{font-size:12px;font-weight:400}@media (width>=900px){.page-experience{width:min(1120px,50% + 356px);margin-left:calc(50% - 380px);margin-right:24px}}.page-projects article{margin-top:16px;padding-top:12px}.page-projects article>p{padding-left:18px}.page-projects article>.project-tech,.page-projects article>.project-links{padding-left:0}.page-projects article>.project-tech{margin-top:1px;font-size:12px;line-height:1.3}.page-projects article h2{font-family:Times New Roman,Times,serif;font-weight:700}.page-projects article>.project-tech{font-family:Times New Roman,Times,serif;font-size:14px;font-style:italic}.brand-icon{object-fit:contain;vertical-align:-4px;width:20px;height:20px;margin-right:2px;display:inline-block}.intro a,.page-experience article h2 a{text-decoration:none}.intro a:hover,.page-experience article h2 a:hover{color:#06c;text-decoration:underline}.project-inline-link{white-space:nowrap;text-decoration:none}.project-inline-link:hover{color:#06c;text-decoration:underline}.project-inline-link img[src$=tsa-tight\.png]{vertical-align:-5px;width:30px;height:18px;margin-right:2px}.page-resume{width:min(900px,100% - 48px)}.resume-heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.resume-heading h1{margin-bottom:12px}.resume-heading p{white-space:nowrap;margin:0;font-size:13px}.resume-document{align-self:center}.resume-preview{max-height:calc(100svh - 210px)}@media (width<=520px){.resume-heading{display:block}.resume-heading p{margin-bottom:10px}.resume-preview{max-height:calc(100svh - 240px)}}
