*{margin:0;padding:0}body{background:#fff;color:#202020;font-family:pt sans,arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*::selection{background:#4b5563!important;color:#fff!important}*::-moz-selection{background:#4b5563!important;color:#fff!important}a{text-decoration:none;color:#202020}a i{padding:0 .2rem 0 .25rem}a:hover{text-decoration:underline}.details a:not(.no-external-icon)::after{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==);margin:0 .2rem 0 .25rem}.error{color:#b91c1c;font-weight:600}li{list-style-type:square;padding-left:0;list-style-position:inside;margin:.5rem 0}.paper{--section-gap:0.8rem;--item-gap:0.28rem;--group-gap:0.5rem;--para-gap:0.25rem;--list-gap:0.2rem;position:relative;margin:.5rem auto;padding:.8in .5in .45in;width:210mm;height:297mm;background-color:#fff;-webkit-box-shadow:.2rem .2rem .6rem #aaa;-moz-box-shadow:.2rem .2rem .6rem #aaa;box-shadow:.2rem .2rem .6rem #aaa;box-sizing:border-box;font-size:.88rem;line-height:1.3}.paper h1,.paper h2,.paper h3{line-height:1.2}.paper h1{font-size:1.35rem;line-height:1.2;margin-bottom:.75rem}.paper h2{font-size:1.2rem;line-height:1.2;margin-bottom:.5rem}.paper h3{font-size:1rem;line-height:1.2;margin-bottom:.2rem}.paper p{margin:var(--para-gap)0;font-size:.95rem;line-height:1.35;text-align:justify}.paper li{margin:var(--list-gap)0}.paper>*:first-child{margin-top:0}main.paper{margin-top:2.5rem;padding-top:0}main.paper .grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);grid-column-gap:0;grid-row-gap:0}main.paper .grid .flex-row{display:flex;flex-direction:row;justify-content:space-between}main.paper.auto-page .grid{display:flex;flex-direction:column;height:100%}main.paper.auto-page header{flex:none;margin-top:.2in}main.paper.auto-page .single-column,main.paper.auto-page .single-column-no-header{flex:auto;min-height:0}main.paper header{grid-area:1/1/2/8;border-bottom:var(--header-line-width,.05rem)solid #4b5563;display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;padding-top:.25rem;padding-bottom:.5rem}main.paper header .title{display:flex;flex-direction:column;justify-content:flex-start;font-family:pt sans,arial,sans-serif;align-items:flex-start}main.paper header .title h1{margin-bottom:0;font-size:4rem;line-height:1.2;display:inline-block;font-size:3.2rem;line-height:1.05;color:#202020;letter-spacing:.01em;text-transform:none}main.paper header .title h2{margin-top:-.14rem;margin-bottom:.38rem;font-size:1rem;line-height:1.2}main.paper header .title .contact,main.paper header .title .contact-links{display:block;line-height:1.08}main.paper header .title .tagline+.contact,main.paper header .title .tagline+.contact-links{margin-top:.08rem}main.paper header .title h1 .name-first{font-weight:700;color:#202020}main.paper header .title h1 .name-rest{font-weight:400;color:#5c6670}main.paper header .avatar-wrap{align-self:flex-start;margin:0;margin-top:.45rem;padding:0}main.paper header .avatar{display:block;margin:0;padding:0;object-fit:cover;width:6.6rem;height:6.6rem;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%;border-radius:50%}main.paper header a i{padding:0}main.paper header .contact a,main.paper header .contact-links a{display:inline-flex;align-items:center;gap:.25rem;padding:1px 4px}main.paper header .contact-links .icon-svg{width:1em;height:1em;display:inline-block;vertical-align:-.1em;padding:0 .2rem 0 .25rem;margin:0}main.paper .single-column,main.paper .single-column-no-header{display:flex;flex-direction:column;justify-content:flex-start;margin-top:.75rem}main.paper .single-column>*:first-child,main.paper .single-column>*:first-child>*:first-child,main.paper .single-column-no-header>*:first-child,main.paper .single-column-no-header>*:first-child>*:first-child{margin-top:0}main.paper .single-column-no-header{grid-area:1/1/8/8;margin-top:2.5rem}main.paper .single-column{grid-area:2/1/8/8}main.paper section.section,main.paper .section{margin-bottom:var(--section-gap)}main.paper .section-title{margin-bottom:.35rem;font-size:1.35rem;line-height:1.1;letter-spacing:0}main.paper .item-subtitle{font-size:.95rem;font-weight:500;line-height:1.2}main.paper .item-title{font-size:1rem;line-height:1.2;font-weight:700}main.paper .section-education .item-title{margin-bottom:calc(var(--list-gap) * .5)}main.paper .item{margin-bottom:var(--item-gap)}main.paper .item.group{margin-bottom:var(--group-gap)}main.paper .item.group.experience-group{margin-bottom:calc(var(--list-gap) * .3)}main.paper .experience-company{font-size:1rem;font-weight:700;line-height:1.2}main.paper .job-experience{margin-bottom:var(--item-gap)}main.paper .section-experience .job-experience.grouped-role{margin-bottom:calc(var(--item-gap) * .35)}main.paper .section-education .grouped-degree{margin-bottom:calc(var(--item-gap) * .35)}main.paper .section-education .grouped-degree:last-child{margin-bottom:0}main.paper .section-experience .grouped-role .item-subtitle,main.paper .section-education .grouped-degree .item-subtitle{line-height:1.1}main.paper .section-experience .grouped-role .soft-color,main.paper .section-education .grouped-degree .soft-color{line-height:1.1}main.paper .section-experience .job-experience{margin-top:0}main.paper .job-experience ul{margin:var(--list-gap)0 calc(var(--list-gap) + .05rem);padding-left:0}main.paper .job-experience li{margin:var(--list-gap)0}.details{margin-top:.05rem}.details p{margin:.1rem 0}.details ul{margin:.1rem 0 .15rem;padding-left:1.05rem;list-style:disc outside}.details li{margin:.12rem 0;list-style:disc outside}.section-title{display:flex;align-items:baseline;gap:.1rem;text-transform:uppercase;font-weight:700}.section-title-text{display:inline-block}.section-title-text::first-letter{font-size:1.35em}.section-title::after{content:"";flex:1;border-bottom:var(--section-line-width,1px)solid #5c6670;transform:translateY(.05em)}.subsection-title{font-weight:700;font-size:1.15rem;line-height:1.2;text-transform:none;letter-spacing:0}.subsection-title::first-letter{font-size:1em}.soft-color{color:#4b5563;font-size:.85rem;line-height:1.2;font-variant-numeric:tabular-nums}.section-skills .skill-row{display:grid;grid-template-columns:9rem 1fr;column-gap:.75rem;align-items:baseline;margin:var(--item-gap)0}.section-skills .skill-cat{font-weight:700;white-space:nowrap;text-align:right;justify-self:end}.section-skills .skill-items{display:inline-block;white-space:nowrap;direction:ltr}.section-skills .skill-item,.section-skills .sep{display:inline}.section-skills .skill-item{line-height:1.25}.section-skills .sep{color:currentColor;margin:0}.section-projects .project-row{display:grid;grid-template-columns:1fr max-content;column-gap:.75rem;align-items:baseline;margin-bottom:0}.section-projects .project-left{display:inline-flex;align-items:baseline;gap:.75rem}.section-projects .project-title{font-weight:700;font-size:1rem}.pill-links{display:inline-block;white-space:nowrap}.pill-links a{display:inline-flex;align-items:center;padding:2px 4px}.section-projects .project-year,.section-projects .project-meta-right{text-align:right;white-space:nowrap;color:#4b5563;font-size:.85rem;font-variant-numeric:tabular-nums}.section-projects .project-meta-row{display:grid;grid-template-columns:1fr max-content;column-gap:.75rem;align-items:baseline;margin-top:.05rem}.section-projects .project-subtitle{font-size:.95rem;font-weight:500}.section-projects .project-tech{text-align:right;white-space:nowrap;color:#4b5563;font-size:.85rem}.section-projects .project-item{margin-bottom:var(--group-gap)}.section-projects p{margin:var(--list-gap)0}.section-projects .project-row+p,.section-projects .project-meta-row+p{margin-top:calc(var(--list-gap) * .5)}.section-publications,.section-publications .publication-item{text-align:justify;text-justify:inter-word}.section-publications .publication-item{text-align-last:left;hyphens:auto;word-break:normal;overflow-wrap:normal}.section-publications .publication-item .pub-index{margin-right:.4em}.section-publications .publication-item.pub-year{display:grid;grid-template-columns:2.6em 1fr;column-gap:.35em;padding-left:0;text-indent:0}.section-publications .publication-item.pub-year .pub-index{width:auto;text-align:left;margin-right:0}.section-publications .pub-body{display:inline}.section-publications .publication-item.pub-year .pub-body{display:block}.section-publications .publication-item .pub-index,.section-publications .publication-item .pub-award,.section-publications .publication-item .pub-note{display:inline-block}.section-publications .pub-title{font-weight:700}.section-publications{font-size:.95rem;line-height:1.35}.section-publications .pub-index,.section-publications .pub-metrics,.section-publications .pub-award,.section-publications .pub-note,.section-publications .pub-pills{font-size:.85rem;line-height:1.2;font-variant-numeric:tabular-nums;color:#4b5563}.section-publications .pub-metrics{display:inline-block;white-space:nowrap}footer{width:210mm;margin:36px auto;text-align:center;display:flex;flex-flow:column;font-size:.85rem;line-height:1.25}footer .footer-item{margin-bottom:.25rem}footer .footer-item a{color:#4b5563;padding:0 4px;text-decoration:underline;text-underline-offset:.15em;transition:all 500ms}footer .footer-item a span{font-weight:700}footer .footer-item a:hover{color:#fff;background-color:#4b5563;transition:all .35s ease-out;transition-property:all .35s ease-out;-webkit-transition-property:all .35s ease-out;-moz-transition-property:all .35s ease-out;-o-transition-property:all .35s ease-out}footer .footer-item:last-child{margin-bottom:0}footer .footer-credits a{padding:0}footer .footer-credits{font-size:.78rem}@media print{@page{size:A4;margin:0}html,body{background:#fff;margin:0;padding:0}.paper,main.paper{margin:0;width:210mm;height:297mm;overflow:hidden;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;page-break-after:always}a{text-decoration:none}footer{display:none}}