@font-face{font-family:Poppins;src:url(/fonts/Poppins-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-Medium.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-SemiBold.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#17191a;--text:#e3e8ef;--muted:#97a3b6;--accent:#45d2ff;--tag-background:#1a2a38;font-synthesis:none;color:var(--text);background:var(--background);scroll-behavior:smooth;font-family:Poppins,sans-serif;font-weight:400;line-height:1.65}*{box-sizing:border-box}body{min-width:0;margin:0}a{color:inherit;text-decoration:none;transition:color .16s}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px;border-radius:2px}h1,h2,h3,h4,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}h1{letter-spacing:-.045em;font-size:clamp(2.3rem,4vw,3.2635rem);font-weight:600;line-height:1.2}h2{margin-bottom:1.5rem;font-size:1.25rem;font-weight:400}h3,h4{font-size:1rem;font-weight:400}strong{font-weight:600}section{scroll-margin-top:3rem}.portfolio{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:100px;max-width:1230px;margin:0 auto;padding:112px 48px 48px;display:grid}.profile{position:sticky;top:96px}.job-title{margin-top:6px;font-size:1.25rem}.introduction{max-width:360px;color:var(--muted);margin-top:22px;font-size:1rem}.section-nav{flex-direction:column;align-items:flex-start;gap:14px;margin-top:88px;display:flex}.section-nav a{min-height:30px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:12px;font-size:.8125rem;font-weight:500;display:flex}.section-nav a:hover,.section-nav a[aria-current]{color:var(--text)}.nav-marker{background:currentColor;width:0;height:1px;transition:width .18s}.section-nav a[aria-current] .nav-marker,.section-nav a:hover .nav-marker{width:28px}.contact-links{color:var(--muted);flex-wrap:wrap;align-items:center;gap:20px;margin-top:100px;display:flex}.contact-links a{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.email-link{gap:8px;font-size:.875rem}.portfolio-content{min-width:0;padding-top:6px}.portfolio-content:focus{outline:none}.portfolio-content>section+section{margin-top:100px}.skill-group+.skill-group{margin-top:52px}.content-note{color:var(--muted);margin:-12px 0 24px;font-size:.8125rem}.skill-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;display:grid}.skill-list li{align-items:center;gap:12px;padding:4px 0;font-size:.9375rem;display:flex}.skill-dot{background:var(--accent);opacity:.8;border-radius:50%;flex-shrink:0;width:7px;height:7px}.experience-list{gap:56px;display:grid}.company-name{margin-bottom:16px;font-weight:600}.experience-note{color:var(--muted);margin-bottom:12px;font-size:.75rem}.stint-roles{display:grid}.experience{grid-template-columns:112px minmax(0,1fr);gap:20px;display:grid}.experience+.experience{margin-top:28px}.has-progression>.experience{margin-top:0;padding-left:22px;position:relative}.has-progression>.experience:not(:last-child){padding-bottom:28px}.has-progression>.experience:before{content:"";background:var(--muted);border-radius:50%;width:7px;height:7px;position:absolute;top:10px;left:0}.has-progression>.experience:not(:last-child):after{content:"";background:var(--muted);opacity:.35;width:1px;position:absolute;top:17px;bottom:-10px;left:3px}.experience article{min-width:0}.experience h4+.tags{margin-top:14px}.experience-period{color:var(--muted);padding-top:4px;font-size:.75rem;font-weight:500}.experience-period time{white-space:nowrap}.experience-description{color:var(--muted);margin:14px 0 20px;font-size:.875rem}.tags{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.tags li{background:var(--tag-background);color:var(--accent);border-radius:14px;padding:3px 12px;font-size:.8125rem;font-weight:500;line-height:22px}.project-list{gap:52px;display:grid}.project-banner{background:var(--tag-background);border-radius:3px;align-items:flex-start;min-height:96px;display:flex;position:relative;overflow:hidden}.project-banner img{aspect-ratio:555/96;object-fit:cover;width:100%}.project-banner h3{padding:17px 22px}.project-banner.has-image h3{color:#fff;background:linear-gradient(90deg,#000b,#0000);position:absolute;inset:0}.project-details{grid-template-columns:92px minmax(0,1fr);gap:22px;padding:22px 0 0 22px;display:grid}.project-details p{color:var(--muted);font-size:.875rem}.project-links{color:var(--text);flex-wrap:wrap;gap:16px;margin-top:16px;font-size:.8125rem;display:flex}.project-links a{align-items:center;gap:6px;display:inline-flex}.site-footer{color:var(--muted);margin-top:100px;padding-bottom:24px;font-size:.75rem}.site-footer>a{margin-top:24px;padding-block:6px;display:inline-block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--text);color:var(--background);padding:10px 16px;position:fixed;top:16px;left:20px;transform:translateY(-200%)}.skip-link:focus{color:var(--background);transform:translateY(0)}@media (width<=1000px){.portfolio{gap:56px;padding:80px 40px 32px}.profile{top:64px}.experience{grid-template-columns:1fr;gap:10px}}@media (width<=760px),(height<=600px){.portfolio{max-width:640px;padding:56px 28px 24px;display:block}.profile{position:static}h1{font-size:clamp(2.3rem,8vw,3rem)}.job-title{font-size:1.125rem}.introduction{max-width:440px}.section-nav{flex-flow:wrap;gap:12px 28px;margin-top:32px}.nav-marker{display:none}.section-nav a[aria-current]{color:var(--accent)}.contact-links{margin-top:24px}.portfolio-content,.portfolio-content>section+section{margin-top:72px}.skill-list{gap:10px 16px}.site-footer{margin-top:72px}section{scroll-margin-top:24px}}@media (width<=400px){.portfolio{padding-inline:22px}.skill-list{column-gap:10px}.skill-list li{gap:8px;font-size:.875rem}.project-details{grid-template-columns:1fr;gap:16px;padding-left:0}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important}}
