.resume-content[data-astro-cid-ruvg6z4q]{max-width:860px}.resume-header[data-astro-cid-ruvg6z4q]{padding:var(--sp-4) 0 var(--sp-4);display:flex;flex-direction:column;align-items:flex-start;position:relative;margin-top:var(--sp-4);margin-bottom:var(--sp-5);border-bottom:2px solid var(--border)}.intro-label[data-astro-cid-ruvg6z4q]{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--surface-solid);background:var(--text);padding:var(--sp-1) var(--sp-2);margin-bottom:var(--sp-2);border-radius:0;box-shadow:2px 2px 0 var(--accent-warm);animation:curtain-up var(--dur-xslow) var(--ease-spring) .1s both}.resume-header[data-astro-cid-ruvg6z4q] h1[data-astro-cid-ruvg6z4q]{margin:0 0 var(--sp-2);font-size:var(--fs-3xl);font-family:var(--font-display);font-weight:900;letter-spacing:-.04em;line-height:.95;color:var(--text);text-transform:uppercase;animation:curtain-up var(--dur-xslow) var(--ease-spring) .2s both}.resume-header[data-astro-cid-ruvg6z4q] .lede[data-astro-cid-ruvg6z4q]{margin:0;max-width:780px;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5;font-weight:500;animation:curtain-up var(--dur-xslow) var(--ease-spring) .3s both}.resume-header[data-astro-cid-ruvg6z4q] .lede[data-astro-cid-ruvg6z4q] a[data-astro-cid-ruvg6z4q]{color:var(--text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;font-weight:600;transition:color var(--dur-fast),text-decoration-color var(--dur-fast)}.resume-header[data-astro-cid-ruvg6z4q] .lede[data-astro-cid-ruvg6z4q] a[data-astro-cid-ruvg6z4q]:hover{color:var(--accent);text-decoration-color:var(--accent)}.resume-section[data-astro-cid-ruvg6z4q]{margin-bottom:var(--sp-5);animation:curtain-up var(--dur-xslow) var(--ease-spring) .4s both}.resume-section[data-astro-cid-ruvg6z4q] h2[data-astro-cid-ruvg6z4q]{font-family:var(--font-display);font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:.02em;font-weight:800;margin-bottom:var(--sp-4);padding-bottom:var(--sp-2);border-bottom:2px solid var(--text);color:var(--text)}.resume-items[data-astro-cid-ruvg6z4q]{display:flex;flex-direction:column;gap:var(--sp-4)}.resume-item[data-astro-cid-ruvg6z4q]{position:relative;padding-bottom:var(--sp-4);border-bottom:1px dashed var(--border)}.resume-item[data-astro-cid-ruvg6z4q]:last-child{border-bottom:none;padding-bottom:0}.org-title[data-astro-cid-ruvg6z4q]{margin:0 0 var(--sp-2) 0;font-family:var(--font-display);font-size:var(--fs-xl);font-weight:900;letter-spacing:-.02em;color:var(--text)}.project-title[data-astro-cid-ruvg6z4q]{grid-area:title;margin:0;font-size:var(--fs-md);font-family:var(--font-display);font-weight:800;color:var(--text)}.project-title[data-astro-cid-ruvg6z4q] a[data-astro-cid-ruvg6z4q]{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--dur-fast)}.project-title[data-astro-cid-ruvg6z4q] a[data-astro-cid-ruvg6z4q]:hover{color:var(--accent);text-decoration-color:var(--accent)}.role-block[data-astro-cid-ruvg6z4q]{margin-top:var(--sp-3)}.role-block[data-astro-cid-ruvg6z4q]:first-of-type{margin-top:0}.job-header[data-astro-cid-ruvg6z4q]{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title date" "company date";gap:0 var(--sp-3);margin-bottom:var(--sp-2);align-items:baseline}@media (max-width: 600px){.job-header[data-astro-cid-ruvg6z4q]{grid-template-columns:1fr;grid-template-areas:"title" "company" "date"}.job-date[data-astro-cid-ruvg6z4q]{margin-top:var(--sp-1)}}.job-header[data-astro-cid-ruvg6z4q] h4[data-astro-cid-ruvg6z4q]{grid-area:title;margin:0;font-size:var(--fs-sm);font-family:var(--font-display);font-weight:800;color:var(--text);text-transform:uppercase}.job-company[data-astro-cid-ruvg6z4q]{grid-area:company;font-family:var(--font-mono);color:var(--accent);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.job-date[data-astro-cid-ruvg6z4q]{grid-area:date;font-family:var(--font-mono);color:var(--text-muted);font-size:11px;font-weight:600;justify-self:end;text-transform:uppercase;letter-spacing:.05em}.job-desc[data-astro-cid-ruvg6z4q]{margin:0 0 var(--sp-2) 0;line-height:1.4;font-weight:400;color:var(--text);font-size:var(--fs-sm)}.job-points[data-astro-cid-ruvg6z4q]{margin:0 0 var(--sp-2) 0;padding-left:var(--sp-4)}.job-points[data-astro-cid-ruvg6z4q] li[data-astro-cid-ruvg6z4q]{margin-bottom:var(--sp-1);line-height:1.4;color:var(--text);font-size:var(--fs-sm)}.job-points[data-astro-cid-ruvg6z4q] li[data-astro-cid-ruvg6z4q]::marker{color:var(--text-muted)}.stack-tags[data-astro-cid-ruvg6z4q]{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-2)}.tag[data-astro-cid-ruvg6z4q]{font-family:var(--font-mono);font-size:10px;font-weight:700;padding:2px 4px;border:1px solid var(--border);color:var(--text-muted);background:var(--surface-solid);text-transform:uppercase}.skills-grid[data-astro-cid-ruvg6z4q]{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.skill-category[data-astro-cid-ruvg6z4q]{padding:var(--sp-2) var(--sp-3);border-left:2px solid var(--border);background:var(--surface-solid);flex:1 1 200px}.skill-category[data-astro-cid-ruvg6z4q] h3[data-astro-cid-ruvg6z4q]{margin:0 0 var(--sp-1) 0;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--text-muted);font-weight:700;letter-spacing:.05em}.skill-category[data-astro-cid-ruvg6z4q] p[data-astro-cid-ruvg6z4q]{margin:0;font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600;line-height:1.4;color:var(--text)}.edu-item[data-astro-cid-ruvg6z4q] .job-header[data-astro-cid-ruvg6z4q]{margin-bottom:0}
