.top[data-astro-cid-7aropxhg]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;display:flex}.brand[data-astro-cid-7aropxhg]{letter-spacing:-.01em;font-weight:700;text-decoration:none}nav[data-astro-cid-7aropxhg]{font-size:var(--step--1);flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}nav[data-astro-cid-7aropxhg] a[data-astro-cid-7aropxhg]{color:var(--muted);text-decoration:none}nav[data-astro-cid-7aropxhg] a[data-astro-cid-7aropxhg]:hover{color:var(--ink)}.lang[data-astro-cid-7aropxhg]{border:1.5px solid var(--line);border-radius:999px;font-size:.8125rem;font-weight:600;display:inline-flex;overflow:hidden}.lang[data-astro-cid-7aropxhg] span[data-astro-cid-7aropxhg]{color:var(--muted);padding:.2rem .6rem}.lang[data-astro-cid-7aropxhg] span[data-astro-cid-7aropxhg].on{background:var(--ink);color:var(--bg)}.lang[data-astro-cid-7aropxhg]:hover{border-color:var(--accent)}.hero[data-astro-cid-7aropxhg]{padding-block:clamp(3rem,10vw,7rem) 2.5rem}.hero[data-astro-cid-7aropxhg] h1[data-astro-cid-7aropxhg]{font-size:var(--step-3);letter-spacing:-.04em;font-weight:800;line-height:.95}.role[data-astro-cid-7aropxhg]{font-size:var(--step-1);color:var(--accent);margin-top:.75rem;font-weight:600}.intro[data-astro-cid-7aropxhg]{max-width:58ch;margin-top:1.5rem;font-size:1.1875rem;line-height:1.55}.where[data-astro-cid-7aropxhg]{color:var(--muted);font-size:var(--step--1);margin-top:1rem}.actions[data-astro-cid-7aropxhg]{flex-wrap:wrap;gap:.625rem;margin-top:2rem;display:flex}.btn[data-astro-cid-7aropxhg]{border:1.5px solid var(--ink);color:var(--ink);border-radius:8px;padding:.65rem 1.05rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-block}.btn[data-astro-cid-7aropxhg]:hover{color:var(--accent);border-color:var(--accent)}.btn[data-astro-cid-7aropxhg].primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn[data-astro-cid-7aropxhg].primary:hover{filter:brightness(1.08);color:var(--accent-ink)}.btn[data-astro-cid-7aropxhg].ghost{border-color:#0000;padding-inline:.6rem}.trace[data-astro-cid-7aropxhg]{background:var(--surface);border-radius:14px;margin-block:1rem 5rem;padding:clamp(1.25rem,4vw,2.25rem)}.trace-caption[data-astro-cid-7aropxhg]{font-size:var(--step--1);color:var(--muted);letter-spacing:0;font-weight:600}.hops[data-astro-cid-7aropxhg]{grid-template-columns:repeat(5,1fr);margin:1.5rem 0 0;padding:0;list-style:none;display:grid;position:relative}.hops[data-astro-cid-7aropxhg]:before{content:"";background:repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 11px);width:80%;height:2px;position:absolute;top:6px;left:6px}.hops[data-astro-cid-7aropxhg]:after{content:"";background:var(--accent);transform-origin:0;width:80%;height:2px;animation:1.6s cubic-bezier(.6,0,.2,1) .3s both travel;position:absolute;top:6px;left:6px;transform:scaleX(1)}.hops[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg]{flex-direction:column;gap:.2rem;padding-right:.75rem;display:flex;position:relative}.dot[data-astro-cid-7aropxhg]{background:var(--bg);border:2px solid var(--accent);z-index:1;width:14px;height:14px;animation:.3s ease-out both arrive;animation-delay:calc(.3s + var(--i) * .38s);border-radius:50%;margin-bottom:.75rem;position:relative}.hops[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg]:last-child .dot[data-astro-cid-7aropxhg]{background:var(--stone);border-color:var(--stone)}.hop-name[data-astro-cid-7aropxhg]{font-family:var(--mono);font-size:.875rem;font-weight:600}.hop-note[data-astro-cid-7aropxhg]{color:var(--muted);font-size:.875rem;line-height:1.4}.timing[data-astro-cid-7aropxhg]{font-family:var(--mono);color:var(--stone-ink);min-height:1.3em;margin-top:1.5rem;font-size:.8125rem}.trace-foot[data-astro-cid-7aropxhg]{max-width:70ch;color:var(--muted);margin-top:.5rem;font-size:.9375rem}@keyframes travel{0%{transform:scaleX(0)}}@keyframes arrive{0%{background:var(--bg);transform:scale(.6)}to{background:var(--accent);transform:scale(1)}}.hops[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg]:last-child .dot[data-astro-cid-7aropxhg]{animation-name:arrive-last}@keyframes arrive-last{0%{background:var(--bg);transform:scale(.6)}to{background:var(--stone);transform:scale(1)}}@media (prefers-reduced-motion:reduce){.hops[data-astro-cid-7aropxhg]:after,.dot[data-astro-cid-7aropxhg]{animation:none}.dot[data-astro-cid-7aropxhg]{background:var(--accent)}}@media (width<=720px){.hops[data-astro-cid-7aropxhg]{grid-template-columns:1fr;gap:1.1rem}.hops[data-astro-cid-7aropxhg]:before,.hops[data-astro-cid-7aropxhg]:after{width:2px;height:auto;inset:8px auto 2.6rem 6px}.hops[data-astro-cid-7aropxhg]:before{background:repeating-linear-gradient(180deg, var(--line) 0 6px, transparent 6px 11px)}.hops[data-astro-cid-7aropxhg]:after{transform-origin:top;animation-name:travel-v}.hops[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg]{grid-template-columns:14px 1fr;column-gap:1rem;padding:0;display:grid}.dot[data-astro-cid-7aropxhg]{grid-row:span 2;margin:.2rem 0 0}}@keyframes travel-v{0%{transform:scaleY(0)}}.block[data-astro-cid-7aropxhg]{padding-block:1rem 4.5rem}.block-head[data-astro-cid-7aropxhg]{flex-wrap:wrap;align-items:baseline;gap:1rem 1.5rem;margin-bottom:2rem;display:flex}.block-head[data-astro-cid-7aropxhg] h2[data-astro-cid-7aropxhg],.contact[data-astro-cid-7aropxhg] h2[data-astro-cid-7aropxhg]{font-size:var(--step-2)}.block-head[data-astro-cid-7aropxhg] p[data-astro-cid-7aropxhg]{color:var(--muted)}.projects[data-astro-cid-7aropxhg]{margin:0;padding:0;list-style:none}.project[data-astro-cid-7aropxhg]{border-top:1.5px solid var(--line);grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:.75rem 2.5rem;padding-block:1.75rem;display:grid}.p-head[data-astro-cid-7aropxhg] h3[data-astro-cid-7aropxhg]{font-size:var(--step-1)}.year[data-astro-cid-7aropxhg]{color:var(--muted);font-size:var(--step--1);margin-top:.35rem;display:block}.p-body[data-astro-cid-7aropxhg]{max-width:var(--measure)}.summary[data-astro-cid-7aropxhg]{font-weight:600}.detail[data-astro-cid-7aropxhg]{color:var(--ink);margin-top:.4rem}.tech[data-astro-cid-7aropxhg]{color:var(--muted);font-size:var(--step--1);margin-top:.75rem}.p-links[data-astro-cid-7aropxhg]{flex-wrap:wrap;gap:1.25rem;margin-top:.75rem;font-size:.9375rem;font-weight:600;display:flex}.host[data-astro-cid-7aropxhg]{color:var(--muted);font-weight:400}.timeline[data-astro-cid-7aropxhg]{margin:0;padding:0;list-style:none}.timeline[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg]{border-left:2px solid var(--line);padding-block:1.1rem;grid-template-columns:9rem minmax(0,1fr);gap:.25rem 2rem;padding-left:1.25rem;display:grid;position:relative}.timeline[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg]:before{content:"";background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:1.45rem;left:-6px}.timeline[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg]:first-child:before{background:var(--accent)}.period[data-astro-cid-7aropxhg]{color:var(--muted);font-size:var(--step--1);font-variant-numeric:tabular-nums;padding-top:.2rem}.timeline[data-astro-cid-7aropxhg] h3[data-astro-cid-7aropxhg]{font-size:1.125rem}.timeline[data-astro-cid-7aropxhg] p[data-astro-cid-7aropxhg]{max-width:var(--measure);margin-top:.35rem}.org[data-astro-cid-7aropxhg]{color:var(--muted);font-weight:400}.compact[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg]{padding-block:.6rem}.compact[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg]:before{top:.95rem}.timeline[data-astro-cid-7aropxhg] .study[data-astro-cid-7aropxhg]{margin:0;font-weight:600}.sub[data-astro-cid-7aropxhg]{font-size:var(--step-1);margin:3rem 0 1.25rem}.stack[data-astro-cid-7aropxhg]{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2.5rem;max-width:52rem;margin:0;display:grid}.stack[data-astro-cid-7aropxhg] dt[data-astro-cid-7aropxhg]{font-weight:700}.stack[data-astro-cid-7aropxhg] dd[data-astro-cid-7aropxhg]{color:var(--muted);margin:.2rem 0 0}.contact[data-astro-cid-7aropxhg]{border-top:1.5px solid var(--line);margin-bottom:2rem;padding-block:3.5rem}.contact[data-astro-cid-7aropxhg] p[data-astro-cid-7aropxhg]{max-width:52ch;color:var(--muted);margin-top:.75rem}.mail[data-astro-cid-7aropxhg]{letter-spacing:-.02em;overflow-wrap:anywhere;margin-top:1.25rem;font-size:clamp(1.25rem,4.2vw,2.25rem);font-weight:700;display:inline-block}.foot[data-astro-cid-7aropxhg]{color:var(--muted);font-size:var(--step--1);padding-block:2rem 3rem}@media (width<=720px){.project[data-astro-cid-7aropxhg],.timeline[data-astro-cid-7aropxhg] li[data-astro-cid-7aropxhg],.stack[data-astro-cid-7aropxhg]{grid-template-columns:1fr}nav[data-astro-cid-7aropxhg]{gap:.9rem}}
