:root{--bg: #fbfaf8;--bg-raised: #ffffff;--text: #1a1a18;--text-muted: #5f5f58;--text-faint: #8a8a81;--border: #e4e1da;--accent: #1f5f4f;--accent-soft: #eaf2ef;--radius: 10px;--maxw: 48rem;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #14151a;--bg-raised: #1b1d23;--text: #ecebe6;--text-muted: #a8a7a0;--text-faint: #7d7c76;--border: #2b2e36;--accent: #6fd3b4;--accent-soft: #1c2b28}}:root[data-theme=dark]{--bg: #14151a;--bg-raised: #1b1d23;--text: #ecebe6;--text-muted: #a8a7a0;--text-faint: #7d7c76;--border: #2b2e36;--accent: #6fd3b4;--accent-soft: #1c2b28}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}h1,h2,h3{line-height:1.2;letter-spacing:-.02em;margin:0}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}.section{padding:3.5rem 0;border-top:1px solid var(--border)}.section:first-of-type{border-top:0}.section-label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:1.5rem}.prose p{color:var(--text-muted);margin:0 0 1rem}.prose p:last-child{margin-bottom:0}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.tag{display:inline-block;font-size:.8125rem;color:var(--text-muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:999px;padding:.15rem .6rem}ul.clean{list-style:none;margin:0;padding:0}.site-footer[data-astro-cid-5hce7sga]{border-top:1px solid var(--border);padding:2rem 0 3rem;font-size:.875rem;color:var(--text-faint)}.site-footer[data-astro-cid-5hce7sga] .dot[data-astro-cid-5hce7sga]{margin:0 .5rem}@media(max-width:460px){.site-footer[data-astro-cid-5hce7sga] .dot[data-astro-cid-5hce7sga]{display:none}.site-footer[data-astro-cid-5hce7sga] .wrap[data-astro-cid-5hce7sga]>span[data-astro-cid-5hce7sga],.site-footer[data-astro-cid-5hce7sga] .wrap[data-astro-cid-5hce7sga]>a[data-astro-cid-5hce7sga]{display:block}}.hero[data-astro-cid-j7pv25f6]{padding:4.5rem 0 1rem}.hero[data-astro-cid-j7pv25f6] h1[data-astro-cid-j7pv25f6]{font-size:clamp(2.1rem,7vw,3rem);font-weight:650}.role[data-astro-cid-j7pv25f6]{margin:.4rem 0 0;font-size:1.2rem;font-weight:500;color:var(--accent)}.meta[data-astro-cid-j7pv25f6]{margin:.25rem 0 0;color:var(--text-faint);font-size:.9375rem}.intro[data-astro-cid-j7pv25f6]{margin-top:1.5rem;max-width:40rem;font-size:1.0625rem}.actions[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.75rem}.btn[data-astro-cid-j7pv25f6]{display:inline-block;padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);color:var(--text);font-size:.9375rem;font-weight:500;text-decoration:none;transition:border-color .15s,transform .15s}.btn[data-astro-cid-j7pv25f6]:hover{border-color:var(--accent);transform:translateY(-1px)}.btn-primary[data-astro-cid-j7pv25f6]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.btn-primary[data-astro-cid-j7pv25f6]:hover{opacity:.9}.status[data-astro-cid-j7pv25f6]{margin-top:1.5rem;font-size:.875rem;color:var(--text-faint)}.skills[data-astro-cid-j7pv25f6]{display:grid;gap:1.75rem}.skill-group[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1rem;font-weight:600}.skill-note[data-astro-cid-j7pv25f6]{margin:.2rem 0 0;font-size:.8125rem;color:var(--text-faint)}.chips[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.certs[data-astro-cid-j7pv25f6]{margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--border)}.certs[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1rem;font-weight:600;margin-bottom:.5rem}.cert-row[data-astro-cid-j7pv25f6]{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.9375rem}.cert-row[data-astro-cid-j7pv25f6]:last-child{border-bottom:0}.cert-status[data-astro-cid-j7pv25f6]{color:var(--text-faint);font-size:.875rem}.timeline[data-astro-cid-j7pv25f6]{display:grid;gap:2.25rem}.job[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1.0625rem;font-weight:600}.job-org[data-astro-cid-j7pv25f6]{font-weight:400;color:var(--text-muted)}.job-note[data-astro-cid-j7pv25f6]{color:var(--text-faint);font-size:.9375rem}.job-meta[data-astro-cid-j7pv25f6]{margin:.25rem 0 0;font-size:.875rem;color:var(--text-faint)}.bullets[data-astro-cid-j7pv25f6]{margin-top:.85rem;display:grid;gap:.5rem}.bullets[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]{position:relative;padding-left:1.1rem;color:var(--text-muted);font-size:.9375rem}.bullets[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.projects[data-astro-cid-j7pv25f6]{display:grid;gap:1rem}.project[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1.0625rem;font-weight:600}.project-stack[data-astro-cid-j7pv25f6]{margin:.2rem 0 0;font-family:var(--font-mono);font-size:.8125rem;color:var(--text-faint)}.project-blurb[data-astro-cid-j7pv25f6]{margin:.75rem 0 0;color:var(--text-muted);font-size:.9375rem}.project-relevance[data-astro-cid-j7pv25f6]{margin:.75rem 0 0;padding:.6rem .8rem;background:var(--accent-soft);border-radius:8px;font-size:.875rem;color:var(--text-muted)}#education[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:1.0625rem;font-weight:600}.honors[data-astro-cid-j7pv25f6]{color:var(--accent)}.coursework-label[data-astro-cid-j7pv25f6]{margin:1.25rem 0 0;font-size:.875rem;font-weight:500;color:var(--text)}.contact-list[data-astro-cid-j7pv25f6]{margin-top:1.25rem;display:grid;gap:.6rem;font-size:.9375rem}.contact-key[data-astro-cid-j7pv25f6]{display:inline-block;min-width:5.5rem;color:var(--text-faint);font-size:.875rem}@media(min-width:640px){.skills[data-astro-cid-j7pv25f6]{grid-template-columns:repeat(2,1fr);gap:2rem 2.5rem}.projects[data-astro-cid-j7pv25f6]{grid-template-columns:repeat(2,1fr)}}
