:root{--base:var(--accent--yellow)}body{background-color:var(--theme--surface--color);font-family:var(--theme--text--FontFamily--dense);line-height:var(--theme--text--LineHeight);padding:0;@media not (prefers-color-scheme:dark){background:repeating-conic-gradient(var(--theme--surface--color) 0 .0001%,color-mix(in sRGB,var(--theme--surface--color) 95%,var(--theme--text--Color)) 0 .0002%) 60vw 60vw /100px 100px}}header{--image-size:160px;-moz-column-gap:4rem;column-gap:4rem;display:flex;flex-wrap:wrap;justify-content:center;text-align:start;&:is(#header-sticky){--image-size:60px;font-size:12px;margin-block-end:0;padding-block:.6rem;.container{align-items:center;box-sizing:border-box;-moz-column-gap:1rem;column-gap:1rem;display:flex;inline-size:900px;justify-content:start;margin-inline:auto}.candidate-name{font-size:2em;font-weight:var(--theme--FontWeight);margin-block-start:0;&:before{--block-size:4px;inline-size:100%;inset-inline-start:0}}.subtitle{font-weight:var(--theme--FontWeight--thin);margin-block:0;margin-inline-start:0}@media print{display:none}}}a{color:var(--theme--text--Color)}p strong{font-weight:var(--theme--FontWeight--semi-bold)}.content:is(.focused) p{font-size:1.2rem;font-weight:var(--theme--FontWeight--thin);max-inline-size:var(--theme--content--MaxWidth)}section{margin-block-end:2rem;margin-block-end:var(--section--spacing--vertical,2rem);scroll-margin-block-start:2rem;scroll-snap-align:start;scroll-snap-stop:always}.section-header{align-items:start;-moz-column-gap:1rem;column-gap:1rem;container-name:section-header;container-type:inline-size;display:flex;flex-wrap:wrap;justify-content:space-between;margin-block-end:1rem}.section-title{color:var(--theme--text--Color);display:inline-block;font-family:var(--theme--heading--FontFamily);font-size:1.25rem;font-weight:var(--theme--FontWeight--semi-bold);margin-block-end:0;position:relative;text-transform:uppercase;transform-origin:left;&:before{background:var(--theme--ui--color);block-size:.8em;content:"";display:block;inline-size:50vw;inline-size:var(--inline-size,50vw);inset-block-end:.5em;inset-inline-end:-.5rem;pointer-events:none;position:absolute;z-index:-1;@media (prefers-color-scheme:dark){background:none;border-block-end:5px solid var(--theme--ui--color);inset-block-end:-.2em}}+.section-aside{font-family:var(--theme--heading--FontFamily);font-size:.9em;font-weight:var(--theme--FontWeight--light)}a{color:inherit;text-decoration:none}}.photo{align-items:center;block-size:var(--image-size);display:flex;inline-size:var(--image-size);justify-content:end;position:relative;img{overflow:hidden;place-items:center}&:after,img{block-size:var(--image-size);border-radius:50%;display:grid;inline-size:var(--image-size)}&:after{background:var(--theme--ui--color);color:#fff;content:"C";font-size:2.5rem;place-items:center;position:absolute;z-index:-1}}.candidate-name{font-family:var(--theme--heading--FontFamily);font-size:3.5rem;line-height:1;margin-block-end:0;margin-block-start:.5em;position:relative;transform-origin:top;&:before{background:var(--theme--ui--color);block-size:400px;block-size:var(--block-size,400px);content:"";display:block;inline-size:80px;inset-block-end:-.25rem;inset-inline-start:-1rem;position:absolute;z-index:-1}span{text-shadow:1px 1px 1px light-dark(transparent,hsla(0,0%,45%,.9));&:first-child{font-weight:var(--theme--FontWeight--semi-bold);letter-spacing:.1rem}&:last-child{font-weight:var(--theme--FontWeight--thin);letter-spacing:.25rem}}}.subtitle{font-size:1.3rem;font-weight:var(--theme--FontWeight--thin);margin-block-start:.5rem;margin-inline-start:-1rem}.job-company{font-size:1.1rem;font-weight:var(--theme--FontWeight);margin-block-end:.2rem}.job-company,.job-header{font-family:var(--theme--heading--FontFamily)}.job-header{display:flex;flex-wrap:wrap;font-size:1.2rem;gap:1rem;justify-content:space-between;margin-block-end:1rem}.job-title{font-weight:var(--theme--FontWeight--bold)}.job-dates{font-weight:var(--theme--FontWeight--light);span:has(+span):after{content:"–";margin-inline:.5rem}}.job-summary{font-weight:var(--theme--FontWeight--thin);margin:.5rem 0;text-wrap:pretty}.job-highlights{list-style:disc;margin-inline-start:1.5rem;li:not(:last-child){margin-block-end:.25rem}}.columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:2rem;gap:2rem;>:nth-child(2n) .section-title{--animation-direction:1;transform-origin:right;&:before{inset-inline-end:inherit;inset-inline-start:-.5rem}}}.education-item{font-size:1.2rem;strong{font-family:var(--theme--heading--FontFamily)}}.contact-grid{display:flex;flex-direction:column;gap:.5rem;.contact-item{align-items:center;display:flex;gap:1rem;svg{block-size:1em;flex-shrink:0;inline-size:1em}}}.skills-grid{&:where(ul),ul{list-style:none;padding:0}&:not(:has(h3)),ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-row-gap:1rem;row-gap:1rem;grid-column-gap:.8rem;-moz-column-gap:.8rem;column-gap:.8rem}li{line-height:var(--theme--text--LineHeight);margin-block-end:0}}[stacked]{display:flex;flex-direction:column;row-gap:calc(var(--spacing--vertical)*2)}a-timeline .role-panel:not([active]){display:none}button:is(.print){--button-size:3.5rem;align-items:center;background:var(--theme--ui--color);border:none;border-radius:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 10px 20px -2px rgba(0,0,0,.15),0 0 0 1px rgb(0 0 0/5%);color:var(--theme--text--Color);cursor:pointer;display:flex;font-family:var(--theme--heading--FontFamily);font-size:1rem;font-weight:var(--theme--FontWeight--semi-bold);gap:.75rem;inset-block-end:2rem;inset-inline-end:2rem;opacity:0;padding:.875rem 1.5rem;position:fixed;transform:translateY(1rem);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),visibility .3s,box-shadow .2s ease;visibility:hidden;z-index:1000;&.visible{opacity:1;transform:translateY(0);visibility:visible}&:hover{box-shadow:0 8px 12px -2px rgba(0,0,0,.15),0 16px 32px -4px rgba(0,0,0,.2),0 0 0 1px rgb(0 0 0/5%);transform:translateY(-2px)}&:active{box-shadow:0 2px 4px -1px rgba(0,0,0,.1),0 4px 8px -2px rgba(0,0,0,.1);transform:translateY(0)}&:focus-visible{outline:3px solid var(--theme--text--Color);outline-offset:2px}svg{block-size:1.25em;inline-size:1.25em}}#cover-letter{margin-block-start:2rem;max-inline-size:var(--theme--content--MaxWidth);text-wrap:balance;.addressee,.signature{display:inline-block;font-family:var(--theme--heading--FontFamily);font-size:1.2rem;font-weight:var(--theme--FontWeight--semi-bold)}.signature{font-weight:var(--theme--FontWeight);.name{font-family:var(--theme--text--FontFamily--signature);font-size:2rem;font-weight:var(--theme--FontWeight--thin)}}}#about{text-wrap:balance}@media screen and (min-width:1149.02px){.section-title:before{--inline-size:100cqi;inset-inline-end:inherit;inset-inline-start:-.5rem;transform-origin:left}.section-title+.section-aside{flex-basis:100%;margin-block-start:-.5rem;text-align:end}}@media not print{:where(table,thead,tbody,tr,td,th){display:contents}td>*{margin-inline:auto;max-inline-size:900px;padding-inline:var(--theme--content--space)}#cover-letter{margin-block-end:20vh}}@media print{button:is(.print){display:none}.job-item{page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid;&:not(.featured){display:none}}.columns,.job-highlights{page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}.education-item{font-size:1rem}.contact-grid{gap:.3rem;.contact-item{font-size:1rem}}#about{page-break-before:always;-moz-column-break-before:always;break-before:always}}@media not (prefers-color-scheme:dark){#header-sticky{background:repeating-conic-gradient(var(--theme--surface--color) 0 .0001%,color-mix(in sRGB,var(--theme--surface--color) 95%,var(--theme--text--Color)) 0 .0002%) 60vw 60vw /100px 100px}}@media not (prefers-reduced-motion:reduce){a-timeline .role-panel[active]{animation:role-slide-in .3s ease}@supports (animation-timeline:scroll()){.scroll-accent:before{animation:roll-in linear both;animation:var(--animation,roll-in) linear both;animation-range:0 30vh;animation-timeline:view()}}@supports not (animation-timeline:scroll()){.scroll-accent:before{animation:roll-in .8s linear forwards;animation:var(--animation,roll-in) .8s linear forwards}}}