.hero[data-astro-cid-ge2uvauf]{isolation:isolate;background:radial-gradient(55% 60% at 70% 45%, #fff 0%, transparent 70%), var(--bg);align-items:center;min-height:max(700px,100svh);display:flex;position:relative;overflow:hidden}.hero-canvas[data-astro-cid-ge2uvauf]{z-index:-2;cursor:grab;touch-action:pan-y;opacity:0;width:100%;height:100%;transition:opacity 1s var(--ease);position:absolute;inset:0}.hero[data-astro-cid-ge2uvauf].is-live .hero-canvas[data-astro-cid-ge2uvauf]{opacity:1}.hero[data-astro-cid-ge2uvauf].is-still .hero-canvas[data-astro-cid-ge2uvauf]{transition:none}.hero-canvas[data-astro-cid-ge2uvauf].is-dragging{cursor:grabbing}.hero-shade[data-astro-cid-ge2uvauf]{z-index:-1;pointer-events:none;background:linear-gradient(90deg, #f5f4f0f2 0%, #f5f4f0b3 30%, transparent 52%), linear-gradient(0deg, var(--bg) 0%, transparent 16%);position:absolute;inset:0}.hero-inner[data-astro-cid-ge2uvauf]{min-height:inherit;padding-top:calc(var(--header-h) + 2rem);pointer-events:none;flex-direction:column;justify-content:center;padding-bottom:3rem;display:flex;position:relative}.hero-inner[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf],.hero-inner[data-astro-cid-ge2uvauf] button[data-astro-cid-ge2uvauf],.hero-inner[data-astro-cid-ge2uvauf] input[data-astro-cid-ge2uvauf],.viewer[data-astro-cid-ge2uvauf]{pointer-events:auto}.hero-copy[data-astro-cid-ge2uvauf]{max-width:560px}h1[data-astro-cid-ge2uvauf]{letter-spacing:-.045em;margin-top:1.1rem;font-size:clamp(3.2rem,8.5vw,6.8rem);line-height:.95}.lede[data-astro-cid-ge2uvauf]{max-width:33rem;color:var(--text-muted);margin-top:1.5rem;font-size:clamp(1.05rem,1.6vw,1.2rem)}.actions[data-astro-cid-ge2uvauf]{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.viewer[data-astro-cid-ge2uvauf]{right:var(--gutter);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(14px)saturate(1.2);width:min(560px,46vw);box-shadow:var(--shadow-md);background:#ffffffc7;gap:.8rem;padding:1rem 1.1rem;font-size:.8rem;display:grid;position:absolute;bottom:2rem}.hero[data-astro-cid-ge2uvauf].no-webgl .viewer[data-astro-cid-ge2uvauf]{display:none}.viewer[data-astro-cid-ge2uvauf].is-loading{cursor:progress}.viewer[data-astro-cid-ge2uvauf].is-loading .dot[data-astro-cid-ge2uvauf]{animation-duration:.6s}.viewer-head[data-astro-cid-ge2uvauf]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.viewer-title[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);align-items:center;gap:.5rem;font-size:.7rem;display:flex}.viewer-head[data-astro-cid-ge2uvauf] a[data-astro-cid-ge2uvauf]{color:var(--accent-text);font-size:.78rem;font-weight:600}.dot[data-astro-cid-ge2uvauf]{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #e4570f80}70%,to{box-shadow:0 0 0 8px #e4570f00}}.presets[data-astro-cid-ge2uvauf]{flex-wrap:wrap;gap:.35rem;display:flex}.presets[data-astro-cid-ge2uvauf] button[data-astro-cid-ge2uvauf],.modes[data-astro-cid-ge2uvauf] button[data-astro-cid-ge2uvauf],.icon-btn[data-astro-cid-ge2uvauf]{border:1px solid var(--line-strong);color:var(--text-muted);cursor:pointer;transition:background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);background:#fff}.presets[data-astro-cid-ge2uvauf] button[data-astro-cid-ge2uvauf]{white-space:nowrap;border-radius:999px;flex:none;padding:.38rem .7rem;font-size:.75rem}.presets[data-astro-cid-ge2uvauf] button[data-astro-cid-ge2uvauf]:hover,.modes[data-astro-cid-ge2uvauf] button[data-astro-cid-ge2uvauf]:hover{color:var(--text);border-color:var(--text-dim)}.presets[data-astro-cid-ge2uvauf] button[data-astro-cid-ge2uvauf][aria-pressed=true],.modes[data-astro-cid-ge2uvauf] button[data-astro-cid-ge2uvauf][aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.controls[data-astro-cid-ge2uvauf]{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.scrub[data-astro-cid-ge2uvauf]{flex:220px;align-items:center;gap:.5rem;display:flex}.scrub-label[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);color:var(--text-dim);font-size:.68rem}input[data-astro-cid-ge2uvauf][type=range]{min-width:80px;accent-color:var(--accent);cursor:pointer;flex:1}.icon-btn[data-astro-cid-ge2uvauf]{border-radius:50%;flex:none;width:30px;height:30px;font-size:.95rem}.icon-btn[data-astro-cid-ge2uvauf]:hover{color:var(--accent-text);border-color:var(--accent)}.modes[data-astro-cid-ge2uvauf]{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:2px;display:flex}.modes[data-astro-cid-ge2uvauf] button[data-astro-cid-ge2uvauf]{background:0 0;border:0;border-radius:999px;padding:.32rem .6rem;font-size:.72rem}.stack[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;gap:.3rem;font-size:.66rem;display:flex}.stack[data-astro-cid-ge2uvauf] span,.stack[data-astro-cid-ge2uvauf] b{background:#f1efea;border-radius:5px;padding:.18rem .45rem;font-weight:400}.stack[data-astro-cid-ge2uvauf] b{background:var(--accent-soft);color:var(--accent-text);font-weight:500}.meta[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);color:var(--text-dim);font-size:.66rem}@media (width<=899px){.hero[data-astro-cid-ge2uvauf]{align-items:flex-start}.hero-canvas[data-astro-cid-ge2uvauf]{height:60svh}.hero-shade[data-astro-cid-ge2uvauf]{background:linear-gradient(180deg, transparent 0, transparent 44svh, var(--bg) 60svh)}.hero-inner[data-astro-cid-ge2uvauf]{justify-content:flex-start;padding-top:52svh}.viewer[data-astro-cid-ge2uvauf]{width:100%;max-width:560px;margin-top:2.25rem;position:static}}.grid[data-astro-cid-oxgmilyn]{gap:2rem 4rem;display:grid}@media (width>=900px){.grid[data-astro-cid-oxgmilyn]{grid-template-columns:5fr 7fr}}.idx[data-astro-cid-oxgmilyn]{color:var(--text-dim)}.portrait[data-astro-cid-oxgmilyn]{object-fit:cover;width:180px;height:180px;box-shadow:var(--shadow-md);border:4px solid #fff;border-radius:50%;margin-bottom:1.75rem}h2[data-astro-cid-oxgmilyn]{margin-top:1rem;font-size:clamp(2.1rem,5vw,3.4rem)}.text[data-astro-cid-oxgmilyn]{color:var(--text-muted);align-content:end;gap:1.25rem;display:grid}.text[data-astro-cid-oxgmilyn] a[data-astro-cid-oxgmilyn]{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}.statement[data-astro-cid-oxgmilyn]{color:var(--text);font-size:clamp(1.15rem,2vw,1.35rem);line-height:1.55}.focus[data-astro-cid-oxgmilyn]{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;margin-top:clamp(3rem,7vw,5rem);list-style:none;display:grid;overflow:hidden}.focus[data-astro-cid-oxgmilyn] li[data-astro-cid-oxgmilyn]{background:var(--bg);align-content:start;gap:.6rem;padding:1.6rem;display:grid}.focus-num[data-astro-cid-oxgmilyn]{font-family:var(--font-mono);color:var(--accent-text);font-size:.75rem}.focus[data-astro-cid-oxgmilyn] h3[data-astro-cid-oxgmilyn]{letter-spacing:-.01em;font-size:1.2rem}.focus[data-astro-cid-oxgmilyn] p[data-astro-cid-oxgmilyn]{color:var(--text-muted);font-size:.95rem}.section-heading[data-astro-cid-ypavld2q]{gap:1rem;max-width:760px;margin-bottom:clamp(2.5rem,6vw,4rem);display:grid}.idx[data-astro-cid-ypavld2q]{color:var(--text-dim)}h2[data-astro-cid-ypavld2q]{font-size:clamp(2.1rem,5vw,3.4rem)}.section-heading[data-astro-cid-ypavld2q] p:not(.eyebrow){color:var(--text-muted);max-width:620px;font-size:1.1rem}.card[data-astro-cid-y2vllrex]{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow-sm);transition:border-color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);overflow:hidden}.card[data-astro-cid-y2vllrex]:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-link[data-astro-cid-y2vllrex]{flex-direction:column;height:100%;display:flex}.media[data-astro-cid-y2vllrex]{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:#ebe8e1;overflow:hidden}.media[data-astro-cid-y2vllrex] img,.media[data-astro-cid-y2vllrex] svg{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.card[data-astro-cid-y2vllrex]:hover .media[data-astro-cid-y2vllrex] img,.card[data-astro-cid-y2vllrex]:hover .media[data-astro-cid-y2vllrex] svg{transform:scale(1.03)}.body[data-astro-cid-y2vllrex]{flex-direction:column;flex:1;gap:.9rem;padding:clamp(1.25rem,3vw,1.75rem);display:flex}.meta[data-astro-cid-y2vllrex]{font-family:var(--font-mono);color:var(--text-dim);font-size:.74rem}.num[data-astro-cid-y2vllrex]{color:var(--accent-text);margin-right:.75rem}h3[data-astro-cid-y2vllrex]{font-size:clamp(1.5rem,2.6vw,1.9rem)}.summary[data-astro-cid-y2vllrex]{color:var(--text-muted);font-size:1rem}.cta[data-astro-cid-y2vllrex]{color:var(--text);margin-top:auto;padding-top:.5rem;font-size:.9rem;font-weight:600}.card[data-astro-cid-y2vllrex]:hover .cta[data-astro-cid-y2vllrex]{color:var(--accent-text)}@media (width>=900px){.wide[data-astro-cid-y2vllrex]{grid-column:1/-1}.wide[data-astro-cid-y2vllrex] .card-link[data-astro-cid-y2vllrex]{flex-direction:row}.wide[data-astro-cid-y2vllrex] .media[data-astro-cid-y2vllrex]{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);flex:0 0 58%;min-height:380px}.wide[data-astro-cid-y2vllrex] .body[data-astro-cid-y2vllrex]{justify-content:center;padding:2.5rem}.wide[data-astro-cid-y2vllrex] h3[data-astro-cid-y2vllrex]{font-size:2.3rem}}.side[data-astro-cid-55tnrpur]{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);align-items:center;gap:1.25rem;padding:1rem;display:grid}@media (width>=700px){.side[data-astro-cid-55tnrpur]{grid-template-columns:260px 1fr;gap:1.75rem}}.media[data-astro-cid-55tnrpur]{aspect-ratio:16/10;border-radius:var(--radius-sm);background:#ebe8e1;display:block;overflow:hidden}.media[data-astro-cid-55tnrpur] img,.media[data-astro-cid-55tnrpur] svg{object-fit:cover;width:100%;height:100%}.body[data-astro-cid-55tnrpur]{gap:.5rem;display:grid}.meta[data-astro-cid-55tnrpur]{font-family:var(--font-mono);color:var(--accent-text);font-size:.72rem}h3[data-astro-cid-55tnrpur]{font-size:1.3rem}h3[data-astro-cid-55tnrpur] a[data-astro-cid-55tnrpur]:hover{color:var(--accent-text)}.summary[data-astro-cid-55tnrpur]{color:var(--text-muted);max-width:640px;font-size:.95rem}.links[data-astro-cid-55tnrpur]{flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.25rem;list-style:none;display:flex}.links[data-astro-cid-55tnrpur] a[data-astro-cid-55tnrpur]{color:var(--text);font-size:.88rem;font-weight:600}.links[data-astro-cid-55tnrpur] a[data-astro-cid-55tnrpur]:hover{color:var(--accent-text)}.timeline[data-astro-cid-bl6cniha]{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.timeline[data-astro-cid-bl6cniha]>li[data-astro-cid-bl6cniha]{border-bottom:1px solid var(--line);gap:.75rem 3rem;padding-block:2rem;display:grid}@media (width>=760px){.timeline[data-astro-cid-bl6cniha]>li[data-astro-cid-bl6cniha]{grid-template-columns:220px 1fr}}.period[data-astro-cid-bl6cniha]{font-family:var(--font-mono);color:var(--text-dim);padding-top:.35rem;font-size:.8rem}h3[data-astro-cid-bl6cniha]{font-size:1.5rem}.at[data-astro-cid-bl6cniha]{color:var(--text-dim);font-weight:500}.detail[data-astro-cid-bl6cniha] ul[data-astro-cid-bl6cniha]{color:var(--text-muted);gap:.6rem;max-width:720px;margin-top:1rem;list-style:none;display:grid}.detail[data-astro-cid-bl6cniha] li[data-astro-cid-bl6cniha]{padding-left:1.25rem;position:relative}.detail[data-astro-cid-bl6cniha] li[data-astro-cid-bl6cniha]:before{content:"";background:var(--accent);width:7px;height:1px;position:absolute;top:.72em;left:0}.link[data-astro-cid-bl6cniha]{color:var(--accent-text);margin-top:1rem;font-weight:600;display:inline-block}.groups[data-astro-cid-2zwc476k]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.group[data-astro-cid-2zwc476k]{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);align-content:start;gap:1.1rem;padding:1.6rem;display:grid}h3[data-astro-cid-2zwc476k]{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:.78rem;font-weight:500}.chip[data-astro-cid-2zwc476k]{color:var(--text);border-color:var(--line-strong);font-size:.8rem}.contact[data-astro-cid-he3spzz3]{background:radial-gradient(70% 60% at 15% 100%,#e4570f12,#0000 70%)}.idx[data-astro-cid-he3spzz3]{color:var(--text-dim)}h2[data-astro-cid-he3spzz3]{letter-spacing:-.04em;margin-top:1rem;font-size:clamp(2.4rem,7vw,5rem)}.email[data-astro-cid-he3spzz3]{font-family:var(--font-display);color:var(--accent-text);overflow-wrap:anywhere;transition:border-color .2s var(--ease);border-bottom:1px solid #e4570f59;align-items:center;gap:.6rem;margin-top:2.5rem;padding-bottom:.2rem;font-size:clamp(1.35rem,4vw,2.4rem);font-weight:500;display:inline-flex}.email[data-astro-cid-he3spzz3]:hover{border-bottom-color:var(--accent)}.email[data-astro-cid-he3spzz3] .arrow[data-astro-cid-he3spzz3]{transition:transform .2s var(--ease)}.email[data-astro-cid-he3spzz3]:hover .arrow[data-astro-cid-he3spzz3]{transform:translate(3px,-3px)}.row[data-astro-cid-he3spzz3]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:3rem;display:flex}.links[data-astro-cid-he3spzz3]{flex-wrap:wrap;gap:.6rem;list-style:none;display:flex}.location[data-astro-cid-he3spzz3]{color:var(--text-dim);font-size:.85rem}.work-grid[data-astro-cid-lcdefpme]{gap:1.25rem;display:grid}@media (width>=900px){.work-grid[data-astro-cid-lcdefpme]{grid-template-columns:repeat(2,1fr)}}.side-projects[data-astro-cid-lcdefpme]{gap:1rem;margin-top:clamp(2.5rem,6vw,4rem);display:grid}
