.theme-toggle[data-astro-cid-6lp36acm]{border:1px solid var(--color-accent);border-radius:var(--radius-control);block-size:2.75rem;min-block-size:2.75rem;inline-size:2.75rem;color:var(--color-accent-strong);font:inherit;font-size:var(--step--1);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-weight:650;line-height:1;display:none}html.js .theme-toggle[data-astro-cid-6lp36acm]{display:inline-flex}.theme-toggle[data-astro-cid-6lp36acm]:hover{background:var(--color-accent-soft)}.theme-toggle[data-astro-cid-6lp36acm]:active{color:var(--color-text);background:var(--color-accent-soft)}.theme-toggle__icon--sun[data-astro-cid-6lp36acm],.theme-toggle[data-astro-cid-6lp36acm][data-target-theme=dark] .theme-toggle__icon--sun[data-astro-cid-6lp36acm]{display:none}.theme-toggle[data-astro-cid-6lp36acm][data-target-theme=light] .theme-toggle__icon--sun[data-astro-cid-6lp36acm]{display:block}.theme-toggle[data-astro-cid-6lp36acm][data-target-theme=light] .theme-toggle__icon--moon[data-astro-cid-6lp36acm]{display:none}@media (forced-colors:active){.theme-toggle[data-astro-cid-6lp36acm]{border-color:buttontext}}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-ext-wght-normal.DCwSJGxG.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-wght-normal.D_ZTVpCC.woff2)format("woff2-variations");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}:root{color-scheme:light;--color-page:#f8f8f6;--color-surface:#fff;--color-text:#111a24;--color-muted:#566373;--color-accent:#0b5ebc;--color-accent-strong:#064f9f;--color-accent-soft:#e7f1fc;--color-border:#d5dce4;--color-focus:#004a99;--color-button:#0b5ebc;--color-button-hover:#084d9c;--color-button-active:#063f82;--color-on-button:#fff;--color-brand-linkedin:#0a66c2;--font-sans:"Figtree Variable", "Figtree", sans-serif;--step--1:clamp(.85rem, .82rem + .15vw, .94rem);--step-0:clamp(1rem, .96rem + .22vw, 1.13rem);--step-1:clamp(1.25rem, 1.13rem + .58vw, 1.56rem);--step-2:clamp(1.65rem, 1.4rem + 1.2vw, 2.35rem);--step-3:clamp(2.2rem, 1.72rem + 2.35vw, 3.65rem);--step-4:clamp(3.25rem, 2.55rem + 3vw, 4.5rem);--space-1:.35rem;--space-2:.65rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.25rem;--space-6:3.5rem;--space-7:5.5rem;--radius-control:.3rem;--content-max:94rem;--text-measure:70ch}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-page:#07131f;--color-surface:#0b1928;--color-text:#f4f7fb;--color-muted:#a8b7c9;--color-accent:#5ca3ff;--color-accent-strong:#78b4ff;--color-accent-soft:#122f4d;--color-border:#31485f;--color-focus:#91c2ff;--color-button:#1474dc;--color-button-hover:#0d5eae;--color-button-active:#09477f;--color-on-button:#fff;--color-brand-linkedin:#0a66c2}}:root[data-theme=dark]{color-scheme:dark;--color-page:#07131f;--color-surface:#0b1928;--color-text:#f4f7fb;--color-muted:#a8b7c9;--color-accent:#5ca3ff;--color-accent-strong:#78b4ff;--color-accent-soft:#122f4d;--color-border:#31485f;--color-focus:#91c2ff;--color-button:#1474dc;--color-button-hover:#0d5eae;--color-button-active:#09477f;--color-on-button:#fff;--color-brand-linkedin:#0a66c2}:root[data-theme=light]{color-scheme:light;--color-page:#f8f8f6;--color-surface:#fff;--color-text:#111a24;--color-muted:#566373;--color-accent:#0b5ebc;--color-accent-strong:#064f9f;--color-accent-soft:#e7f1fc;--color-border:#d5dce4;--color-focus:#004a99;--color-button:#0b5ebc;--color-button-hover:#084d9c;--color-button-active:#063f82;--color-on-button:#fff;--color-brand-linkedin:#0a66c2}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-page);min-inline-size:20rem}body{min-block-size:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:var(--color-text);background:var(--color-page);font-family:var(--font-sans);font-size:var(--step-0);text-rendering:optimizelegibility;margin:0;font-weight:450;line-height:1.55}a{color:var(--color-accent-strong);text-underline-offset:.2em;text-decoration-thickness:.08em}a:hover{text-decoration-thickness:.13em}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}::selection{color:var(--color-on-button);background:var(--color-accent-strong)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:var(--color-on-button);background:var(--color-button);padding:.65rem .85rem;font-weight:700;position:fixed;inset-block-start:calc(.75rem + env(safe-area-inset-top));inset-inline-start:calc(.75rem + env(safe-area-inset-left));transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.evidence:focus:not(:focus-visible),.evidence__section:focus:not(:focus-visible){outline:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (forced-colors:active){a,button{forced-color-adjust:auto}}.portfolio{inline-size:min(100%, var(--content-max));min-block-size:100vh;margin-inline:auto}.identity,.evidence{min-inline-size:0}.identity{gap:0 var(--space-3);grid-template-columns:minmax(0,1fr) auto;padding:1.75rem clamp(1.25rem,5vw,2rem) 2rem;display:grid}.identity__nav{display:none}.identity>:not(.identity__name){grid-column:1/-1}.identity__name{letter-spacing:-.025em;align-self:center;font-size:clamp(2.5rem,2.1rem + 2.5vw,4rem);font-weight:760;line-height:1.05}.identity__role{color:var(--color-muted);margin:2rem 0 0;font-size:clamp(1.6rem,1.4rem + 1.5vw,2.5rem);line-height:1.3}.identity h1{letter-spacing:-.035em;text-wrap:balance;max-inline-size:100%;margin:.75rem 0 0;font-size:clamp(.95rem,.88rem + .2vw,1.05rem);font-weight:780;line-height:1}.identity__intro{max-inline-size:62ch;margin:var(--space-3) 0 0;color:var(--color-muted);text-wrap:pretty;font-size:.94rem;line-height:1.48}.identity__facts{gap:var(--space-3);margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.identity__facts li{gap:var(--space-2);grid-template-columns:1.5rem minmax(0,1fr);align-items:start;display:grid}.identity__facts svg{color:var(--color-accent);margin-block-start:.15rem}.primary-action,.contact-actions__primary{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--color-button);border-radius:var(--radius-control);min-block-size:3.25rem;color:var(--color-on-button);background:var(--color-button);padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.primary-action{inline-size:100%;margin-block-start:1.5rem}.primary-action:hover,.contact-actions__primary:hover{background:var(--color-button-hover)}.primary-action:active,.contact-actions__primary:active{background:var(--color-button-active)}.primary-action svg,.contact-actions__primary svg:last-child{transition:transform .18s cubic-bezier(.22,1,.36,1)}.primary-action:hover svg,.contact-actions__primary:hover svg:last-child{transform:translate(.25rem)}.identity__social{gap:var(--space-5);flex-wrap:wrap;inline-size:100%;min-inline-size:0;margin-block-start:1.75rem;display:flex}.identity__social a,.contact-actions__secondary{align-items:center;gap:.65rem;min-block-size:2.75rem;font-weight:650;text-decoration:none;display:inline-flex}.identity__social svg,.contact-actions svg{flex:none}.identity__social a:active,.contact-actions__secondary:active{color:var(--color-text);background:var(--color-accent-soft)}.evidence{padding:0 clamp(1.25rem, 5vw, 2rem) var(--space-7);border-block-start:1px solid var(--color-border)}.evidence__section{padding-block:var(--space-6);border-block-start:1px solid var(--color-border)}.evidence__section:first-child{padding-block-end:var(--space-4)}#about{border-block-start:0;padding-block-end:var(--space-4)}#education{border-block-start:0;padding-block-start:var(--space-4)}.evidence__section>h2{margin:0 0 var(--space-5);color:var(--color-accent-strong);font-size:var(--step-0);letter-spacing:.12em;text-transform:uppercase;font-weight:760;line-height:1.1}#education>h2{margin-block-end:var(--space-3)}.evidence__section h3,.evidence__section h4{color:var(--color-text)}.experience-entry h3,.project-entry h3,.contact-section>h3{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,1.45rem + 1.35vw,2.65rem);font-weight:760;line-height:1.08}.experience-list,.project-list{display:grid}.experience-entry+.experience-entry{border-block-start:1px solid var(--color-border);margin-block-start:var(--space-6);padding-block-start:var(--space-6)}.experience-entry__meta,.project-entry__meta{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--step-0);flex-wrap:wrap;gap:.4rem .7rem;display:flex}.experience-entry__meta>span[aria-hidden=true],.project-entry__meta>span[aria-hidden=true]{color:var(--color-accent)}.date-range{flex-wrap:wrap;gap:.35rem;display:inline-flex}.experience-entry__summary{max-inline-size:var(--text-measure);margin:var(--space-4) 0 0;font-weight:600}.proof-label{color:var(--color-accent-strong);font-size:var(--step--1);letter-spacing:.045em;text-transform:uppercase;font-weight:760}.experience-entry__highlights,.project-entry__decisions{gap:var(--space-3);max-inline-size:var(--text-measure);margin:var(--space-4) 0 0;padding-inline-start:1.25rem;display:grid}.experience-entry__highlights li::marker,.project-entry__decisions li::marker{color:var(--color-accent)}.technology-line{margin:var(--space-4) 0 0;color:var(--color-muted);font-size:var(--step--1);font-weight:560}.project-list{border-block-end:1px solid var(--color-border)}.project-entry{padding-block:var(--space-5);border-block-start:1px solid var(--color-border)}.project-entry:first-child{border-block-start:0;padding-block-start:0}.project-entry__heading{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.project-entry__meta{font-size:var(--step--1);margin:0}.project-entry__body{display:grid}.project-entry__summary,.project-entry__contribution,.project-entry__evidence{max-inline-size:var(--text-measure);margin:var(--space-3) 0 0;text-wrap:pretty}.project-entry__contribution,.project-entry__evidence{color:var(--color-muted)}.project-entry strong{color:var(--color-text);font-weight:720}.project-entry__decisions{margin-block-start:var(--space-3)}.additional-work{margin-block-start:var(--space-6)}.additional-work>h3,.skills-block>h3{margin:0 0 var(--space-4);font-size:var(--step-1);letter-spacing:-.015em;font-weight:740}.additional-project{padding-block:var(--space-4)}.additional-project__heading{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.additional-project h4{font-size:var(--step-1);margin:0;font-weight:720}.additional-project__heading time,.additional-project>p{color:var(--color-muted)}.additional-project>p{max-inline-size:var(--text-measure);margin:var(--space-2) 0 0}.private-note{max-inline-size:var(--text-measure);margin:var(--space-5) 0 0;color:var(--color-muted);font-size:var(--step--1)}.private-note--lead{margin:-1rem 0 var(--space-5)}.about{gap:var(--space-4);max-inline-size:var(--text-measure);border-block-end:1px solid var(--color-border);padding-block-end:var(--space-5);display:grid}.about p{text-wrap:pretty;margin:0}.education-block{margin:0}.education-entry{padding-block-start:var(--space-2)}.education-entry h3,.education-entry h4{font-size:var(--step-1);margin:0;font-weight:720}.education-entry>p{max-inline-size:var(--text-measure);margin:var(--space-2) 0 0;color:var(--color-muted)}.education-entry__meta{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--step-0);flex-wrap:wrap;gap:.4rem .7rem;display:flex}.education-entry__meta>span[aria-hidden=true]{color:var(--color-accent)}.skills-details,.skills-details>:not(:first-child){margin-block-start:var(--space-6)}.skill-groups{margin:0}.skill-group{gap:var(--space-2);padding-block:var(--space-3);border-block-start:1px solid var(--color-border);display:grid}.skill-group:first-child{border-block-start:0;padding-block-start:0}.skill-group dt{font-weight:720}.skill-group dd{color:var(--color-muted);margin:0}.contact-section__body,.contact-section__availability,.contact-section__authorization{max-inline-size:var(--text-measure);text-wrap:pretty}.contact-section__body{margin:var(--space-4) 0 0;font-size:var(--step-1)}.contact-section__availability{margin:var(--space-5) 0 0;font-weight:650}.contact-section__authorization{margin:var(--space-3) 0 0;color:var(--color-muted);font-size:var(--step--1)}.contact-actions{gap:var(--space-3) var(--space-5);flex-wrap:wrap;margin-block-start:var(--space-5);display:flex}.contact-actions__primary{inline-size:min(100%,22rem)}.contact-actions__secondary{padding-inline:.25rem}@media (width<=63.99rem){.identity h1{margin-block-start:.75rem;font-size:clamp(1.1rem,.98rem + .5vw,1.4rem)}}@media (width<=23.75rem){.identity{padding-inline:1rem}.identity__role{margin-block-start:var(--space-4)}.identity h1{font-size:2.75rem}.identity__intro{margin-block-start:.85rem;font-size:.9rem;line-height:1.42}.primary-action{min-block-size:3rem;margin-block-start:var(--space-4)}.identity__facts{gap:var(--space-2);font-size:var(--step--1);margin-block-start:var(--space-4)}.identity__social{gap:var(--space-4)}.evidence{padding-inline:1rem}.project-entry__heading,.additional-project__heading{flex-direction:column;align-items:flex-start}}@media (width>=40rem){.identity,.evidence{padding-inline:clamp(2rem,7vw,4rem)}.skill-group{gap:var(--space-4);grid-template-columns:minmax(9rem,.7fr) minmax(0,1.3fr)}}@media (width>=64rem){.portfolio{inline-size:min(calc(100% - 2rem), var(--content-max));grid-template-columns:minmax(0,38%) minmax(0,62%);min-block-size:calc(100vh - 2rem);margin-block:1rem;display:grid}.identity{min-block-size:calc(100vh - 2rem);padding:7.25rem 2.25rem var(--space-6);border-inline-end:1px solid var(--color-border);flex-direction:column;align-self:start;align-items:flex-start;display:flex;position:sticky;inset-block-start:1rem}.identity__name{align-self:flex-start;font-size:clamp(3rem,4.2vw,4.5rem)}.identity__role{margin-block-start:var(--space-2);font-size:clamp(2rem,1.7vw + 1.2rem,3rem)}.identity h1{max-inline-size:100%;margin-block-start:1rem;font-size:clamp(1.1rem,.95rem + .85vw,1.45rem)}.identity__intro{font-size:var(--step-0);margin-block-start:3.25rem;line-height:1.5}.identity__facts{order:6;margin-block-start:var(--space-5)}.primary-action{inline-size:min(100%,20rem);order:5;margin-block-start:var(--space-5)}.identity__social{order:7;margin-block-start:var(--space-5)}.identity__nav{flex-direction:column;order:4;margin-block-start:var(--space-6);display:flex}.identity__nav-link{align-items:center;gap:var(--space-2);color:var(--color-muted);text-transform:uppercase;font-weight:700;font-size:var(--step--1);letter-spacing:.08em;padding:.35rem 0;text-decoration:none;transition:color .25s ease-in-out;display:flex}.identity__nav-link:hover,.identity__nav-link:focus-visible{color:var(--color-text)}.identity__nav-indicator{background-color:var(--color-muted);flex-shrink:0;block-size:1px;inline-size:2rem;transition:inline-size .25s ease-in-out,background-color .25s ease-in-out;display:block}.identity__nav-link:hover .identity__nav-indicator,.identity__nav-link:focus-visible .identity__nav-indicator{background-color:var(--color-text);inline-size:4rem}.identity__nav-link.active{color:var(--color-accent-strong)}.identity__nav-link.active .identity__nav-indicator{background-color:var(--color-accent-strong);inline-size:4rem}@media (prefers-reduced-motion:reduce){.identity__nav-link,.identity__nav-indicator{transition:none}}.evidence{padding:0 clamp(3.5rem, 5vw, 5rem) var(--space-7);background:var(--color-surface);border-block-start:0}.evidence__section{padding-block:clamp(3.5rem,4vw,4rem)}}@media (width>=75rem){.experience-entry__highlights{column-gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));max-inline-size:none}.project-entry__body{gap:var(--space-5);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.project-entry__decisions{margin-block-start:var(--space-3)}}@media (width>=64rem) and (height<=50rem){.identity{padding-block:1.5rem}.identity__name{font-size:3.5rem}.identity h1{font-size:1.15rem}.identity__intro{margin-block-start:var(--space-3);font-size:.92rem;line-height:1.36}.identity__facts,.primary-action,.identity__social{margin-block-start:var(--space-3)}.identity__facts{gap:var(--space-2);font-size:.9rem}}@media (prefers-reduced-motion:reduce){.primary-action svg,.contact-actions__primary svg:last-child{transition:none}}
