.web-resume{max-width:1120px;color:var(--ink);padding-top:64px;padding-bottom:100px}.web-resume header{border-bottom:1px solid var(--line);padding-bottom:38px;position:relative}.web-resume .header{justify-content:space-between;align-items:start;gap:24px;display:flex}.web-resume h1{letter-spacing:-.055em;margin:0 0 20px;font-size:clamp(48px,7vw,78px);font-weight:600;line-height:1.05}.web-resume h1 em{font-family:var(--serif);isolation:isolate;font-weight:400;position:relative}.web-resume h1 em:before,.web-resume .company-highlight:before{content:"";z-index:-1;background:#e5eba6;height:60%;position:absolute;bottom:2px;left:-3px;right:-5px;transform:rotate(-1deg)}.web-resume .identity{flex-wrap:wrap;align-items:baseline;gap:20px;font-size:20px;display:flex}.web-resume .location{color:var(--soft);font-size:15px}.web-resume .logo{display:none}.web-resume .resume-download{color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:24px;padding:14px 22px;font-size:15px;text-decoration:none;transition:transform .18s;display:inline-flex;position:absolute;bottom:38px;right:0}.web-resume .resume-download:hover{background:#efeee9;border-color:#85857b;transform:translateY(-2px)}.web-resume .resume-download svg{width:18px;height:18px}.web-resume .resume-download:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.web-resume a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.web-resume .resume-columns{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:64px;margin-top:44px;display:grid}.web-resume h2{font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:0 0 20px;font-size:12px;font-weight:400}.web-resume .resume-sidebar section{margin-bottom:36px}.web-resume .profile-lead{letter-spacing:-.03em;margin:0 0 14px;font-size:25px;font-weight:600;line-height:1.25}.web-resume .summary{color:var(--soft);margin:0;font-size:16px;line-height:1.65}.web-resume .contact{flex-direction:column;gap:12px;font-size:14px;display:flex}.web-resume .contact a{overflow-wrap:anywhere;align-items:center;gap:9px;text-decoration:none;display:flex}.web-resume .contact svg{flex:none;width:16px;height:16px}.web-resume .skill-list{margin:0;padding:0;list-style:none}.web-resume .skill-list li{align-items:center;gap:10px;margin:0 0 10px;font-size:15px;line-height:1.5;display:flex}.web-resume .skill-list svg{flex:none;width:18px;height:18px}.web-resume .tools{flex-wrap:wrap;gap:8px;display:flex}.web-resume .tool{background:#edeee6;border-radius:8px;align-items:center;gap:7px;padding:7px 10px;font-size:13px;line-height:1.4;display:inline-flex}.web-resume .tool img,.web-resume .tool svg{flex:none;width:16px;height:16px}.web-resume .education h3{letter-spacing:-.02em;margin:0 0 10px;font-size:19px;font-weight:600}.web-resume .education p{margin:0 0 5px;font-size:15px;line-height:1.5}.web-resume .education .degree-type{color:var(--soft);font-size:14px}.web-resume .education .meta{color:var(--soft);margin-top:12px;font-size:13px}.web-resume .job h3{letter-spacing:-.035em;margin:0 0 9px;font-size:27px;font-weight:600;line-height:1.3}.web-resume .company-highlight{isolation:isolate;display:inline-block;position:relative}.web-resume .job-role{color:var(--soft);margin:0;font-size:16px}.web-resume .contract-section{border-left:2px solid var(--line);margin-top:25px;padding-left:22px}.web-resume .contract-heading{margin-bottom:16px}.web-resume .contract-heading h4{margin:0 0 5px;font-size:19px;font-weight:600;line-height:1.4}.web-resume time{color:var(--soft);font-size:14px}.web-resume .job ul{margin:0;padding-left:18px;list-style:outside}.web-resume .job li{margin-bottom:13px;padding-left:3px;font-size:16px;line-height:1.65}.web-resume .job li:last-child{margin-bottom:0}.web-resume .job li::marker{color:var(--soft)}.web-resume .job+.job{margin-top:44px}@media (max-width:900px){.web-resume .resume-columns{grid-template-columns:210px minmax(0,1fr);gap:36px}.web-resume .resume-download{margin-top:25px;position:static}.web-resume{padding-top:38px}}@media (max-width:640px){.web-resume{padding-top:28px;padding-bottom:60px}.web-resume header{padding-bottom:28px}.web-resume h1{margin-bottom:16px;font-size:52px}.web-resume .identity{gap:12px;font-size:19px}.web-resume .resume-columns{flex-direction:column;gap:0;margin-top:30px;display:flex}.web-resume .resume-sidebar{display:contents}.web-resume .resume-sidebar section{order:3;width:100%;margin:0 0 32px}.web-resume .resume-sidebar .profile-section{order:0}.web-resume .resume-sidebar .resume-contact-section{order:1}.web-resume .resume-experience{order:2;width:100%;margin:0 0 40px}.web-resume .profile-lead{font-size:24px}.web-resume .job h3{font-size:25px}.web-resume .contract-section{padding-left:17px}.web-resume .job li{font-size:16px}.web-resume h2{margin-bottom:16px}}@media (prefers-reduced-motion:reduce){.web-resume .resume-download{transition:none}}
