:is(html:has(.resume),body:has(.resume)){background:var(--paper);color:var(--paper-text)}.resume-head{padding-top:4px}.resume{max-width:860px;padding:0 var(--gutter) 72px;background:var(--paper);color:var(--paper-text);margin-inline:auto;font-size:1.02rem;line-height:1.5}.resume ::selection{background:var(--signal);color:var(--paper-text)}.resume-toolbar{min-height:64px;font-family:var(--mono);letter-spacing:.04em;background:var(--bg);color:var(--text);box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax);justify-content:space-between;align-items:center;gap:16px;margin-bottom:48px;font-size:12px;font-stretch:87.5%;display:flex}.resume-toolbar div{align-items:center;gap:10px;display:flex}.resume-toolbar a,.resume-toolbar button{border:1px solid var(--line-2);color:var(--text);line-height:36px;font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 14px;text-decoration:none;display:inline-block}.resume-toolbar a:hover,.resume-toolbar button:hover{border-color:var(--lime)}.resume-toolbar{position:relative}.resume-toolbar:after{content:"";background:var(--signal);height:3px;box-shadow:-50vmax 0 0 0 var(--signal), 50vmax 0 0 0 var(--signal), -100vmax 0 0 0 var(--signal), 100vmax 0 0 0 var(--signal);position:absolute;bottom:0;left:0;right:0}.resume-toolbar>a{border-color:#0000;padding-left:0}.resume-head h1{letter-spacing:-.02em;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:720;font-stretch:106%;line-height:1.05}.resume-headline{color:var(--paper-muted);margin-top:8px;font-size:1.15rem}.resume-contact{font-family:var(--mono);flex-wrap:wrap;gap:4px 18px;margin-top:14px;font-size:12.5px;display:flex}.resume-contact a{color:var(--signal-deep)}.resume section{margin-top:36px}.resume h2{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--signal-deep);border-bottom:1px solid var(--paper-line);margin-bottom:14px;padding-bottom:6px;font-size:12.5px;font-weight:500}.resume p+p,.resume p+ul,.resume ul+dl,.resume p+dl{margin-top:10px}.resume-skills{color:#2c2f34;font-size:.93rem}.resume ul:not(.r-creds) li{margin-top:5px;padding-left:18px;position:relative}.resume ul:not(.r-creds) li:before{content:"";background:var(--signal-deep);width:8px;height:1.5px;position:absolute;top:.68em;left:2px}.r-job+.r-job{border-top:1px solid var(--paper-line);margin-top:26px;padding-top:20px}.r-job-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.r-job-head>span{font-family:var(--mono);color:var(--paper-muted);white-space:nowrap;font-size:12.5px}.r-job h3{letter-spacing:-.01em;font-size:1.35rem;font-weight:650;line-height:1.2}.r-job h3 span,.r-job h4 span{color:var(--paper-muted);font-weight:400}.r-job h4{font-size:1.08rem;font-weight:600}.r-titles{color:var(--paper-muted);margin-top:4px;font-size:.93rem}.r-assignment{margin-top:16px}.r-chronology{gap:6px;font-size:.93rem;display:grid}.r-chronology div{grid-template-columns:210px minmax(0,1fr);gap:16px;display:grid}.r-chronology dt{font-family:var(--mono);color:var(--paper-muted);padding-top:2px;font-size:12.5px}.r-more{margin-top:12px;font-size:.93rem}.r-more summary{cursor:pointer;font-family:var(--mono);color:var(--signal-deep);font-size:12.5px}.r-more .r-chronology{margin-top:8px}.r-creds{gap:8px;display:grid}.r-creds a{color:inherit}.resume-foot{border-top:1px solid var(--paper-line);font-family:var(--mono);color:var(--paper-muted);justify-content:space-between;margin-top:48px;padding-top:16px;font-size:12.5px;display:flex}@media (max-width:620px){.resume-toolbar .long{display:none}.resume-toolbar a,.resume-toolbar button{white-space:nowrap}.r-chronology div{grid-template-columns:minmax(0,1fr);gap:0}}@page{size:letter;margin:.5in .6in .55in}@media print{html,body,.resume{background:#fff}html:has(.resume){background:#fff}body:has(.resume){background:#fff}.resume{max-width:none;padding:0;font-size:9.4pt;line-height:1.3}.r-chronology div{grid-template-columns:1.45in minmax(0,1fr);gap:10px}.r-chronology dt{font-size:7.6pt}.resume ul:not(.r-creds) li{margin-top:2px}.r-job+.r-job{margin-top:12pt;padding-top:10pt}.resume-toolbar,.resume-foot,.r-more{display:none}.resume-head{border-top:3pt solid var(--signal);padding-top:10pt}.resume-head h1{font-size:22pt}.resume section{margin-top:14pt}.resume li,.r-chronology div{break-inside:avoid}.r-assignment h4,.r-job-head{break-after:avoid}.r-assignment,.r-assignment--across{break-inside:avoid}.r-assignment--across{break-before:page}.r-continued{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--paper-muted);margin-bottom:4pt;font-size:7.6pt}.resume h2{break-after:avoid}.r-job--early{break-inside:avoid}a{text-decoration:none}}.print-only{display:none}@media print{.print-only{display:grid}}.r-note{color:var(--paper-muted);margin-top:6px;font-size:.85rem}
