@font-face{font-family:Satoshi;src:url(/fonts/satoshi-variable.woff2)format("woff2");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-variable-italic.woff2)format("woff2");font-weight:300 900;font-style:italic;font-display:swap}@property --surface{syntax:"<color>";inherits:true;initial-value:#f0f0ee}@property --on-surface{syntax:"<color>";inherits:true;initial-value:#111}:root{--neutral-light:#f0f0ee;--neutral-dark:#111;--grid-overlay:#2f6bff;--surface:var(--neutral-light);--on-surface:var(--neutral-dark);--on-surface-fading:color-mix(in srgb, var(--on-surface) 42%, transparent);--outline-variant:color-mix(in srgb, var(--on-surface) 9%, transparent);--outline:color-mix(in srgb, var(--on-surface) 22%, transparent);--font:"Satoshi", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.25, 1, .5, 1);--t-fast:.3s var(--ease);--t:.5s var(--ease);--t-slow:.8s var(--ease);--cols:8;--margin:1rem;--gutter:1rem;--header-h:2.75rem}html[data-tone=dark]{--surface:var(--neutral-dark);--on-surface:var(--neutral-light)}html{font-size:1.11111vw}@media (width>=1920px){html{font-size:21.3333px}}@media (width<=1023px){html{font-size:min(4.10256vw,18px)}:root{--cols:4;--header-h:3.25rem}}*,:before,:after{box-sizing:border-box}html{background:var(--surface);color:var(--on-surface);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:--surface var(--t-slow), --on-surface var(--t-slow), background-color var(--t-slow), color var(--t-slow)}body{background:var(--surface);color:var(--on-surface);transition:background-color var(--t-slow), color var(--t-slow);margin:0;overflow-x:clip}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--on-surface);color:var(--surface)}:focus-visible{outline:1px solid var(--on-surface);outline-offset:.25rem}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);padding-inline:var(--margin);display:grid}.h1{letter-spacing:-.05em;font-size:14.625rem;font-weight:400;line-height:100%}.h2{letter-spacing:-.05em;font-size:6.125rem;font-weight:400;line-height:100%}.h3{letter-spacing:-.03em;font-size:3.125rem;font-weight:400;line-height:100%}.h4{letter-spacing:-.03em;font-size:2.0625rem;font-weight:400;line-height:108%}.h5,.t-body{letter-spacing:-.02em;font-size:1rem;line-height:128%}.h5{font-weight:700}.t-body{font-weight:400}.t-label{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:450;line-height:120%}.t-caption{letter-spacing:-.02em;font-size:.625rem;font-weight:400;line-height:116%}.t-micro{letter-spacing:0;font-size:.5rem;font-weight:500;line-height:119%}@media (width<=1023px){.h1{font-size:7.875rem}.h2{font-size:4rem}.h3,.h4{font-size:1.75rem;line-height:116%}.t-body{font-size:1.0625rem}.t-label{font-size:.875rem;line-height:115%}.t-caption{font-size:.75rem}.t-micro{font-size:.625rem}}.t-wordmark{letter-spacing:-.05em;white-space:nowrap;font-weight:300;line-height:87%}.fit-inner{padding-inline-end:.1em;display:inline-block}@media (width<=1023px){[data-fit=desktop]{white-space:normal;text-wrap:balance;font-size:4rem;font-weight:400;line-height:100%}[data-fit=desktop] .fit-inner{padding-inline-end:0;display:inline}}html.reveal-wait [data-reveal],html.reveal-wait main [data-lines]{visibility:hidden}[data-reveal]{margin-block-end:-.25em;padding-block-end:.25em;overflow:visible clip}.t-2{color:inherit}h1,h2,h3,h4,p{margin:0}code{font-family:var(--font-mono);letter-spacing:0;font-size:.9em}.blk{padding-block:8rem}.blk--flush{padding-block:0}.ruled{border-top:1px solid var(--outline);padding-top:.75rem}.row{border-top:1px solid var(--outline);align-items:center}.caption{margin-top:.75rem}@media (width<=1023px){.blk{padding-block:5rem}}.wl{display:inline-grid}.wl>span{grid-area:1/1}.wl>span:last-child{color:#0000;text-underline-offset:.22em;clip-path:inset(-50% 0);transition:clip-path var(--t-slow);text-decoration:underline 1px;text-decoration-color:var(--on-surface)}@media (hover:hover){.wl:hover>span:last-child{clip-path:inset(-50% 100% -50% 0)}}@media (prefers-reduced-motion:reduce){html,.wl>span:last-child{transition:none}}@view-transition{navigation:auto}:root{--vt-ease:cubic-bezier(.76, 0, .24, 1);--vt-time:.9s}::view-transition-group(root){animation-duration:var(--vt-time)}::view-transition-old(root){animation:vt-drift-up var(--vt-time) var(--vt-ease) both}::view-transition-new(root){animation:vt-wipe-up var(--vt-time) var(--vt-ease) both}html:active-view-transition-type(back)::view-transition-old(root){animation-name:vt-drift-down}html:active-view-transition-type(back)::view-transition-new(root){animation-name:vt-wipe-down}@keyframes vt-drift-up{to{opacity:.5;transform:translateY(-14vh)}}@keyframes vt-drift-down{to{opacity:.5;transform:translateY(14vh)}}@keyframes vt-wipe-up{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes vt-wipe-down{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.overlay[data-astro-cid-kxjcngru]{z-index:30;pointer-events:none;--hairline:transparent;display:none;position:fixed;inset:0}html.show-grid .overlay[data-astro-cid-kxjcngru]{display:grid}.col[data-astro-cid-kxjcngru]{border-left:1px solid var(--hairline);transition:background-color var(--t), border-color var(--t)}.col[data-astro-cid-kxjcngru]:last-child{border-right:1px solid var(--hairline)}@media (width<=1023px){.col[data-astro-cid-kxjcngru]:nth-child(n+5){display:none}.col[data-astro-cid-kxjcngru]:nth-child(4){border-right:1px solid var(--hairline)}}html.show-grid .col[data-astro-cid-kxjcngru]{background:color-mix(in srgb, var(--grid-overlay) 7%, transparent);border-color:color-mix(in srgb, var(--grid-overlay) 35%, transparent)}.spec[data-astro-cid-kxjcngru]{right:var(--margin);z-index:31;background:var(--grid-overlay);color:#fff;pointer-events:none;padding:.375rem .5rem;display:none;position:fixed;bottom:.875rem}html.show-grid .spec[data-astro-cid-kxjcngru]{display:block}.mob[data-astro-cid-kxjcngru]{display:none}@media (width<=1023px){.desk[data-astro-cid-kxjcngru]{display:none}.mob[data-astro-cid-kxjcngru]{display:inline}}.header[data-astro-cid-nen7h5rs]{z-index:20;height:var(--header-h);color:#fff;mix-blend-mode:difference;align-items:start;padding-top:.875rem;position:fixed;top:0;left:0;right:0}.mark[data-astro-cid-nen7h5rs]{grid-area:1/1;justify-self:start;margin-top:-.375rem}.star[data-astro-cid-nen7h5rs]{will-change:transform;height:1.625rem;line-height:0;display:block}.star[data-astro-cid-nen7h5rs] svg{width:auto;height:100%}.nav-set[data-astro-cid-nen7h5rs]{display:contents}.nav[data-astro-cid-nen7h5rs]{grid-column:var(--col);transition:opacity var(--t), transform var(--t);transition-delay:calc(var(--i) * 30ms);grid-row:1;justify-self:start;position:relative}.nav[data-astro-cid-nen7h5rs] .wl>span:last-child{text-decoration-color:#fff}.header[data-astro-cid-nen7h5rs] :focus-visible{outline-color:currentColor}html.case-nav .nav[data-astro-cid-nen7h5rs]{opacity:0;pointer-events:none;transition-delay:0s;transform:translateY(-.75rem)}@media (width<=1023px){.star[data-astro-cid-nen7h5rs]{height:1.5rem}.nav-set[data-astro-cid-nen7h5rs]{grid-area:1/2/auto/-1;justify-content:space-between;display:flex}.nav[data-astro-cid-nen7h5rs]{font-size:14px}.nav[data-astro-cid-nen7h5rs][href="/#process"],.nav[data-astro-cid-nen7h5rs][href=\/patterns]{display:none}}.pointer[data-astro-cid-qmueewfo]{z-index:40;pointer-events:none;mix-blend-mode:difference;opacity:0;transition:opacity var(--t-fast);position:fixed;top:-1.25rem;left:-1.25rem}.pointer[data-astro-cid-qmueewfo].is-on{opacity:1}.pointer-dot[data-astro-cid-qmueewfo]{transform-origin:50%;transition:transform .4s var(--ease);will-change:transform;transform:scale(.15)}.pointer[data-astro-cid-qmueewfo].is-big .pointer-dot[data-astro-cid-qmueewfo]{transform:scale(1)}.pointer-disc[data-astro-cid-qmueewfo]{background:var(--neutral-light);border-radius:50%;width:2.5rem;height:2.5rem}@media (width>=1024px) and (hover:hover) and (pointer:fine){*,:before,:after{cursor:none!important}}@media (width<=1023px),(hover:none),(pointer:coarse){.pointer[data-astro-cid-qmueewfo]{display:none}}
