.resume-shell{max-width:1200px}.resume-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 310px;align-items:center;gap:72px;padding:76px 0 64px;display:grid}.resume-hero .back-link{margin-bottom:34px;display:inline-flex}.resume-hero h1{font-family:var(--font-display);letter-spacing:-.05em;margin:18px 0;font-size:clamp(56px,7vw,92px);line-height:1.08}.resume-hero h1 span{color:var(--blueprint);letter-spacing:0;margin-top:14px;font-size:22px;font-weight:600;display:block}.resume-role{color:var(--ink);margin:26px 0 14px;font-size:clamp(17px,2vw,22px);font-weight:600}.resume-intro{max-width:680px;color:var(--ink-soft);margin:0;line-height:1.9}.resume-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.resume-profile{border:1px solid var(--line-dark);background:var(--panel-glass);box-shadow:var(--shadow-panel);border-radius:14px;padding:30px}.resume-profile h2{letter-spacing:-.025em;margin:16px 0 24px;font-size:23px}.resume-profile dl{margin:0}.resume-profile dl>div{border-top:1px solid var(--line);padding:16px 0}.resume-profile dl>div:last-child{padding-bottom:0}.resume-profile dt{color:var(--ink-soft);margin-bottom:4px;font-size:12px}.resume-profile dd{margin:0;font-size:15px}.resume-body{grid-template-columns:150px minmax(0,1fr);gap:72px;padding:64px 0 100px;display:grid}.resume-toc{flex-direction:column;align-self:start;gap:15px;display:flex;position:sticky;top:104px}.resume-toc .mono-label{margin-bottom:10px}.resume-toc a{color:var(--ink-soft);font-size:14px;text-decoration:none}.resume-toc a:hover{color:var(--blueprint)}.resume-content{min-width:0}.resume-content>section+section{margin-top:66px}.resume-section-heading .eyebrow{font-size:10px}.resume-section-heading h2{letter-spacing:-.035em;margin:10px 0 28px;font-size:clamp(28px,3vw,38px)}.resume-timeline{margin:0;padding:0;list-style:none}.resume-timeline li{border-left:1px solid var(--line-dark);grid-template-columns:174px minmax(0,1fr);gap:22px;padding:0 0 28px 24px;display:grid;position:relative}.resume-timeline li:before{content:"";background:var(--blueprint);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;left:-4px}.resume-timeline li:last-child{padding-bottom:0}.resume-period{color:var(--blueprint);font-family:var(--font-mono);margin:3px 0 0;font-size:12px;line-height:1.8}.resume-timeline h3,.resume-contributions h3{margin:0 0 8px;font-size:19px;line-height:1.6}.resume-timeline p:not(.resume-period),.resume-contributions p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.85}.resume-timeline p.resume-organization{margin-bottom:10px;font-size:12px}.resume-contributions{gap:24px;display:grid}.resume-contributions article{border-bottom:1px solid var(--line);padding-bottom:24px}.resume-recognition{color:var(--ink-soft);margin:22px 0 0;font-size:14px}.resume-qualifications{gap:0;margin:0;display:grid}.resume-qualifications>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;padding:21px 0;display:grid}.resume-qualifications>div:first-child{padding-top:0}.resume-qualifications dt{color:var(--ink);font-size:17px;font-weight:600}.resume-qualifications dd{color:var(--ink-soft);grid-column:1;margin:0;font-size:14px}.resume-qualifications dd.resume-period{grid-area:1/2/3;align-self:center;font-size:12px}.resume-practice-intro{color:var(--ink-soft);font-size:15px;line-height:1.9}.resume-projects{margin-top:20px;display:grid}.resume-projects a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:18px 0;font-size:16px;text-decoration:none;display:flex}.resume-projects a>span:last-child{color:var(--blueprint)}.resume-end{color:var(--ink-soft);border-top:1px solid var(--line);font-size:11px;font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:56px;padding-top:24px;display:flex}.resume-end a{color:var(--blueprint);text-decoration:none}@media (width<=1000px){.resume-hero{grid-template-columns:minmax(0,1fr) 270px;gap:32px}.resume-profile{padding:24px}.resume-body{grid-template-columns:130px minmax(0,1fr);gap:36px}.resume-timeline li{grid-template-columns:1fr;gap:8px}}@media (width<=820px){.resume-hero{grid-template-columns:1fr;gap:36px;padding-top:44px}.resume-profile{box-shadow:none}.resume-profile dl{grid-template-columns:1fr 1fr;gap:0 22px;display:grid}.resume-body{grid-template-columns:1fr;gap:40px;padding-top:32px}.resume-toc{border-bottom:1px solid var(--line);flex-flow:wrap;gap:14px 20px;padding-bottom:24px;position:static}.resume-toc .mono-label{display:none}.resume-content>section+section{margin-top:50px}}@media (width<=520px){.resume-actions{flex-direction:column}.resume-profile{padding:22px}.resume-profile dd{font-size:13px}.resume-qualifications>div{grid-template-columns:1fr;gap:5px}.resume-qualifications dd.resume-period{grid-area:auto/1}}@media print{@page{size:A4;margin:16mm}body.page-resume{color:#111;background:#fff;font-size:10pt;line-height:1.5}.page-resume{--ink:#111;--ink-soft:#444;--blueprint:#174874;--line:#ddd;--line-dark:#ccc}.page-resume .site-header,.page-resume .site-footer,.page-resume .skip-link,.resume-actions,.resume-toc,.resume-profile,.resume-hero .back-link{display:none}.resume-shell{width:100%;max-width:none}.resume-hero{padding:0 0 16px;display:block}.resume-hero h1{margin:8px 0 12px;font-size:30pt}.resume-hero h1 span{margin-left:16px;font-size:14pt;display:inline}.resume-role{margin:10px 0;font-size:12pt}.resume-intro{font-size:10pt}.resume-body{padding:20px 0 0;display:block}.resume-content>section+section{margin-top:24px}.resume-section-heading h2{break-after:avoid;margin:5px 0 14px;font-size:16pt}.resume-section-heading{break-after:avoid}.resume-timeline li{break-inside:avoid;grid-template-columns:138px minmax(0,1fr);gap:12px;padding:0 0 16px 16px}.resume-timeline h3,.resume-contributions h3{font-size:11pt}.resume-timeline p:not(.resume-period),.resume-contributions p,.resume-practice-intro,.resume-qualifications dd{font-size:10pt;line-height:1.65}.resume-period,.resume-timeline p.resume-organization{font-size:9pt}.resume-contributions{gap:14px}.resume-contributions article{break-inside:avoid;padding-bottom:14px}.resume-qualifications>div{break-inside:avoid;padding:12px 0}.resume-qualifications dt{font-size:11pt}.resume-recognition{font-size:10pt}.resume-projects a{padding:10px 0;font-size:10pt}.resume-end{margin-top:22px;padding-top:16px}.page-resume a{color:inherit}}
