.scene[data-astro-cid-vjc3kfer]{-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--band) - 60px), transparent calc(100% - var(--band) + 40px));mask-image:linear-gradient(to bottom, #000 calc(100% - var(--band) - 60px), transparent calc(100% - var(--band) + 40px));pointer-events:none;position:absolute;inset:0}.scene-canvas[data-astro-cid-vjc3kfer]{opacity:0;width:100%;height:100%;transition:opacity 1s var(--ease);display:block}.scene-canvas[data-astro-cid-vjc3kfer].ready{opacity:1}.band[data-astro-cid-72tzq22o]{height:calc(var(--rows) * 20px);position:relative}.bits[data-astro-cid-72tzq22o]{color:var(--bit);user-select:none;justify-content:center;display:flex;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 100%)}.col[data-astro-cid-72tzq22o]{text-align:center;width:20px;font-family:var(--font-mono);font-size-adjust:ex-height var(--mono-adjust);flex:none;font-size:12px;font-stretch:100%;line-height:20px}.col[data-astro-cid-72tzq22o] span[data-astro-cid-72tzq22o]{white-space:pre;display:block}.hl[data-astro-cid-72tzq22o]{color:var(--bit-hl);font-weight:700}.cue[data-astro-cid-72tzq22o]{width:44px;height:44px;color:var(--muted);opacity:0;border-radius:50%;justify-content:center;align-items:center;margin-left:-22px;transition:opacity .5s;animation:1.8s 2.4s forwards cue-in;display:flex;position:absolute;top:4px;left:50%}.cue[data-astro-cid-72tzq22o] svg{animation:2.8s ease-in-out infinite bob}.cue[data-astro-cid-72tzq22o]:hover{color:var(--accent)}.cue[data-astro-cid-72tzq22o].gone{opacity:0;pointer-events:none;animation:none}@keyframes cue-in{to{opacity:1}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.cue[data-astro-cid-72tzq22o]{opacity:1;animation:none}.cue[data-astro-cid-72tzq22o] svg{animation:none}}.hero[data-astro-cid-ge2uvauf]{--band:240px;background-image:linear-gradient(to bottom, var(--hero) 0%, var(--hero) calc(100% - var(--band)), var(--bg) 100%);position:relative;overflow:hidden}.inner[data-astro-cid-ge2uvauf]{min-height:max(600px, calc(100svh - var(--band) / 2));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:48px;padding-top:140px;padding-bottom:32px;display:flex;position:relative}.intro[data-astro-cid-ge2uvauf]{flex-direction:column;flex:520px;gap:22px;min-width:0;display:flex}.hello[data-astro-cid-ge2uvauf]{color:var(--accent);font-size:14px}.id[data-astro-cid-ge2uvauf]{flex-direction:column;gap:14px;display:flex}.name[data-astro-cid-ge2uvauf]{font-size:var(--fs-display);letter-spacing:-.045em;font-weight:700;line-height:.92}.aka[data-astro-cid-ge2uvauf]{color:var(--muted);font-size:15px}.aka[data-astro-cid-ge2uvauf] span[data-astro-cid-ge2uvauf]{color:var(--accent)}.loc[data-astro-cid-ge2uvauf]{color:var(--muted);align-items:center;gap:8px;font-size:16px;display:flex}.tagline[data-astro-cid-ge2uvauf]{color:var(--body);max-width:34ch;font-size:clamp(18px,1.5vw,21px);line-height:1.5}.actions[data-astro-cid-ge2uvauf]{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.divider[data-astro-cid-ge2uvauf]{background-color:var(--line);width:1px;height:28px;margin:0 6px}.social[data-astro-cid-ge2uvauf]{width:48px;height:48px}.focus[data-astro-cid-ge2uvauf]{flex-direction:column;flex:0 380px;gap:12px;min-width:0;display:flex}.whoami[data-astro-cid-ge2uvauf]{color:var(--muted);padding:0 4px 4px;font-size:13px}.whoami[data-astro-cid-ge2uvauf] span[data-astro-cid-ge2uvauf]{color:var(--accent)}.focus[data-astro-cid-ge2uvauf] ul[data-astro-cid-ge2uvauf]{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.tile[data-astro-cid-ge2uvauf]{border-radius:var(--r-lg);transition:transform .25s var(--ease);align-items:center;gap:14px;padding:14px 16px;display:flex}.tile[data-astro-cid-ge2uvauf]:hover{transform:translate(-4px)}.tile-ic[data-astro-cid-ge2uvauf]{border-radius:var(--r-md);background-color:var(--tint);width:44px;height:44px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:flex}.tile-text[data-astro-cid-ge2uvauf]{flex-direction:column;min-width:0;display:flex}.tile-text[data-astro-cid-ge2uvauf] strong[data-astro-cid-ge2uvauf]{font-size:16px;font-weight:600}.tile-text[data-astro-cid-ge2uvauf] span[data-astro-cid-ge2uvauf]{color:var(--muted);font-size:14px}@media (width<=600px){.inner[data-astro-cid-ge2uvauf]{padding-top:112px}.divider[data-astro-cid-ge2uvauf]{display:none}}.honeycomb[data-astro-cid-tflnuwe3]{--hw:clamp(28px, 6.2vw, 92px);--gap:8px;padding-bottom:32px}.row[data-astro-cid-tflnuwe3]{justify-content:center;gap:var(--gap);margin:0;padding:0;list-style:none;display:flex}.row[data-astro-cid-tflnuwe3]+.row[data-astro-cid-tflnuwe3]{margin-top:calc(var(--hw) * -.2887 + var(--gap) * .866)}.hex[data-astro-cid-tflnuwe3]{width:var(--hw);height:calc(var(--hw) * 1.1547);position:relative}.js [data-reveal] .hex[data-astro-cid-tflnuwe3]{opacity:0;transition:opacity .5s ease var(--d), transform .7s cubic-bezier(.3, 1.4, .5, 1) var(--d);transform:scale(.4)translateY(10px)}.js [data-reveal].in .hex[data-astro-cid-tflnuwe3]{opacity:1;transform:none}.cell[data-astro-cid-tflnuwe3]{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background-color:var(--surface2);width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;transition:background-color .2s,color .2s,transform .2s;display:flex}.logo[data-astro-cid-tflnuwe3]{aspect-ratio:1;width:42%;-webkit-mask:var(--logo) center / contain no-repeat;mask:var(--logo) center / contain no-repeat;background-color:currentColor}.mono-tag[data-astro-cid-tflnuwe3]{font-family:var(--font-mono);font-stretch:var(--mono-stretch);font-size-adjust:ex-height var(--mono-adjust);font-size:calc(var(--hw) * .2);font-weight:600}.hex[data-astro-cid-tflnuwe3]:hover .cell[data-astro-cid-tflnuwe3]{background-color:var(--hex-hover);color:var(--accent);transform:translateY(-3px)}.hex[data-astro-cid-tflnuwe3]:after{content:attr(data-name);white-space:nowrap;font-family:var(--font-mono);font-stretch:var(--mono-stretch);font-size-adjust:ex-height var(--mono-adjust);color:var(--text);background-color:var(--surface);border-radius:var(--r-sm);opacity:0;pointer-events:none;z-index:2;padding:5px 8px;font-size:11px;transition:opacity .2s;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.hex[data-astro-cid-tflnuwe3]:hover:after{opacity:1}@media (prefers-reduced-motion:reduce){.js [data-reveal] .hex[data-astro-cid-tflnuwe3]{opacity:1;transition:none;transform:none}}.timeline[data-astro-cid-3xih677i]{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.item[data-astro-cid-3xih677i]{grid-template-columns:120px 28px minmax(0,1fr);gap:0 20px;display:grid}.date[data-astro-cid-3xih677i]{color:var(--muted);text-align:right;padding-top:24px;font-size:12px}.rail[data-astro-cid-3xih677i]{justify-content:center;display:flex;position:relative}.rail[data-astro-cid-3xih677i]:before{content:"";background-color:var(--line);width:1px;position:absolute;top:0;bottom:0;left:50%}.item[data-astro-cid-3xih677i]:first-child .rail[data-astro-cid-3xih677i]:before{top:30px}.item[data-astro-cid-3xih677i]:last-child .rail[data-astro-cid-3xih677i]:before{height:30px;bottom:auto}.marker[data-astro-cid-3xih677i]{background-color:var(--bg);justify-content:center;align-items:center;width:18px;height:18px;margin-top:26px;display:flex;position:relative}.marker[data-astro-cid-3xih677i]:after{content:"";display:block}.experience[data-astro-cid-3xih677i] .marker[data-astro-cid-3xih677i]:after{background-color:var(--accent);border-radius:50%;width:12px;height:12px}.certification[data-astro-cid-3xih677i] .marker[data-astro-cid-3xih677i]:after{border:2px solid var(--accent2);box-sizing:border-box;width:10px;height:10px;transform:rotate(45deg)}.award[data-astro-cid-3xih677i] .marker[data-astro-cid-3xih677i]:after{background-color:var(--accent3);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:16px;height:16px}.body[data-astro-cid-3xih677i]{border-radius:16px;flex-direction:column;gap:4px;margin:4px 0;padding:18px 20px;transition:background-color .25s;display:flex}.item[data-astro-cid-3xih677i]:hover .body[data-astro-cid-3xih677i]{background-color:var(--surface)}.head[data-astro-cid-3xih677i]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}h3[data-astro-cid-3xih677i]{letter-spacing:-.01em;font-size:20px;font-weight:600}h3[data-astro-cid-3xih677i] a[data-astro-cid-3xih677i]{color:inherit}.kind[data-astro-cid-3xih677i]{letter-spacing:.06em;font-size:11px}.experience[data-astro-cid-3xih677i] .kind[data-astro-cid-3xih677i]{color:var(--accent)}.certification[data-astro-cid-3xih677i] .kind[data-astro-cid-3xih677i]{color:var(--accent2)}.award[data-astro-cid-3xih677i] .kind[data-astro-cid-3xih677i]{color:var(--accent3)}.org[data-astro-cid-3xih677i]{color:var(--body);font-size:15px}.desc[data-astro-cid-3xih677i]{color:var(--muted);font-size:15px}@media (width<=720px){.item[data-astro-cid-3xih677i]{grid-template-columns:28px minmax(0,1fr);gap:0 12px}.date[data-astro-cid-3xih677i]{display:none}}@media (width>=721px){.body[data-astro-cid-3xih677i] .sr-only[data-astro-cid-3xih677i]{display:none}}.gallery[data-astro-cid-rj65ajc3]{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:210px;gap:14px;display:grid}.photo[data-astro-cid-rj65ajc3]{border-radius:var(--r-lg);position:relative;overflow:hidden}.photo[data-astro-cid-rj65ajc3] .zoom{transition:transform .6s var(--ease);position:absolute;inset:0}.photo[data-astro-cid-rj65ajc3]:hover .zoom{transform:scale(1.04)}.g-a[data-astro-cid-rj65ajc3]{grid-area:span 2/span 2}.g-c[data-astro-cid-rj65ajc3]{grid-row:span 2}.g-e[data-astro-cid-rj65ajc3],.g-f[data-astro-cid-rj65ajc3]{grid-column:span 2}figcaption[data-astro-cid-rj65ajc3]{color:#dce1de;background-image:linear-gradient(#0000,#0d1311b8);flex-direction:column;gap:2px;padding:32px 16px 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.cap[data-astro-cid-rj65ajc3]{font-size:15px;font-weight:600}.hint[data-astro-cid-rj65ajc3]{opacity:.8;font-size:10px}@media (width<=820px){.gallery[data-astro-cid-rj65ajc3]{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px}.g-c[data-astro-cid-rj65ajc3],.g-e[data-astro-cid-rj65ajc3],.g-f[data-astro-cid-rj65ajc3]{grid-area:auto}}.card[data-astro-cid-he3spzz3]{border-radius:var(--r-xl);background-color:var(--surface);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-position:-1px -1px;background-size:44px 44px;flex-wrap:wrap;align-items:center;gap:48px;padding:clamp(28px,5vw,64px);display:flex}.text[data-astro-cid-he3spzz3]{flex-direction:column;flex:360px;gap:16px;display:flex}.text[data-astro-cid-he3spzz3] .lead[data-astro-cid-he3spzz3]{max-width:40ch}.rows[data-astro-cid-he3spzz3]{flex-direction:column;flex:400px;gap:12px;display:flex}.row[data-astro-cid-he3spzz3]{border-radius:var(--r-lg);color:var(--text);transition:transform .25s var(--ease);align-items:center;gap:16px;padding:16px 18px;display:flex}a[data-astro-cid-he3spzz3].row:hover{color:var(--text);transform:translateY(-2px)}.ic-box[data-astro-cid-he3spzz3]{border-radius:var(--r-md);background-color:var(--tint);width:48px;height:48px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:flex}.what[data-astro-cid-he3spzz3]{flex-direction:column;flex:1;min-width:0;display:flex}.label[data-astro-cid-he3spzz3]{color:var(--muted);letter-spacing:.06em;font-size:11px}.value[data-astro-cid-he3spzz3]{overflow-wrap:anywhere;font-size:18px;font-weight:600}.row[data-astro-cid-he3spzz3] .go{color:var(--muted);flex:none;transition:transform .25s,color .25s}a[data-astro-cid-he3spzz3].row:hover .go{color:var(--accent);transform:translate(2px,-2px)}.copy[data-astro-cid-he3spzz3]{background-color:var(--surface2)}.copy[data-astro-cid-he3spzz3] .i-check{color:var(--accent);display:none}.copy[data-astro-cid-he3spzz3].done .i-copy{display:none}.copy[data-astro-cid-he3spzz3].done .i-check{display:block}.section[data-astro-cid-lcdefpme]{padding-top:120px;padding-bottom:40px}.section[data-astro-cid-lcdefpme].first{padding-top:72px}.section[data-astro-cid-lcdefpme].last{padding-bottom:120px}.section[data-astro-cid-lcdefpme].narrow{max-width:1080px}.head[data-astro-cid-lcdefpme]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;display:flex}.head[data-astro-cid-lcdefpme].center{text-align:center;justify-content:center;margin-bottom:56px}.head[data-astro-cid-lcdefpme].center .lead[data-astro-cid-lcdefpme]{margin-inline:auto}.head-text[data-astro-cid-lcdefpme]{flex-direction:column;gap:12px;display:flex}.work-grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:40px 32px;display:grid}.legend[data-astro-cid-lcdefpme]{color:var(--muted);flex-wrap:wrap;gap:22px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.legend[data-astro-cid-lcdefpme] li[data-astro-cid-lcdefpme]{align-items:center;gap:8px;display:flex}.m[data-astro-cid-lcdefpme]{display:block}.m[data-astro-cid-lcdefpme].exp{background-color:var(--accent);border-radius:50%;width:12px;height:12px}.m[data-astro-cid-lcdefpme].cert{border:2px solid var(--accent2);width:10px;height:10px;transform:rotate(45deg)}.m[data-astro-cid-lcdefpme].award{background-color:var(--accent3);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:15px;height:15px}@media (width<=600px){.section[data-astro-cid-lcdefpme]{padding-top:88px}}
