.icon[data-astro-cid-patnjmll]{width:1.15em;height:1.15em;flex:0 0 auto}.hero[data-astro-cid-xhaoqxbd]{position:relative;overflow:hidden;padding-block:var(--space-7) var(--space-7)}.hero__inner[data-astro-cid-xhaoqxbd]{position:relative;z-index:1}.hero__copy[data-astro-cid-xhaoqxbd]{max-width:640px}.hero__labels[data-astro-cid-xhaoqxbd]{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-5)}.hero__headline[data-astro-cid-xhaoqxbd]{max-width:12ch}.hero__subhead[data-astro-cid-xhaoqxbd]{margin-top:var(--space-4);max-width:46ch;color:var(--ink)}.hero__lead[data-astro-cid-xhaoqxbd]{margin-top:var(--space-3);max-width:52ch}.hero__actions[data-astro-cid-xhaoqxbd]{margin-top:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero__art[data-astro-cid-xhaoqxbd]{--w: min(560px, 44vw);position:absolute;right:max(var(--gutter),calc((100vw - var(--measure)) / 2 + var(--gutter)));top:50%;width:var(--w);height:var(--w);transform:translateY(-50%);pointer-events:none}.hero__pattern[data-astro-cid-xhaoqxbd]{position:absolute;inset:0;width:100%;height:100%;opacity:.9}.hero__portrait[data-astro-cid-xhaoqxbd]{position:absolute;top:50%;left:50%;width:calc(var(--w) * 272 / 640);height:calc(var(--w) * 272 / 640);transform:translate(-50%,-50%);border-radius:var(--radius-full);object-fit:cover}:root[data-theme=light] .hero__pattern[data-astro-cid-xhaoqxbd]{opacity:.55;filter:brightness(.55) saturate(1.2)}@media(max-width:960px){.hero[data-astro-cid-xhaoqxbd]{padding-block:var(--space-6)}.hero__art[data-astro-cid-xhaoqxbd]{display:none}}.about[data-astro-cid-xhaoqxbd]{display:grid;gap:var(--space-3)}.about__lead[data-astro-cid-xhaoqxbd]{font-size:18px;line-height:28px}.facts[data-astro-cid-xhaoqxbd]{display:grid;border-top:1px solid var(--hairline)}.facts__row[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:140px minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--hairline)}.facts__row[data-astro-cid-xhaoqxbd] dt[data-astro-cid-xhaoqxbd]{color:var(--copper);padding-top:4px}.facts__row[data-astro-cid-xhaoqxbd] dd[data-astro-cid-xhaoqxbd]{margin:0}.principles[data-astro-cid-xhaoqxbd]{display:grid;border-top:1px solid var(--hairline)}.principle[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:48px minmax(0,260px) minmax(0,1fr);gap:var(--space-4);align-items:baseline;padding-block:var(--space-4);border-bottom:1px solid var(--hairline)}.principle__num[data-astro-cid-xhaoqxbd]{color:var(--copper);font:500 12px/16px var(--font-mono);letter-spacing:.04em}.principle__body[data-astro-cid-xhaoqxbd]{color:var(--ink-muted);max-width:56ch}@media(max-width:860px){.principle[data-astro-cid-xhaoqxbd]{grid-template-columns:40px minmax(0,1fr);gap:var(--space-1) var(--space-3)}.principle__body[data-astro-cid-xhaoqxbd]{grid-column:2}}@media(max-width:560px){.facts__row[data-astro-cid-xhaoqxbd]{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}}.cases[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:var(--space-3)}.case[data-astro-cid-xhaoqxbd]{display:flex;flex-direction:column;gap:var(--space-3)}.case__title[data-astro-cid-xhaoqxbd]{font-size:24px;line-height:30px;letter-spacing:-.01em}.case__client[data-astro-cid-xhaoqxbd]{margin-top:var(--space-1);color:var(--copper);font:500 12px/16px var(--font-mono);letter-spacing:.04em}.case__rows[data-astro-cid-xhaoqxbd]{display:grid;gap:var(--space-3)}.case__row[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--space-3)}.case__row[data-astro-cid-xhaoqxbd] dt[data-astro-cid-xhaoqxbd]{color:var(--ink-muted);font:500 12px/24px var(--font-mono);letter-spacing:.04em}.case__row[data-astro-cid-xhaoqxbd] dd[data-astro-cid-xhaoqxbd]{margin:0;color:var(--ink-muted)}.case__row--outcome[data-astro-cid-xhaoqxbd] dt[data-astro-cid-xhaoqxbd]{color:var(--copper)}.case__row--outcome[data-astro-cid-xhaoqxbd] dd[data-astro-cid-xhaoqxbd]{color:var(--ink);font-weight:500}.case__foot[data-astro-cid-xhaoqxbd]{margin-top:auto;display:grid;gap:var(--space-3)}.case__link[data-astro-cid-xhaoqxbd]{justify-self:start;font-size:14px;line-height:20px}@media(max-width:720px){.case__row[data-astro-cid-xhaoqxbd]{grid-template-columns:minmax(0,1fr);gap:0}}.jobs[data-astro-cid-xhaoqxbd]{display:grid}.job[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-4);border-top:1px solid var(--hairline)}.job[data-astro-cid-xhaoqxbd]:first-child{border-top:0;padding-top:0}.job__meta[data-astro-cid-xhaoqxbd]{display:grid;gap:var(--space-1);align-content:start;padding-top:6px}.job__period[data-astro-cid-xhaoqxbd]{color:var(--ink)}.job__org[data-astro-cid-xhaoqxbd]{margin-top:var(--space-1);color:var(--copper);font:500 12px/16px var(--font-mono);letter-spacing:.04em}.job__points[data-astro-cid-xhaoqxbd]{margin-top:var(--space-3);display:grid;gap:var(--space-2);max-width:64ch;color:var(--ink-muted)}.job__points[data-astro-cid-xhaoqxbd] li[data-astro-cid-xhaoqxbd]{position:relative;padding-left:var(--space-4)}.job__points[data-astro-cid-xhaoqxbd] li[data-astro-cid-xhaoqxbd]:before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:var(--radius-full);background:var(--signal-ink)}@media(max-width:720px){.job[data-astro-cid-xhaoqxbd]{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}}.repos[data-astro-cid-xhaoqxbd]{display:grid;gap:var(--space-3)}.repo[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr) minmax(0,200px);gap:var(--space-3) var(--space-5);align-items:start}.repo__tags[data-astro-cid-xhaoqxbd]{justify-content:flex-end}.repo__body[data-astro-cid-xhaoqxbd] code{white-space:nowrap}@media(max-width:1100px){.repo[data-astro-cid-xhaoqxbd]{grid-template-columns:minmax(0,220px) minmax(0,1fr)}.repo__tags[data-astro-cid-xhaoqxbd]{grid-column:2;justify-content:flex-start}}@media(max-width:720px){.repo[data-astro-cid-xhaoqxbd]{grid-template-columns:minmax(0,1fr)}.repo__tags[data-astro-cid-xhaoqxbd]{grid-column:auto}}.repo__link[data-astro-cid-xhaoqxbd]{display:grid;gap:var(--space-1);color:var(--ink)}.repo__title[data-astro-cid-xhaoqxbd]{font-size:20px;line-height:26px;letter-spacing:-.01em}.repo__arrow[data-astro-cid-xhaoqxbd]{color:var(--signal-ink);font-size:.8em}.repo__link[data-astro-cid-xhaoqxbd]:hover .repo__title[data-astro-cid-xhaoqxbd]{color:var(--signal-ink)}.repo__body[data-astro-cid-xhaoqxbd]{color:var(--ink-muted);font-size:15px;line-height:22px}.stack[data-astro-cid-xhaoqxbd]{display:grid}.stack__group[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-3);border-top:1px solid var(--hairline)}.stack__group[data-astro-cid-xhaoqxbd]:first-child{border-top:0;padding-top:0}.stack__group[data-astro-cid-xhaoqxbd] dt[data-astro-cid-xhaoqxbd]{padding-top:4px}.stack__group[data-astro-cid-xhaoqxbd] dd[data-astro-cid-xhaoqxbd]{margin:0}@media(max-width:720px){.stack__group[data-astro-cid-xhaoqxbd]{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}}.degrees[data-astro-cid-xhaoqxbd]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-3)}.degree[data-astro-cid-xhaoqxbd]{display:grid;gap:var(--space-2);align-content:start}.langs[data-astro-cid-xhaoqxbd]{display:grid;gap:var(--space-2)}.langs[data-astro-cid-xhaoqxbd] li[data-astro-cid-xhaoqxbd]{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.langs__name[data-astro-cid-xhaoqxbd]{font-weight:600;min-width:6rem}.callcard[data-astro-cid-xhaoqxbd]{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);min-height:460px;background:var(--surface);border:1px solid var(--hairline)}.callcard__copy[data-astro-cid-xhaoqxbd]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-6) var(--space-5)}.callcard__mark[data-astro-cid-xhaoqxbd]{width:48px;height:48px;fill:var(--signal-ink)}.callcard__copy[data-astro-cid-xhaoqxbd] h2[data-astro-cid-xhaoqxbd]{margin-top:var(--space-2)}.callcard__copy[data-astro-cid-xhaoqxbd] .t-sub[data-astro-cid-xhaoqxbd]{margin-top:calc(var(--space-2) * -1)}.callcard__rings[data-astro-cid-xhaoqxbd]{position:absolute;top:50%;left:50%;height:150%;width:auto;max-width:none;aspect-ratio:1;transform:translateY(-50%);fill:none;stroke:var(--signal-ink);stroke-width:10;pointer-events:none}.callcard__core[data-astro-cid-xhaoqxbd]{fill:var(--signal-ink);stroke:none}.contacts[data-astro-cid-xhaoqxbd]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.contacts[data-astro-cid-xhaoqxbd] .btn[data-astro-cid-xhaoqxbd]{font:500 14px/20px var(--font-mono)}.contacts[data-astro-cid-xhaoqxbd] .icon{width:16px;height:16px}.callcard__meta[data-astro-cid-xhaoqxbd]{margin-top:auto;padding-top:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.callcard__stack[data-astro-cid-xhaoqxbd]{color:var(--copper);font:500 12px/16px var(--font-mono);letter-spacing:.04em}.toast[data-astro-cid-xhaoqxbd]{position:fixed;z-index:60;left:50%;bottom:var(--space-4);width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);overflow:hidden;background:var(--surface);border:1px solid var(--hairline-strong);color:var(--ink);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s linear var(--dur)}.toast[data-astro-cid-xhaoqxbd][data-show]{opacity:1;visibility:visible;transform:translate(-50%);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.toast__dot[data-astro-cid-xhaoqxbd]{position:relative;flex:none;width:10px;height:10px;margin:5px 4px 0;border-radius:var(--radius-full);background:var(--signal-ink)}.toast__dot[data-astro-cid-xhaoqxbd]:after{content:"";position:absolute;inset:-5px;border:1px solid var(--signal-ink);border-radius:var(--radius-full);opacity:0}.toast[data-astro-cid-xhaoqxbd][data-show] .toast__dot[data-astro-cid-xhaoqxbd]:after{animation:toast-ring .6s var(--ease) .1s both}.toast__text[data-astro-cid-xhaoqxbd]{display:grid;gap:2px}.toast__title[data-astro-cid-xhaoqxbd]{font:900 16px/20px var(--font-display);letter-spacing:-.01em}.toast__detail[data-astro-cid-xhaoqxbd]{color:var(--ink-muted);font-size:14px;line-height:20px}.toast__detail[data-astro-cid-xhaoqxbd] .mono[data-astro-cid-xhaoqxbd]{color:var(--ink)}.toast__bar[data-astro-cid-xhaoqxbd]{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--signal-ink);transform-origin:left;transform:scaleX(0)}.toast[data-astro-cid-xhaoqxbd][data-show] .toast__bar[data-astro-cid-xhaoqxbd]{animation:toast-bar 3.2s linear both}@keyframes toast-ring{0%{opacity:1;transform:scale(.4)}to{opacity:.6;transform:scale(1)}}@keyframes toast-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:860px){.callcard[data-astro-cid-xhaoqxbd]{grid-template-columns:minmax(0,1fr);min-height:0;padding-bottom:220px}.callcard__copy[data-astro-cid-xhaoqxbd]{padding:var(--space-5) var(--space-4) var(--space-4)}.callcard__rings[data-astro-cid-xhaoqxbd]{top:auto;bottom:-200px;left:50%;height:420px;transform:translate(-50%)}.contacts[data-astro-cid-xhaoqxbd]{display:grid;justify-items:start}}
