.cv:where(.astro-zuwcdr5b){max-width:880px;margin:var(--jg-space-12) auto var(--jg-space-16);padding:0 var(--jg-space-5);color:var(--jg-fg)}.cv__header:where(.astro-zuwcdr5b){display:grid;grid-template-columns:1fr auto;gap:var(--jg-space-8);align-items:end;padding-bottom:var(--jg-space-8);border-bottom:2px solid var(--jg-accent);margin-bottom:var(--jg-space-10)}@media(max-width:720px){.cv__header:where(.astro-zuwcdr5b){grid-template-columns:1fr;gap:var(--jg-space-5)}}.cv__eyebrow:where(.astro-zuwcdr5b){font-size:var(--jg-text-xs);font-weight:var(--jg-weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--jg-accent);margin:0 0 var(--jg-space-2)}.cv__name:where(.astro-zuwcdr5b){font-size:clamp(var(--jg-text-3xl),5vw,var(--jg-text-5xl));font-weight:var(--jg-weight-extrabold);line-height:1.05;margin:0 0 var(--jg-space-2);letter-spacing:var(--jg-tracking-tight)}.cv__title:where(.astro-zuwcdr5b){font-size:var(--jg-text-lg);color:var(--jg-fg-muted);margin:0;max-width:60ch}.cv__contact:where(.astro-zuwcdr5b) ul:where(.astro-zuwcdr5b){list-style:none;padding:0;margin:0 0 var(--jg-space-4);display:flex;flex-direction:column;gap:var(--jg-space-1);font-size:var(--jg-text-sm);color:var(--jg-fg-muted)}.cv__contact:where(.astro-zuwcdr5b) li:where(.astro-zuwcdr5b){display:flex;align-items:center;gap:var(--jg-space-2)}.cv__contact:where(.astro-zuwcdr5b) a:where(.astro-zuwcdr5b){color:var(--jg-fg);text-decoration:none}.cv__contact:where(.astro-zuwcdr5b) a:where(.astro-zuwcdr5b):hover{color:var(--jg-accent)}.cv__download:where(.astro-zuwcdr5b){display:inline-flex;align-items:center;gap:var(--jg-space-2);padding:var(--jg-space-3) var(--jg-space-5);background:var(--jg-accent);color:var(--jg-on-accent, #0A0A0A);border-radius:var(--jg-radius-md);font-weight:var(--jg-weight-semibold);text-decoration:none;font-size:var(--jg-text-sm);transition:background-color .12s ease}.cv__download:where(.astro-zuwcdr5b):hover{background:var(--jg-accent-hover, #D97706)}.cv__section:where(.astro-zuwcdr5b){margin-bottom:var(--jg-space-10)}.cv__section:where(.astro-zuwcdr5b) h2:where(.astro-zuwcdr5b){font-size:var(--jg-text-xl);font-weight:var(--jg-weight-bold);color:var(--jg-fg);border-bottom:1px solid var(--jg-border);padding-bottom:var(--jg-space-2);margin:0 0 var(--jg-space-5);text-transform:uppercase;letter-spacing:.06em;font-size:var(--jg-text-sm)}.cv__summary:where(.astro-zuwcdr5b){font-size:var(--jg-text-base);line-height:var(--jg-leading-relaxed);color:var(--jg-fg-muted);margin:0;max-width:70ch}.cv__entry:where(.astro-zuwcdr5b){margin-bottom:var(--jg-space-6)}.cv__entry-head:where(.astro-zuwcdr5b){display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--jg-space-3);margin-bottom:var(--jg-space-2)}.cv__entry:where(.astro-zuwcdr5b) h3:where(.astro-zuwcdr5b){font-size:var(--jg-text-base);font-weight:var(--jg-weight-bold);color:var(--jg-fg);margin:0}.cv__org:where(.astro-zuwcdr5b){font-size:var(--jg-text-sm);color:var(--jg-fg-muted);margin:2px 0 0}.cv__period:where(.astro-zuwcdr5b){font-size:var(--jg-text-sm);color:var(--jg-fg-muted);margin:0;font-variant-numeric:tabular-nums}.cv__bullets:where(.astro-zuwcdr5b){list-style:none;padding:0;margin:0;color:var(--jg-fg-muted);line-height:var(--jg-leading-relaxed);font-size:var(--jg-text-sm)}.cv__bullets:where(.astro-zuwcdr5b) li:where(.astro-zuwcdr5b){position:relative;padding-left:var(--jg-space-4);margin-bottom:var(--jg-space-1)}.cv__bullets:where(.astro-zuwcdr5b) li:where(.astro-zuwcdr5b):before{content:"▸";position:absolute;left:0;color:var(--jg-accent)}.cv__projects:where(.astro-zuwcdr5b){display:grid;gap:var(--jg-space-5)}.cv__project:where(.astro-zuwcdr5b){padding:var(--jg-space-4);border:1px solid var(--jg-border);border-radius:var(--jg-radius-md);background:var(--jg-bg-elevated)}.cv__project:where(.astro-zuwcdr5b) h3:where(.astro-zuwcdr5b){font-size:var(--jg-text-base);font-weight:var(--jg-weight-bold);margin:0 0 var(--jg-space-2)}.cv__project:where(.astro-zuwcdr5b) h3:where(.astro-zuwcdr5b) a:where(.astro-zuwcdr5b){color:var(--jg-fg);text-decoration:none}.cv__project:where(.astro-zuwcdr5b) h3:where(.astro-zuwcdr5b) a:where(.astro-zuwcdr5b):hover{color:var(--jg-accent)}.cv__project:where(.astro-zuwcdr5b) p:where(.astro-zuwcdr5b){font-size:var(--jg-text-sm);color:var(--jg-fg-muted);line-height:var(--jg-leading-relaxed);margin:0 0 var(--jg-space-3)}.cv__stack:where(.astro-zuwcdr5b){list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--jg-space-2)}.cv__stack:where(.astro-zuwcdr5b) li:where(.astro-zuwcdr5b){font-size:var(--jg-text-xs);color:var(--jg-fg-muted);padding:2px var(--jg-space-2);border:1px solid var(--jg-border);border-radius:var(--jg-radius-sm);background:var(--jg-bg)}.cv__skills:where(.astro-zuwcdr5b){display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--jg-space-5)}.cv__skill-group:where(.astro-zuwcdr5b) h3:where(.astro-zuwcdr5b){font-size:var(--jg-text-sm);font-weight:var(--jg-weight-semibold);color:var(--jg-fg);margin:0 0 var(--jg-space-2)}.cv__skill-group:where(.astro-zuwcdr5b) ul:where(.astro-zuwcdr5b){list-style:none;padding:0;margin:0;color:var(--jg-fg-muted);font-size:var(--jg-text-sm);line-height:var(--jg-leading-relaxed)}.cv__languages:where(.astro-zuwcdr5b){list-style:none;padding:0;margin:0}.cv__languages:where(.astro-zuwcdr5b) li:where(.astro-zuwcdr5b){font-size:var(--jg-text-base);color:var(--jg-fg-muted);margin-bottom:var(--jg-space-2)}.cv__languages:where(.astro-zuwcdr5b) strong:where(.astro-zuwcdr5b){color:var(--jg-fg);font-weight:var(--jg-weight-semibold)}.cv__footer:where(.astro-zuwcdr5b){margin-top:var(--jg-space-12);padding-top:var(--jg-space-6);border-top:1px solid var(--jg-border);color:var(--jg-fg-muted);font-size:var(--jg-text-sm)}.cv__footer:where(.astro-zuwcdr5b) p:where(.astro-zuwcdr5b){margin:0 0 var(--jg-space-2)}.cv__updated:where(.astro-zuwcdr5b){font-size:var(--jg-text-xs);color:var(--jg-fg-subtle, var(--jg-fg-muted))}@media print{.cv:where(.astro-zuwcdr5b){max-width:100%;margin:0;padding:1.5cm;color:#000}.cv__download:where(.astro-zuwcdr5b){display:none}.cv__section:where(.astro-zuwcdr5b){break-inside:avoid}.cv__entry:where(.astro-zuwcdr5b){break-inside:avoid}.cv__project:where(.astro-zuwcdr5b){break-inside:avoid}a:where(.astro-zuwcdr5b){color:#000!important;text-decoration:underline}.cv__name:where(.astro-zuwcdr5b){font-size:28pt}.cv__title:where(.astro-zuwcdr5b){font-size:12pt}.cv__section:where(.astro-zuwcdr5b) h2:where(.astro-zuwcdr5b){font-size:11pt}body{background:#fff}}
