.resume{--resume-rule: color-mix(in srgb, var(--color-heading) 18%, var(--color-background));--resume-highlight: color-mix(in srgb, var(--color-accent) 5%, var(--color-background));padding-top:var(--spacing-xxl);padding-bottom:var(--spacing-sm);line-height:1.7;overflow-wrap:anywhere}.resume:focus{outline:none}.resume a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.resume a:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.resume__header{margin-bottom:var(--spacing-xl);text-align:center}.resume__header h1{position:relative;margin:0 0 var(--spacing-md);padding-bottom:var(--spacing-md);font-size:var(--font-size-heading);font-weight:700;line-height:1.2}.resume__header h1::before,.resume__header h1::after{position:absolute;right:0;bottom:0;left:0;margin-inline:auto;content:""}.resume__header h1::before{width:10rem;height:1px;background:var(--resume-rule)}.resume__header h1::after{width:var(--spacing-xxl);height:3px;background:var(--color-accent)}.resume__subtitle{max-width:44rem;margin:0 auto;color:var(--color-accent);font-family:"Courier New",Courier,monospace;font-size:1.125rem;line-height:1.5;text-wrap:balance}.resume__summary{margin-bottom:var(--spacing-xl);padding-block:var(--spacing-lg);border-block:1px solid var(--resume-rule)}.resume__summary>:last-child{margin-bottom:0}.resume--preview{padding-block:0}.resume--preview .resume__summary{margin:0;padding:0;border:0}.resume .resume-preview__card{padding:var(--spacing-md);border-radius:var(--img-border-radius);background:var(--resume-highlight)}.resume .resume-preview__more{display:flex;justify-content:flex-end;margin:var(--spacing-md) 0 0}.resume .resume-preview__more a{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.625rem 1.25rem;border-radius:50px;background:var(--color-accent);color:var(--color-contrast);font-weight:700;text-decoration:none}.resume .resume-preview__more a:hover{background:color-mix(in srgb, var(--color-accent) 85%, var(--color-heading))}.resume p{hyphens:none}.resume__skills{margin-bottom:var(--spacing-xl)}.resume__skills-layout,.resume__skills-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--spacing-md);min-width:0}.resume__skills-grid{gap:0}.resume__skills-summary{min-width:0;padding:var(--spacing-md);border:1px solid var(--resume-rule);border-radius:var(--img-border-radius);background:var(--color-surface)}.resume__skills-summary{border-color:rgba(0,0,0,0);background:var(--resume-highlight)}.resume__skills-summary>:last-child{margin-bottom:0}.resume__summary-title{margin:0 0 var(--spacing-sm);color:var(--color-accent);font-size:1.25rem;font-weight:700;line-height:1.4}.resume__summary-highlights{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--resume-rule);break-inside:avoid}.resume__summary-highlights:first-child{margin-top:0;padding-top:0;border-top:0}.resume__badges-title{margin:0 0 var(--spacing-sm);font-size:1.125rem;font-weight:700;line-height:1.4}.resume__badges-viewport{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.resume__badges-viewport:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.resume [data-badge-animated] .resume__badges-viewport{scrollbar-width:none}.resume [data-badge-animated] .resume__badges-viewport::-webkit-scrollbar{display:none}.resume__badges-track{display:flex;gap:var(--spacing-xs);width:max-content}.resume__summary-badges{display:flex;flex-shrink:0;gap:var(--spacing-xs);margin:0;padding:0;list-style:none}.resume__summary-badges li{display:flex;flex:0 0 14rem;min-width:0}.resume__summary-badges i{font-size:1.75rem;line-height:1}.resume__badge{display:flex;flex:1;flex-direction:column;align-items:center;gap:var(--spacing-xs);min-width:0;padding:var(--spacing-sm) var(--spacing-xs);border:1px solid color-mix(in srgb, var(--color-accent) 30%, var(--color-background));border-radius:var(--spacing-xs);background:color-mix(in srgb, var(--color-accent) 6%, var(--color-background));color:var(--color-accent);font-size:.8125rem;font-weight:600;line-height:1.5;text-align:center}.resume a.resume__badge{text-decoration:none}.resume a.resume__badge:hover>span{text-decoration:underline;text-underline-offset:.2em}.resume a.resume__badge:focus-visible{outline-offset:-3px}.resume__skill-tabs{display:flex;gap:var(--spacing-xs);min-width:0;background:linear-gradient(to top, var(--resume-rule) 1px, rgba(0,0,0,0) 1px);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.resume__skill-tabs::-webkit-scrollbar{display:none}.resume__skill-tabs a{text-decoration:none}.resume__skill-tabs a:focus-visible{outline-offset:-4px}.resume__skill-tab{display:flex;flex:0 0 auto;align-items:center;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--resume-rule);border-radius:var(--img-border-radius) var(--img-border-radius) 0 0;background:color-mix(in srgb, var(--color-heading) 3%, var(--color-background));color:var(--color-heading);font-size:1rem;font-weight:700;line-height:1.4;white-space:nowrap}.resume__skill-tab:hover{color:var(--color-accent)}.resume__skill-tab[aria-selected=true]{border-bottom-color:var(--resume-highlight);background:var(--resume-highlight);color:var(--color-accent)}.resume__skill-panels{display:grid;gap:var(--spacing-sm);min-width:0;border:1px solid var(--resume-rule);border-top:0;border-radius:0 0 var(--img-border-radius) var(--img-border-radius);background:var(--resume-highlight)}.resume__skill-panels[hidden]{display:none}.resume__skill-card{min-width:0;padding:var(--spacing-md);break-inside:avoid;scroll-margin-top:8rem}.resume__skill-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.resume__skill-panel-title{margin:0 0 var(--spacing-sm);font-size:1.125rem;font-weight:700}.resume [data-tabs-ready] .resume__skill-panel-title{display:none}.resume__skill-icon{display:inline-flex;flex:0 0 1.75rem;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--spacing-xs);background:color-mix(in srgb, var(--color-accent) 8%, var(--color-background));color:var(--color-accent);font-size:1.125rem}@media screen and (prefers-reduced-motion: no-preference){.resume__skill-tab,.resume__badge{transition:background-color 200ms ease,color 200ms ease,border-bottom-color 200ms ease}.resume__skill-tab>span,.resume__skill-tab>i,.resume__badge>span,.resume__badge>i{transition:transform 240ms cubic-bezier(.2, .7, .3, 1)}.resume__skill-tab:hover>span,.resume__skill-tab:focus-visible>span,.resume__badge:hover>span,.resume__badge:focus-visible>span{transform:translateY(-1px)}.resume__skill-tab:hover>i,.resume__skill-tab:focus-visible>i,.resume__badge:hover>i,.resume__badge:focus-visible>i{transform:translateY(-2px) rotate(-6deg) scale(1.08)}.resume__skill-items li{transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease}}@media screen and (prefers-reduced-motion: no-preference) and (hover: hover){.resume__skill-items li:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--color-accent) 45%, var(--color-background));box-shadow:0 3px 8px color-mix(in srgb, var(--color-accent) 12%, rgba(0,0,0,0))}}@media screen and (prefers-reduced-motion: no-preference){.resume [data-tabs-ready] .resume__skill-card:not([hidden]) .resume__skill-items li{animation:resume-skill-enter 260ms ease-out 160ms backwards}.resume [data-tabs-ready] .resume__skill-card:not([hidden]) .resume__skill-items li:nth-child(1){animation-delay:0ms}.resume [data-tabs-ready] .resume__skill-card:not([hidden]) .resume__skill-items li:nth-child(2){animation-delay:20ms}.resume [data-tabs-ready] .resume__skill-card:not([hidden]) .resume__skill-items li:nth-child(3){animation-delay:40ms}.resume [data-tabs-ready] .resume__skill-card:not([hidden]) .resume__skill-items li:nth-child(4){animation-delay:60ms}.resume [data-tabs-ready] .resume__skill-card:not([hidden]) .resume__skill-items li:nth-child(5){animation-delay:80ms}.resume [data-tabs-ready] .resume__skill-card:not([hidden]) .resume__skill-items li:nth-child(6){animation-delay:100ms}.resume [data-tabs-ready] .resume__skill-card:not([hidden]) .resume__skill-items li:nth-child(7){animation-delay:120ms}.resume [data-tabs-ready] .resume__skill-card:not([hidden]) .resume__skill-items li:nth-child(8){animation-delay:140ms}}.resume__skill-items{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) .75rem;margin:0;padding:0;list-style:none}.resume__skill-items li{display:inline-flex;align-items:center;gap:var(--spacing-xs);max-width:100%;padding:.375rem .75rem;border:1px solid color-mix(in srgb, var(--color-accent) 18%, var(--color-background));border-radius:999px;background:var(--color-surface);color:var(--color-heading);font-size:.9375rem;font-weight:500;line-height:1.4}.resume__skill-items li::before{flex:0 0 .375rem;width:.375rem;height:.375rem;border-radius:50%;background:var(--color-accent);content:""}.resume__columns{display:grid;gap:var(--spacing-xl)}.resume__column{min-width:0}.resume__section+.resume__section{margin-top:var(--spacing-xl)}.resume__section-title{margin:0 0 var(--spacing-lg);font-size:1.5rem;font-weight:700;line-height:1.35;scroll-margin-top:8rem}.resume__timeline{margin:0;padding:0;list-style:none}.resume__entry{position:relative;margin-left:.375rem;padding:0 0 var(--spacing-lg) var(--spacing-md)}.resume__entry::after{position:absolute;top:0;bottom:0;left:-1px;border-left:2px solid var(--color-accent);content:""}.resume__entry:first-child::after{top:.4rem}.resume__entry::before{position:absolute;z-index:1;top:.4rem;left:-.375rem;width:.75rem;height:.75rem;border:2px solid var(--color-accent);border-radius:50%;background:var(--color-background);content:""}.resume__entry:last-child{padding-bottom:0}.resume__entry-header{margin-bottom:var(--spacing-sm)}.resume__entry-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--spacing-xs) var(--spacing-sm)}.resume__entry-heading h3{flex:1 1 auto;min-width:0;margin:0;color:var(--color-accent);font-size:1.125rem;font-weight:700;line-height:1.45}.resume__period{display:inline-flex;align-items:baseline;flex:0 1 auto;max-width:100%;margin:0;text-align:left}.resume__period time{white-space:nowrap}.resume__details{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--spacing-xxs) var(--spacing-sm);margin:var(--spacing-xs) 0 0;color:var(--color-heading);font-size:.9375rem;font-style:italic;line-height:1.6}.resume__details-separator{display:none}.resume__location{margin-left:auto;text-align:right}.resume__entry-header--stacked .resume__details{display:block}.resume__entry-header--stacked .resume__details-separator{display:inline}.resume__entry-header--stacked .resume__location{margin-left:0;text-align:left}.resume__entry-content>:last-child,.resume__entry-content li>:last-child{margin-bottom:0}.resume__entry-content>ul{margin:var(--spacing-sm) 0 0;padding-left:1.1rem;list-style:disc}.resume__entry-content>ul li{padding-left:var(--spacing-xxs)}.resume__entry-content>ul li+li{margin-top:var(--spacing-xs)}.resume__entry-content>ul li::marker{color:var(--color-accent);font-size:.8em}@media (min-width: 992px){.resume__subtitle{font-size:1.25rem}.resume__columns--split{grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--spacing-xxl)}}@keyframes resume-skill-enter{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}.resume__skip{position:fixed;top:var(--spacing-sm);left:var(--spacing-sm);z-index:10000;padding:var(--spacing-xs) var(--spacing-sm);transform:translateY(-200%);background:var(--color-background);color:var(--color-accent)}.resume__skip:focus{transform:translateY(0);outline:2px solid var(--color-accent)}@media print{@page{margin:15mm}.resume{--color-default: #000;--color-heading: #000;--color-accent: #000;--color-background: #fff;--resume-rule: #bbb;width:100%;max-width:none;padding:0;font-size:10pt;line-height:1.5}.resume__header{margin-bottom:1rem}.resume__summary{display:block;margin-bottom:1.5rem;padding-block:1rem}.resume__columns{display:block}.resume__skills{margin-bottom:1.5rem}.resume__skills-layout{display:block}.resume__skills-summary{margin-bottom:1rem;padding:0;border:0;background:none}.resume__skills-grid{gap:1rem}.resume__skill-card{padding:.75rem}.resume__skill-panels{background:none}.resume__skill-panels[hidden],.resume__skill-card[hidden],.resume [data-tabs-ready] .resume__skill-panel-title{display:block}.resume__skill-tabs{display:none}.resume__skill-items{padding:0}.resume__skill-items li{display:inline;padding:0;border:0;background:none;font-size:inherit;font-weight:inherit}.resume__skill-items li::before{display:none}.resume__skill-items li:not(:last-child)::after{content:","}.resume__badge{background:none;border-color:var(--resume-rule);color:inherit}.resume [data-badge-copy]{display:none !important}.resume__badges-viewport{overflow:visible}.resume__badges-track{display:block;width:auto}.resume__summary-badges{flex-wrap:wrap}.resume__column+.resume__column,.resume__section+.resume__section{margin-top:1.5rem}.resume__section-title{margin-bottom:1rem;font-size:14pt}.resume__entry{padding-bottom:1rem}.resume__entry-header,.resume__section-title,.resume h3{break-after:avoid}.resume__entry-header{break-inside:avoid}.resume p,.resume li{orphans:3;widows:3}}