section[data-v-1c7af08f]{position:relative}.container[data-v-1c7af08f]{position:relative;z-index:1}.story[data-v-1c7af08f]{padding-block:clamp(56px,10vh,112px) clamp(48px,8vh,88px)}.story-inner[data-v-1c7af08f]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px 56px;align-items:start}.story-text[data-v-1c7af08f]{min-width:0}.portrait[data-v-1c7af08f]{margin:36px 0 0;width:clamp(200px,26vw,300px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--gold-tint);box-shadow:0 0 0 10px var(--gold-tint);justify-self:end}.portrait img[data-v-1c7af08f]{width:100%;height:100%;object-fit:cover}@media(max-width:720px){.story-inner[data-v-1c7af08f]{grid-template-columns:1fr}.portrait[data-v-1c7af08f]{justify-self:start;margin-top:0;order:-1}}.prose[data-v-1c7af08f]{display:grid;gap:16px;max-width:var(--measure)}.prose p[data-v-1c7af08f]{line-height:1.9}.exp[data-v-1c7af08f],.skills[data-v-1c7af08f],.langs[data-v-1c7af08f]{padding-block:clamp(56px,9vh,104px);border-top:1px solid var(--line)}.jobs[data-v-1c7af08f]{list-style:none;padding:0;margin:0;display:grid;gap:40px}.job[data-v-1c7af08f]{display:grid;grid-template-columns:11em 1fr;gap:8px 36px;scroll-margin-top:90px}.when[data-v-1c7af08f]{display:grid;gap:2px;align-content:start;font-family:var(--font-display);letter-spacing:.06em;color:var(--quiet);font-variant-numeric:tabular-nums;padding-top:4px}.place[data-v-1c7af08f]{font-family:var(--font-body);font-size:.9375rem;letter-spacing:.04em}.body[data-v-1c7af08f]{min-width:0;display:grid;gap:8px}.body h3[data-v-1c7af08f]{font-size:1.3rem;font-weight:600}.org[data-v-1c7af08f]{color:var(--ink);font-size:1rem}.note[data-v-1c7af08f]{color:var(--quiet);font-size:.9375rem;margin-top:-6px}.items[data-v-1c7af08f]{display:grid;gap:8px;max-width:var(--measure);margin-top:6px}.items li[data-v-1c7af08f]{position:relative;padding-left:18px;font-size:.9375rem;line-height:1.75}.items li[data-v-1c7af08f]:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:50%;border:1.5px solid var(--blue)}.job.current .items li[data-v-1c7af08f]:before{background:var(--red);border-color:var(--red)}.tags[data-v-1c7af08f]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tags li[data-v-1c7af08f]{font-size:.8125rem;letter-spacing:.06em;padding:2px 10px;border-radius:999px;background:var(--blue-tint);color:var(--blue-ink)}.job.current .tags li[data-v-1c7af08f]{background:var(--red-tint);color:var(--red-ink)}.groups[data-v-1c7af08f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px 32px}.group[data-v-1c7af08f]{display:grid;gap:10px;align-content:start;border-left:3px solid var(--gold);padding-left:16px}.group h3[data-v-1c7af08f]{font-family:var(--font-body);font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet);font-weight:500}.chips[data-v-1c7af08f]{display:flex;flex-wrap:wrap;gap:6px}.chips li[data-v-1c7af08f]{font-size:.9375rem;padding:3px 11px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line)}.lang-grid[data-v-1c7af08f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px 32px}.lang-grid li[data-v-1c7af08f]{display:grid;gap:2px;border-top:1px solid var(--line);padding-top:12px}.lang-grid strong[data-v-1c7af08f]{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.lang-grid span[data-v-1c7af08f]{font-size:.9375rem;color:var(--quiet);line-height:1.6}.contact[data-v-1c7af08f]{padding-block:clamp(64px,10vh,112px) clamp(56px,8vh,96px);margin-top:24px}.contact-inner[data-v-1c7af08f]{display:grid;gap:22px}.links[data-v-1c7af08f]{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:.9375rem}.links a[data-v-1c7af08f]{border-bottom:1px solid var(--line);padding-bottom:2px}.links a[data-v-1c7af08f]:hover{border-color:var(--blue)}.links span[data-v-1c7af08f]{color:var(--quiet);margin-left:6px}@media(min-width:641px){.groups[data-v-1c7af08f]{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.job[data-v-1c7af08f]{grid-template-columns:1fr;gap:6px}.when[data-v-1c7af08f]{grid-auto-flow:column;justify-content:start;gap:14px}}
