.logo-mark[data-astro-cid-f7espo7c]{width:var(--header-height);height:var(--header-height);flex:none;display:block}.link[data-astro-cid-twzuq6vf]{position:relative}.link-muted[data-astro-cid-twzuq6vf]{color:var(--muted)}.link[data-astro-cid-twzuq6vf]:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform var(--wipe) var(--wipe-ease);background:currentColor;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.link[data-astro-cid-twzuq6vf]:hover:after,.link[data-astro-cid-twzuq6vf][aria-current]:after{transform-origin:0;transform:scaleX(1)}.link[data-astro-cid-twzuq6vf][aria-current=page]{color:var(--ink);pointer-events:none}@media (prefers-reduced-motion:reduce){.link[data-astro-cid-twzuq6vf]:after{transition:none}}.icon-button[data-astro-cid-3gcnyqnl]{font:inherit;width:var(--control-size);height:var(--control-size);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button-edge[data-astro-cid-3gcnyqnl]{margin-right:calc((var(--control-size) - var(--icon-size)) / -2)}.icon-button[data-astro-cid-3gcnyqnl]:focus-visible{outline-offset:2px;outline:1px solid}:root{--page-max:1440px;--page-pad:32px;--page-gutter:var(--page-pad);--rule-travel:200px;--header-close:0;--header-close-top:.5;--header-close-bottom:.5;--header-top:calc(var(--page-pad) * (1 - var(--header-close) * var(--header-close-top)));--header-bottom:calc(var(--page-pad) * (1 - var(--header-close) * var(--header-close-bottom)));--text-table:16px;--text-primary:16px;--text-secondary:16px;--leading-table:24px;--leading-primary:24px;--leading-secondary:24px;--header-height:var(--leading-secondary);--row-height:104px;--wipe:.3s;--wipe-ease:cubic-bezier(.215, .61, .355, 1);--fade:.45s;--swap:.12s;--shadow-lift:0 8px 28px #00000014;--layer-header:5;--layer-rule:6;--layer-preview:7;--layer-overlay:10;--paragraph-gap:var(--leading-primary);--stack-gap:32px;--block-gap:24px;--measure:60ch;--header-gap:var(--stack-gap);--control-size:var(--header-height);--icon-size:12px;--icon-stroke:1.25px;--logo-radius:8px;--card-radius:12px;--picture-radius:4px;--viewer-top:calc(var(--page-pad) + var(--header-height) + var(--header-gap));--ground:#f2f2f2;--ink:#000;--surface:#fff;--muted:#6b6b6b;--rule:color-mix(in oklab, currentColor 20%, transparent);--table-columns:1fr 1fr 1fr;--table-gutter:32px}@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}html{background:var(--ground)}body{max-width:var(--page-max);padding:var(--page-pad) var(--page-gutter);box-sizing:border-box;background:var(--ground);min-height:100dvh;color:var(--ink);font-family:Geist,Helvetica,Arial,sans-serif;font-size:var(--text-primary);line-height:var(--leading-primary);letter-spacing:.32px;flex-direction:column;margin:0 auto;font-weight:350;display:flex}@view-transition{navigation:auto}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}::view-transition-old(root){animation:fade-out calc(var(--fade) / 2) ease-in both}::view-transition-new(root){animation:fade-in calc(var(--fade) / 2) ease-out calc(var(--fade) / 2) both}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal}::view-transition-image-pair(root){isolation:auto}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}a{color:inherit;text-decoration:none}.topbar-work,.topbar-info{justify-self:start}.footer-marks{align-items:center;display:flex;position:absolute;top:0;right:0}.stack{flex-direction:column;flex:1;align-items:flex-start;gap:0;width:100%;display:flex}.stack>:not(.topbar):not(.socials){margin-top:var(--header-gap);flex:1;min-height:0}:root[data-theme=dark]{--ground:#121212;--ink:#fff;--muted:gray;color-scheme:dark}@media (prefers-reduced-motion:reduce){.topbar{transition:none}}.topbar{z-index:var(--layer-header);background-color:var(--ground);margin-top:calc(-1 * var(--header-top));padding-top:var(--header-top);padding-bottom:var(--header-bottom);margin-bottom:calc(-1 * var(--header-bottom));grid-template-columns:var(--table-columns);align-self:stretch;align-items:center;column-gap:var(--table-gutter);font-size:var(--text-secondary);line-height:var(--header-height);margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50%);display:grid;position:sticky;top:0}#measure{z-index:100;background:var(--ink);color:var(--ground);letter-spacing:0;overflow-wrap:anywhere;margin:0;padding:8px 12px;font-size:11px;line-height:15px;position:fixed;bottom:0;left:0;right:0}.quiet{color:var(--muted);transition:color var(--wipe) var(--wipe-ease)}.quiet:hover{color:var(--ink)}.icon{width:var(--icon-size);height:var(--icon-size);flex:none;display:block}.icon circle,.icon path{stroke-width:var(--icon-stroke);vector-effect:non-scaling-stroke}.page-rule{top:calc(var(--header-top) + var(--header-height) + var(--header-bottom));z-index:var(--layer-rule);background:var(--rule);height:1px;transform:scaleX(var(--rule-scale,1));transform-origin:50%;will-change:transform;position:sticky}@media (prefers-reduced-motion:reduce){.page-rule{transition:none}}.topbar-name,.topbar-name a:hover{color:var(--ink)}.topbar-name{align-items:center;gap:12px;display:inline-flex}.topbar-mark{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:-8px;padding:8px;display:block}.topbar-mark:focus-visible{outline-offset:-4px;outline:1px solid}.social-email{position:relative}.social-email a{transition:opacity var(--swap) ease-out}.social-email.show a{opacity:0}.social-email.show .copied{visibility:visible;opacity:1;transition:opacity var(--swap) ease-out}.copied{color:var(--ink);visibility:hidden;opacity:0;transition:opacity var(--swap) ease-out, visibility 0s linear var(--swap);white-space:nowrap;pointer-events:none;position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){.copied,.social-email a{transition:none}}.socials{column-gap:var(--table-gutter);font-size:var(--text-secondary);line-height:var(--leading-secondary);margin-top:var(--stack-gap);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;row-gap:8px;width:100%;display:grid;position:relative}@media (width>=768px){:root{--header-gap:104px}}@media (width<=767px){:root{--page-gutter:24px}.topbar{grid-template-columns:1fr auto auto}.topbar-name{grid-column:1}.topbar-work{grid-column:2}.topbar-info{grid-column:3}}
