.site-header[data-astro-cid-3ef6ksr2]{padding-block:var(--space-sm);border-bottom:1px solid var(--color-border)}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.site-name[data-astro-cid-3ef6ksr2]{text-decoration:none;display:block;line-height:0}.logo[data-astro-cid-3ef6ksr2]{display:block;height:7rem;width:auto;transition:transform .4s ease-out}.site-name[data-astro-cid-3ef6ksr2]:hover .logo[data-astro-cid-3ef6ksr2],.site-name[data-astro-cid-3ef6ksr2]:focus-visible .logo[data-astro-cid-3ef6ksr2]{transform:scale(1.02)}nav[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:row;align-items:center;gap:var(--space-lg)}@media(max-width:640px){nav[data-astro-cid-3ef6ksr2]{flex-direction:column;align-items:flex-end;gap:var(--space-xs)}}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:var(--text-base);text-decoration:none;padding:var(--nav-link-padding)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:focus-visible{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-primary)}@media(max-width:640px){.logo[data-astro-cid-3ef6ksr2]{height:5rem}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:0}}.site-footer[data-astro-cid-sz7xmlte]{padding-block:var(--space-md);margin-top:auto;border-top:1px solid var(--color-border);font-size:var(--text-base);color:var(--color-muted)}.footer-inner[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-muted)}@media(max-width:640px){.site-footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:.6rem}}:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--color-bg: #fdfdfd;--color-text: #1a1a1a;--color-muted: #6b6b6b;--color-border: #e2e2e2;--color-secondary: #6505a9;--color-primary: #693cda;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.3rem;--text-3xl: 2rem;--weight-normal: 400;--weight-semibold: 600;--leading-tight: 1.2;--leading-normal: 1.7;--leading-relaxed: 1.7;--tracking-tight: .05em;--tracking-wide: .1em;--bullet-marker-size: .75em;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--page-title-after-gap-mobile: calc(var(--space-sm) + .7rem);--max-width: 72rem;--mobile-order: 0;--nav-link-padding: 15px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;overflow-x:hidden}@media(min-width:641px){html{scrollbar-gutter:stable}}body{min-height:100dvh;display:flex;flex-direction:column}img{max-width:100%;height:auto;display:block}p{font-size:var(--text-base);line-height:var(--leading-normal)}.p1{font-size:var(--text-md);line-height:var(--leading-relaxed);margin-top:var(--space-md);color:var(--color-muted);max-width:48rem}@media(max-width:640px){.p1{font-size:var(--text-base);margin-top:var(--page-title-after-gap-mobile)}}a{color:var(--color-text);text-decoration-thickness:1px;text-underline-offset:.15em}a:hover,a:focus-visible{color:var(--color-secondary);text-decoration:underline;text-decoration-color:var(--color-primary)}h1,h2,h3{line-height:var(--leading-tight);font-weight:var(--weight-semibold)}h1{font-size:var(--text-3xl)}.section-label,h2{font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-muted);line-height:var(--leading-tight)}h3{font-size:var(--text-md)}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-md)}@media(max-width:640px){.container{padding-inline:var(--space-sm)}.grid{columns:1;padding-bottom:var(--space-lg)}h1{font-size:var(--text-xl)}}.grid{display:flex;flex-direction:column;gap:var(--space-md)}.grid>.grid-item{order:var(--mobile-order, 0)}@media(min-width:48rem){.grid{display:block;columns:3;column-gap:var(--space-md);padding-bottom:var(--space-lg)}.grid>.grid-item{break-inside:avoid;margin-bottom:var(--space-md);order:unset}}main{flex:1}ul,ol{padding-left:1.25em}.portfolio-page{min-height:calc(100vh - 2rem)}@media(min-width:768px){.portfolio-page{min-height:calc(100vh - 3rem)}}
