.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-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__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(9rem + clamp(3rem, 5vw, 5rem) + var(--resume-measure));grid-template-columns:9rem 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-list{margin:var(--spacing-4) 0 0;gap:var(--spacing-3);flex-direction:column;padding:0;list-style:none;display:flex;position:sticky;top:7rem}.resume__toc-list a{font-family:var(--font-body);font-size:var(--rs-16);letter-spacing:.01em;color:var(--resume-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-link-active)}.resume__toc-list a:focus-visible{outline:2px solid var(--resume-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-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-link-active)}.resume__toc-inline-list a:focus-visible{outline:2px solid var(--resume-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-link);text-decoration:none;transition:color .18s}.resume__contact a:hover{color:color-mix(in srgb, var(--resume-link) 70%, var(--resume-ink))}.resume__contact a[href^=tel\:]{color:inherit}.resume__contact a[href^=tel\:]:hover{color:var(--resume-ink)}.resume__contact a:focus-visible{outline:2px solid var(--resume-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-accent);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-link);text-decoration:none;transition:color .18s}.resume__cert-link:hover{color:color-mix(in srgb, var(--resume-link) 70%, var(--resume-ink))}.resume__cert-link:focus-visible{outline:2px solid var(--resume-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-accent);font-weight:600}@media (max-width:560px){.resume__masthead{align-items:flex-start}.resume__contact{column-gap:var(--spacing-10);grid-template-columns:1fr 1fr;row-gap:0;display:grid}.resume__contact li:first-child>a,.resume__contact li:first-child>span,.resume__contact li:nth-child(4)>a,.resume__contact li:nth-child(4)>span{justify-content:flex-start}.resume__contact li:nth-child(3)>a,.resume__contact li:nth-child(3)>span,.resume__contact li:nth-child(5)>a,.resume__contact li:nth-child(5)>span{justify-content:flex-end}.resume__contact li{width:100%}.resume__contact>li>a,.resume__contact>li>span{justify-content:center;align-items:center;width:100%;min-height:44px;display:flex}.resume__contact a[href^=tel\:]{color:var(--resume-link)}.resume__contact li.resume__contact-site,.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}}
