@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-20C4,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%}.ZJ15Cq_className{font-family:Geist,Geist Fallback;font-style:normal}.ZJ15Cq_variable{--font-geist-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-20C4,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%}.ZGwrmq_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.ZGwrmq_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.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:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.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;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-20C4,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%}.Mkp2uW_className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.Mkp2uW_variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12110f;--bg-2:#191815;--bg-3:#23211d;--fg:#ede8dc;--fg-2:#bfb8aa;--fg-3:#8f897d;--line:#ede8dc17;--line-2:#ede8dc2b;--accent:#ebb65e;--accent-2:#f6cf8d;--accent-soft:#ebb65e1c;--accent-line:#ebb65e99;--header-bg:#12110fcc;--l1:#5f4e31;--l2:#8b6e3f;--l3:#bb924e;--ok:#7fd394;--selection:#ebb65e4d;--grain-opacity:.045;--grain-blend:overlay;--shadow:0 1px 0 #ffffff08 inset, 0 18px 40px -24px #0009;--sans:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-geist-mono), ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--serif:var(--font-instrument-serif), "Iowan Old Style", "Palatino Linotype", Georgia, serif;--step--2:.75rem;--step--1:clamp(.8125rem, .786rem + .13vw, .9rem);--step-0:clamp(1rem, .964rem + .18vw, 1.125rem);--step-1:clamp(1.1875rem, 1.08rem + .54vw, 1.5rem);--step-2:clamp(1.375rem, 1.21rem + .82vw, 1.875rem);--step-3:clamp(1.75rem, 1.46rem + 1.43vw, 2.75rem);--step-4:clamp(2.25rem, 1.71rem + 2.68vw, 4.125rem);--step-5:clamp(2.5rem, 1.57rem + 4.64vw, 5.75rem);--step-display:clamp(4.25rem, 2.3rem + 9.75vw, 10.5rem);--container:44rem;--gutter:clamp(1rem, .43rem + 2.86vw, 3rem);--header-h:4rem;--section-space:clamp(1.5rem, 1.35rem + .75vw, 2rem);--radius:10px;--radius-sm:6px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1e9;--bg-2:#fbf9f4;--bg-3:#e9e4d8;--fg:#1b1915;--fg-2:#48443c;--fg-3:#67625a;--line:#1b19151a;--line-2:#1b191530;--accent:#8f5203;--accent-2:#6e3c00;--accent-soft:#8f520317;--accent-line:#8f52038c;--header-bg:#f4f1e9d1;--l1:#ceb898;--l2:#ba9869;--l3:#a57536;--ok:#1c7334;--selection:#8f520333;--grain-opacity:.06;--grain-blend:multiply;--shadow:0 1px 0 #ffffffb3 inset, 0 18px 40px -26px #3c2d1459}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);hanging-punctuation:first last}html:has(.site-header){scroll-padding-top:calc(var(--header-h) + 1.5rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);min-width:320px;min-height:100dvh;color:var(--fg);font-family:var(--sans);font-size:var(--step-0);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.62;overflow-x:clip}body:before{content:"";z-index:100;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:var(--grain-blend);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}strong,b{font-weight:500}code,kbd{font-family:var(--mono);font-size:.88em}::selection{background:var(--selection);color:var(--fg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nobr{white-space:nowrap}.skip-link{z-index:200;border-radius:var(--radius-sm);background:var(--fg);color:var(--bg);font-family:var(--mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;transition:transform .2s var(--ease-out);padding:.6rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.label{font-family:var(--mono);font-size:var(--step--2);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);font-weight:400;line-height:1.4}.link{color:var(--fg);transition:background-size .35s var(--ease-out), color .2s ease;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.link:hover{background-size:100% 1px}.link--accent{color:var(--accent)}.link--accent:hover{color:var(--accent-2)}.icon-arrow{vertical-align:.06em;opacity:.6;width:.62em;height:.62em;transition:transform .25s var(--ease-out), opacity .2s ease;margin-left:.22em;display:inline-block}a:hover>.icon-arrow,a:focus-visible>.icon-arrow{opacity:1;transform:translate(2px,-2px)}@media (hover:hover) and (pointer:fine){.focus-item :is(.thumb,.item__side,.post__date,.post__arrow){transition:opacity .35s var(--ease-out)}.focus-list:hover>.focus-item:not(:hover,:focus-within) :is(.thumb,.item__side,.post__date,.post__arrow){opacity:.3}.focus-list:hover>.focus-item:hover :is(.item__name,.post__title){color:var(--accent)}}.site-header{z-index:60;background:var(--header-bg);-webkit-backdrop-filter:saturate(150%)blur(14px);backdrop-filter:saturate(150%)blur(14px);border-bottom:1px solid #0000;transition:border-color .3s;position:sticky;top:0}.site-header[data-scrolled=true]{border-bottom-color:var(--line)}.site-header__inner{height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;display:flex}.wordmark{font-family:var(--serif);letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:.3em;padding-block:.35rem;font-size:1.5rem;line-height:1;display:inline-flex}.wordmark em{font-style:italic}.site-nav{align-items:center;gap:clamp(1.25rem,2.2vw,2.25rem);display:none}.site-nav a{color:var(--fg-3);padding-block:.4rem;transition:color .2s;position:relative}.site-nav a:hover,.site-nav a[aria-current=true]{color:var(--fg)}.site-nav a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav a[aria-current=true]:after{transform:scaleX(1)}.header-actions{align-items:center;gap:.25rem;display:flex}.icon-button{width:2.5rem;height:2.5rem;color:var(--fg-2);border-radius:999px;place-items:center;transition:background-color .2s,color .2s;display:inline-grid}.icon-button:hover{background:var(--bg-3);color:var(--fg)}.icon-button svg{width:1.125rem;height:1.125rem}.menu-button{border:1px solid var(--line-2);border-radius:999px;align-items:center;gap:.5rem;height:2.5rem;padding-inline:.85rem;display:inline-flex}.menu-button__bars{width:.875rem;height:.5rem;position:relative}.menu-button__bars:before,.menu-button__bars:after{content:"";height:1.5px;transition:transform .3s var(--ease-out), top .3s var(--ease-out);background:currentColor;border-radius:2px;position:absolute;left:0;right:0}.menu-button__bars:before{top:0}.menu-button__bars:after{top:calc(100% - 1.5px)}.menu-button[aria-expanded=true] .menu-button__bars:before{top:calc(50% - .75px);transform:rotate(45deg)}.menu-button[aria-expanded=true] .menu-button__bars:after{top:calc(50% - .75px);transform:rotate(-45deg)}.mobile-nav{max-height:calc(100dvh - var(--header-h));overscroll-behavior:contain;border-top:1px solid var(--line);padding-block:.5rem 1.25rem;overflow-y:auto}.mobile-nav[hidden]{display:none}.mobile-nav ul{display:grid}.mobile-nav a{border-bottom:1px solid var(--line);font-family:var(--serif);font-size:var(--step-2);padding-block:.75rem;line-height:1.1;display:block}@media (min-width:52rem){.site-nav{display:flex}.menu-button,.mobile-nav{display:none!important}}.hero{padding-block:clamp(1.25rem, .9rem + 1.8vw, 2.5rem) var(--section-space)}.accent-dot{color:var(--accent)}.hero__socials{margin:.6rem 0 0 -.5rem}.hero__lead{max-width:34rem;color:var(--fg-2);text-wrap:pretty;font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem);line-height:1.6}.hero__lead strong{color:var(--fg);font-weight:400}.socials{align-items:center;gap:.125rem;display:flex}.socials__link{width:2.25rem;height:2.25rem;color:var(--fg-3);border-radius:999px;place-items:center;transition:color .2s,background-color .2s;display:inline-grid}.socials__link:hover{background:var(--bg-3);color:var(--fg)}.socials__link svg{width:1.125rem;height:1.125rem}.terminal{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--bg-2);width:100%;box-shadow:var(--shadow);font-family:var(--mono);font-size:var(--step--1);align-items:center;gap:.75rem;margin-top:.6rem;padding:.3rem .3rem .3rem 1rem;display:flex}.terminal__prompt{color:var(--accent);-webkit-user-select:none;user-select:none}.terminal__cmd{white-space:nowrap;scrollbar-width:none;min-width:0;color:var(--fg);flex:1;font-size:1em;overflow-x:auto}.terminal__cmd::-webkit-scrollbar{display:none}.terminal__hint{color:var(--fg-3);white-space:nowrap;display:none}@media (min-width:64rem){.terminal__hint{display:inline}}@media (max-width:40rem){.terminal__cmd{white-space:normal;overflow-wrap:anywhere}}.copy-button{border-radius:calc(var(--radius) - 3px);height:2.25rem;color:var(--fg-3);font-family:var(--mono);font-size:var(--step--2);letter-spacing:.06em;flex-shrink:0;align-items:center;gap:.4rem;padding-inline:.7rem;transition:background-color .2s,color .2s;display:inline-flex}.copy-button:hover{background:var(--bg-3);color:var(--fg)}.copy{flex-shrink:0;display:inline-flex}.copy-button[data-state=copied]{color:var(--ok)}.copy-button[data-state=failed]{color:var(--fg-2)}.copy-button svg{width:.95rem;height:.95rem}@media (prefers-reduced-motion:no-preference){.rise{animation:rise .9s var(--ease-out) both;animation-delay:calc(var(--i,0) * 90ms + 60ms)}}@keyframes rise{0%{opacity:0;filter:blur(4px);transform:translateY(16px)}to{opacity:1;filter:none;transform:none}}@media (prefers-reduced-motion:no-preference){.hero__lead.rise{animation-name:rise-in-place}}@keyframes rise-in-place{0%{filter:blur(6px);transform:translateY(16px)}to{filter:none;transform:none}}.section__body{padding-block:var(--section-space)}.section__body>.more:last-child,.shelf>:last-child>.more:last-child{margin-bottom:-.75rem}.shelf>:last-child>.items:last-child>.item:last-child>.item__row{padding-bottom:0}.section__body>.writing__all:last-child{margin-bottom:-.6rem}:is(.hero,.section)+.section .section__body{position:relative}:is(.hero,.section)+.section .section__body:before{content:"";top:0;left:var(--gutter);right:var(--gutter);background:var(--line);height:1px;position:absolute}.section-head{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:clamp(.75rem,.6rem + .8vw,1.25rem);display:flex}.section-head__title{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(1.625rem,1.45rem + .9vw,2.125rem);font-weight:400;line-height:1}.section-head__title em{font-style:italic}.section-head__meta{margin-left:auto}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference) and (min-width:40rem){.reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 12rem}}}@keyframes reveal{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.job{border-top:1px solid var(--line);gap:.3rem;padding-block:1rem;display:grid}.job:last-child{padding-bottom:0}.more .jobs{margin-top:.75rem}.job__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.15rem 1rem;display:flex}.job__title{text-wrap:balance;font-family:var(--serif);font-size:clamp(1.125rem,1.05rem + .35vw,1.3125rem);font-weight:400;line-height:1.2}.job__at{color:var(--fg-3);font-style:italic}.job__when{font-family:var(--mono);font-size:var(--step--2);letter-spacing:.02em;white-space:nowrap;color:var(--fg-3)}.job__summary{font-size:var(--step--1);color:var(--fg-2);text-wrap:pretty;line-height:1.6}.job__summary strong{color:var(--fg)}@media (max-width:39.99rem){.job__head{flex-direction:column}}.tags{flex-wrap:wrap;gap:.45rem;margin-top:1.4rem;padding:0;list-style:none;display:flex}.tag{border:1px solid var(--line-2);border-radius:var(--radius-sm);font-family:var(--mono);font-size:var(--step--2);letter-spacing:.02em;color:var(--fg-2);white-space:nowrap;padding:.28rem .55rem;line-height:1.35}.outcomes{flex-wrap:wrap;gap:1rem clamp(1.5rem,1rem + 2vw,3rem);margin:0;display:flex}.outcome{gap:.25rem;max-width:15rem;display:grid}.outcome__value{font-family:var(--serif);font-size:var(--step-3);letter-spacing:-.02em;color:var(--accent);order:-1;line-height:1}.outcome__label{text-wrap:balance;font-size:var(--step--1);color:var(--fg-2);line-height:1.45}@media (max-width:34rem){.outcomes{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.25rem;width:100%;display:grid}.outcome__value{font-size:var(--step-2)}}.flows{gap:.75rem;display:grid}.flow{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);margin:0;padding:clamp(.85rem,.6rem + 1vw,1.25rem);container-type:inline-size}.flow__title{margin-bottom:.85rem}.flow__track{flex-wrap:wrap;align-items:center;gap:.6rem .5rem;margin:0;padding:0;list-style:none;display:flex}.flow__step{align-items:center;gap:.5rem;min-width:0;display:flex}.flow__node{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg);font-family:var(--mono);gap:.15rem;padding:.45rem .7rem;line-height:1.3;display:inline-grid}.flow__label{color:var(--fg);white-space:nowrap;font-size:.8125rem}.flow__sub{font-size:var(--step--2);color:var(--fg-3);white-space:nowrap}.flow__node--accent{border-color:var(--accent-line);background:var(--accent-soft)}.flow__node--accent .flow__label{color:var(--accent)}.flow__group{border:1px dashed var(--line-2);border-radius:calc(var(--radius-sm) + 3px);flex-wrap:wrap;gap:.35rem;max-width:100%;margin:0;padding:.35rem;list-style:none;display:flex}.flow__arrow{width:.9rem;height:.9rem;color:var(--fg-3);flex-shrink:0}.flow__node--accent .flow__sub{color:var(--fg-2)}.flow{--packet-step:.38s;--packet-cycle:calc(var(--steps,6) * var(--packet-step) + 1.6s)}@media (prefers-reduced-motion:no-preference){.flow[data-play=true] .flow__node{animation:packet var(--packet-cycle) ease-in-out 1 backwards;animation-delay:calc(var(--n,0) * var(--packet-step))}.flow[data-play=true] .flow__arrow{animation:packet-arrow var(--packet-cycle) ease-in-out 1 backwards;animation-delay:calc(var(--n,0) * var(--packet-step) - .2s)}.flows:is(:hover,:focus-within) .flow .flow__node{animation:packet-loop var(--packet-cycle) ease-in-out infinite;animation-delay:calc(var(--n,0) * var(--packet-step))}.flows:is(:hover,:focus-within) .flow .flow__arrow{animation:packet-arrow-loop var(--packet-cycle) ease-in-out infinite;animation-delay:calc(var(--n,0) * var(--packet-step) - .2s)}}@keyframes packet{0%,22%,to{box-shadow:0 0 #0000}7%{box-shadow:0 0 0 1px var(--accent), 0 0 0 5px var(--accent-soft)}}@keyframes packet-loop{0%,22%,to{box-shadow:0 0 #0000}7%{box-shadow:0 0 0 1px var(--accent), 0 0 0 5px var(--accent-soft)}}@keyframes packet-arrow{0%,22%,to{color:var(--fg-3)}7%{color:var(--accent)}}@keyframes packet-arrow-loop{0%,22%,to{color:var(--fg-3)}7%{color:var(--accent)}}@container (max-width:34rem){.flow__track,.flow__step{flex-direction:column;align-items:stretch;gap:0}.flow__arrow{align-self:flex-start;margin:.3rem 0 .3rem .85rem;transform:rotate(90deg)}.flow__node{width:100%;padding:.5rem .7rem;display:grid}.flow__group{gap:.35rem;display:grid}.flow__group>li{display:grid}.flow__label,.flow__sub{white-space:normal;overflow-wrap:anywhere}}.shelf{gap:clamp(1.75rem,1.5rem + 1vw,2.5rem);display:grid}.shelf__title{font-family:var(--serif);letter-spacing:-.01em;margin-bottom:.35rem;font-size:clamp(1.25rem,1.15rem + .45vw,1.5rem);font-style:italic;font-weight:400;line-height:1}.items{margin:0;padding:0;list-style:none}.item+.item{border-top:1px solid var(--line)}.item{position:relative}.item__anchor{color:inherit}.item__anchor:after,.post__title:after{content:"";position:absolute;inset:0}.item__anchor:focus-visible,.post__title:focus-visible{outline:none}:is(.item:has(.item__anchor:focus-visible),.post:has(.post__title:focus-visible)){outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.item__row{grid-template-columns:3.4rem minmax(0,1fr) auto;align-items:center;gap:.25rem 1.1rem;padding-block:.8rem;display:grid}.item__body{gap:.2rem;min-width:0;display:grid}.item__name{color:var(--fg);flex-wrap:wrap;align-items:baseline;gap:.4rem .6rem;font-size:.9375rem;font-weight:500;line-height:1.3;display:flex}.visit{z-index:1;color:var(--accent);font-family:var(--mono);font-size:var(--step--2);text-underline-offset:.25em;align-items:center;gap:.2rem;margin-block:-.35rem;padding-block:.35rem;font-weight:400;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;transition:text-decoration-color .2s;display:inline-flex;position:relative}.visit .icon-arrow{opacity:1;margin-left:0}.visit:hover{text-decoration-color:currentColor}.item__desc{color:var(--fg-3);text-wrap:pretty;font-size:.8125rem;line-height:1.5}.item__side{justify-self:end;align-items:center;gap:.75rem;display:flex}.item__meta{white-space:nowrap;color:var(--fg-3);font-size:.8125rem}.item__arrow{width:.7rem;height:.7rem;color:var(--fg-3);transition:transform .3s var(--ease-out), color .2s ease;align-self:center}.item:hover .item__arrow{color:var(--accent);transform:translate(3px,-3px)}.thumb{width:3rem;height:2.2rem;margin-left:.2rem;position:relative}.thumb:before,.thumb__card{border:1.5px solid var(--fg);background:var(--bg-3);transition:transform .4s var(--ease-out);border-radius:4px;position:absolute;inset:0}.thumb:before{content:"";opacity:.5;transform:rotate(-8deg)translate(-3px,1px)}.thumb__card{font-family:var(--serif);color:var(--accent);place-items:center;font-size:1.2rem;font-style:italic;line-height:1;display:grid;transform:rotate(3deg)}.thumb__card--brand{background:var(--brand);padding:.3rem;overflow:hidden}.thumb__card--brand img{object-fit:contain;width:100%;height:100%}.item:hover .thumb:before{transform:rotate(-15deg)translate(-8px,2px)}.item:hover .thumb__card{transform:rotate(7deg)translate(3px,-2px)}.thumb:has(.folder):before{content:none}.thumb:has(.folder){place-items:center;display:grid}.folder{--folder-tab:#e0a032;--folder-back:linear-gradient(var(--folder-tab), #c9861c);--folder-front:linear-gradient(#f6cb6b, #e8ad43);--paper:#2b2925;--paper-line:#ede8dc24;perspective:10em;width:1.4em;height:1.05em;font-size:1.5rem;display:block;position:relative}:root[data-theme=light] .folder{--folder-tab:#e8a93b;--folder-back:linear-gradient(var(--folder-tab), #d38f20);--paper:#fff;--paper-line:#1b19151f}.folder__back,.folder__front,.folder__paper{border-radius:.14em;position:absolute}.folder__back{background:var(--folder-back);inset:0}.folder__back:before{content:"";background:var(--folder-tab);border-radius:.1em .1em 0 0;width:.5em;height:.2em;position:absolute;top:-.12em;left:.08em}.folder__paper{background:linear-gradient(var(--paper-line), var(--paper-line)) .12em .16em / 55% 1px no-repeat, linear-gradient(var(--paper-line), var(--paper-line)) .12em .28em / 40% 1px no-repeat, var(--paper);transform-origin:bottom;width:74%;height:74%;transition:transform .45s var(--ease-out);top:-.08em;left:50%;overflow:hidden;transform:translate(-50%)rotate(-4deg);box-shadow:0 0 0 1px #0000001f,0 1px 2px #0003}.folder__paper+.folder__paper{transform:translate(-50%)rotate(3deg)}.folder__paper+.folder__paper+.folder__paper{transform:translate(-50%)rotate(-1deg)}.folder__paper img{object-fit:cover;object-position:left top;width:100%;height:100%}.folder__front{background:var(--folder-front);transform-origin:bottom;height:82%;transition:transform .45s var(--ease-out);inset:auto 0 0;box-shadow:0 -1px 2px #0000001f}.folder__front:before{content:"";background:#ffffff73;height:1px;position:absolute;top:.06em;left:.06em;right:.06em}:is(.item:hover,.project__cover:hover) .folder__front{transform:rotateX(-28deg)}:is(.item:hover,.project__cover:hover) .folder__paper{transform:translate(-62%,-22%)rotate(-10deg)}:is(.item:hover,.project__cover:hover) .folder__paper+.folder__paper{transform:translate(-38%,-26%)rotate(9deg)}:is(.item:hover,.project__cover:hover) .folder__paper+.folder__paper+.folder__paper{transform:translate(-50%,-32%)rotate(0)}.more{margin-top:.25rem}.more>summary{color:var(--fg-3);font-size:var(--step--1);cursor:pointer;align-items:center;gap:.4rem;padding-block:.6rem;list-style:none;transition:color .2s;display:inline-flex}.more>summary::-webkit-details-marker{display:none}.more>summary:hover{color:var(--fg)}.more__open,.more[open] .more__closed{display:none}.more[open] .more__open{display:inline}.more .items{border-top:1px solid var(--line)}@media (max-width:34rem){.item__row{grid-template-columns:3.4rem minmax(0,1fr)}.item__side{display:none}}.post{position:relative}.post+.post,.more .posts{border-top:1px solid var(--line)}.post__row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title arrow""date arrow";align-items:center;gap:.15rem 1rem;padding-block:.8rem;display:grid}.post__title{text-wrap:pretty;grid-area:title;font-size:.9375rem;font-weight:500;line-height:1.4;transition:color .2s}.post:hover .post__title{color:var(--accent)}.post__date{color:var(--fg-3);grid-area:date;font-size:.8125rem}.post__arrow{width:.7rem;height:.7rem;color:var(--fg-3);transition:transform .3s var(--ease-out), color .2s ease;grid-area:arrow;justify-self:end}.post:hover .post__arrow{color:var(--accent);transform:translate(3px,-3px)}.writing__all{font-size:var(--step--1);flex-wrap:wrap;gap:.25rem 1.5rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.writing__all a{padding-block:.35rem;display:inline-block}.contact__pitch{max-width:34rem;color:var(--fg-2);text-wrap:pretty;font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem);line-height:1.6}.contact__email-row{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.75rem;display:flex}.contact__email{font-family:var(--serif);letter-spacing:-.01em;overflow-wrap:anywhere;font-size:clamp(1.5rem,1.3rem + 1vw,2rem);line-height:1.15}.site-footer{padding-bottom:2rem}.site-footer__inner{padding-top:var(--section-space);background:linear-gradient(var(--line), var(--line)) 50% 0 / calc(100% - 2 * var(--gutter)) 1px no-repeat;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.site-footer__note{font-size:var(--step--1);color:var(--fg-3)}.site-footer__note .link{color:var(--fg-2)}.site-footer .socials{margin-block:-.5rem;margin-right:-.5rem}.project{width:100%;max-width:calc(44rem + 2 * var(--gutter));padding:clamp(1.25rem, .8rem + 2.5vw, 3.5rem) var(--gutter) clamp(3.5rem, 2.5rem + 4vw, 6rem);margin-inline:auto}.project__bar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(1.75rem,1.2rem + 2.5vw,3rem);display:flex}.project__back,.project__txt{color:var(--fg-2);align-items:center;gap:.45rem;padding-block:.5rem;transition:color .2s;display:inline-flex}.project__back:hover,.project__txt:hover{color:var(--fg)}.project__back svg,.project__txt svg{width:1rem;height:1rem}.project__back svg{transition:transform .3s var(--ease-out)}.project__back:hover svg{transform:translate(-3px)}.project__txt{font-family:var(--mono);font-size:var(--step--1)}.project__tools{align-items:center;gap:.5rem;display:flex}.project__cover{aspect-ratio:2.4;border:2px solid var(--fg);background-color:var(--bg-2);background-image:radial-gradient(var(--line-2) 1px, transparent 1.5px);box-shadow:var(--shadow);background-size:18px 18px;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.project__folder{font-size:clamp(4rem,3.2rem + 5vw,8rem)}.project__cover-org,.project__cover-year{letter-spacing:.12em;position:absolute;bottom:.85rem}.project__cover-org{max-width:70%;line-height:1.5;left:1rem}.project__cover-year{right:1rem}@media (max-width:40rem){.project__cover{aspect-ratio:auto;height:max(10rem, calc((100vw - 2 * var(--gutter)) / 2.4));padding-bottom:2rem}}.project__cover--brand{background-color:var(--brand);background-image:none;padding-bottom:0}.project__logo{width:auto;height:auto;max-width:min(50%, var(--logo-w,20rem));max-height:36%}.project__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1.5rem;margin-top:clamp(1.75rem,1.4rem + 1.5vw,2.5rem);display:flex}.project__title{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(2.125rem,1.75rem + 1.9vw,3.25rem);font-style:italic;font-weight:400;line-height:1}.project__org{color:var(--fg-3)}.project__tagline{font-family:var(--serif);font-size:var(--step-1);color:var(--fg-2);text-wrap:balance;margin-top:.75rem;line-height:1.35}.project__story{color:var(--fg-2);text-wrap:pretty;gap:1em;margin-top:1.5rem;font-size:clamp(.9375rem,.9rem + .2vw,1.0625rem);line-height:1.65;display:grid}.project__story strong{color:var(--fg)}.project__links{flex-wrap:wrap;gap:.25rem 1.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.cta{max-width:100%;color:var(--accent);overflow-wrap:anywhere;text-underline-offset:.25em;align-items:center;gap:.3rem;padding-block:.3rem;font-weight:500;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;transition:text-decoration-color .2s;display:inline-flex}.cta .icon-arrow{opacity:1;margin-left:0}.cta:hover{text-decoration-color:currentColor}.pills{flex-wrap:wrap;gap:.4rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.pill{border:1px solid var(--line-2);color:var(--fg-2);border-radius:999px;padding:.25rem .7rem;font-size:.8125rem}.gallery{margin-top:clamp(2.25rem,1.8rem + 2vw,3rem)}.gallery__track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:100%;grid-auto-flow:column;gap:1rem;margin:0;padding:0 0 .75rem;list-style:none;display:grid;position:relative;overflow-x:auto}.gallery__track::-webkit-scrollbar{display:none}.gallery__slide{scroll-snap-align:start;min-width:0}.shot{border:1px solid var(--line-2);background:var(--bg-2);cursor:zoom-in;border-radius:10px;width:100%;display:block;overflow:hidden}.shot:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.shot__bar{border-bottom:1px solid var(--line);gap:.35rem;padding:.5rem .7rem;display:flex}.shot__bar span{background:var(--line-2);border-radius:50%;width:.45rem;height:.45rem}.shot__img{width:100%;height:auto;display:block}.gallery__dots{justify-content:center;margin-top:.15rem;display:flex}.gallery__dot{place-items:center;width:1.5rem;height:1.5rem;display:grid}.gallery__dot:before{content:"";background:var(--line-2);width:.4rem;height:.4rem;transition:width .3s var(--ease-out), background-color .2s ease;border-radius:999px}.gallery__dot:hover:before{background:var(--fg-3)}.gallery__dot[aria-current=true]:before{background:var(--fg-2);width:1rem}.lightbox{border:1px solid var(--line-2);background:var(--bg-2);border-radius:10px;width:min(96vw,110rem);max-width:none;max-height:94dvh;padding:0;overflow:hidden}.lightbox::backdrop{background:#000000d1}.lightbox form{margin:0}.lightbox__img{object-fit:contain;width:100%;height:auto;max-height:94dvh;display:block}.lightbox__close{color:#fff;background:#0009;position:absolute;top:.5rem;right:.5rem}.lightbox__close:hover{color:#fff;background:#000c}.project__outcomes{border-top:1px solid var(--line);margin-top:clamp(2.25rem,1.8rem + 2vw,3rem);padding-top:1.25rem}.project__flows{gap:.85rem;margin-top:clamp(2.25rem,1.8rem + 2vw,3rem);display:grid}@media (min-width:72rem){.project__flows{margin-inline:-9rem}}.pager{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(3rem,2rem + 4vw,5rem);padding-top:1.5rem;display:grid}.pager__link{align-content:start;gap:.4rem;padding-block:.25rem;display:grid}.pager__link .label{align-items:center;gap:.4rem;display:inline-flex}.pager__link .label svg{width:.8rem;height:.8rem}.pager__link--next{text-align:right;justify-items:end}.pager__name{font-family:var(--serif);font-size:var(--step-2);line-height:1.15;transition:color .2s}.pager__link:hover .pager__name{color:var(--accent)}.not-found{min-height:calc(100dvh - var(--header-h) - 10rem);align-content:center;padding-block:4rem;display:grid}.display{font-family:var(--serif);font-size:var(--step-5);letter-spacing:-.035em;margin-top:1rem;font-weight:400;line-height:.9}.display>span{display:block}.display em{font-style:italic}.not-found p .link{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.not-found p{max-width:30rem;font-size:var(--step-1);color:var(--fg-2);margin-top:1.75rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{:root,:root[data-theme=light]{--bg:#fff;--bg-2:#fff;--bg-3:#eee;--fg:#000;--fg-2:#222;--fg-3:#555;--line:#ddd;--line-2:#ccc;--accent:#000}body:before,.site-header,.terminal,.copy,.project__tools,.skip-link{display:none!important}.section{break-inside:avoid-page;padding-block:1.5rem}a[href^=http]:after{content:" (" attr(href) ")";color:#555;font-size:.8em}}
