@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}img,picture,svg,canvas{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}}@layer tokens{:root{--wall:#121010;--wall-lo:#0c0a0a;--chalk:#f2ede4;--ash:#9a918a;--seam:#2a2522;--ink-c:#0ff;--ink-m:#f0f;--ink-y:#ff0;--ink-lift:#ff4cb2;--ink:var(--ink-c);--focus:#f2ede4;--f-display:"Bricolage Grotesque", "Bricolage Fallback", "Arial Black", "Helvetica Neue", Helvetica, Arial, sans-serif;--f-text:"Work Sans", "Work Sans Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--f-mono:"Space Mono", "Space Mono Fallback", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--t-xs:clamp(.65rem, .62rem + .14vw, .75rem);--t-sm:clamp(.8rem, .77rem + .16vw, .92rem);--t-base:clamp(1rem, .96rem + .2vw, 1.13rem);--t-md:clamp(1.2rem, 1.05rem + .7vw, 1.7rem);--t-lg:clamp(2rem, 1.5rem + 2.2vw, 3.25rem);--gutter:1.25rem;--col-pad:clamp(2rem, 4vw, 4rem);--stack:clamp(3.5rem, 2rem + 7vw, 7rem);--stack-top:clamp(2rem, 1.25rem + 2.5vw, 3rem);--rail-gap:.75rem;--ring-w:2px;--content-max:1360px;--header-h:56px;--lit:1;--ease:cubic-bezier(.22, .61, .36, 1);--ease-settle:cubic-bezier(.34, 1.28, .64, 1);--dur:.52s;--dur-quick:.24s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paint-stops:var(--ink-c), var(--ink-m) 50%, var(--ink-lift) 62.5%, var(--ink-y);--paint-loop-stops:var(--ink-c) 0%, var(--ink-m) 16.667%, var(--ink-lift) 20.833%, var(--ink-y) 33.333%, var(--ink-c) 50%, var(--ink-m) 66.667%, var(--ink-lift) 70.833%, var(--ink-y) 83.333%, var(--ink-c) 100%;--paint:linear-gradient(to bottom right, var(--paint-stops));--paint-loop:linear-gradient(to bottom right, var(--paint-loop-stops));--paint-dur:14s}@supports (background-image:linear-gradient(in oklch, red, blue)){:root{--paint:linear-gradient(in oklch to bottom right, var(--paint-stops));--paint-loop:linear-gradient(in oklch to bottom right, var(--paint-loop-stops))}}@media (width>=40em){:root{--rail-gap:1.25rem}}}@layer base{html{background:var(--wall);color:var(--chalk);scrollbar-gutter:stable;-webkit-text-size-adjust:100%}body{min-height:100svh;font:400 var(--t-base) / 1.6 var(--f-text);flex-direction:column;display:flex}main,.footer{z-index:1;position:relative}main{flex:1}a{color:var(--chalk);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);text-underline-offset:.18em;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{.column{padding:var(--stack-top) var(--gutter) var(--stack)}.cta{border:1px solid var(--seam);min-height:44px;font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--chalk);transition:border-color var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);border-radius:999px;align-items:center;padding-inline:1.1rem;text-decoration:none;display:inline-flex}.cta:focus-visible,.cta[aria-current=page]{border-color:var(--ink)}.cta--quiet{min-height:34px;padding-inline:.8rem}.label{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}.display-title{width:fit-content;max-width:18ch;font-family:var(--f-display);font-weight:800;font-size:var(--t-lg);letter-spacing:-.02em;overflow-wrap:break-word;line-height:1.02}.prose{max-width:38rem}.prose>*+*{margin-top:1em}.lede{font-size:var(--t-md);line-height:1.45}@media (hover:hover) and (pointer:fine){.cta:hover{border-color:var(--ink);color:var(--ink)}}@media (width>=60em){.column{max-width:var(--content-max);padding-inline:var(--col-pad);margin-inline:auto}}.skip[data-astro-cid-pbhazpx6]{z-index:3;background:var(--chalk);color:var(--wall);font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;transition:transform var(--dur-quick) var(--ease);padding:.75rem 1rem;text-decoration:none;position:fixed;top:0;left:0;transform:translateY(-130%)}.skip[data-astro-cid-pbhazpx6]:focus{transform:none}.masthead[data-astro-cid-v3lsk6py]{z-index:2;background:var(--wall);border-bottom:1px solid var(--seam);transition:background-color var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease);position:sticky;top:0}.nav[data-astro-cid-v3lsk6py]{min-height:var(--header-h);padding-inline:var(--gutter);justify-content:flex-end;align-items:center;gap:.875rem;margin:0;list-style:none;display:flex}:root[data-top] .masthead[data-astro-cid-v3lsk6py]{background-color:#0000;border-bottom-color:#0000}.nav__item--home[data-astro-cid-v3lsk6py]{margin-inline-end:auto}.nav__item--cta[data-astro-cid-v3lsk6py]{margin-inline-start:.375rem}.nav__link[data-astro-cid-v3lsk6py]{min-height:44px;font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--chalk);align-items:center;text-decoration:none;display:inline-flex;position:relative}.nav__link--icon[data-astro-cid-v3lsk6py]{justify-content:center;width:2rem;margin-inline-start:-.375rem}.nav__icon[data-astro-cid-v3lsk6py]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.nav__link[data-astro-cid-v3lsk6py]:after{content:"";inset-inline:0;background:var(--ink);transform-origin:0;height:1px;transition:transform var(--dur-quick) var(--ease);position:absolute;bottom:.6rem;transform:scaleX(0)}.nav__link[data-astro-cid-v3lsk6py]:focus-visible:after,.nav__link[data-astro-cid-v3lsk6py][aria-current=page]:after{transform:scaleX(1)}.nav__link--icon[data-astro-cid-v3lsk6py]:after{inset-inline:.375rem}.nav__link[data-astro-cid-v3lsk6py],.nav__cta[data-astro-cid-v3lsk6py]{font-size:11px}.nav__cta[data-astro-cid-v3lsk6py]{background:var(--chalk);border-color:var(--chalk);color:var(--wall);transition:background-color var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease)}.nav__cta[data-astro-cid-v3lsk6py]:focus-visible,.nav__cta[data-astro-cid-v3lsk6py][aria-current=page]{background:var(--ink);border-color:var(--ink)}@media (width<=22.49em){.nav[data-astro-cid-v3lsk6py]{gap:.5rem}.nav__link[data-astro-cid-v3lsk6py],.nav__cta[data-astro-cid-v3lsk6py]{letter-spacing:.1em}.nav__item--cta[data-astro-cid-v3lsk6py]{margin-inline-start:0}}@media (hover:hover) and (pointer:fine){.nav__link[data-astro-cid-v3lsk6py]:hover:after{transform:scaleX(1)}.nav__cta[data-astro-cid-v3lsk6py]:hover{background:var(--ink);border-color:var(--ink);color:var(--wall)}}@media (width>=40em){.nav[data-astro-cid-v3lsk6py]{gap:1.25rem}.nav__link[data-astro-cid-v3lsk6py],.nav__cta[data-astro-cid-v3lsk6py]{font-size:12px}}@media (width>=60em){.nav[data-astro-cid-v3lsk6py]{max-width:var(--content-max);padding-inline:var(--col-pad);margin-inline:auto}}.footer[data-astro-cid-jo6i4kqk]{padding:var(--stack) var(--gutter) calc(var(--stack) / 2);background:var(--wall-lo);border-top:1px solid var(--seam)}.footer__mark[data-astro-cid-jo6i4kqk]{width:fit-content;font-family:var(--f-display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:clamp(2rem,1.6rem + 1.6vw,2.75rem);font-weight:800;line-height:1}.footer__mark[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:inherit;text-decoration:none}.footer__links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:0 1.25rem;margin:0;padding:0;list-style:none;display:flex}.footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk],.footer__copy[data-astro-cid-jo6i4kqk]{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase}.footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:44px;color:var(--chalk);align-items:center;gap:.35em;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.footer__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink)}}.footer__copy[data-astro-cid-jo6i4kqk]{color:var(--ash);margin:.5rem 0 0}@media (width>=60em){.footer[data-astro-cid-jo6i4kqk]{padding-inline:0}.footer__inner[data-astro-cid-jo6i4kqk]{max-width:var(--content-max);padding-inline:var(--col-pad);grid-template-columns:1fr auto;align-items:end;column-gap:2rem;margin-inline:auto;display:grid}.footer__mark[data-astro-cid-jo6i4kqk]{grid-row:1/3}.footer__links[data-astro-cid-jo6i4kqk]{justify-content:flex-end}.footer__copy[data-astro-cid-jo6i4kqk]{text-align:right;margin-top:0}}.contact__form,.contact__thanks{max-width:38rem}.contact-form .field{gap:.5rem;margin-bottom:1.5rem;display:grid}.contact-form .field__label{color:var(--chalk)}.contact-form .field__optional{color:var(--ash)}.contact-form .field__input{background:var(--wall-lo);border:1px solid var(--ash);border-radius:2px;width:100%;min-height:44px;padding:.6rem .75rem;line-height:1.5}.contact-form .field__input--long{resize:vertical;min-height:12rem}.contact-form .field__input[aria-invalid=true]{border-color:var(--chalk);border-width:2px}.contact-form .field__error,.contact__alert-text{font-size:var(--t-sm)}.contact-form .field__error{border-left:2px solid var(--chalk);padding-left:.6rem}.contact-form .field--trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact__alert{border:1px solid var(--chalk);margin-bottom:2rem;padding:1rem 1.25rem}.contact__alert-list{font-size:var(--t-sm);margin-top:.5rem;padding-left:1.25rem}.contact__check{margin-bottom:1.5rem}.contact__actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.contact__send{cursor:pointer;background:0 0}.contact__send[aria-disabled=true]{cursor:progress}.contact__note{font-size:var(--t-sm);color:var(--ash);flex:16rem}.contact-dialog{width:min(38rem, calc(100% - 2 * var(--gutter)));max-height:calc(100dvh - 2 * var(--gutter));background:var(--wall);color:var(--chalk);border:1px solid var(--seam);margin:auto;padding:0;overflow:clip}.contact-dialog[open]{flex-direction:column;display:flex}.contact-dialog::backdrop{background:color-mix(in srgb, var(--wall-lo) 82%, transparent)}.contact-dialog__bar{padding:.75rem var(--gutter) 0;flex:none;justify-content:flex-end;display:flex}.contact-dialog__close{cursor:pointer;background:0 0}.contact-dialog__sheet{overscroll-behavior:contain;min-height:0;padding:0 var(--gutter) 2rem;flex:auto;overflow-y:auto}.contact-dialog__intro{font-size:var(--t-base);margin:1rem 0 2rem}.contact-dialog .contact-form .field{margin-bottom:1.25rem}.contact-dialog .contact-form .field__input--long{min-height:9rem}:root:has(.contact-dialog[open]){overflow:hidden}@media (prefers-reduced-motion:no-preference){.contact-dialog[open]{animation:contact-dialog-in var(--dur-quick) var(--ease)}}@media (width<=39.99em){.contact-dialog{margin-block:var(--gutter) auto}}@media (width>=40em){.contact-dialog__bar{padding:1rem 2rem 0}.contact-dialog__sheet{padding:0 2rem 2.5rem}}}@layer effects{@supports ((-webkit-background-clip:text) or (background-clip:text)){.painted{background:var(--paint) no-repeat;color:#0000;background-size:100% 100%;-webkit-background-clip:text;background-clip:text}.painted::selection{color:var(--chalk);background:var(--seam)}}.is-waiting{opacity:0;translate:0 14px}.is-waiting.is-in{opacity:1;transition:opacity var(--dur) var(--ease), translate var(--dur) var(--ease-settle);translate:0}@media (forced-colors:active){.painted{color:canvastext;background-image:none;-webkit-background-clip:border-box;background-clip:border-box}}html[data-paint-cycle]{animation:paint-cycle var(--paint-dur) linear infinite}html[data-paint-cycle][data-paint-still]{animation-play-state:paused}@media (prefers-reduced-motion:reduce){html[data-paint-cycle]{animation:none}}[data-paint-ring]{padding:var(--ring-w);position:relative}[data-paint-ring]:before{content:"";z-index:1;padding:var(--ring-w);pointer-events:none;-webkit-mask-composite:xor;background:var(--paint) no-repeat;background-size:var(--paint-w,100%) var(--paint-h,100%);background-position:calc((var(--paint-x,0px) + var(--paint-w,0px) * 1.5 * var(--paint-t,0)) * -1) calc((var(--paint-y,0px) + var(--paint-h,0px) * 1.5 * var(--paint-t,0)) * -1);box-shadow:inset 0 0 0 calc(var(--ring-w) + 1px) color-mix(in srgb, var(--wall) 60%, transparent);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}html[data-paint-cycle] [data-paint-ring]:before{background-image:var(--paint-loop);background-size:calc(var(--paint-w,100%) * 3) calc(var(--paint-h,100%) * 3)}@supports not ((-webkit-background-clip:text) or (background-clip:text)){[data-paint-ring]:before{box-shadow:inset 0 0 0 1px var(--seam);background:0 0;-webkit-mask:none;mask:none}}[data-paint-host]{position:relative}[data-paint-host=heading]{padding-bottom:1em}.painted.is-painted{color:#0000;background:0 0}.paint-canvas{pointer-events:none;position:absolute;top:0;left:0}.glow{z-index:-1;border-radius:var(--glow-reach);box-shadow:0 0 calc(var(--glow-blur) * 2) var(--glow-reach) color-mix(in srgb, var(--chalk) 35%, transparent);position:absolute;inset:0}@media (forced-colors:active){[data-paint-ring]:before,.paint-canvas,.glow{display:none}}}@layer utilities{.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@font-face{font-family:Bricolage Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(LiberationSans-Bold);font-weight:800;size-adjust:93%;ascent-override:100%;descent-override:29%;line-gap-override:0%}@font-face{font-family:Work Sans Fallback;src:local(Arial),local(ArialMT),local(Liberation Sans),local(LiberationSans);size-adjust:111.8%;ascent-override:83.2%;descent-override:21.7%;line-gap-override:0%}@font-face{font-family:Space Mono Fallback;src:local(Courier New),local(CourierNewPSMT),local(Liberation Mono),local(LiberationMono);size-adjust:102%;ascent-override:109.8%;descent-override:35.4%;line-gap-override:0%}@property --paint-t{syntax:"<number>";inherits:true;initial-value:0}@keyframes paint-cycle{0%{--paint-t:0}to{--paint-t:1}}@keyframes contact-dialog-in{0%{opacity:0;translate:0 .5rem}}
