@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1wwzpfhzaj2r0.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.2rlzm4mj5kw8e.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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_32e85b52-module__B21v4q__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:normal;font-weight:400}.instrument_serif_32e85b52-module__B21v4q__variable{--font-serif:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_d633ac5f-module__BboVrW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_d633ac5f-module__BboVrW__variable{--font-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_768fb615-module__nw7kYW__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_768fb615-module__nw7kYW__variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
:root{--ink:#ecebef;--ink-2:#a09ea9;--ink-3:#77757f;--rule-color:#ecebef1f;--paper:#0a0a0b;--serif:var(--font-serif), "Iowan Old Style", Georgia, serif;--sans:var(--font-sans), ui-sans-serif, system-ui, sans-serif;--mono:var(--font-mono), ui-monospace, monospace;--t-2xs:.6875rem;--t-xs:.75rem;--t-sm:.875rem;--t-base:1rem;--t-md:clamp(1.75rem, 3vw, 2.25rem);--t-lg:clamp(2.25rem, 4.5vw, 3.25rem);--measure:72rem;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);font-family:var(--sans);font-size:var(--t-base);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";z-index:-1;pointer-events:none;opacity:.12;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:4px;outline:1px solid}h1,h2,h3,p,ul,ol,dl,dd{margin:0;padding:0}ul,ol{list-style:none}p{color:var(--ink-2);line-height:1.65}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:20;background:var(--ink);color:var(--paper);font-size:var(--t-sm);border-radius:2px;padding:.6rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip:focus-visible{transform:none}.page{padding:0 1.5rem;overflow-x:clip}.page>*{z-index:1;max-width:var(--measure);margin-inline:auto;position:relative}.nav,.eyebrow,.links span,.meta,.cue,.foot{font-size:var(--t-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:500}.num,.when{font-family:var(--mono);font-size:var(--t-xs);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--ink-3)}.nav a,.links a,.meta a,.foot a,.jobs h3 a,.contact a,.lost a{position:relative}.nav a:after,.links a:after,.meta a:after,.foot a:after,.jobs h3 a:after,.contact a:after,.lost a:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.nav a:hover:after,.links a:hover:after,.meta a:hover:after,.foot a:hover:after,.jobs h3 a:hover:after,.contact a:hover:after,.lost a:hover:after{transform:scaleX(1)}.nav{z-index:10;color:#fff;mix-blend-mode:difference;justify-content:space-between;gap:1.5rem;padding:1.5rem;display:flex;position:fixed;top:0;left:0;right:0}.nav ul{gap:1.75rem;display:flex}.progress{z-index:11;mix-blend-mode:difference;transform-origin:0;background:#fff;height:1px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.page>.progress{max-width:none;margin:0}.hero{flex-direction:column;justify-content:flex-end;min-height:min(100svh,60rem);padding:7rem 0 3.5rem;display:flex}.eyebrow{color:var(--ink-3)}.hero h1{font-family:var(--serif);letter-spacing:-.035em;white-space:nowrap;margin:.5rem 0 0 -.04em;font-size:clamp(5rem,30vw,24rem);font-weight:400;line-height:1}.hero h1 em{color:var(--ink-3);font-style:normal}.line{padding-block:.04em;display:block;overflow:hidden}.char{transform-origin:0 100%;will-change:transform;display:inline-block}.mask{vertical-align:bottom;margin-bottom:-.14em;padding-bottom:.14em;display:inline-block;overflow:hidden}.mask>span{display:inline-block}.magnetic{max-width:100%;display:inline-block}.standfirst{max-width:30rem;margin-top:1.75rem;font-size:1.125rem;line-height:1.55}.links{flex-wrap:wrap;gap:1rem 2.75rem;margin-top:2.5rem;display:flex}.links span{color:var(--ink-3);margin-bottom:.3rem;display:block}.links a{font-size:var(--t-sm)}.cue{color:var(--ink-3);align-items:center;gap:.75rem;display:none;position:absolute;bottom:3.5rem;right:0}.cue:after{content:"";transform-origin:top;width:1px;height:2.5rem;animation:cue 2.4s var(--ease) infinite;background:currentColor}@keyframes cue{0%{transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.page section{transition:color .45s var(--ease);padding:4rem 0}.page section:after{content:"";background:var(--rule-color);height:1px;transform:scaleX(var(--rule,1));transform-origin:0;position:absolute;top:0;left:0;right:0}.label h2{font-family:var(--serif);font-size:var(--t-lg);letter-spacing:-.02em;margin-top:.75rem;font-weight:400;line-height:1.05}.label p{max-width:16rem;font-size:var(--t-sm);margin-top:.75rem}.page h3{font-family:var(--serif);font-size:var(--t-md);letter-spacing:-.015em;font-weight:400;line-height:1.1}.page section:before{content:"";z-index:-1;opacity:0;transition:opacity .45s var(--ease);background:#f4f2ee;position:absolute;inset:0 -50vw}@media (hover:hover){.page section:hover:before{opacity:1}.page section:hover{--ink:#0d0d10;--ink-2:#3f3d45;--ink-3:#6b6873;--rule-color:#0d0d1029;--paper:#f4f2ee;color:var(--ink)}}.statement{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);text-wrap:pretty;margin-top:2.5rem;font-size:clamp(1.75rem,4.2vw,3.25rem);line-height:1.16}.dim>li>*{transition:opacity .45s var(--ease)}@media (hover:hover){.dim:hover>li:not(:hover)>*{opacity:.32}}.projects,.jobs,.contact{margin-top:2.5rem}.projects>li{grid-template-columns:2.25rem 1fr;gap:0 1rem;padding:2rem 0;display:grid}.projects>li:first-child,.jobs>li:first-child{padding-top:0}.projects>li+li,.jobs>li+li{border-top:1px solid var(--rule-color)}.projects .num{padding-top:.7rem}.projects h3 i{font-family:var(--sans);color:var(--ink-3);opacity:0;transition:opacity .4s var(--ease), translate .4s var(--ease);font-size:.6em;font-style:normal;display:inline-block;translate:-.3em .3em}.projects h3 a:hover i,.projects h3 a:focus-visible i{opacity:1;translate:0}.projects p{max-width:40rem;margin-top:.7rem}.meta{letter-spacing:.14em;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin-top:1.1rem;display:flex}.meta span{background:var(--ink);color:var(--paper);transition:background .45s var(--ease), color .45s var(--ease);border-radius:2px;padding:.3em .62em}.jobs>li{padding:2rem 0}.row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 2rem;display:flex}.role{font-family:var(--sans);font-size:var(--t-sm);letter-spacing:-.011em;color:var(--ink-3);margin-top:.45rem;display:block}.jobs ul{max-width:40rem;margin-top:1rem}.jobs ul li{color:var(--ink-2);margin-top:.45rem;padding-left:1rem;line-height:1.62;position:relative}.jobs ul li:before{content:"";background:var(--ink-3);width:.4rem;height:1px;position:absolute;top:.8em;left:0}.contact,.lost h1{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(2rem,5.5vw,4rem);font-weight:400;line-height:1.1}.contact p{color:var(--ink-3);line-height:inherit}.contact a{overflow-wrap:anywhere}.page>.marquee{max-width:none;margin-inline:calc(50% - 50vw);padding:1rem 0 3.5rem;overflow:hidden}.marquee-track{width:max-content;font-family:var(--serif);letter-spacing:-.02em;white-space:nowrap;color:#0000;-webkit-text-stroke:1px var(--ink-3);will-change:transform;font-size:clamp(3.5rem,11vw,9rem);line-height:1.1;display:flex}.marquee-track i{margin-inline:.3em;font-style:normal}.foot{border-top:1px solid var(--rule-color);color:var(--ink-3);padding-top:2rem}.foot-row{flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;display:flex}.foot a{color:var(--ink)}.foot-name{font-family:var(--serif);letter-spacing:-.035em;text-transform:none;white-space:nowrap;color:var(--ink);margin:3rem 0 0 -.04em;font-size:clamp(5rem,30vw,24rem);font-weight:400;line-height:.82;overflow:hidden}.foot-name span{display:block}.foot-name em{color:var(--ink-3);font-style:normal}.lost{flex-direction:column;justify-content:center;align-items:flex-start;gap:1rem;min-height:100svh;display:flex}.lost a{font-size:var(--t-sm)}:root{--dz-font:var(--mono);--dz-title-font:var(--serif)}.docs-head{padding:9rem 0 4rem}.docs-head h1{font-family:var(--serif);letter-spacing:-.03em;margin-top:.75rem;font-size:clamp(3rem,10vw,7.5rem);font-weight:400;line-height:1}.docs-head .eyebrow a{color:inherit}.docs .foot{padding-bottom:2rem}.docs-stack{gap:1rem;min-width:0;display:grid}.docs section>*{min-width:0}.code{border:1px solid var(--rule-color);border-radius:4px;position:relative}.code pre{max-height:34rem;font-family:var(--mono);letter-spacing:0;color:var(--ink-2);tab-size:2;margin:0;padding:1.25rem 1.25rem 1.5rem;font-size:.8125rem;line-height:1.7;overflow:auto}.copy,.btn{font:inherit;font-size:var(--t-2xs);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:1px solid var(--rule-color);transition:background .3s var(--ease), color .3s var(--ease);border-radius:2px;font-weight:500}.copy{z-index:1;background:var(--paper);color:var(--ink-2);padding:.45em .8em;position:absolute;top:.6rem;right:.6rem}.btn{background:var(--ink);color:var(--paper);padding:.9em 1.4em}.copy:hover,.btn.ghost:hover{background:var(--ink);color:var(--paper)}.btn:hover,.btn.ghost{color:var(--ink);background:0 0}.stage{background:var(--paper);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.stage::backdrop{background:var(--paper)}.stage .nav{mix-blend-mode:normal;color:var(--ink);opacity:0;transition:opacity .8s .3s var(--ease);position:absolute}.stage .nav[data-show=true]{opacity:1}.stage-controls{z-index:5;opacity:0;pointer-events:none;transition:opacity .6s var(--ease);gap:.5rem;display:flex;position:absolute;bottom:.75rem;left:50%;translate:-50%}.stage-controls[data-show=true]{opacity:1;pointer-events:auto}.stage-controls .btn{white-space:nowrap;padding:.7em 1.1em}.demo-play>p{max-width:24rem;font-size:var(--t-sm);margin-top:1rem}.docs .statement,.docs .dz-list,.docs .demo-play{margin-top:2.5rem}@media (min-width:960px){.docs .statement,.docs .dz-list,.docs .demo-play{margin-top:0}}@media (prefers-reduced-motion:no-preference){html.js [data-reveal],html.js [data-mask]{visibility:hidden}}@media (max-width:639px){.nav .opt{display:none}}@media (min-width:768px){.page{padding-inline:3rem}.nav{padding:2rem 3rem}.cue{display:flex}}@media (min-width:960px){.page section{grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);gap:0 4rem;padding:6rem 0;display:grid}.label{align-self:start;position:sticky;top:6rem}.statement,.projects,.jobs,.contact{margin-top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{:root{--ink:#000;--ink-2:#333;--ink-3:#666;--rule-color:#0000002e;--paper:#fff}body:before,.dz-cut,.nav,.progress,.cue,.skip{display:none!important}.hero{min-height:0;padding-top:0}.marquee,.foot-name{display:none}.hero *,[data-reveal],[data-mask],.statement span{opacity:1!important;visibility:visible!important;transform:none!important}.links a[href^=http]:after,.meta a[href^=http]:after,.projects h3 a[href^=http]:after{content:" (" attr(href) ")";width:auto;height:auto;font-family:var(--sans);letter-spacing:0;text-transform:none;color:#666;background:0 0;font-size:.7rem;position:static;transform:none}.page section,.projects>li,.jobs>li{break-inside:avoid}}
