.cv[data-v-10de18d7]{--bg: #0b1210;--bg-elevated: #121a17;--ink: #e8efe6;--muted: #9aada1;--accent: #c6f04d;--line: rgba(232, 239, 230, .12);--font-display: "Syne", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;min-height:100vh;background:radial-gradient(1000px 520px at 85% -8%,rgba(198,240,77,.07),transparent 55%),radial-gradient(800px 420px at -12% 20%,rgba(70,120,100,.16),transparent 50%),var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.02rem;line-height:1.65}.cv a[data-v-10de18d7]{color:inherit;text-decoration:none}.cv a.cv-btn--primary[data-v-10de18d7],.cv a.cv-btn--primary[data-v-10de18d7]:hover,.cv a.cv-btn--primary[data-v-10de18d7]:focus,.cv a.cv-btn--primary[data-v-10de18d7]:visited{color:#000}.cv-wrap[data-v-10de18d7]{width:min(920px,calc(100% - 2.5rem));margin-inline:auto}.cv-nav[data-v-10de18d7]{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1.25rem,4vw,2.5rem);transition:background .35s ease,border-color .35s ease,-webkit-backdrop-filter .35s ease;transition:background .35s ease,backdrop-filter .35s ease,border-color .35s ease;transition:background .35s ease,backdrop-filter .35s ease,border-color .35s ease,-webkit-backdrop-filter .35s ease;border-bottom:1px solid transparent}.cv-nav--solid[data-v-10de18d7]{background:#0b1210d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line)}.cv-nav__brand[data-v-10de18d7]{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;font-size:1.15rem}.cv-nav__links[data-v-10de18d7]{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.92rem;color:var(--muted)}.cv-nav__links a[data-v-10de18d7]:hover,.cv-job__title a[data-v-10de18d7]:hover{color:var(--accent)}.cv-nav__download[data-v-10de18d7]{color:var(--accent)!important;font-weight:600}.cv-main[data-v-10de18d7]{padding-top:5.5rem}.cv-hero[data-v-10de18d7]{padding:2.5rem 0 3.5rem;border-bottom:1px solid var(--line)}.cv-kicker[data-v-10de18d7]{margin:0 0 .65rem;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.cv-name[data-v-10de18d7]{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,6vw,3.8rem);line-height:.98;letter-spacing:-.04em}.cv-role[data-v-10de18d7]{margin:.85rem 0 0;font-size:1.15rem;font-weight:600}.cv-summary[data-v-10de18d7]{margin:1.15rem 0 0;max-width:42rem;color:var(--muted)}.cv-hero__actions[data-v-10de18d7]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}.cv-btn[data-v-10de18d7]{display:inline-flex;align-items:center;justify-content:center;min-height:2.85rem;padding:.65rem 1.15rem;border:1px solid transparent;font-weight:600;font-size:.92rem;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.cv-btn[data-v-10de18d7]:hover{transform:translateY(-1px)}.cv-btn--primary[data-v-10de18d7]{background:var(--accent);color:#000}.cv-btn--primary[data-v-10de18d7]:hover{background:#d4f76a}.cv-btn--ghost[data-v-10de18d7]{border-color:#e8efe659;background:#0b121040}.cv-btn--ghost[data-v-10de18d7]:hover{border-color:var(--accent);color:var(--accent)}.cv-meta[data-v-10de18d7]{margin:2rem 0 0;padding-top:1.5rem;border-top:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.cv-meta dt[data-v-10de18d7]{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cv-meta dd[data-v-10de18d7]{margin:.2rem 0 0;font-weight:600;font-size:.95rem}.cv-meta a[data-v-10de18d7]:hover{color:var(--accent)}.cv-section[data-v-10de18d7]{padding:clamp(3.25rem,7vw,5rem) 0}.cv-section--muted[data-v-10de18d7]{background:linear-gradient(180deg,transparent,rgba(18,26,23,.9));border-block:1px solid var(--line)}.cv-h2[data-v-10de18d7]{margin:0 0 1.75rem;font-family:var(--font-display);font-weight:700;font-size:clamp(1.75rem,3.5vw,2.4rem);line-height:1.08;letter-spacing:-.03em}.cv-job[data-v-10de18d7]{padding:1.5rem 0;border-top:1px solid var(--line)}.cv-job[data-v-10de18d7]:last-child{border-bottom:1px solid var(--line)}.cv-job__head[data-v-10de18d7]{display:grid;gap:.5rem;margin-bottom:.85rem}.cv-job__title[data-v-10de18d7]{margin:0;font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.02em}.cv-job__place[data-v-10de18d7],.cv-job__period[data-v-10de18d7]{margin:0;font-size:.9rem;color:var(--muted)}.cv-job__period[data-v-10de18d7]{font-family:var(--font-mono);font-size:.82rem}.cv-list[data-v-10de18d7]{margin:0;padding:0 0 0 1.1rem;color:#c9d9c8}.cv-list li+li[data-v-10de18d7]{margin-top:.4rem}.cv-project[data-v-10de18d7]{margin-top:.9rem;padding-left:.85rem;border-left:2px solid var(--accent)}.cv-project strong[data-v-10de18d7]{display:block;margin-bottom:.25rem}.cv-project p[data-v-10de18d7]{margin:0;color:var(--muted)}.cv-stack[data-v-10de18d7]{margin:.95rem 0 0;font-size:.88rem;color:var(--muted)}.cv-stack span[data-v-10de18d7]{display:inline-block;margin-right:.45rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.cv-skills[data-v-10de18d7]{display:grid;gap:1.5rem}.cv-skills__group h3[data-v-10de18d7]{margin:0 0 .55rem;font-family:var(--font-display);font-size:1.05rem}.cv-skills__group ul[data-v-10de18d7]{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem 1.1rem;color:#c9d9c8;font-family:var(--font-mono);font-size:.88rem}.cv-bottom[data-v-10de18d7]{display:grid;gap:2.5rem}.cv-edu[data-v-10de18d7]{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.cv-edu li[data-v-10de18d7]{display:grid;gap:.2rem}.cv-edu span[data-v-10de18d7],.cv-langs[data-v-10de18d7],.cv-text[data-v-10de18d7]{color:var(--muted)}.cv-langs[data-v-10de18d7]{margin:1.25rem 0 0}.cv-cta .cv-h2[data-v-10de18d7]{margin-bottom:.85rem}.cv-footer[data-v-10de18d7]{padding:1.5rem 0 2.25rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.cv-footer__inner[data-v-10de18d7]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem}.cv-footer a[data-v-10de18d7]:hover{color:var(--accent)}[data-reveal][data-v-10de18d7]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease;transition-delay:var(--delay, 0ms)}[data-reveal].is-visible[data-v-10de18d7]{opacity:1;transform:none}@media (min-width: 760px){.cv-job__head[data-v-10de18d7]{grid-template-columns:1fr auto;align-items:start}.cv-skills[data-v-10de18d7]{grid-template-columns:repeat(2,1fr);gap:1.75rem 2rem}.cv-bottom[data-v-10de18d7]{grid-template-columns:1fr 1fr;gap:3rem;align-items:start}}@media (max-width: 640px){.cv-nav__links a[data-v-10de18d7]:not(.cv-nav__download){display:none}}@media (prefers-reduced-motion: reduce){[data-reveal][data-v-10de18d7]{opacity:1!important;transform:none!important;transition:none!important}}
