.resume{--resume-accent:#a89975;--resume-rule:var(--color-border);--resume-ink:var(--color-fg);--resume-ink-muted:var(--color-fg-muted);--resume-ink-subtle:var(--color-fg-subtle);--resume-link:#5c9fdd;--resume-link-active:color-mix(in srgb, var(--resume-link) 49%, white 51%);--resume-section-label:#5c716c;--resume-figure:#bdcfca;--resume-toc-link:var(--top-nav-link);--resume-toc-link-active:var(--top-nav-link-active);--resume-measure:clamp(45ch, 68vw, 72ch);--rs-14:.875rem;--rs-16:1rem;--rs-18:1.125rem;background:var(--color-bg);color:var(--resume-ink);min-height:100vh;padding-block:clamp(var(--spacing-3), 1.96vw, var(--spacing-8)) clamp(var(--spacing-16), 9vw, 9rem);padding-inline:clamp(var(--spacing-5), 5vw, var(--spacing-16))}html[data-theme=light] .resume{--resume-accent:#6a582c;--resume-ink-subtle:var(--color-fg-muted);--resume-link:#10528a;--resume-link-active:black;--resume-figure:#3e5a52}.resume__sheet{max-width:var(--resume-measure);margin-inline:auto}.resume__content{max-width:var(--resume-measure)}.resume__toc{display:none}@media (min-width:1280px){.resume__sheet{column-gap:clamp(var(--spacing-12), 5vw, var(--spacing-20));max-width:calc(11rem + clamp(3rem, 5vw, 5rem) + var(--resume-measure));grid-template-columns:11rem minmax(0,1fr);display:grid}.resume__masthead{grid-area:1/2}.resume__toc{grid-area:2/1;display:block}.resume__content{grid-area:2/2}.resume__toc-sticky{margin:var(--spacing-4) 0 0;position:sticky;top:7rem}.resume__toc-list{gap:var(--spacing-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.resume__toc-download{justify-content:center;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-6);border:1px solid var(--color-border-strong);min-height:44px;font-family:var(--font-body);font-size:var(--rs-16);letter-spacing:.01em;white-space:nowrap;color:var(--resume-toc-link);border-radius:8px;padding:11px 16px;font-weight:500;text-decoration:none;transition:color .18s,border-color .18s;display:inline-flex}.resume__toc-download:hover{color:var(--resume-ink);border-color:var(--resume-ink)}.resume__toc-download:focus-visible{outline:2px solid var(--resume-toc-link-active);outline-offset:4px;border-radius:8px}.resume__toc-download svg{flex-shrink:0}.resume__toc-list a{font-family:var(--font-body);font-size:var(--rs-16);letter-spacing:.01em;color:var(--resume-toc-link);font-weight:500;text-decoration:none;transition:color .18s}.resume__toc-list a:hover{color:var(--resume-ink)}.resume__toc-list a[aria-current=location]{color:var(--resume-toc-link-active)}.resume__toc-list a:focus-visible{outline:2px solid var(--resume-toc-link);outline-offset:3px;border-radius:2px}}.resume__toc-inline{margin-block:var(--spacing-5) var(--spacing-2);overscroll-behavior-x:contain;scrollbar-width:none;overflow-x:auto}.resume__toc-inline::-webkit-scrollbar{display:none}@media (min-width:1280px){.resume__toc-inline{display:none}}.resume__toc-inline-list{align-items:center;gap:var(--spacing-6);width:max-content;min-width:100%;margin:0;padding:0;list-style:none;display:flex}.resume__toc-inline-list a{min-height:44px;font-family:var(--font-body);font-size:var(--rs-16);letter-spacing:.01em;white-space:nowrap;color:var(--resume-toc-link);align-items:center;font-weight:500;text-decoration:none;transition:color .18s;display:flex}.resume__toc-inline-list a:hover{color:var(--resume-ink)}.resume__toc-inline-list a[aria-current=location]{color:var(--resume-toc-link-active)}.resume__toc-inline-list a:focus-visible{outline:2px solid var(--resume-toc-link);outline-offset:-2px;border-radius:2px}html:has(.resume){scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html:has(.resume){scroll-behavior:auto}}.resume__section{scroll-margin-top:7rem}.resume__masthead{text-align:center}.resume__name{font-family:var(--font-sans);letter-spacing:-.025em;margin:0;font-size:2rem;font-weight:600;line-height:1.02}.resume__role{font-family:var(--font-body);letter-spacing:.03em;color:color-mix(in srgb, var(--resume-ink) 80%, var(--color-bg) 20%);margin:var(--spacing-3) 0 0;font-size:1.25rem;font-weight:400}.resume__contact-short{display:none}.resume__contact{justify-content:center;align-items:center;gap:var(--spacing-2) var(--spacing-10);margin:var(--spacing-4) 0 0;padding:0 0 var(--spacing-2);font-family:var(--font-body);font-size:var(--rs-16);color:var(--resume-ink-muted);flex-wrap:wrap;list-style:none;display:flex}.resume__contact li{align-items:center;display:inline-flex}.resume__contact a{color:var(--resume-toc-link);text-decoration:none;transition:color .18s}.resume__contact a:hover{color:var(--resume-toc-link-active)}.resume__contact a:focus-visible{outline:2px solid var(--resume-toc-link);outline-offset:3px;border-radius:2px}.resume__section{gap:var(--spacing-4);margin-top:clamp(0rem, 6vw, var(--spacing-8));padding-top:clamp(var(--spacing-6), 3vw, var(--spacing-10));border-top:1px solid var(--resume-rule);grid-template-columns:1fr;display:grid}.resume__section-label{font-family:var(--font-body);font-size:var(--rs-14);letter-spacing:.18em;text-transform:uppercase;color:var(--resume-section-label);margin:0;font-weight:600}.resume__summary{font-family:var(--font-body);font-size:var(--rs-18);color:var(--resume-ink);margin:0;line-height:1.7}.resume__skills{gap:var(--spacing-8) var(--spacing-6);grid-template-columns:minmax(5.5rem,5rem) 1fr;margin:0;display:grid}.resume__skills-label{font-family:var(--font-body);font-size:var(--rs-14);color:var(--resume-ink-muted);margin:0;font-weight:600}.resume__skills-items{font-family:var(--font-body);font-size:var(--rs-16);color:var(--resume-ink);margin:0;line-height:1.7}.resume__entry{display:block}.resume__entry+.resume__entry{margin-top:clamp(var(--spacing-8), 4vw, var(--spacing-12));padding-top:clamp(var(--spacing-8), 4vw, var(--spacing-12));border-top:1px solid var(--resume-rule)}.resume__entry-heading{font-family:var(--font-sans);font-size:var(--rs-16);letter-spacing:-.005em;color:var(--resume-ink);align-items:baseline;gap:var(--spacing-2);flex-wrap:wrap;margin:0;font-weight:600;line-height:1.3;display:flex}.resume__entry-sep{color:var(--resume-ink-subtle);font-weight:400}.resume__entry-dates{font-family:var(--font-body);font-size:var(--rs-14);color:var(--resume-ink-muted);font-variant-numeric:tabular-nums;margin:var(--spacing-2) 0 0 0;line-height:1.5}.resume__edu-row{justify-content:space-between;align-items:baseline;gap:var(--spacing-2) var(--spacing-6);flex-wrap:wrap;display:flex}.resume__edu-title{font-family:var(--font-sans);font-size:var(--rs-16);letter-spacing:-.005em;color:var(--resume-ink);margin:0;font-weight:600;line-height:1.35}.resume__edu-date{font-family:var(--font-body);font-size:var(--rs-14);color:var(--resume-ink-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.resume__edu-meta{font-family:var(--font-body);font-size:var(--rs-14);color:var(--resume-ink-muted);margin:var(--spacing-2) 0 0 0;line-height:1.6}.resume__certs{margin:0;padding:0;list-style:none}.resume__cert{justify-content:space-between;align-items:baseline;gap:var(--spacing-2) var(--spacing-6);flex-wrap:wrap;display:flex}.resume__cert+.resume__cert{margin-top:var(--spacing-8)}.resume__cert-title{font-family:var(--font-sans);font-size:var(--rs-16);letter-spacing:-.005em;color:var(--resume-ink);margin:0;font-weight:600;line-height:1.35}.resume__cert-meta{align-items:baseline;gap:var(--spacing-4);flex-shrink:0;display:inline-flex}.resume__cert-date{font-family:var(--font-body);font-size:var(--rs-14);color:var(--resume-ink-muted);font-variant-numeric:tabular-nums}.resume__cert-link{font-family:var(--font-body);font-size:var(--rs-16);color:var(--resume-toc-link);text-decoration:none;transition:color .18s}.resume__cert-link:hover{color:var(--resume-toc-link-active)}.resume__cert-link:focus-visible{outline:2px solid var(--resume-toc-link);outline-offset:3px;border-radius:2px}.resume__bullets{margin:var(--spacing-4) 0 0;padding:0;list-style:none}.resume__bullets li{font-family:var(--font-body);font-size:var(--rs-16);color:var(--resume-ink);padding-left:var(--spacing-5);line-height:1.7;position:relative}.resume__bullets li+li{margin-top:var(--spacing-4)}.resume__bullets li:before{content:"";background:var(--resume-accent);width:.5rem;height:1px;position:absolute;top:.8em;left:0}.resume__figure{color:var(--resume-figure);font-weight:700}@media (max-width:560px){.resume__masthead{align-items:flex-start}.resume__contact{justify-content:space-between;align-items:center;column-gap:var(--spacing-3);font-size:var(--rs-14);flex-wrap:nowrap;row-gap:0;display:flex}.resume__contact li{width:auto;min-width:0}.resume__contact>li>a,.resume__contact>li>span{white-space:nowrap;justify-content:center;align-items:center;width:auto;min-height:44px;display:flex}.resume__contact-full{display:none}.resume__contact-short{display:inline}.resume__skills{gap:var(--spacing-1);grid-template-columns:1fr}.resume__skills-label{color:var(--resume-accent);font-size:var(--rs-14);letter-spacing:.08em;text-transform:uppercase}.resume__skills-items+.resume__skills-label{margin-top:var(--spacing-4)}}@media print{.resume{color:#111;background:#fff;min-height:0;padding:0}.resume__toc-inline{display:none}.resume__section-label{position:static}.resume__entry,.resume__section{break-inside:avoid}.resume__figure{color:inherit}}
