.footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);padding-block:2.5rem}.footer__inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer__links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;gap:.25rem;margin-right:-.75rem;display:flex}.footer__links[data-astro-cid-jo6i4kqk] .btn{padding-inline:.75rem}.footer__copy[data-astro-cid-jo6i4kqk]{color:var(--text-faint);font-size:.8125rem}@media (width<=640px){.footer__inner[data-astro-cid-jo6i4kqk]{flex-direction:column-reverse;align-items:flex-start}.footer__links[data-astro-cid-jo6i4kqk]{margin-inline:-.75rem 0}}.header[data-astro-cid-nen7h5rs]{z-index:100;height:var(--header-height);background-color:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(12px);position:fixed;top:0;left:0;right:0}.header__nav[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;height:100%;display:flex}.header__actions[data-astro-cid-nen7h5rs]{align-items:center;gap:1.25rem;display:flex}.header__logo[data-astro-cid-nen7h5rs]{font-family:var(--font-serif);font-size:1.25rem;font-weight:500}.header__link[data-astro-cid-nen7h5rs]{color:var(--text-muted);font-size:.875rem;font-weight:500;transition:color .2s}.header__link[data-astro-cid-nen7h5rs]:hover,.header__link--active[data-astro-cid-nen7h5rs]{color:var(--text)}.header__resume[data-astro-cid-nen7h5rs]{padding:.4375rem .875rem}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{min-height:100dvh;font-family:var(--font-sans);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:1rem;line-height:1.6}img,picture,video,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}::selection{background-color:var(--accent);color:var(--bg)}:root{--bg:#eff1f5;--bg-surface:#e6e9ef;--bg-surface-hover:#dce0e8;--border:#ccd0da;--text:#4c4f69;--text-muted:#6c6f85;--text-faint:#8c8fa1;--accent:#40a02b;--shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--radius-sm:.375rem;--radius:.625rem;--radius-lg:.875rem;--max-width:48rem;--header-height:4rem;--section-gap:6rem}@media (prefers-color-scheme:dark){:root{--bg:#1e1e2e;--bg-surface:#181825;--bg-surface-hover:#313244;--border:#313244;--text:#cdd6f4;--text-muted:#a6adc8;--text-faint:#7f849c;--accent:#a6e3a1}}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:1.5rem}.section{padding-block:var(--section-gap)}.section-title{font-family:var(--font-serif);font-size:clamp(2rem,4.5vw,2.625rem);font-weight:400;line-height:1.1}.btn{white-space:nowrap;border-radius:9999px;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.btn-primary{background-color:var(--text);color:var(--bg)}.btn-primary:hover{background-color:var(--accent);transform:translateY(-1px)}.btn-outline{border:1px solid var(--border);color:var(--text);background-color:#0000}.btn-outline:hover{border-color:var(--text);transform:translateY(-1px)}.btn-ghost{color:var(--text-muted);background-color:#0000}.btn-ghost:hover{color:var(--text);background-color:var(--bg-surface)}.link{color:var(--text);text-underline-offset:.25em;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;transition:color .2s;display:inline-flex}.link:hover{color:var(--accent);text-decoration:underline}.link svg{transition:transform .2s}.link:hover svg{transform:translate(2px,-2px)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){:root{--section-gap:4rem}body{font-size:.9375rem}}
