.wrap.svelte-1uha8ag{max-width:960px;margin:0 auto;padding:0 24px}.bar.svelte-1uha8ag{border-bottom:var(--rule) solid var(--line);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:baseline;padding:14px 0;font-size:13px;display:flex}.bar.svelte-1uha8ag .mono:where(.svelte-1uha8ag){font-weight:700}.bar.svelte-1uha8ag nav:where(.svelte-1uha8ag){align-items:baseline;gap:18px;display:flex}.bar.svelte-1uha8ag nav:where(.svelte-1uha8ag) a:where(.svelte-1uha8ag){text-decoration:none}.bar.svelte-1uha8ag nav:where(.svelte-1uha8ag) a:where(.svelte-1uha8ag):hover{text-decoration:underline}.hamburger.svelte-1uha8ag{width:42px;height:32px;color:var(--ink);border:1.5px solid var(--line);cursor:pointer;background:0 0;place-items:center;padding:0;display:none}.hamburger.svelte-1uha8ag:hover{background:var(--ink);color:var(--paper)}.menu-icon.svelte-1uha8ag,.menu-icon.svelte-1uha8ag:before,.menu-icon.svelte-1uha8ag:after{background:currentColor;width:18px;height:2px;transition:transform .16s,opacity .16s;display:block}.menu-icon.svelte-1uha8ag{position:relative}.menu-icon.svelte-1uha8ag:before,.menu-icon.svelte-1uha8ag:after{content:"";position:absolute;left:0}.menu-icon.svelte-1uha8ag:before{transform:translateY(-6px)}.menu-icon.svelte-1uha8ag:after{transform:translateY(6px)}.menu-icon.open.svelte-1uha8ag{background:0 0}.menu-icon.open.svelte-1uha8ag:before{transform:rotate(45deg)}.menu-icon.open.svelte-1uha8ag:after{transform:rotate(-45deg)}.toggles.svelte-1uha8ag{gap:10px;display:flex}.toggle.svelte-1uha8ag{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border:1.5px solid var(--line);cursor:pointer;background:0 0;padding:2px 8px;font-size:12px;line-height:1.4}.toggle.svelte-1uha8ag:hover{background:var(--ink);color:var(--paper)}@media (width<=768px){.bar.svelte-1uha8ag{flex-wrap:wrap;align-items:center}.hamburger.svelte-1uha8ag{display:grid}.bar.svelte-1uha8ag nav:where(.svelte-1uha8ag){flex-direction:column;flex-basis:100%;align-items:stretch;gap:0;margin-top:12px;display:none}.bar.svelte-1uha8ag nav.open:where(.svelte-1uha8ag){display:flex}.bar.svelte-1uha8ag nav:where(.svelte-1uha8ag) a:where(.svelte-1uha8ag){border-top:1px solid var(--line);padding:14px 0;font-size:14px}.toggles.svelte-1uha8ag{border-top:1px solid var(--line);padding:14px 0 2px}}header.hero.svelte-1uha8ag{border-bottom:var(--rule) solid var(--line);padding:72px 0 56px}h1.svelte-1uha8ag{letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif;font-size:clamp(44px,8vw,96px);font-weight:900;line-height:.95}h1.svelte-1uha8ag .slash:where(.svelte-1uha8ag){display:inline-block;transform:translateY(-.05em)}.role.svelte-1uha8ag{max-width:60ch;margin-top:18px;font-size:clamp(16px,2vw,20px)}.meta.svelte-1uha8ag{text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:12px 28px;margin-top:28px;font-size:13px;display:flex}.meta.svelte-1uha8ag span:where(.svelte-1uha8ag):before{content:"[";margin-right:6px}.meta.svelte-1uha8ag span:where(.svelte-1uha8ag):after{content:"]";margin-left:6px}section.svelte-1uha8ag{border-bottom:var(--rule) solid var(--line);padding:56px 0}.grid.svelte-1uha8ag{grid-template-columns:180px 1fr;gap:32px;display:grid}.label.svelte-1uha8ag{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:12px}h2.svelte-1uha8ag{letter-spacing:-.01em;margin-bottom:18px;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:900}p.svelte-1uha8ag+p:where(.svelte-1uha8ag){margin-top:14px}.lead.svelte-1uha8ag{margin-bottom:24px}.projects.svelte-1uha8ag{grid-template-columns:1fr;gap:0;list-style:none;display:grid}.project.svelte-1uha8ag{border-top:1px solid var(--line);padding:20px 0}.project.svelte-1uha8ag:last-child{border-bottom:1px solid var(--line)}.project-head.svelte-1uha8ag{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.project.svelte-1uha8ag h3:where(.svelte-1uha8ag){letter-spacing:-.01em;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:900}.project.svelte-1uha8ag .period:where(.svelte-1uha8ag){letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:12px}.project.svelte-1uha8ag .org:where(.svelte-1uha8ag){letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:4px 0 12px;font-size:12px}.project.svelte-1uha8ag p:where(.svelte-1uha8ag){font-size:15px}.project.svelte-1uha8ag .stack:where(.svelte-1uha8ag){letter-spacing:.04em;border:1.5px solid var(--line);margin-top:12px;padding:3px 10px;font-size:12px;display:inline-block}.skills.svelte-1uha8ag{grid-template-columns:1fr;gap:0;display:grid}.row.svelte-1uha8ag{border-top:1px solid var(--line);grid-template-columns:200px 1fr;gap:16px;padding:14px 0;display:grid}.row.svelte-1uha8ag:last-child{border-bottom:1px solid var(--line)}.row.svelte-1uha8ag dt:where(.svelte-1uha8ag){letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:2px;font-size:12px}.row.svelte-1uha8ag dd:where(.svelte-1uha8ag){font-size:15px}.tag.svelte-1uha8ag{border:1.5px solid var(--line);letter-spacing:.04em;margin:2px 4px 2px 0;padding:2px 8px;font-size:12px;display:inline-block}.contact-grid.svelte-1uha8ag{border:var(--rule) solid var(--line);grid-template-columns:1fr 1fr;gap:0;display:grid}.contact-grid.svelte-1uha8ag>div:where(.svelte-1uha8ag){border-right:1px solid var(--line);padding:20px}.contact-grid.svelte-1uha8ag>div:where(.svelte-1uha8ag):last-child{border-right:0}.contact-grid.svelte-1uha8ag .small:where(.svelte-1uha8ag){margin-bottom:6px}.contact-grid.svelte-1uha8ag a:where(.svelte-1uha8ag){word-break:break-all;font-size:18px}footer.svelte-1uha8ag{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:24px 0 48px;font-size:12px;display:flex}@media (width<=640px){.grid.svelte-1uha8ag{grid-template-columns:1fr;gap:16px}.row.svelte-1uha8ag,.contact-grid.svelte-1uha8ag{grid-template-columns:1fr}.contact-grid.svelte-1uha8ag>div:where(.svelte-1uha8ag){border-right:0;border-bottom:1px solid var(--line)}.contact-grid.svelte-1uha8ag>div:where(.svelte-1uha8ag):last-child{border-bottom:0}}
