.resume{--resume-text-l:1.25rem;--resume-line-l:1.75rem;--resume-hero-gap:1.25rem;--resume-identity-gap:0.75rem;--resume-sections-gap:2.5rem;--resume-section-gap:1.25rem;--resume-job-gap:1.5rem;--resume-job-header-gap:0.5rem;--resume-list-gap:0.75rem;--resume-body-gap:0.75rem;--resume-pipe-gap:0.75rem;--resume-meta-gap:0.25rem;--resume-marker-width:0.875rem;--resume-marker-gap:0.375rem}.resume__hero{gap:var(--resume-hero-gap);width:100%}.resume__hero,.resume__hero-text{display:flex;flex-direction:column}.resume__hero-text{gap:var(--resume-identity-gap);color:#000}.resume__identity{display:flex;flex-direction:column}.resume__name{margin:0;font-size:var(--text-h1);line-height:var(--line-h1);font-weight:500;letter-spacing:-.02em;font-feature-settings:var(--font-features-title)}.resume__role{margin:0;font-size:var(--resume-text-l);line-height:var(--resume-line-l);font-feature-settings:var(--font-features-base)}.resume__meta{display:flex;flex-direction:column;gap:var(--resume-meta-gap);font-size:var(--text-m);line-height:var(--line-m);font-feature-settings:var(--font-features-base)}.resume__location{margin:0}.resume__download{align-self:flex-start}.resume__pipe-list{margin:0;display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:var(--resume-pipe-gap);row-gap:0;font-size:var(--text-m);line-height:var(--line-m);font-feature-settings:var(--font-features-base);word-break:break-word}.resume__pipe-item{display:inline-flex;align-items:baseline;gap:var(--resume-pipe-gap);white-space:nowrap}.resume__pipe-sep{color:inherit}.resume__sections{gap:var(--resume-sections-gap)}.resume__section,.resume__sections{display:flex;flex-direction:column;width:100%}.resume__section{gap:var(--resume-section-gap)}.resume__section-title{margin:0;font-size:var(--text-h3);line-height:var(--line-h3);font-weight:500;letter-spacing:-.01em;font-feature-settings:var(--font-features-title)}.resume__body{margin:0;font-size:var(--text-m);line-height:var(--line-m);font-feature-settings:var(--font-features-base);word-break:break-word}.resume__body-block{display:flex;flex-direction:column;gap:var(--resume-body-gap)}.resume__body-block .resume__body:last-child{margin-bottom:0}.resume__strong{font-weight:600;font-feature-settings:var(--font-features-title)}.resume__rich-text{flex:1 1;min-width:0}.resume__experience-list{display:flex;flex-direction:column;gap:var(--resume-job-gap)}.resume__job{gap:var(--resume-list-gap)}.resume__job,.resume__job-header{display:flex;flex-direction:column}.resume__job-header{gap:0}.resume__job-heading{display:flex;align-items:flex-start;gap:0}.resume__job-title{flex:1 1;min-width:0;margin:0;font-size:var(--resume-text-l);line-height:var(--resume-line-l);font-weight:600;font-feature-settings:"ss01" 1,"ss08" 1;word-break:break-word}.resume__job-period{margin:0;flex-shrink:0;font-size:var(--text-m);line-height:var(--line-m);white-space:nowrap;font-feature-settings:var(--font-features-base)}.resume__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--resume-list-gap)}.resume__list-item{display:flex;gap:var(--resume-marker-gap);font-size:var(--text-m);line-height:var(--line-m);font-feature-settings:var(--font-features-base);word-break:break-word}.resume__list--bullet .resume__list-item:before{content:"•";flex-shrink:0;width:var(--resume-marker-width);text-align:center}.resume__list--numbered{counter-reset:resume-achievement}.resume__list--numbered .resume__list-item{counter-increment:resume-achievement}.resume__list--numbered .resume__list-item:before{content:counter(resume-achievement) ".";flex-shrink:0;width:var(--resume-marker-width);font-feature-settings:"ss01" 1,"ss08" 1,"lnum" 1,"tnum" 1;letter-spacing:-.03em}.resume__achievements{display:flex;flex-direction:column;gap:var(--resume-list-gap)}.resume__achievements-label{margin:0;font-size:var(--text-m);line-height:var(--line-m);font-weight:600;font-feature-settings:"ss01" 1,"ss08" 1}.resume__project-line{display:inline}.resume__works,.resume__works .works{width:100%}@media (max-width:50rem){.resume{--resume-sections-gap:2rem}.resume__job-heading{flex-direction:column}.resume__job-header{gap:var(--resume-job-header-gap)}.resume__job-period{white-space:normal}}