.resume{padding-block:1.875rem 1.5rem}.about-head{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:start;display:grid}.about-who{row-gap:.375rem;display:grid}.about-who>*{margin:0}.about-name{font-family:var(--font-display);font-size:var(--text-title);font-weight:800;line-height:var(--text-title--line-height);letter-spacing:-.005em;text-wrap:balance}.about-role{font-family:var(--font-wide);font-size:var(--text-ui);font-weight:500;line-height:var(--text-ui--line-height);margin-top:.5rem}.about-where{color:var(--muted-foreground);font-family:var(--font-wide);font-size:var(--text-label);font-weight:var(--text-label--font-weight);line-height:var(--text-label--line-height)}.about-toc{display:none}.about-toc ul{margin:0;padding:0;list-style:none;display:grid}.about-toc a{min-block-size:2.25rem;color:var(--muted-foreground);font-family:var(--font-wide);font-size:var(--text-label);font-weight:var(--text-label--font-weight);align-items:center;gap:1rem;text-decoration-line:none;display:inline-flex}.about-toc a:before{content:"";background-color:var(--input);block-size:1px;inline-size:2rem}.about-toc a:is(:hover,:focus-visible){color:var(--foreground)}.about-toc a:is(:hover,:focus-visible):before{background-color:var(--foreground);inline-size:4rem}.resume-contact{margin-top:1.75rem}.resume-contact a,.skills a{align-items:center;min-height:1.5rem;display:inline-flex}.resume-contact dd{overflow-wrap:anywhere}.about-head{container:contact/inline-size}@container contact (width<25.5em){.resume-contact{grid-template-columns:minmax(0,1fr);row-gap:0}.resume-contact dd+dt{margin-top:.75rem}}.print-item{margin-top:1.5rem;display:none}@media (scripting:enabled){.print-item{visibility:hidden;display:inline-flex}:root[data-palette] .print-item{visibility:visible}}.about-body{overflow-wrap:break-word;grid-template-columns:minmax(0,1fr);margin-top:3rem;display:grid}.block-label{color:var(--primary);font-family:var(--font-wide);font-size:var(--text-label);font-weight:var(--text-label--font-weight);line-height:var(--text-label--line-height);margin:0 0 .875rem}.bio{grid-template-columns:minmax(0,1fr);row-gap:3rem;display:grid}.bio-block>p{max-inline-size:var(--measure);text-wrap:pretty;margin:0}.bio-block>p+p{margin-top:1rem}.bio-lede{font-size:var(--text-lead);line-height:var(--text-lead--line-height)}.bio-items{grid-template-columns:minmax(0,1fr);row-gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.bio-items>li{max-inline-size:var(--measure);grid-template-columns:minmax(0,1fr);row-gap:.375rem;display:grid}.bio-item-lead{font-family:var(--font-display);font-size:var(--text-headline);font-weight:800;line-height:var(--text-headline--line-height);letter-spacing:-.005em;text-wrap:balance;margin:0}.bio-item-text{color:var(--muted-foreground);text-wrap:pretty;margin:0}.about-section{padding-top:4rem}.about-note{color:var(--muted-foreground);font-family:var(--font-wide);font-size:var(--text-label);line-height:var(--text-label--line-height);margin:1rem 0 0}.timeline{grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.timeline-day{grid-template-columns:minmax(0,1fr);row-gap:.375rem;display:grid}.timeline-date{color:var(--muted-foreground);font-family:var(--font-wide);font-size:var(--text-label);font-weight:var(--text-label--font-weight);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;line-height:1.75rem}.timeline-items{border-inline-start:1px solid var(--border);grid-template-columns:minmax(0,1fr);row-gap:.25rem;margin:0;padding:0 0 1.75rem 1.5rem;list-style:none;display:grid;position:relative}.timeline-items:before{content:"";background-color:var(--input);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);block-size:.5rem;inline-size:.875rem;position:absolute;inset-block-start:.625rem;inset-inline-start:-.4375rem}.timeline-day:first-child .timeline-items:before{background-color:var(--primary)}.timeline-day:last-child .timeline-items{padding-block-end:0}.timeline-items>li{flex-wrap:wrap;align-items:baseline;column-gap:.75rem;display:flex}.timeline-kind{color:var(--muted-foreground);font-family:var(--font-wide);font-size:var(--text-label);font-weight:var(--text-label--font-weight);flex:0 0 6.5rem}.timeline-items a{text-wrap:pretty;flex:12rem;min-inline-size:0;padding-block:.125rem}@media (width>=48rem){.timeline-day{grid-template-columns:7.5rem minmax(0,1fr);column-gap:1rem}}.roles{grid-template-columns:minmax(0,1fr);row-gap:1rem;margin:0;padding:0;list-style:none;display:grid}.roles>li{row-gap:.25rem;display:grid}.role-years{color:var(--muted-foreground);font-family:var(--font-wide);font-size:var(--text-label);font-weight:var(--text-label--font-weight);line-height:var(--text-label--line-height);font-variant-numeric:tabular-nums;margin:0}.role-title{font-family:var(--font-display);font-size:var(--text-headline);font-weight:800;line-height:var(--text-headline--line-height);letter-spacing:-.005em;text-wrap:balance;margin:0}.resume-notes{max-width:var(--measure);row-gap:.25rem;display:grid}.resume-notes>p{margin:0}.roles+.resume-notes{margin-top:1.25rem}.resume-email{overflow-wrap:anywhere;display:inline-block}.skills{border-block-end:1px solid var(--border);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.skills>div{border-block-start:1px solid var(--border);row-gap:.25rem;padding-block:.75rem;display:grid}.skills dt{font-family:var(--font-label);font-size:var(--text-ui);font-weight:600;line-height:var(--text-ui--line-height)}.skills dd{color:var(--muted-foreground);margin:0}@media (width>=48rem){.roles>li{column-gap:var(--gutter);grid-template-columns:9rem minmax(0,1fr);align-items:baseline}.skills>div{column-gap:var(--gutter);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:baseline}.about-body .cards{grid-template-columns:repeat(2,minmax(0,1fr));max-inline-size:none}}.about-section .post-list{margin-top:0}.about-body .post-list>.post-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"date kind""main main";padding-block:1.25rem 1.5rem}.about-body .post-kind{display:flex}@media (width>=48rem){.resume{padding-block:3.5rem 2.5rem}.about-section{padding-top:5rem}}@media screen and (width>=64rem){.resume{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;column-gap:4rem;display:grid}.about-toc{margin-top:2.5rem;display:block}.about-body{margin-top:0;padding-top:.5rem}}@media screen and (width>=64rem) and (height>=46rem){.about-head{position:sticky;inset-block-start:2.5rem}}@page resume{size:letter;margin:.5in}@media print{:root:has(.resume) body{page:resume}:root:has(.resume) :is(.masthead,.site-header,.skip-link,body>footer){display:none}:root:has(.resume) :is(body,main){min-height:0;padding-inline:0;display:block}.resume{padding:0}.about-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:1.5rem;padding-block:0 .75rem;display:grid}.about-who{grid-column:1;row-gap:0}.about-name{font-size:2.5rem;line-height:1}.about-role{margin-top:.375rem;font-size:1rem}.about-where{font-size:.8125rem}.resume-contact{grid-area:1/2;align-self:end;gap:0 .75rem;margin:0}.resume-contact a{min-height:0}.resume{container:resume/inline-size}@container resume (width<41em){.about-head{grid-template-columns:minmax(0,1fr)}.resume-contact{grid-area:auto/1;margin-top:.75rem}}.about-body{margin:0}.resume :is(.bio,.about-section){break-inside:avoid;padding-top:.5rem}.resume :is(.print-item,.about-toc,.screen-only,.about-note),.bio-block:not(.bio-now),.bio-now .block-label{display:none}.bio-now>p{max-width:none;font-size:.875rem;line-height:1.3}.resume .block-label{color:var(--foreground);font-family:var(--font-display);margin-bottom:.25rem;font-size:.9375rem;font-weight:800}.resume .roles{row-gap:0}.resume .cards{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;max-inline-size:none;padding-inline-start:8rem}.resume .card{break-inside:avoid;grid-template-columns:minmax(0,1fr);row-gap:0;padding-block:.1875rem .25rem}.resume .card-text{max-inline-size:none}.resume .roles>li,.resume .post-list>.post-row{break-inside:avoid;grid-template-columns:7rem minmax(0,1fr);grid-template-areas:none;gap:0 1rem;max-inline-size:none;padding-block:.1875rem .25rem}.resume :is(.role-years,.post-date){grid-area:1/1/span 3;padding-top:.125rem;font-size:.6875rem}.resume :is(.role-title,.post-main){grid-area:auto/2}.resume .post-kind{display:none}.resume .post-main{row-gap:0}.resume :is(.role-title,.card-title,.post-title){letter-spacing:0;font-size:.9375rem;line-height:1.25}.resume .skills{border:0;flex-wrap:wrap;display:flex}.resume .skills>div{border:0;padding:0;display:flex}.resume .skills>div:not(:last-child):after{content:",";padding-inline-end:.375rem}.resume .card .kv{row-gap:0}.resume .skills dd{display:none}.resume :is(.skills dt,.card-text,.card-more,.post-summary,.resume-notes,.kv dd){font-size:.8125rem;line-height:1.3}.resume .roles+.resume-notes{margin-top:.375rem}.resume .post-links{margin-top:.25rem}.resume .post-links a{min-height:0}}
