:root{--color-bg: #fdfdfc;--color-text: #1a1a1a;--color-text-muted: #595959;--color-text-subtle: #8a8a8a;--color-rule: #e6e6e3;--color-accent: #1e3a5f;--color-accent-hover: #142840;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--measure: 38rem;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 3rem;--space-6: 4.5rem;--space-7: 6.5rem}@media (prefers-color-scheme: dark){:root{--color-bg: #111418;--color-text: #ececec;--color-text-muted: #b0b0b0;--color-text-subtle: #7c7c7c;--color-rule: #2a2e34;--color-accent: #8eb4e3;--color-accent-hover: #b3cdee}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:17px;line-height:1.65;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{max-width:44rem;margin:0 auto;padding:var(--space-6) var(--space-3) var(--space-7)}@media (max-width: 540px){main{padding:var(--space-5) var(--space-3) var(--space-6)}}h1,h2,h3,h4{font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--color-text)}h1{font-size:clamp(2rem,4.6vw,2.625rem);letter-spacing:-.02em;margin:0 0 var(--space-2)}h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);font-weight:600;margin:0 0 var(--space-3)}h3{font-size:1.0625rem;margin:0}p{margin:0 0 var(--space-2);color:var(--color-text)}a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid transparent;transition:color .12s ease,border-color .12s ease}a:hover{color:var(--color-accent-hover);border-bottom-color:currentColor}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}ul{margin:0;padding:0;list-style:none}hr{border:0;border-top:1px solid var(--color-rule);margin:0}section{padding:var(--space-5) 0;border-top:1px solid var(--color-rule)}section:first-of-type{border-top:0;padding-top:0}.tagline{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:var(--color-accent);font-weight:600;margin-bottom:var(--space-2)}.intro{font-size:1.0625rem;color:var(--color-text-muted);max-width:var(--measure)}.muted{color:var(--color-text-muted)}.subtle{color:var(--color-text-subtle)}.btn{display:inline-block;padding:.625rem 1.125rem;background:var(--color-accent);color:#fff;border:1px solid var(--color-accent);border-radius:4px;font-size:.9375rem;font-weight:500;letter-spacing:.01em;transition:background .12s ease,border-color .12s ease,transform .12s ease}.btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff;border-bottom-color:var(--color-accent-hover)}@media (prefers-color-scheme: dark){.btn,.btn:hover{color:#0d1117}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:.5rem;left:.5rem;padding:.5rem .875rem;background:var(--color-accent);color:#fff;border-radius:4px;font-size:.9375rem;font-weight:500;text-decoration:none;border-bottom:0;transform:translateY(-150%);transition:transform .12s ease;z-index:100}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);color:#fff;border-bottom:0;outline:2px solid var(--color-bg);outline-offset:2px}@media (prefers-color-scheme: dark){.skip-link,.skip-link:focus,.skip-link:focus-visible{color:#0d1117}}.hero[data-astro-cid-bbe6dxrz]{padding-top:0}.hero-cta[data-astro-cid-bbe6dxrz]{margin-top:1.75rem;margin-bottom:0}.jobs[data-astro-cid-xpq65ryk]{display:flex;flex-direction:column;gap:2.25rem}.job-header[data-astro-cid-xpq65ryk]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.job-dates[data-astro-cid-xpq65ryk]{font-size:.875rem;font-variant-numeric:tabular-nums;white-space:nowrap}.roles[data-astro-cid-xpq65ryk]{display:flex;flex-direction:column;gap:1.25rem;border-left:1px solid var(--color-rule);padding-left:1.25rem}.role-header[data-astro-cid-xpq65ryk]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.role-title[data-astro-cid-xpq65ryk]{font-weight:500;color:var(--color-text)}.role-dates[data-astro-cid-xpq65ryk]{font-size:.8125rem;font-variant-numeric:tabular-nums;white-space:nowrap}.achievements[data-astro-cid-xpq65ryk]{color:var(--color-text-muted)}.achievements[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk]{position:relative;padding-left:1rem;margin-bottom:.35rem;line-height:1.6}.achievements[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk]:before{content:"";position:absolute;left:0;top:.7em;width:4px;height:4px;border-radius:50%;background:var(--color-accent)}.achievements[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk]:last-child{margin-bottom:0}@media (max-width: 540px){.job-header[data-astro-cid-xpq65ryk],.role-header[data-astro-cid-xpq65ryk]{flex-direction:column;gap:.15rem}.roles[data-astro-cid-xpq65ryk]{padding-left:1rem}}.skills[data-astro-cid-ab4ihpzs]{display:flex;flex-direction:column;gap:1rem;margin:0}.skill-group[data-astro-cid-ab4ihpzs]{display:grid;grid-template-columns:10rem 1fr;gap:1.5rem;align-items:baseline}dt[data-astro-cid-ab4ihpzs]{font-weight:500;color:var(--color-text);font-size:.9375rem}dd[data-astro-cid-ab4ihpzs]{margin:0;color:var(--color-text-muted)}@media (max-width: 540px){.skill-group[data-astro-cid-ab4ihpzs]{grid-template-columns:1fr;gap:.25rem}}.education[data-astro-cid-2gvrk3wr]{display:flex;flex-direction:column;gap:1rem}.degree[data-astro-cid-2gvrk3wr]{margin:.15rem 0 0;color:var(--color-text-muted)}.details[data-astro-cid-2gvrk3wr]{margin:.05rem 0 0;font-size:.9375rem}.contact[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:.5rem;margin:0}.contact-row[data-astro-cid-xmivup5a]{display:grid;grid-template-columns:7rem 1fr;gap:1.25rem;align-items:baseline}dt[data-astro-cid-xmivup5a]{font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle);font-weight:500}dd[data-astro-cid-xmivup5a]{margin:0}@media (max-width: 540px){.contact-row[data-astro-cid-xmivup5a]{grid-template-columns:5.5rem 1fr;gap:.75rem}}
