@font-face{font-family:Inter;src:url('assets/Inter.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--paper:#fff;--ink:#222a26;--muted:#5d6860;--accent:#246247;--line:#dce2dc;--side:#f2f5f0}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--muted) var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 'Inter',sans-serif}::selection{background:#d0e4d2;color:var(--ink)}a{color:var(--accent);text-underline-offset:.28em;text-decoration-thickness:1px}a:hover{color:#153a28}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-80px;left:20px;background:white;padding:15px;z-index:5}.skip:focus{top:10px}.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:245px 1fr}.sidebar{padding:48px 30px;background:var(--side);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.name{font-size:21px;font-weight:650;letter-spacing:-.025em;color:var(--ink);text-decoration:none}.sidebar>p{font-size:13px;color:var(--muted);line-height:1.6;margin:10px 0 30px}nav{display:flex;flex-direction:column}nav a{padding:11px 0;min-height:44px;font-size:13px;text-decoration:none;color:var(--muted)}nav a:hover{color:var(--accent);text-decoration:underline}.sidebar-bottom{margin-top:auto;padding-top:35px;font-size:12px}.sidebar-bottom>a{display:inline-block;padding-block:10px}.sidebar-bottom p{color:var(--muted);line-height:1.8;margin:18px 0 0}main{padding:65px clamp(28px,6vw,100px) 30px;min-width:0}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;letter-spacing:-.025em}h1{font-size:clamp(34px,3.7vw,48px);line-height:1.15;font-weight:600;max-width:700px}.intro>p{max-width:650px;margin-top:26px;font-size:17px;color:var(--muted)}.intro>p.availability{font-size:12px;margin-top:22px;color:var(--accent)}.intro{padding-bottom:58px}.entry{border-top:1px solid var(--line);padding:35px 0 44px;scroll-margin-top:24px}h2{font-size:23px;line-height:1.3;font-weight:600}.context{font-size:12px;color:var(--muted);margin-top:8px}.entry-body{max-width:720px;margin-top:25px;display:grid;gap:22px}h3{font-size:13px;letter-spacing:0;margin-bottom:7px;font-weight:650;color:var(--accent)}.entry-body p{max-width:70ch}.outcome{background:var(--side);padding:18px 22px}.entry-body table{width:100%;border-collapse:collapse;font-size:13px;text-align:left;margin:2px 0 5px}.entry-body caption{text-align:left;font-size:12px;color:var(--muted);padding-bottom:10px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);font-weight:400}thead th{background:var(--side);font-size:12px;font-weight:600}td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}thead th:last-child{text-align:right}ul{padding-left:19px;margin:0}li{padding-left:4px;margin-bottom:9px}.background-list{margin:0;display:grid;gap:20px}.background-list>div{display:grid;grid-template-columns:140px 1fr;gap:15px}dt{color:var(--muted);font-size:12px}dd{margin:0;font-size:14px}.contact>p{margin-top:16px;color:var(--muted)}.email{display:inline-block;margin-top:18px;font-size:clamp(17px,2vw,23px);overflow-wrap:anywhere;max-width:100%}.contact-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:12px;font-size:12px}.contact-links a{padding-block:12px}footer{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}footer a{padding-bottom:10px}@media(max-width:800px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:22px 6%}.sidebar>p{margin:4px 0 12px}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:0 20px}.sidebar-bottom{margin:0;padding:0}.sidebar-bottom p{display:none}.sidebar-bottom>a{padding-top:5px}main{padding:38px 6% 25px}.intro{padding-bottom:35px}.intro>p{font-size:16px}.entry{padding:28px 0 34px}.entry-body{margin-top:22px}}@media(max-width:450px){.background-list>div{grid-template-columns:1fr;gap:4px}.sidebar nav{gap:0 15px}.sidebar nav a{font-size:12px}h1{font-size:34px}h2{font-size:21px}footer{flex-direction:column;gap:8px}.outcome{padding:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@font-face{font-family:PlexSerif;src:url('assets/IBMPlexSerif-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:PlexSerif;src:url('assets/IBMPlexSerif-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
.name{font-family:PlexSerif,Georgia,serif;font-size:24px;font-weight:500;line-height:1.3}
h1{font-family:Inter,sans-serif;font-size:clamp(36px,3.8vw,52px);font-weight:550;line-height:1.16;letter-spacing:-.03em}
h2{font-family:PlexSerif,Georgia,serif;font-size:29px;line-height:1.3;font-weight:400;letter-spacing:-.02em;max-width:700px}
.intro>p.experience{font-size:15px;font-weight:600;color:var(--ink);margin-top:18px}
.intro>p:not(.experience):not(.availability){font-size:16px;margin-top:20px}
.entry{padding-top:33px}
.performance-result{margin:4px 0 12px;color:var(--accent)}
.performance-result strong{display:block;font-size:25px;line-height:1.35;font-weight:600;letter-spacing:-.025em}
.performance-result span{display:block;font-size:15px;margin-top:5px;font-variant-numeric:tabular-nums}
.measurement{font-size:12px;color:var(--muted);margin-bottom:18px}
@media(max-width:800px){.name{font-size:24px}h1{font-size:38px}h2{font-size:27px}.intro>p.experience{font-size:14px;line-height:1.7}}
@media(max-width:450px){h1{font-size:36px}h2{font-size:25px}.intro>p.experience{max-width:300px}.sidebar nav{gap:0 18px}.performance-result strong{font-size:23px}}

.intro>p.availability{font-size:16px;line-height:1.7;color:var(--ink);max-width:650px}.availability strong{font-weight:650}
