.contact[data-astro-cid-he3spzz3]{border:1px solid var(--line);background:var(--bg);width:min(420px,100vw - 32px);color:var(--text);opacity:0;transition:opacity .12s ease-out, transform .12s ease-out, overlay .5s allow-discrete, display .5s allow-discrete;border-bottom-width:2px;border-radius:16px;margin:auto;padding:24px 24px 12px;transform:translateY(10px);box-shadow:0 25px 50px -12px #00000040}.contact[data-astro-cid-he3spzz3]:popover-open{opacity:1;transform:none}@starting-style{.contact[data-astro-cid-he3spzz3]:popover-open{opacity:0;transform:translateY(10px)}}.contact[data-astro-cid-he3spzz3]::backdrop{backdrop-filter:blur(4px);transition:background-color .5s ease-out, overlay .5s allow-discrete, display .5s allow-discrete;background-color:#0000}.contact[data-astro-cid-he3spzz3]:popover-open::backdrop{background-color:#0009}@starting-style{.contact[data-astro-cid-he3spzz3]:popover-open::backdrop{background-color:#0000}}.contact-head[data-astro-cid-he3spzz3]{justify-content:space-between;align-items:center;display:flex}.contact-head[data-astro-cid-he3spzz3] h2[data-astro-cid-he3spzz3]{font-size:1.625rem}.contact-lede[data-astro-cid-he3spzz3]{color:var(--muted);margin-top:.25rem;font-size:.9375rem}ul[data-astro-cid-he3spzz3]{margin-top:16px}li[data-astro-cid-he3spzz3]+li[data-astro-cid-he3spzz3]{border-top:1px solid var(--line)}li[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:14px;padding-block:14px;text-decoration:none;display:grid}.channel-icon[data-astro-cid-he3spzz3]{color:var(--text-2);font-size:20px}.channel[data-astro-cid-he3spzz3]{min-width:0;display:grid}.channel-label[data-astro-cid-he3spzz3]{font-weight:600}.channel-handle[data-astro-cid-he3spzz3]{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.875rem;overflow:hidden}.arrow[data-astro-cid-he3spzz3]{color:var(--muted);transition:transform .2s,color .2s}li[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]:hover .arrow[data-astro-cid-he3spzz3]{color:var(--text);transform:translate(2px,-2px)}:root{--bg:#faf9f5;--surface:#f0eee6;--surface-2:#e8e6dc;--text:#141413;--text-2:#3d3d3a;--muted:#5e5d59;--line:#e8e6dc;--line-strong:#d1cfc5;--ink:#141413;--clay:#d97757;--tile-mix:100%;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141413;--surface:#1f1e1d;--surface-2:#30302e;--text:#faf9f5;--text-2:#c2c0b6;--muted:#9c9a92;--line:#30302e;--line-strong:#4d4c48;--ink:#faf9f5;color-scheme:dark}}:root[data-theme=dark]{--bg:#141413;--surface:#1f1e1d;--surface-2:#30302e;--text:#faf9f5;--text-2:#c2c0b6;--muted:#9c9a92;--line:#30302e;--line-strong:#4d4c48;--ink:#faf9f5;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;interpolate-size:allow-keywords}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:17px;line-height:1.6;transition:background-color .25s,color .25s;display:flex}main{flex:1}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:500;line-height:1.15}a{color:inherit;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px;transition:text-decoration-color .2s,color .2s}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:4px}ul,ol{margin:0;padding:0;list-style:none}.defs{width:0;height:0;position:absolute;overflow:hidden}.container{width:100%;max-width:1180px;margin-inline:auto;padding-inline:24px}.icon{flex-shrink:0;width:1em;height:1em}.muted{color:var(--muted)}.small{font-size:.875rem}.date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.button{border:1px solid var(--line-strong);white-space:nowrap;height:42px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:0 18px;font-family:inherit;font-size:.9375rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .2s,border-color .2s,transform .1s;display:inline-flex}.button:hover{border-color:var(--muted)}.button:active{transform:scale(.98)}.button-primary{background:var(--text);border-color:var(--text);color:var(--bg)}.button-primary:hover{border-color:var(--text);background:color-mix(in srgb, var(--text) 86%, var(--bg))}.logo{flex-shrink:0;width:auto;height:.8em;display:block}.site-header{border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:1rem;height:72px;display:flex}.wordmark{font-family:var(--font-serif);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.6rem;font-size:1.375rem;font-weight:500;text-decoration:none;display:inline-flex}.site-header nav{align-items:center;gap:.75rem;display:flex}.site-header .button{height:38px;padding:0 14px}.icon-link{width:34px;height:34px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;font-size:20px;text-decoration:none;transition:color .2s,transform .1s;display:grid}.icon-link:hover{color:var(--text)}.icon-link:active{transform:scale(.96)}.theme-toggle .moon,:root[data-theme=dark] .theme-toggle .sun{display:none}:root[data-theme=dark] .theme-toggle .moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .theme-toggle .sun{display:none}:root:not([data-theme]) .theme-toggle .moon{display:block}}.site-footer{border-top:1px solid var(--line);margin-top:96px}.footer-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding-block:32px;display:flex}.site-footer .wordmark{opacity:.75;transition:opacity .2s}.site-footer .wordmark:hover{opacity:1}.socials{justify-content:flex-end;gap:12px;display:flex}.socials .icon-link{color:var(--muted);font-size:20px}.socials .icon-link:hover{color:var(--text)}.section{border-top:1px solid var(--line);padding-block:64px}.section-grid{grid-template-columns:220px minmax(0,1fr);gap:48px;display:grid}.label{font-family:var(--font-sans);letter-spacing:0;font-size:1.0625rem;font-weight:600;line-height:1.6}.tile{aspect-ratio:4/3;background:color-mix(in srgb, var(--tone,var(--surface)) var(--tile-mix), var(--surface));border-radius:16px;place-items:center;display:grid;overflow:hidden}.tile[style*=--tone]{--ink:#141413}.tile .sketch{width:56%;max-height:78%}.tile-square{aspect-ratio:1}.sketch{width:100%;height:auto;display:block;overflow:visible}.sketch .s{fill:none;stroke:var(--ink);stroke-width:var(--stroke,7);stroke-linecap:round;stroke-linejoin:round}.sketch .f{fill:var(--clay)}.motion .sketch .s{stroke-dasharray:1 2;stroke-dashoffset:1px;opacity:0}.motion .sketch .f{opacity:0;transform-box:fill-box;transform-origin:50%;transform:scale(.85)}.motion .sketch.drawn .s{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset .9s cubic-bezier(.65, 0, .35, 1) var(--delay), opacity 0s linear var(--delay)}.motion .sketch.drawn .f{opacity:1;transition:opacity .35s ease var(--fill-delay), transform .6s cubic-bezier(.34, 1.56, .64, 1) var(--fill-delay);transform:none}.hero-art{display:grid}.art-item{opacity:0;grid-area:1/1;transition:opacity .45s}.art-item.is-active{opacity:1}.portrait .backing{fill:#faf9f5}.portrait .clay{fill:#526083}.portrait .ink{fill:#141413}.portrait .scribble{fill:none;stroke:#fff;stroke-width:420px;stroke-linecap:round;stroke-linejoin:round}.motion .portrait .scribble{stroke-dasharray:1 2;stroke-dashoffset:1px}.motion .portrait .backing{opacity:0}.motion .portrait.drawn .scribble{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.45, 0, .25, 1) var(--delay)}.motion .portrait.drawn .backing{opacity:1;transition:opacity .6s}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise,20px))}}@keyframes fade{0%{opacity:0}}.motion [data-enter]{animation:rise .9s cubic-bezier(.22, 1, .36, 1) var(--d,.25s) both}.motion .words .w{animation:fade .8s ease calc(.3s + var(--i) * 70ms) both;display:inline-block}.motion [data-reveal]{opacity:0;transition:opacity .9s cubic-bezier(.22, 1, .36, 1) var(--d,0s), transform .9s cubic-bezier(.22, 1, .36, 1) var(--d,0s);transform:translateY(20px)}.motion [data-reveal].in{opacity:1;transform:none}.motion .logo-image{clip-path:inset(0 100% 0 0);opacity:.4;transform:scale(.94)}.motion .logo-image.drawn{clip-path:inset(0);opacity:1;transition:clip-path 1.1s cubic-bezier(.65,0,.35,1) .45s,opacity .8s .45s,transform .6s cubic-bezier(.34,1.56,.64,1) 1.35s;transform:none}.brand-logo{--stroke:.6}.brand-logo .f{fill:var(--ink)}.motion .brand-logo.drawn .s{transition:stroke-dashoffset 1.1s cubic-bezier(.65, 0, .35, 1) var(--delay), opacity 0s linear var(--delay)}.prose{color:var(--text-2);font-size:1.1875rem;line-height:1.7}.prose>*+*{margin-top:1.25em}.prose h2{color:var(--text);margin-top:2.25em;font-size:1.875rem;font-weight:400}.prose h3{color:var(--text);margin-top:2em;font-size:1.375rem}.prose strong{color:var(--text);font-weight:600}.prose a{color:var(--text)}.sweep,.prose a{background-image:linear-gradient(currentColor, currentColor), linear-gradient(var(--line-strong), var(--line-strong));-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:0% 1px,100% 1px;padding-bottom:.08em;text-decoration:none;transition:background-size .4s cubic-bezier(.22,1,.36,1)}.prose a{background-image:linear-gradient(currentColor, currentColor), linear-gradient(var(--clay), var(--clay))}.sweep:hover,.prose a:hover{background-size:100% 1px,100% 1px}.prose ul,.prose ol{padding-left:1.25em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--muted)}.prose blockquote{border-left:2px solid var(--clay);font-family:var(--font-serif);color:var(--text);margin-left:0;padding-left:1.25rem;font-size:1.5rem;font-style:italic;line-height:1.4}.prose code{font-family:var(--font-mono);background:var(--surface);border-radius:4px;padding:.15em .35em;font-size:.85em}.prose pre{tab-size:2;border:1px solid var(--line);border-radius:8px;padding:1rem 1.25rem;font-size:.9rem;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{border-radius:8px;max-width:100%;height:auto}.prose hr{background:var(--line);border:0;height:1px}.prose .diagram{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:2.25em 0;padding:24px 16px 16px;overflow-x:auto}.prose .diagram svg{--stroke:2.5;width:100%;min-width:560px;height:auto}.prose .diagram text{font-family:var(--font-sans);fill:var(--text-2);font-size:14px}.prose .diagram text.strong{fill:var(--text);font-size:16px;font-weight:600}.prose .diagram figcaption{text-align:center;color:var(--muted);margin-top:12px;font-size:.875rem}.astro-code,.astro-code span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}}@media (width<=767px){.section{padding-block:48px}.section-grid{grid-template-columns:minmax(0,1fr);gap:20px}}@media (width<=639px){.container{padding-inline:16px}.hide-sm{display:none}.site-header nav{gap:1rem}.footer-inner{padding-block:24px calc(24px + env(safe-area-inset-bottom));gap:.75rem}.site-footer .wordmark{font-size:1.375rem}.footer-name{display:none}.socials{gap:4px}.socials .icon-link{width:36px;height:36px;font-size:20px}}@media (width<=399px){.site-header .wordmark{gap:.5rem;font-size:1.1875rem}.site-header nav{gap:.375rem}.site-header .button{padding:0 12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
