.hero[data-astro-cid-ge2uvauf]{isolation:isolate;background:var(--hero-bg);color:var(--hero-text);clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--slant)), 0 100%);padding-block:clamp(2.5rem, 7vw, 5.5rem) calc(clamp(4rem, 9vw, 7rem) + var(--slant));position:relative}.hero[data-astro-cid-ge2uvauf]:before{content:"";z-index:-1;background-image:radial-gradient(#ffffff29 1px,#0000 1.5px);background-size:22px 22px;position:absolute;inset:0;mask-image:radial-gradient(70% 80% at 85% 20%,#000 10%,#0000 70%)}.hero-grid[data-astro-cid-ge2uvauf]{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.status[data-astro-cid-ge2uvauf]{color:var(--hero-text);background:#ffffff14;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:.6rem;padding:.35rem .9rem .35rem .75rem;display:inline-flex}.status-dot[data-astro-cid-ge2uvauf]{background:#6ee7a8;border-radius:50%;width:.5rem;height:.5rem;position:relative}@media (prefers-reduced-motion:no-preference){.status-dot[data-astro-cid-ge2uvauf]:after{content:"";background:inherit;border-radius:50%;animation:2.4s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:0}}@keyframes ping{75%,to{opacity:0;transform:scale(2.6)}}h1[data-astro-cid-ge2uvauf]{letter-spacing:-.03em;margin-top:1.5rem;font-size:clamp(2.75rem,8.5vw,6.25rem);font-weight:800;line-height:.95}h1[data-astro-cid-ge2uvauf] span[data-astro-cid-ge2uvauf]{display:block}h1[data-astro-cid-ge2uvauf] span[data-astro-cid-ge2uvauf]+span[data-astro-cid-ge2uvauf]{color:var(--hero-muted)}.role[data-astro-cid-ge2uvauf]{letter-spacing:.01em;margin-top:1.25rem;font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:500}.lead[data-astro-cid-ge2uvauf]{max-width:34rem;color:var(--hero-muted);margin-top:.75rem;font-size:clamp(1rem,1.6vw,1.125rem)}.actions[data-astro-cid-ge2uvauf]{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}html:not(.js) .terminal-btn[data-astro-cid-ge2uvauf]{display:none}.socials[data-astro-cid-ge2uvauf]{gap:.5rem;margin-top:1.75rem;display:flex}.socials[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]{border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;font-size:1.3rem;transition:background-color .2s,border-color .2s;display:grid}.socials[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:hover{background:#ffffff1f;border-color:#ffffffb3}.socials[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]:focus-visible{outline-color:var(--white)}.portrait[data-astro-cid-ge2uvauf]{aspect-ratio:1;justify-self:center;width:min(100%,24rem);position:relative}.portrait[data-astro-cid-ge2uvauf] .portrait-img{object-fit:cover;border:6px solid var(--smoke);border-radius:50%;width:100%;height:100%;position:relative;box-shadow:0 30px 60px -25px #050f2899}.ring[data-astro-cid-ge2uvauf]{border:2px solid #ffffff59;border-radius:50%;position:absolute;inset:0;transform:translate(7%,-5%)}@media (width<=55.99rem){.hero-grid[data-astro-cid-ge2uvauf]{grid-template-columns:1fr}.portrait[data-astro-cid-ge2uvauf]{order:-1;justify-self:start;width:min(60vw,16rem)}}.heading[data-astro-cid-ypavld2q]{margin-bottom:clamp(2.5rem,5vw,3.5rem)}.eyebrow[data-astro-cid-ypavld2q]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:.75rem;display:flex}.index[data-astro-cid-ypavld2q]{color:var(--accent);font-weight:600}.bar[data-astro-cid-ypavld2q]{background:var(--accent);border-radius:2px;width:2.5rem;height:2px}h2[data-astro-cid-ypavld2q]{color:var(--accent);letter-spacing:-.02em;margin-top:.75rem;font-size:clamp(2rem,4.5vw,3rem);font-weight:800;line-height:1.1}.inverted[data-astro-cid-ypavld2q] .eyebrow[data-astro-cid-ypavld2q]{color:var(--hero-muted)}.inverted[data-astro-cid-ypavld2q] .index[data-astro-cid-ypavld2q],.inverted[data-astro-cid-ypavld2q] h2[data-astro-cid-ypavld2q]{color:var(--hero-text)}.inverted[data-astro-cid-ypavld2q] .bar[data-astro-cid-ypavld2q]{background:var(--hero-text)}.timeline[data-astro-cid-3xih677i]{--date-col:11rem;--rail-col:3rem;gap:1.5rem;display:grid;position:relative}.timeline[data-astro-cid-3xih677i]:before{content:"";top:.5rem;bottom:.5rem;left:calc(var(--date-col) + var(--rail-col) / 2 - 1px);background:linear-gradient(var(--accent), var(--border));border-radius:2px;width:2px;position:absolute}.entry[data-astro-cid-3xih677i]{grid-template-columns:var(--date-col) var(--rail-col) minmax(0, 1fr);align-items:start;display:grid;position:relative}.date[data-astro-cid-3xih677i]{text-align:right;text-wrap:balance;color:var(--text-muted);padding-top:1.85rem;padding-right:.25rem;font-weight:500}.current[data-astro-cid-3xih677i] .date[data-astro-cid-3xih677i]{color:var(--accent)}.dot[data-astro-cid-3xih677i]{background:var(--accent);width:1.15rem;height:1.15rem;box-shadow:0 0 0 4px var(--bg), 0 0 0 5px var(--border);z-index:1;border-radius:50%;justify-self:center;margin-top:1.95rem}.current[data-astro-cid-3xih677i] .dot[data-astro-cid-3xih677i]{box-shadow:0 0 0 4px var(--bg), 0 0 0 9px var(--accent-soft)}.card[data-astro-cid-3xih677i]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:clamp(1.25rem,3vw,1.75rem);transition:box-shadow .25s,border-color .25s,opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1)}.card[data-astro-cid-3xih677i]:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:var(--shadow-lg)}.card-head[data-astro-cid-3xih677i]{align-items:center;gap:1.1rem;display:flex}.logo[data-astro-cid-3xih677i]{border:1px solid var(--border);background:var(--logo-tile);border-radius:.75rem;flex:none;place-items:center;width:4.5rem;height:4.5rem;padding:.5rem;display:grid}.logo[data-astro-cid-3xih677i] img{object-fit:contain;width:100%;height:100%}.card-date[data-astro-cid-3xih677i]{text-wrap:balance;color:var(--text-muted);font-weight:500;display:none}.current[data-astro-cid-3xih677i] .card-date[data-astro-cid-3xih677i]{color:var(--accent)}h3[data-astro-cid-3xih677i]{color:var(--text);font-size:clamp(1.15rem,2.2vw,1.35rem);font-weight:700;line-height:1.3}.org[data-astro-cid-3xih677i]{color:var(--accent);font-weight:500}.description[data-astro-cid-3xih677i]{color:var(--text-muted);margin-top:1rem}.meta[data-astro-cid-3xih677i]{flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;display:flex}.skills[data-astro-cid-3xih677i]{border-top:1px dashed var(--border);margin-top:1rem;padding-top:.85rem}.skills[data-astro-cid-3xih677i] summary[data-astro-cid-3xih677i]{color:var(--accent);cursor:pointer;border-radius:.4rem;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;list-style:none;display:inline-flex}.skills[data-astro-cid-3xih677i] summary[data-astro-cid-3xih677i]::-webkit-details-marker{display:none}.skills[data-astro-cid-3xih677i] summary[data-astro-cid-3xih677i]:hover .when-closed[data-astro-cid-3xih677i],.skills[data-astro-cid-3xih677i] summary[data-astro-cid-3xih677i]:hover .when-open[data-astro-cid-3xih677i]{text-underline-offset:.2em;text-decoration:underline}.skills[data-astro-cid-3xih677i] .chevron{font-size:1.15rem;transition:transform .25s}.skills[data-astro-cid-3xih677i][open] .chevron{transform:rotate(180deg)}.skills[data-astro-cid-3xih677i] .when-open[data-astro-cid-3xih677i],.skills[data-astro-cid-3xih677i][open] .when-closed[data-astro-cid-3xih677i]{display:none}.skills[data-astro-cid-3xih677i][open] .when-open[data-astro-cid-3xih677i]{display:inline}.count[data-astro-cid-3xih677i]{background:var(--accent-soft);font-family:var(--font-mono);border-radius:999px;padding:0 .45rem;font-size:.75rem;line-height:1.6}.skill-list[data-astro-cid-3xih677i]{flex-wrap:wrap;gap:.45rem;padding-top:.85rem;display:flex}@media (prefers-reduced-motion:no-preference){.skills[data-astro-cid-3xih677i]{interpolate-size:allow-keywords}.skills[data-astro-cid-3xih677i]::details-content{block-size:0;transition:block-size .3s ease, content-visibility .3s allow-discrete;overflow:hidden}.skills[data-astro-cid-3xih677i][open]::details-content{block-size:auto}}.meta[data-astro-cid-3xih677i] .tag[data-astro-cid-3xih677i]{align-items:center;gap:.35rem;display:inline-flex}@media (width<=47.99rem){.timeline[data-astro-cid-3xih677i]{--date-col:0px;--rail-col:1.75rem;gap:1rem}.timeline[data-astro-cid-3xih677i]:before{left:calc(var(--rail-col) / 2 - 1px)}.entry[data-astro-cid-3xih677i]{grid-template-columns:var(--rail-col) minmax(0, 1fr)}.date[data-astro-cid-3xih677i]{display:none}.dot[data-astro-cid-3xih677i]{width:.9rem;height:.9rem;margin-top:1.6rem}.card[data-astro-cid-3xih677i]{margin-left:.5rem}.card-head[data-astro-cid-3xih677i]{align-items:flex-start}.card-date[data-astro-cid-3xih677i]{margin-bottom:.15rem;display:block}.logo[data-astro-cid-3xih677i]{width:3.5rem;height:3.5rem}}.grid[data-astro-cid-2zwc476k]{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1.25rem;display:grid}.group[data-astro-cid-2zwc476k]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:1.5rem}.icon[data-astro-cid-2zwc476k]{background:var(--accent);width:2.75rem;height:2.75rem;color:var(--bg);border-radius:.75rem;place-items:center;font-size:1.4rem;display:grid}h3[data-astro-cid-2zwc476k]{margin-top:1rem;font-size:1.15rem;font-weight:700}.items[data-astro-cid-2zwc476k]{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.also[data-astro-cid-2zwc476k]{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.9rem;padding-top:.9rem;display:flex}.also-label[data-astro-cid-2zwc476k]{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-right:.15rem;font-size:.72rem}.also-items[data-astro-cid-2zwc476k]{display:contents}.also-items[data-astro-cid-2zwc476k] li[data-astro-cid-2zwc476k]{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;line-height:1.5}.terminal.svelte-k4so18{--term-bg:#0d1525;--term-bar:#16223b;--term-text:#e8edf6;--term-muted:#93a3c2;--term-accent:#8fb0ea;--term-success:#6ee7a8;--term-error:#ffb4a8;border-radius:var(--radius);background:var(--term-bg);max-height:calc(100dvh - 2rem);color:var(--term-text);box-shadow:var(--shadow-lg);font-family:var(--font-mono);cursor:text;border:1px solid #26365a;flex-direction:column;font-size:.875rem;line-height:1.6;display:flex;overflow:hidden}.bar.svelte-k4so18{background:var(--term-bar);color:var(--term-muted);flex:none;align-items:center;gap:1rem;padding:.65rem 1rem;font-size:.8rem;display:flex}.dots.svelte-k4so18{gap:.4rem;display:flex}.dots.svelte-k4so18 i:where(.svelte-k4so18){background:#2c3d61;border-radius:50%;width:.7rem;height:.7rem}.screen.svelte-k4so18{scrollbar-color:#2c3d61 transparent;flex:0 auto;height:22rem;min-height:0;padding:1rem 1.25rem 1.25rem;overflow-y:auto}.line.svelte-k4so18{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.prompt.svelte-k4so18{color:var(--term-success)}.muted.svelte-k4so18{color:var(--term-muted)}.accent.svelte-k4so18{color:var(--term-accent)}.success.svelte-k4so18{color:var(--term-success)}.error.svelte-k4so18{color:var(--term-error)}a.svelte-k4so18{text-underline-offset:.2em;text-decoration:underline}a.svelte-k4so18:hover{color:var(--term-text)}a.svelte-k4so18:focus-visible{outline:2px solid var(--term-accent);outline-offset:2px}.input-row.svelte-k4so18{gap:.6rem;margin:0;display:flex}.input-row.svelte-k4so18 label:where(.svelte-k4so18){cursor:text;flex:none}input.svelte-k4so18{min-width:0;color:var(--term-text);font:inherit;caret-color:var(--term-success);background:0 0;border:0;outline:none;flex:1;padding:0}.terminal.svelte-k4so18:has(input:where(.svelte-k4so18):focus-visible){outline:2px solid var(--term-accent);outline-offset:3px}@media (width<=30rem){.terminal.svelte-k4so18{font-size:.8rem}.screen.svelte-k4so18{height:20rem;padding-inline:.9rem}.input-row.svelte-k4so18 label:where(.svelte-k4so18){font-size:0}.input-row.svelte-k4so18 label:where(.svelte-k4so18):before{content:"$";font-size:.8rem}}.dialog[data-astro-cid-b46tbl2e]{border-radius:var(--radius);background:0 0;border:0;width:min(100% - 2rem,56rem);max-height:calc(100dvh - 2rem);padding:0;overflow:visible}.dialog[data-astro-cid-b46tbl2e]::backdrop{backdrop-filter:blur(3px);background:#080e1c99}@media (prefers-reduced-motion:no-preference){.dialog[data-astro-cid-b46tbl2e][open]{animation:.2s cubic-bezier(.2,.7,.2,1) pop}.dialog[data-astro-cid-b46tbl2e][open]::backdrop{animation:.2s fade}}@keyframes pop{0%{opacity:0;transform:translateY(.75rem)scale(.98)}}@keyframes fade{0%{opacity:0}}.close[data-astro-cid-b46tbl2e]{color:#93a3c2;cursor:pointer;background:0 0;border:0;border-radius:.5rem;place-items:center;width:2.25rem;height:2.25rem;padding:0;font-size:1.25rem;transition:background-color .2s,color .2s;display:grid;position:absolute;top:.3rem;right:.4rem}.close[data-astro-cid-b46tbl2e]:hover{color:#e8edf6;background:#ffffff14}.close[data-astro-cid-b46tbl2e]:focus-visible{outline-offset:0;outline:2px solid #8fb0ea}.contact[data-astro-cid-he3spzz3]{background:var(--hero-bg);color:var(--hero-text);clip-path:polygon(0 var(--slant), 100% 0, 100% 100%, 0 100%);padding-block:calc(clamp(4rem, 9vw, 7rem) + var(--slant)) clamp(3rem, 6vw, 4.5rem);margin-top:clamp(1rem,4vw,3rem);position:relative}.intro[data-astro-cid-he3spzz3]{max-width:36rem;color:var(--hero-muted);font-size:clamp(1.05rem,1.8vw,1.2rem)}.email-row[data-astro-cid-he3spzz3]{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1.5rem;display:flex}.email[data-astro-cid-he3spzz3]{letter-spacing:-.01em;text-underline-offset:.2em;overflow-wrap:anywhere;font-size:clamp(1.35rem,4.6vw,2.75rem);font-weight:700;text-decoration:underline 2px #fff6;transition:text-decoration-color .2s}.email[data-astro-cid-he3spzz3]:hover{text-decoration-color:currentColor}.email[data-astro-cid-he3spzz3]:focus-visible,.copy[data-astro-cid-he3spzz3]:focus-visible{outline-color:var(--white)}html:not(.js) .copy[data-astro-cid-he3spzz3]{display:none}.copy[data-astro-cid-he3spzz3]{cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.2rem;transition:background-color .2s;display:grid}.copy[data-astro-cid-he3spzz3]:hover{background:#ffffff1f}.copy[data-astro-cid-he3spzz3] .copy-done,.copy[data-astro-cid-he3spzz3][data-done] .copy-idle{display:none}.copy[data-astro-cid-he3spzz3][data-done] .copy-done{display:block}.links[data-astro-cid-he3spzz3]{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.footer[data-astro-cid-jo6i4kqk]{background:var(--hero-bg);color:var(--hero-muted);font-size:.9rem}.footer-inner[data-astro-cid-jo6i4kqk]{border-top:1px solid #ffffff2e;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding-block:1.5rem 2rem;display:flex}.built[data-astro-cid-jo6i4kqk]{margin-right:auto}a[data-astro-cid-jo6i4kqk]{text-decoration:none}a[data-astro-cid-jo6i4kqk]:hover{color:var(--hero-text);text-decoration:underline}a[data-astro-cid-jo6i4kqk]:focus-visible{outline-color:var(--white)}.top[data-astro-cid-jo6i4kqk]{align-items:center;gap:.35rem;display:inline-flex}
