.full-resume{padding:32px var(--pad) 88px;max-width:1440px;margin:auto}.resume-header{display:flex;flex-direction:column;gap:20px;padding:24px 0 48px;border-bottom:1px solid var(--line)}.resume-header h1{font-size:56px;line-height:64px;letter-spacing:-1.68px}.resume-headline{font-size:28px;line-height:38px;letter-spacing:-.6px;color:var(--ink)}.resume-contact{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px;color:var(--muted)}.resume-contact a,.resume-profile-links a{min-height:24px}.resume-contact a:hover,.resume-profile-links a:hover,.resume-content p a:hover{text-decoration:underline;text-underline-offset:4px}.resume-availability{font-size:14px;line-height:24px}.resume-profile-links{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px;color:var(--accent);overflow-wrap:anywhere}.resume-downloads{display:flex;flex-wrap:wrap;gap:12px;padding-top:12px}.resume-downloads .button{gap:24px;min-width:174px}.resume-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;padding-top:56px}.resume-toc{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:12px;line-height:20px;color:var(--muted);position:sticky;top:32px;align-self:start}.resume-toc a{padding:6px 0;max-width:180px}.resume-toc a:hover{color:var(--accent)}.resume-content{max-width:870px;min-width:0}.resume-section{display:flex;flex-direction:column;gap:24px;padding-bottom:44px;margin-bottom:40px;border-bottom:1px solid var(--line);scroll-margin-top:32px}.resume-section h2{font-size:23px;line-height:32px;font-weight:500;letter-spacing:-.55px;color:var(--accent)}.resume-section p,.resume-section li,.resume-section dd{font-size:16px;line-height:28px;color:var(--muted)}.resume-entry{display:flex;flex-direction:column;gap:12px}.resume-entry+.resume-entry{margin-top:16px}.resume-entry-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.resume-entry h3{font-size:21px;line-height:30px;font-weight:600;letter-spacing:-.4px}.resume-entry .resume-date{font-size:12px;line-height:22px;white-space:nowrap;color:var(--muted)}.resume-entry .resume-byline{font-size:14px;line-height:24px;color:var(--ink);font-weight:500}.resume-entry ul{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:20px}.resume-skills{display:flex;flex-direction:column;gap:24px;margin:0}.resume-skills>div{display:flex;flex-direction:column;gap:8px}.resume-skills dt{font-size:16px;line-height:26px;font-weight:600;color:var(--ink)}.resume-skills dd{margin:0}.resume-education p{font-size:14px;line-height:24px}.resume-content p a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.resume-footer{display:flex;flex-direction:column;gap:32px}.resume-footer .resume-downloads{padding-top:0}
@media(max-width:1100px){.resume-body{grid-template-columns:180px minmax(0,1fr);gap:40px}.resume-header h1{font-size:48px;line-height:56px}.resume-entry-heading{flex-direction:column;align-items:start;gap:6px}.resume-toc a{max-width:160px}}
@media(max-width:850px){.resume-body{display:block;padding-top:32px}.resume-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 22px;padding-bottom:32px;margin-bottom:36px;border-bottom:1px solid var(--line)}.resume-toc a{max-width:none;min-height:36px;display:inline-flex;align-items:center}.resume-content{max-width:none}.resume-header{gap:18px}.resume-entry-heading{flex-direction:row;align-items:baseline;gap:16px}}
@media(max-width:600px){.full-resume{padding:16px 24px 56px}.resume-header{padding-top:16px;padding-bottom:32px;gap:18px}.resume-header h1{font-size:38px;line-height:46px;letter-spacing:-1.14px}.resume-headline{font-size:23px;line-height:32px;letter-spacing:-.46px}.resume-contact{gap:10px 20px;font-size:13px}.resume-profile-links{font-size:12px;line-height:22px;gap:10px}.resume-availability{font-size:13px;line-height:23px}.resume-downloads{gap:10px}.resume-downloads .button{min-width:0;flex:1;padding:14px 16px;gap:12px;font-size:13px;white-space:nowrap}.resume-toc{gap:6px 20px;padding-bottom:24px;margin-bottom:32px;font-size:11px;line-height:18px}.resume-section{gap:22px;padding-bottom:32px;margin-bottom:32px}.resume-section h2{font-size:21px;line-height:29px;letter-spacing:-.42px}.resume-section p,.resume-section li,.resume-section dd{font-size:15px;line-height:27px}.resume-entry-heading{flex-direction:column;align-items:start;gap:6px}.resume-entry h3{font-size:20px;line-height:29px}.resume-entry .resume-date{font-size:12px;line-height:22px}.resume-entry .resume-byline{font-size:13px;line-height:24px}.resume-entry ul{padding-left:18px;gap:12px}.resume-skills dt{font-size:15px;line-height:25px}.resume-education p{font-size:14px;line-height:25px}}
@media print{.case-nav,.resume-toc,.resume-downloads,.resume-footer{display:none}.full-resume{padding:0}.resume-body{display:block;padding-top:24px}.resume-content{max-width:none}.resume-header{padding:0 0 24px}.resume-header h1{font-size:30px;line-height:36px}.resume-headline{font-size:18px;line-height:26px}.resume-section{border:0;margin:0;padding-bottom:24px;gap:14px;break-inside:auto}.resume-entry{break-inside:avoid}.resume-section h2{font-size:18px;line-height:24px;color:#000}.resume-section p,.resume-section li,.resume-section dd{font-size:11px;line-height:18px}.resume-entry h3{font-size:14px;line-height:21px}.resume-contact,.resume-profile-links,.resume-availability{font-size:11px;line-height:18px}.resume-entry .resume-byline{font-size:11px;line-height:18px}}
