@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/08328e320c8f68d1-s.09tcljo7dct-o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ce5b45ab00236ec9-s.0p_6i_-hvb5ly.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ca31d6821328a4e9-s.p.2h1t2m6r9t_36.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Fallback;src:local(Arial);ascent-override:90.98%;descent-override:22.74%;line-gap-override:0.0%;size-adjust:109.91%}.lexend_1455e58c-module__EWSbja__className{font-family:Lexend,Lexend Fallback;font-style:normal}
html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}
:root{--default-easing:ease;--default-transition:.3s var(--default-easing);--container-w:800px;--mobile-w:768px;--bg-color:#fff;--offset-color:#cecece;--text-color:#0d111b;--link-color:#0039f3;--error-color:#cf2f2f;--help-text-color:#818181;--link-visited-color:var(--link-color)}body.theme-dark{--bg-color:#0e1c36;--offset-color:#35286f;--text-color:#f5fbef;--link-color:#f0a6ca}html{font-family:var(--primary-font), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";text-rendering:optimizelegibility;min-width:250px;font-size:16px;overflow-x:hidden}body{color:var(--text-color)}.button-reset{background:0 0;border:none;width:auto;margin:0;padding:0;overflow:visible}.wrapper{background:var(--bg-color);min-height:100vh;position:relative}.page{max-width:var(--container-w);margin:0 auto;padding:72px 20px}.index-page .wrapper{overflow:hidden}.index-page .wrapper:before{content:"";opacity:0;--d:15px;--offset:15px;background-image:radial-gradient(var(--offset-color) 1px, transparent 0);background-size:calc(var(--d) * 2) calc(var(--d) * 2);background-position:calc(var(--offset) - var(--d)) calc(var(--offset) - var(--d));width:100%;height:100%;animation:2s forwards fadeInOpacity,6s cubic-bezier(.42,-.02,.5,.97) infinite alternate breath;display:block;position:absolute;top:0;left:0;transform:scale(1)}.index-page .nav-container{background:0 0}@keyframes fadeInOpacity{0%{opacity:0}to{opacity:1}}@keyframes breath{0%{transform:scale(1)}25%{transform:scale(1.03)}50%{transform:scale(1.035)}to{transform:scale(1)}}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;width:auto;height:auto;margin:0;position:static;overflow:visible}.icon-head{vertical-align:bottom;width:1em;height:1em;margin-right:8px;font-size:1.3rem}h1,h2,h3,h4,h5,h6,p{margin:0 0 8px}:is(h1,h2,h3,h4,h5,h6,p):last-child{margin-bottom:0}h4,h5,h6,p{letter-spacing:.5px}h1{letter-spacing:6px;font-size:36px;font-weight:600}h2{letter-spacing:6px;font-size:28px;font-weight:600}h3{letter-spacing:3px;font-size:18px;font-weight:600}p{margin-bottom:0;font-size:14px;line-height:24px}li{margin-bottom:0;font-size:14px;line-height:24px}li::marker{content:"• "}ul,ol{margin:0;padding-left:14px}.resume-title{letter-spacing:.5px;text-transform:uppercase;margin:0;font-size:14px;font-weight:600}.help{color:var(--help-text-color);padding-top:8px;margin:0!important}.help *{margin-bottom:.25rem!important;font-size:14px!important}.error{color:var(--error-color);padding:24px}.exp-item__date{font-weight:600}.exp-item__title>:first-child{margin-right:4px;font-weight:700}.exp-item__title>:nth-child(2){font-weight:600}.exp-item__title>:nth-child(2):before{content:"| "}.vertical-margin{padding:.5in 0}a,a *{color:inherit}a:not(:hover){text-decoration:none}.pad-horizontal{padding:0 .25in}.pad-vertical+.pad-vertical{padding-top:24px}.layers>*{width:100%;height:99.999vh;position:absolute;inset:0;overflow:hidden}.layers img{object-fit:cover}.nav{max-width:var(--container-w);text-align:center;justify-content:space-between;margin:0 auto;padding:0 20px;display:flex}.nav ul{flex-direction:row;flex:1;justify-content:space-between;align-items:flex-start;margin:0;padding:0;display:flex}.nav ul li{list-style:none;display:flex}.nav ul li>*{pointer-events:all;color:var(--text-color);transition:box-shadow var(--default-transition);cursor:pointer;letter-spacing:2.5px;flex-direction:column;justify-content:center;align-items:center;height:56px;font-size:18px;font-weight:700;line-height:1;text-decoration:none;display:flex}.nav ul li>*:hover,.nav ul li>*:focus,.nav ul li>*.active{box-shadow:inset 0 4px 0 0 var(--text-color)}@media (max-width:768px){.nav ul li>*{font-size:.75rem}}dl.expertise-table{margin-bottom:0;font-size:14px;line-height:24px;display:block}dl.expertise-table dt{white-space:nowrap;min-width:180px;font-weight:600;display:inline-block}dl.expertise-table dd{white-space:nowrap;margin:0;display:inline-block}.text-center{text-align:center}.space-between{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.nav-container{background:linear-gradient(0deg, transparent, var(--bg-color) 60%, var(--bg-color) 100%);pointer-events:none;width:100%;height:100px;position:fixed;top:0;left:0;right:0}.content,.content p,.content li{font-size:18px}.content h1{padding:1em 0;font-size:36px}.content h2,.content h3,.content p,.content .image{margin-bottom:24px}.content blockquote{border-left:4px solid var(--offset-color);margin-bottom:24px;padding-left:16px}.content li{margin-bottom:8px}.content a{color:var(--link-color)}.content a:visited{color:var(--link-visited-color)}.content>:last-child{margin-bottom:0}.BoxLink{--transition:.5s var(--default-easing);box-sizing:border-box;transition:color var(--transition);border:2px solid var(--text-color);flex-basis:calc(33.3333% - 1.33333rem);height:200px;font-weight:700;text-decoration:none;display:flex;position:relative;overflow:hidden}@media (max-width:768px){.BoxLink{flex-basis:100%;height:150px}}.BoxLink .BoxLink--bg-image{z-index:0;visibility:hidden;transition:var(--transition);pointer-events:none;transition-property:opacity,visibility;opacity:0!important}.BoxLink>span{transition:var(--transition);text-align:center;width:100%;height:100%;color:var(--text-color);box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:16px;font-weight:600;transition-property:transform,text-shadow,color;display:inline-flex}.BoxLink>span small{letter-spacing:.5px;font-size:11px;font-weight:400}.BoxLink:hover>span{color:#000;--c:#fff;--s:1px;text-shadow:calc(-1 * var(--s)) calc(-1 * var(--s)) 0 var(--c), var(--s) calc(-1 * var(--s)) 0 var(--c), calc(-1 * var(--s)) var(--s) 0 var(--c), var(--s) var(--s) 0 var(--c);transform:translateY(35%)}.BoxLink:hover .BoxLink--bg-image{visibility:visible;opacity:1!important}.box-list{flex-flow:wrap;gap:2rem;display:flex}.project-filters{align-items:flex-start;gap:.75rem;margin-top:2rem;display:flex}.filter-groups{flex-direction:column;flex:1;gap:.5rem;display:flex}.filter-group{flex-wrap:wrap;gap:.5rem;display:flex}.filter-chip{letter-spacing:1px;text-transform:uppercase;border:2px solid var(--offset-color);background:var(--bg-color);color:var(--text-color);cursor:pointer;transition:background-color var(--default-transition), border-color var(--default-transition), color var(--default-transition);border-radius:999px;padding:.55rem .9rem;font-size:12px;font-weight:600;line-height:1}.filter-chip:hover{border-color:var(--text-color)}.filter-chip[aria-pressed=true]{background:var(--text-color);border-color:var(--text-color);color:var(--bg-color)}.filter-clear{border:2px solid var(--offset-color);background:var(--bg-color);width:2rem;height:2rem;color:var(--text-color);cursor:pointer;transition:border-color var(--default-transition), color var(--default-transition);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.filter-clear svg{width:1rem;height:1rem}.filter-clear:hover{border-color:var(--error-color);color:var(--error-color)}.filter-chip:focus-visible,.filter-clear:focus-visible{outline:2px solid var(--link-color);outline-offset:2px}.plain-button{border:2px solid var(--text-color);background:var(--bg-color);color:var(--text-color);cursor:pointer;transition:background-color var(--default-transition);align-items:center;gap:8px;padding:6px 16px;line-height:1.5;display:inline-flex}.plain-button:hover{background:var(--offset-color)}.plain-button[disabled]{opacity:.5;cursor:not-allowed}.go-back-link{-webkit-user-select:none;user-select:none;cursor:pointer;transition:margin-left var(--default-transition);outline:none;font-size:3rem;text-decoration:none;color:var(--text-color)!important}.go-back-link:hover{margin-left:-5px}.shadowed{box-shadow:0 0 10px #0000001a}.loading:before{--size:40px;content:"";box-sizing:border-box;width:var(--size);height:var(--size);margin-top:calc(-1 * var(--size) / 2);margin-left:calc(-1 * var(--size) / 2);border:2px solid #ccc;border-top-color:#333;border-radius:50%;animation:.6s linear infinite spinner;position:absolute;top:50%;left:50%}@keyframes spinner{to{transform:rotate(360deg)}}@media (max-width:768px){.flex-table span:first-child{flex-basis:100px;min-width:100px}.pad-horizontal{padding:0 16px}}
:root{--resume-gap:.25in}@page{margin:var(--resume-gap);size:letter portrait}#resume-root{padding:var(--resume-gap);width:8.5in;margin:0 auto;display:block}@media print{#resume-root{width:auto;margin:0;padding:0}}#resume-root h1{margin:0}#resume-root p,#resume-root li,#resume-root dl{font-size:13px;line-height:22px}#resume-root .center-text{text-align:center}#resume-root .vertical-margin{margin:calc(var(--resume-gap) - .1) 0 var(--resume-gap) 0;padding:0}#resume-root .text-hr{text-align:center;border-bottom:1px solid #d3d3d3;width:100%;height:0;padding:0 0 10px;overflow:visible}#resume-root .text-hr>*{padding:0 calc(var(--resume-gap) / 2);background-color:#fff}#resume-root .pdf-columns{width:100%;display:table}#resume-root .pdf-columns .column{vertical-align:middle;display:table-cell}#resume-root .logo{width:70px;height:70px;margin:0 12px;position:relative}#resume-root .logo *{font-size:28px;font-weight:400;line-height:23px;position:absolute}#resume-root .logo :first-child{top:0;left:-4px}#resume-root .logo :last-child{bottom:0;right:2px}#resume-root .logo:before{content:"";z-index:-1;stroke-linecap:round;transform-origin:0 0;border-right:2px inset #b6b6b6;width:2px;height:100%;position:absolute;top:0;right:0;transform:skew(-45deg)}#resume-root .contact-link{font-size:12px}
