@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@font-face{font-family:Funnel Display;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/FunnelDisplay-Variable-LatinExt.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Funnel Display;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/FunnelDisplay-Variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Funnel Sans;font-style:italic;font-weight:300 800;font-display:swap;src:url(/fonts/FunnelSans-Italic-Variable-LatinExt.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Funnel Sans;font-style:italic;font-weight:300 800;font-display:swap;src:url(/fonts/FunnelSans-Italic-Variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Funnel Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/FunnelSans-Variable-LatinExt.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Funnel Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/FunnelSans-Variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Timeless Serif;src:url(/fonts/TimelessSerif-Book.woff2)format("woff2");font-weight:350;font-style:normal;font-display:swap}:root{--bg:#fff;--paper:#fff;--ink:#000;--ink-muted:#767676;--rule:#ddd;--rule-soft:#eee;--surface:#f3f3f3;--r-sm:10px;--r-md:12px;--r-pill:30px;--s-1:4px;--s-2:8px;--s-inset:10px;--s-4:16px;--s-6:24px;--s-8:32px;--s-10:40px;--col:690px;--col-wide:926px;--dock-gutter:100px;--dock-offset:20px;--nav-offset:16px;--nav-band:966px;--logo-size:32.5244px;--header-h:62px;--font-nav:"Funnel Sans", system-ui, sans-serif;--font-sans:"Funnel Sans", system-ui, sans-serif;--font-mono:var(--font-sans);--font-display:"Funnel Display", system-ui, sans-serif;--font-quote:"Timeless Serif", Georgia, serif;--type-home-intro:36px;--type-home-label:14px;--type-logo:22px;--type-project-title:36px;--type-project-body:18px;--type-project-quote:28px;--ease-drama:cubic-bezier(.86, 0, .07, 1);--ease-morph:cubic-bezier(.165, .84, .44, 1);--ease-enter:cubic-bezier(.19, 1, .22, 1);--ease-hover:ease;--d-hover:.15s;--d-enter:.4s;--d-morph:.5s;--d-morph-close:.4s;--d-exit:.32s}html[data-project-details]{--bg:#fff;--header-h:78px}[data-theme=dark]{color-scheme:dark;--bg:#000;--ink:#ddd;--ink-muted:#8a8a8a;--rule:#262626}@property --bg{syntax:"<color>";inherits:true;initial-value:#fff}@property --ink{syntax:"<color>";inherits:true;initial-value:#000}@property --ink-muted{syntax:"<color>";inherits:true;initial-value:#767676}@property --rule{syntax:"<color>";inherits:true;initial-value:#ddd}@media (prefers-reduced-motion:no-preference){html{transition-property:--bg,--ink,--ink-muted,--rule;transition-duration:var(--d-morph);transition-timing-function:var(--ease-hover)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html[data-lines-hold] [data-lines]{visibility:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:12px;font-weight:400;line-height:normal}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}p{margin:0}.rule-dashed{border:0;border-top:1px dashed var(--rule);width:100%;margin:0}.meta{gap:var(--s-1);flex-direction:column;display:flex}.meta-title{color:var(--ink);font-weight:500}.meta-client{color:var(--ink-muted);font-weight:400}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition:none;animation:none}}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){mix-blend-mode:normal;animation:none!important}.page-column{max-width:var(--col);padding:calc(var(--header-h) + 80px) var(--s-6) var(--dock-gutter);margin-inline:auto}.empty{color:var(--ink-muted);padding-inline:var(--s-inset)}.prose{max-width:454px;padding-inline:var(--s-inset)}.prose p{color:var(--ink-muted);font-size:16px;line-height:24px}.prose p+p{margin-top:var(--s-4)}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.nav-guides[data-astro-cid-l7arcky5],.navbar[data-astro-cid-l7arcky5]{width:min(var(--nav-band), 100% - 2 * var(--s-2));position:fixed;left:50%;translate:-50%}.nav-guides[data-astro-cid-l7arcky5]{border-inline:1px solid var(--rule-soft);z-index:-1;pointer-events:none;height:100lvh;top:0}.navbar[data-astro-cid-l7arcky5]{top:max(var(--nav-offset), env(safe-area-inset-top));padding:var(--s-1) var(--s-2);border-block:1px solid var(--rule-soft);background:var(--bg);z-index:30;font-family:var(--font-nav);font-size:var(--type-home-label);letter-spacing:-.02em;white-space:nowrap;grid-template-columns:1fr auto 1fr;align-items:center;font-weight:500;line-height:normal;display:grid}html[data-theme=dark] [data-astro-cid-l7arcky5]:is(.navbar,.nav-guides){--rule-soft:var(--rule);--surface:var(--rule)}html[data-project-details] .navbar[data-astro-cid-l7arcky5]{background:var(--paper)}.nav-brand[data-astro-cid-l7arcky5],.nav-slot[data-astro-cid-l7arcky5]{border-radius:36px;align-items:center;gap:2px;height:36px;padding:6px clamp(4px,12.5vw - 42.5px,12px);display:flex;position:relative}.nav-brand[data-astro-cid-l7arcky5]{margin-left:var(--s-1);color:var(--ink);justify-self:start}.nav-tabs[data-astro-cid-l7arcky5]{gap:var(--s-1);display:flex;position:relative}.nav-slot[data-astro-cid-l7arcky5]{z-index:1;color:var(--ink-muted)}.nav-back[data-astro-cid-l7arcky5]{border:1px solid var(--rule-soft);border-radius:36px;justify-self:start;align-items:center;height:36px;margin-left:12px;padding:6px 9px;display:flex;position:relative}.nav-back[data-astro-cid-l7arcky5] img[data-astro-cid-l7arcky5]{width:16px;height:16px}html[data-project-details] .nav-cta[data-astro-cid-l7arcky5]{margin-right:12px}[data-astro-cid-l7arcky5]:is(.nav-brand,.nav-slot,.nav-cta,.nav-back):after{content:"";position:absolute;inset:-4px 0}.nav-slot[data-astro-cid-l7arcky5][aria-current=page]{color:var(--ink);background:var(--surface)}.navbar[data-astro-cid-l7arcky5][data-pill-ready] .nav-slot[data-astro-cid-l7arcky5][aria-current=page]{background:0 0}[data-astro-cid-l7arcky5]:is(.nav-brand,.nav-slot,.nav-cta,.nav-back):focus-visible{outline:2px solid var(--ink);outline-offset:2px}.nav-pill[data-astro-cid-l7arcky5]{width:100%;height:36px;fill:var(--surface);pointer-events:none;position:absolute;inset:0;overflow:visible}.nav-icon[data-astro-cid-l7arcky5]{flex:none;width:24px;height:24px;position:relative}.nav-icon[data-astro-cid-l7arcky5]:before{content:"";mask:var(--nav-icon) center / contain no-repeat;-webkit-mask:var(--nav-icon) center / contain no-repeat;background:currentColor;position:absolute;inset:0}.nav-icon-brand[data-astro-cid-l7arcky5]{--nav-icon:url(/icons/nav-brand.svg)}.nav-icon-projects[data-astro-cid-l7arcky5]{--nav-icon:url(/icons/nav-projects.svg)}.nav-icon-projects[data-astro-cid-l7arcky5]:before{width:16.6834px;height:15.3613px;inset:3.75px auto auto 3.03px}.nav-icon-labs[data-astro-cid-l7arcky5]{--nav-icon:url(/icons/nav-labs.svg)}.nav-icon-about[data-astro-cid-l7arcky5]{--nav-icon:url(/icons/nav-about.svg)}.nav-cta[data-astro-cid-l7arcky5]{margin-right:var(--s-2);justify-content:center;justify-self:end;align-items:center;gap:var(--s-1);height:36px;padding:var(--s-2) 12px;border-radius:var(--r-pill);color:#fff;filter:drop-shadow(0 1px 3px #00000040)drop-shadow(0 1px 1px #0003);background:linear-gradient(#303030,#000);border:1px solid #bcbcbc;display:flex;position:relative}.nav-cta[data-astro-cid-l7arcky5] img[data-astro-cid-l7arcky5]{flex:none;width:17.4997px;height:16.75px;margin:-.375px}@media (hover:hover) and (pointer:fine){.nav-slot[data-astro-cid-l7arcky5]:hover{color:var(--ink)}}@media (prefers-reduced-motion:no-preference){.nav-slot[data-astro-cid-l7arcky5]{transition:color var(--d-hover) var(--ease-hover)}}@media (width<=560px){.navbar[data-astro-cid-l7arcky5]{padding-inline:var(--s-1)}.nav-brand[data-astro-cid-l7arcky5]{margin-left:0}.nav-cta[data-astro-cid-l7arcky5],html[data-project-details] .nav-cta[data-astro-cid-l7arcky5]{margin-right:0}.nav-back[data-astro-cid-l7arcky5]{margin-left:0}.nav-brand-label[data-astro-cid-l7arcky5],.nav-cta-label[data-astro-cid-l7arcky5]{display:none}.nav-cta[data-astro-cid-l7arcky5]{padding-inline:10px}}.cursor[data-astro-cid-qmueewfo]{--knock:var(--bg);width:32px;height:32px;color:var(--ink);pointer-events:none;z-index:100;opacity:0;position:fixed;top:0;left:0}.cursor[data-astro-cid-qmueewfo]>span[data-astro-cid-qmueewfo]{border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.ring[data-astro-cid-qmueewfo]{border:1px solid;width:16px;height:16px}.dot[data-astro-cid-qmueewfo]{background:currentColor;width:20px;height:20px;scale:.5}.glyph[data-astro-cid-qmueewfo]{background:var(--knock);opacity:0;width:32px;height:32px;-webkit-mask:var(--glyph) center / contain no-repeat;mask:var(--glyph) center / contain no-repeat;scale:.5}.cursor[data-astro-cid-qmueewfo][data-state] .ring[data-astro-cid-qmueewfo]{width:32px;height:32px}.cursor[data-astro-cid-qmueewfo][data-state] .dot[data-astro-cid-qmueewfo]{scale:1}.cursor[data-astro-cid-qmueewfo][data-state] .glyph[data-astro-cid-qmueewfo]{opacity:1;scale:1}.cursor[data-astro-cid-qmueewfo][data-invert]{color:var(--bg);--knock:var(--ink)}.cursor[data-astro-cid-qmueewfo],.cursor[data-astro-cid-qmueewfo][data-glyph=open]{--glyph:url(/icons/cursor-open.svg)}.cursor[data-astro-cid-qmueewfo][data-glyph=pending]{--glyph:url(/icons/cursor-pending.svg)}.cursor[data-astro-cid-qmueewfo]{transition:color var(--d-hover) var(--ease-hover)}.cursor[data-astro-cid-qmueewfo]>span[data-astro-cid-qmueewfo]{transition-property:width,height,scale,opacity,background-color,border-color;transition-duration:var(--d-enter);transition-timing-function:var(--ease-enter)}@media (hover:none),(pointer:coarse){.cursor[data-astro-cid-qmueewfo]{display:none}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html[data-cursor-ready] body,html[data-cursor-ready] a,html[data-cursor-ready] button{cursor:none!important}}@media (prefers-reduced-motion:reduce){.cursor[data-astro-cid-qmueewfo]{display:none}body,a,button{cursor:auto}}main[data-astro-cid-hkbrpulz]{overflow-x:clip}.toast[data-astro-cid-hkbrpulz]{left:50%;bottom:max(var(--dock-offset), env(safe-area-inset-bottom));z-index:20;padding:6px var(--s-2);color:var(--ink);background:var(--bg);border:1px solid var(--rule-soft);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;margin:0;font-size:12px;font-weight:500;position:fixed;translate:-50%}.toast[data-astro-cid-hkbrpulz][data-shown]{opacity:1;visibility:visible}@media (prefers-reduced-motion:no-preference){.toast[data-astro-cid-hkbrpulz]{transition:opacity var(--d-enter) var(--ease-enter), visibility var(--d-enter)}}
