@charset "UTF-8";
:root{--paper:#fff;--ink:#173548;--muted:#526878;--blue:#214bd4;--tint:#eef3ff;--line:#d8e1eb;--navy:#133445;--body:"Aptos","Segoe UI",Arial,sans-serif;--display:"Bahnschrift","Aptos Display","Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--blue)}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:#d4e0ff;color:#133445}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.15;font-weight:600}h1,h2,.impact-number,.closing a{font-family:var(--display)}svg{vertical-align:middle}.skip-link{position:absolute;top:-100px;left:16px;background:white;padding:10px;z-index:5}.skip-link:focus{top:12px}.masthead,main,footer{width:min(1180px,calc(100% - 112px));margin-inline:auto}.masthead{display:flex;align-items:center;justify-content:space-between;min-height:100px;border-bottom:1px solid var(--line)}.wordmark{font-size:25px;letter-spacing:-1.3px;font-weight:750;text-decoration:none}.wordmark span{color:var(--blue)}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a{text-decoration:none}nav span{margin-left:5px}.intro{padding:83px 0 73px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:76px}.role{font-size:19px;color:var(--blue);font-weight:600;margin-bottom:25px}h1{font-size:clamp(76px,8.2vw,112px);font-weight:600;letter-spacing:-6px;line-height:.94}.period{color:var(--blue)}.intro-copy{max-width:560px;font-size:20px;line-height:1.6;margin-top:34px;color:var(--muted)}.actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:19px;padding:15px 22px;font-size:15px;font-weight:650;text-decoration:none;border-radius:6px;line-height:1.4}.primary{background:var(--blue);color:#fff}.primary:hover{background:#173bab;color:#fff}.contact-link{font-size:15px;font-weight:600;text-decoration:none}.contact-link span{margin-left:6px}.intro-aside{padding-top:54px}.impact{padding:29px 25px 26px;background:var(--tint);border-radius:7px 7px 40px 7px}.impact-number{display:block;font-size:48px;line-height:1.1;letter-spacing:-2.7px;color:var(--blue)}.impact-number span{font-size:32px;vertical-align:top;display:inline-block;margin:4px 0 0 4px}.impact p{font-size:15px;line-height:1.55;margin-top:12px}.impact-company{display:block;font-size:13px;color:var(--muted);margin-top:19px}.profile-links{display:flex;flex-direction:column;margin-top:25px;gap:12px;font-size:15px}.profile-links a{display:flex;justify-content:space-between;text-decoration:none;padding:2px 0}.profile-links span{color:var(--blue)}.resume-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:76px;padding:60px 0 70px;border-top:1px solid var(--line)}h2{font-size:27px;letter-spacing:-.8px}h3{font-size:24px;letter-spacing:-.5px}.sidebar h2{font-size:22px;letter-spacing:-.4px;margin-bottom:27px}.sidebar h3{font-family:var(--body);font-size:14px;font-weight:700;letter-spacing:0;margin-bottom:7px}.sidebar p{font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:21px}.sidebar .education{margin-top:43px}.education h2{margin-bottom:22px}.education h3{font-size:16px}.education p{margin-bottom:12px}.education .muted{font-size:13px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:31px}.section-heading>span{font-size:13px;color:var(--muted)}.employer{margin-bottom:30px}.employer p{font-size:14px;color:var(--muted);margin-top:9px}.employer p span{margin:0 7px;color:#8a9aa7}.job{border-left:2px solid var(--line);padding-left:24px;margin-left:3px;position:relative;margin-bottom:34px}.job:before{content:"";position:absolute;width:10px;height:10px;left:-6px;top:6px;border-radius:50%;background:var(--blue)}.job-title h4{font-size:18px;line-height:1.4;font-weight:650}.job-title p{font-size:13px;color:var(--muted);margin-top:5px}.job ul{padding-left:18px;margin:18px 0 0;font-size:16px;line-height:1.7;color:var(--muted)}.job li{padding-left:3px;margin-bottom:12px}.job li:last-child{margin-bottom:0}strong{font-weight:650;color:var(--ink)}.recognition{font-size:14px;line-height:1.6;margin-top:8px;color:var(--muted)}.recognition span{color:var(--blue);font-size:19px;margin-right:8px}.projects{margin-top:55px}.projects .section-heading{margin-bottom:20px}.project{padding:26px 0;border-top:1px solid var(--line)}.project:last-child{padding-bottom:0}.project-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.project h3 a{text-decoration:none;font-size:25px}.project h3 span{font-size:20px;color:var(--blue);margin-left:7px}.project-kind{font-size:12px;color:var(--muted)}.project p{font-size:16px;line-height:1.75;color:var(--muted)}.project .stack{font-size:12px;color:var(--blue);margin-top:15px;line-height:1.8}.project .project-result{font-size:14px;margin-top:12px}.qr-panel{border:1px solid var(--line);border-radius:8px;padding:22px;margin-top:40px;background:#fff}.qr-panel img{display:block;margin-left:-9px;margin-bottom:16px}.qr-panel h2{font-size:19px;margin-bottom:8px}.qr-panel p{font-size:13px;margin-bottom:9px}.qr-panel a{color:var(--blue);font-size:13px}.closing{background:var(--navy);color:white;padding:43px 48px 39px;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:45px}.closing p{font-size:17px;color:#c4d7e5}.closing a{font-size:42px;font-weight:500;letter-spacing:-1.8px;text-decoration:none;white-space:nowrap}.closing a:hover{color:#c8d7ff}.closing a span{font-family:var(--body);margin-left:24px;font-size:37px}footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);padding-bottom:33px}footer a{color:var(--ink)}
@media(min-width:1500px){.intro{padding-top:100px;padding-bottom:85px}}
@media(max-width:1000px){.masthead,main,footer{width:calc(100% - 64px)}.intro{gap:35px;grid-template-columns:minmax(0,1fr) 245px}.intro-aside{padding-top:45px}.impact{padding:25px 20px}.impact-number{font-size:42px}.resume-layout{gap:45px;grid-template-columns:230px minmax(0,1fr)}.actions{gap:20px}.button{padding:14px 17px}h1{font-size:83px}.closing a{font-size:35px}.closing{padding:32px}}
@media(max-width:740px){.masthead,main,footer{width:calc(100% - 40px)}.masthead{min-height:76px}nav{gap:18px;font-size:12px}nav a:first-child{display:none}.wordmark{font-size:23px}.intro{padding:48px 0 40px;grid-template-columns:1fr;gap:30px}.role{font-size:16px;margin-bottom:24px}h1{font-size:clamp(67px,13vw,88px);letter-spacing:-4px}.intro-copy{font-size:18px;margin-top:26px;max-width:530px}.actions{gap:20px;margin-top:26px;flex-wrap:wrap}.button{font-size:14px;padding:15px 18px}.contact-link{font-size:14px}.intro-aside{padding:0;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center}.impact{padding:23px 18px}.impact-number{font-size:36px;letter-spacing:-1.5px}.impact-number span{font-size:25px}.impact p{font-size:13px;margin-top:9px}.impact-company{font-size:11px;margin-top:14px}.profile-links{margin:0;font-size:13px;gap:15px}.resume-layout{grid-template-columns:1fr;padding:38px 0 40px;gap:44px}.career{grid-row:1}.sidebar{grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;border-top:1px solid var(--line);padding-top:37px}.sidebar .education{margin-top:0}.sidebar h2{font-size:21px}.sidebar h3{font-size:14px}.sidebar p{font-size:14px}.qr-panel{grid-column:1 / -1;margin-top:0;display:flex;align-items:center;gap:22px;padding:14px}.qr-panel img{margin:0;width:112px;height:112px}.qr-panel h2{font-size:20px;margin-bottom:8px}.qr-panel p{font-size:13px}.section-heading{margin-bottom:26px}h2{font-size:26px}.employer{margin-bottom:25px}.job{padding-left:20px}.job ul{font-size:15px}.job-title h4{font-size:18px}.projects{margin-top:42px}.project p{font-size:15px}.project-kind{font-size:11px}.closing{display:block;padding:28px;margin-bottom:28px}.closing p{font-size:15px;margin-bottom:12px}.closing a{font-size:39px}.closing a span{font-size:29px}footer{font-size:11px;flex-wrap:wrap;gap:8px 16px}footer>span:last-child{display:none}}
@media(max-width:380px){.intro-aside{grid-template-columns:1fr}.profile-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 22px}.profile-links span{margin-left:8px}.sidebar{grid-template-columns:1fr}.sidebar .education{margin-top:5px}.project-top{align-items:start;flex-direction:column;gap:7px}.impact-number{font-size:42px}.impact p br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{font-size:11pt;color:#111}.masthead,main,footer{width:100%}.masthead{min-height:40px}.intro{padding:25px 0;gap:25px;grid-template-columns:1fr 220px}h1{font-size:55px;letter-spacing:-2px}.role{font-size:14px;margin-bottom:12px}.intro-copy{font-size:12px;margin-top:18px}.intro-aside{padding-top:10px}.impact{padding:12px}.impact-number{font-size:32px}.actions,nav,.closing,.qr-panel{display:none}.profile-links{font-size:11px;gap:4px;margin-top:10px}.resume-layout{grid-template-columns:180px 1fr;gap:30px;padding:25px 0}.sidebar h2,h2{font-size:18px}.sidebar p,.job ul,.project p{font-size:11px}.job-title h4{font-size:14px}.job,.project{break-inside:avoid}.projects{margin-top:25px}.sidebar h3{font-size:12px}.section-heading{margin-bottom:15px}.job{margin-bottom:20px}.project{padding:15px 0}footer{font-size:10px}}
