@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_31011fd-module__jtyeTG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_31011fd-module__jtyeTG__variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/62492e45f348cf87-s.09ts~~nv7.gli.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.15x1_y6qud6v1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/c73d4b34880585a8-s.0h~3qwf~jnck6.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/f00b8cc54454926d-s.0pnmrqznc81p3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/741805f5bd1ef272-s.0c4kcf2~ka6ot.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.06jmhnppna1wq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/20aee433927f7d4b-s.0ob7wurzmhzij.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/256e1f7f180674ba-s.16cyokehnn49g.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/be3bf58b83159894-s.06fwie_3tzkw2.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/753b6407f468151f-s.0c5we34f_v6eu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/292081311a6a8abc-s.15whji3~l7clj.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.00d1o87t2t-bn.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_b752857f-module__-rzNya__className{font-family:"Source Serif 4","Source Serif 4 Fallback"}.source_serif_4_b752857f-module__-rzNya__variable{--font-serif:"Source Serif 4", "Source Serif 4 Fallback"}
:root{--bg:#fff;--fg:#1f2328;--muted:#5b636b;--rule:#d9dde1;--accent:#1f3a5f;--accent-soft:#e8edf3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-serif), Georgia, "Times New Roman", serif;margin:0;font-size:16px;line-height:1.6}a{color:var(--accent)}::selection{background:var(--accent-soft);color:var(--fg)}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.page{max-width:820px;margin:0 auto;padding:3.5rem 1.3rem 2rem}h1.name{font-family:var(--font-sans), Arial, Helvetica, sans-serif;color:var(--fg);letter-spacing:-.5px;margin:0 0 .25rem;font-size:clamp(2rem,5vw,2.6rem);font-weight:700}.subtitle{color:var(--muted);font-family:var(--font-sans), Arial, sans-serif;margin:0 0 .9rem;font-size:1rem}.contacts{border-bottom:2px solid var(--accent);font-family:var(--font-sans), Arial, sans-serif;flex-wrap:wrap;gap:.4rem 1.4rem;margin:0 0 1.8rem;padding:0 0 1.2rem;font-size:.92rem;list-style:none;display:flex}.contacts a{text-decoration:none}.contacts a:hover{text-decoration:underline}.print-only{display:none}section{padding:0 0 1.2rem}.section-head{font-family:var(--font-sans), Arial, Helvetica, sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--rule);margin:1.8rem 0 1rem;padding-bottom:.35rem;font-size:1rem;font-weight:700}#summary .section-head{margin-top:0}.summary{margin:0;font-size:1.02rem}.job{opacity:0;padding-bottom:1.6rem;transition:opacity .5s,transform .5s;transform:translateY(10px)}.job.in-view{opacity:1;transform:none}.job-title{font-family:var(--font-sans), Arial, sans-serif;margin:0 0 .1rem;font-size:1.08rem;font-weight:700}.job-title a{color:var(--fg);text-decoration:none}.job-title a:hover{color:var(--accent);text-decoration:underline}.job-meta{color:var(--muted);margin-bottom:.5rem;font-size:.95rem;font-style:italic}.job-role{color:var(--fg);font-style:normal;font-weight:600}.job-summary{margin:0 0 .5rem}.job-bullets{margin:0;padding-left:1.2rem}.job-bullets li{padding:.1rem 0}.job-bullets li::marker{color:var(--accent)}.skill-row{flex-wrap:wrap;gap:.4rem;margin:0;padding:.2rem 0;display:flex}.skill-label{font-family:var(--font-sans), Arial, sans-serif;font-weight:700}.skill-label:after{content:":"}.edu-row{flex-wrap:wrap;gap:1rem;margin:0;padding:.25rem 0;display:flex}.edu-years{color:var(--muted);width:11ch;font-family:var(--font-sans), Arial, sans-serif;flex:none;font-size:.92rem}.edu-sub{color:var(--muted)}footer{text-align:center;max-width:820px;color:var(--muted);font-size:.9rem;font-family:var(--font-sans), Arial, sans-serif;border-top:1px solid var(--rule);margin:0 auto;padding:1.5rem 1.5rem 3rem}@media print{@page{margin:.55in .6in}.chip+.chip:before{content:", "}body{font-size:10.5pt;line-height:1.4}.page{padding:0}footer{display:none!important}a{text-decoration:none;color:var(--fg)!important}.contacts a{color:var(--accent)!important}.print-only{display:list-item}h1.name{margin-bottom:1pt;font-size:18pt;line-height:1.1}.subtitle{margin-bottom:3pt;font-size:9.5pt}.contacts{border-bottom-width:1.2pt;gap:0 .7rem;margin-bottom:8pt;padding-bottom:5pt;font-size:8.5pt}.summary{font-size:10pt}.section-head{break-after:avoid;margin:13pt 0 7pt;font-size:11.5pt}.job{padding-bottom:9pt;opacity:1!important;transform:none!important}.job-title,.job-meta,.job-summary{break-after:avoid}.job-title{font-size:11pt}.job-meta{margin-bottom:3pt;font-size:9.6pt}.job-bullets li{break-inside:avoid;font-size:9.8pt}}@media screen{header>*{animation:.6s cubic-bezier(.2,.7,.2,1) both rise}.subtitle{animation-delay:80ms}.contacts{border-bottom-color:#0000;animation-delay:.16s;position:relative}.contacts:after{content:"";background:var(--accent);transform-origin:0;height:2px;animation:.9s cubic-bezier(.2,.7,.2,1) .3s both grow;position:absolute;bottom:-2px;left:0;right:0}.section-head{position:relative}.section-head:after{content:"";background:var(--accent);transform-origin:0;width:2.5rem;height:2px;position:absolute;bottom:-1px;left:0}.job{border-left:3px solid color-mix(in srgb, var(--job-color) 70%, white);margin-bottom:1.6rem;padding:.2rem 0 .2rem 1.1rem;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1),border-color .25s;position:relative}.job:hover{border-left-color:var(--job-color)}.job-title a:hover,.job-role{color:var(--job-color)}.job-bullets li::marker{color:var(--job-color)}.job-bullets li{opacity:0;transition:opacity .5s}.job.in-view .job-bullets li{opacity:1;transition-delay:calc(.2s + var(--i) * 50ms)}.skill-row{flex-wrap:nowrap;align-items:baseline;gap:.4rem .9rem;padding:.3rem 0}.skill-label{flex:none;min-width:8.5rem}.skill-items{flex-wrap:wrap;gap:.35rem;display:flex}.chip{font-family:var(--font-sans), Arial, sans-serif;color:var(--fg);background:#f4f6f8;border:1px solid #e1e5ea;border-radius:4px;padding:.1rem .55rem;font-size:.83rem;line-height:1.5}@supports (animation-timeline:view()){.section-head:after{animation:linear both grow;animation-timeline:view();animation-range:entry cover 25%}}@media (max-width:560px){.skill-row{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.job,.job-bullets li{opacity:1;transform:none}}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
