@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit Fallback;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_97ec74{font-family:Outfit,Outfit Fallback;font-style:normal}.__variable_97ec74{--font-outfit:"Outfit","Outfit Fallback"}@layer reset, base, theme, components, utilities;@layer reset{:where(html,body,div,main,header,footer,nav,h1,h2,p,ul,li,a,button,span,img,svg,canvas){box-sizing:border-box;margin:0;padding:0}:where(ul){list-style:none}:where(a){color:inherit;text-decoration:none}:where(button){font:inherit;color:inherit;background:transparent;border:none;cursor:pointer}}@layer theme{:root{interpolate-size:allow-keywords;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-brand:var(--font-outfit),var(--font-sans);--font-code:ui-monospace,"SF Mono",Menlo,Monaco,Consolas,monospace;--color-ink:#242424;--color-ink-strong:#171717;--color-ink-light:#686868;--color-canvas:#fcfdfe;--color-surface-alt:#f3f3f3;--color-border-faint:#e8e8e8;--radius-item:0.5rem;--radius-panel:1.25rem;--shadow-floating:0 12px 32px rgb(0 0 0/0.08),0 2px 6px rgb(0 0 0/0.04)}}@layer base{body,html{min-block-size:100dvh;background-color:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);line-height:1.5;text-align:start;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}:where(a:-webkit-any-link,button,[tabindex="0"]):focus-visible{outline:2.5px solid CanvasText;outline-offset:4px;border-radius:.375rem}:where(a:any-link,button,[tabindex="0"]):focus-visible{outline:2.5px solid CanvasText;outline-offset:4px;border-radius:.375rem}[inert],[inert] :where(div,ul,li,span,img){opacity:.5;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}[interestfor]{--interest-delay-start:0.14s;interest-delay-start:var(--interest-delay-start);--interest-delay-end:0.14s;interest-delay-end:var(--interest-delay-end)}:root:has(:is(:interest-source,.interest-source)) [interestfor]{--interest-delay-start:0s;interest-delay-start:0s}nextjs-portal{display:none!important}}@layer components{.page-shell{position:relative;min-block-size:100dvh;display:flex;flex-direction:column;justify-content:space-between;padding-inline:clamp(2.5rem,6vw,5.5rem);padding-block:clamp(2.25rem,5vh,4rem);isolation:isolate}.cloud-stage{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background-color:var(--color-canvas)}.cloud-canvas{display:block;inline-size:100%;block-size:100%;object-fit:cover}.site-header{z-index:2;display:flex;align-items:center;justify-content:flex-start}.top-left-brand{display:inline-flex;align-items:center}.otc-logo-trigger{display:inline-flex;align-items:center;justify-content:center;min-inline-size:2.25rem;min-block-size:2.25rem;padding:.375rem;margin:-.375rem;color:var(--color-ink-strong);cursor:pointer;transition:scale .15s ease-out;@media (prefers-reduced-motion:reduce){transition:none}}.otc-logo-trigger:active{scale:.95}.otc-logo-svg{inline-size:auto;block-size:clamp(1.8rem,1.6rem + .48vw,2.2rem);display:block;overflow:visible}.otc-oval-core,.otc-rotor{transform-origin:31.45px 63.42px}.otc-oval-core{opacity:0;transform:scaleX(.22) scaleY(.55)}.otc-logo-trigger.is-animating .otc-arch-top{animation:otcSnapTop .68s forwards;@media (prefers-reduced-motion:reduce){animation:none}}.otc-logo-trigger.is-animating .otc-arch-bottom{animation:otcSnapBottom .68s forwards;@media (prefers-reduced-motion:reduce){animation:none}}.otc-logo-trigger.is-animating .otc-oval-core{animation:otcFillOval .68s forwards;@media (prefers-reduced-motion:reduce){animation:none}}.otc-logo-trigger.is-animating .otc-rotor{animation:otcRotate180 .68s forwards;@media (prefers-reduced-motion:reduce){animation:none}}@keyframes otcSnapTop{0%{transform:translateY(0);animation-timing-function:cubic-bezier(.6,0,.12,1)}24%,72%{transform:translateY(16.41px);animation-timing-function:cubic-bezier(.18,1.3,.32,1)}to{transform:translateY(0)}}@keyframes otcSnapBottom{0%{transform:translateY(0);animation-timing-function:cubic-bezier(.6,0,.12,1)}24%,72%{transform:translateY(-16.41px);animation-timing-function:cubic-bezier(.18,1.3,.32,1)}to{transform:translateY(0)}}@keyframes otcFillOval{0%,12%{opacity:0;transform:scaleX(.22) scaleY(.55);animation-timing-function:cubic-bezier(.2,1,.3,1)}23%,72%{opacity:1;transform:scaleX(1) scaleY(1);animation-timing-function:cubic-bezier(.4,0,.2,1)}84%,to{opacity:0;transform:scaleX(.22) scaleY(.55)}}@keyframes otcRotate180{0%,24%{transform:rotate(0deg);animation-timing-function:cubic-bezier(.68,-.14,.22,1.12)}70%,to{transform:rotate(180deg)}}.hero-main{flex:1 0 auto;justify-content:center;padding-block:clamp(2rem,6vh,4rem);z-index:1}.hero-lockup,.hero-main{display:flex;flex-direction:column;align-items:center}.hero-lockup{text-align:center;gap:.625rem;max-inline-size:64rem}.hero-title{line-height:1.05;letter-spacing:.04em;color:var(--color-ink-strong);text-wrap:balance}.hero-subheading,.hero-title{font-family:var(--font-brand)}.hero-subheading{font-weight:500;letter-spacing:.02em;color:var(--color-ink-light);text-wrap:pretty}.site-footer{z-index:3;inline-size:100%}.footer-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;inline-size:100%}.footer-spacer{min-inline-size:1px}.active-projects-nav{justify-self:center}.active-projects-list{gap:clamp(1.75rem,3.5vw,2.75rem)}.active-projects-list,.project-entry{display:inline-flex;align-items:center;justify-content:center}.project-entry{position:relative}.project-item{position:relative;display:inline-flex;align-items:center;justify-content:center;min-inline-size:2.75rem;min-block-size:2.75rem;color:var(--color-ink-strong);opacity:.86;translate:0 0;scale:1;transition:opacity .2s ease-out,translate .32s ease-out,scale .32s ease-out;transition-timing-function:ease-out,linear(0,.45 15%,1.08 35%,.97 55%,1.01 75%,1),linear(0,.45 15%,1.08 35%,.97 55%,1.01 75%,1);@media (prefers-reduced-motion:reduce){transition:none}}.project-item:where(:hover,:focus-visible,:interest-source,.interest-source):not(:disabled){opacity:1;translate:0 -.25rem;scale:1.18}.project-item:active:not(:disabled){translate:0 -.0625rem;scale:.96}.active-project-logo{display:block;inline-size:auto;max-block-size:1.7rem;object-fit:contain}:where([popover].project-preview-card,[popover].deprecated-panel){border-radius:var(--radius-panel);corner-shape:squircle;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid var(--color-border-faint);box-shadow:var(--shadow-floating);color:var(--color-ink);opacity:0;translate:0 .5rem;scale:.94}:where([popover].project-preview-card,[popover].deprecated-panel):is(:popover-open,.\:popover-open){opacity:1;translate:0 0;scale:1}@starting-style{:where([popover].project-preview-card,[popover].deprecated-panel):is(:popover-open,.\:popover-open){opacity:0;translate:0 .5rem;scale:.94}}@media (prefers-reduced-motion:no-preference){:where([popover].project-preview-card,[popover].deprecated-panel){transition:opacity .22s ease-out,translate .34s ease-out,scale .34s ease-out,display .34s,overlay .34s;transition-timing-function:ease-out,linear(0,.45 15%,1.08 35%,.97 55%,1.01 75%,1),linear(0,.45 15%,1.08 35%,.97 55%,1.01 75%,1),ease-out,ease-out;transition-behavior:allow-discrete}}[popover].project-preview-card{inline-size:18.5rem;padding:0;background:rgb(255 255 255/.94);overflow:hidden;text-align:start;transform-origin:bottom center}@supports (position-area:block-start){[popover].project-preview-card{inset:auto;margin:0;-webkit-margin-after:.875rem;margin-block-end:.875rem;position-area:block-start;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline}}[popover].project-preview-card:is(:popover-open,.\:popover-open){display:flex;flex-direction:column}.project-preview-thumb-wrap{display:block;inline-size:100%;aspect-ratio:2/1;overflow:hidden;-webkit-border-after:1px solid var(--color-border-faint);border-block-end:1px solid var(--color-border-faint);background:var(--color-surface-alt)}.project-preview-thumb{display:block;inline-size:100%;block-size:100%;object-fit:cover}.project-preview-body{display:flex;flex-direction:column;gap:.375rem;padding-inline:1rem;padding-block:.75rem .875rem}.project-preview-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.project-preview-title{font-family:var(--font-brand);font-size:.9375rem;font-weight:700;color:var(--color-ink-strong);letter-spacing:-.01em}.project-preview-badge{font-family:var(--font-code);font-size:.625rem;font-weight:600;color:var(--color-ink-light);letter-spacing:.02em}.project-preview-desc{font-family:var(--font-brand);font-size:.75rem;line-height:1.45;color:var(--color-ink-light);max-inline-size:60ch;text-wrap:pretty}.deprecated-corner{position:relative;justify-self:end;display:inline-flex;align-items:center;justify-content:flex-end}.deprecated-trigger-btn{color:var(--color-ink-strong)}.deprecated-icon-svg{display:block;inline-size:1.5rem;block-size:1.5rem}[popover].deprecated-panel{inline-size:max-content;max-inline-size:calc(100dvw - 5rem);padding-inline:1.375rem;padding-block:1rem 1.25rem;background:rgb(255 255 255/.92);transform-origin:bottom right}@supports (position-area:block-start){[popover].deprecated-panel{inset:auto;margin:0;-webkit-margin-after:.875rem;margin-block-end:.875rem;position-area:block-start span-inline-start;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline}}[popover].deprecated-panel:is(:popover-open,.\:popover-open){display:block}.deprecated-panel-header{display:flex;align-items:center;justify-content:space-between;-webkit-margin-after:.875rem;margin-block-end:.875rem;-webkit-padding-after:.5rem;padding-block-end:.5rem;-webkit-border-after:1px solid var(--color-border-faint);border-block-end:1px solid var(--color-border-faint)}.deprecated-panel-title{font-family:var(--font-brand);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-light)}.deprecated-panel-icons{flex-wrap:wrap;gap:1.75rem}.deprecated-icon-item,.deprecated-panel-icons{display:flex;align-items:center;justify-content:center}.deprecated-logo-img{max-block-size:2.375rem;inline-size:auto;object-fit:contain;opacity:.84;scale:1;transition:opacity .2s ease-out,scale .2s ease-out;@media (prefers-reduced-motion:reduce){transition:none}}.deprecated-link{display:flex;border-radius:var(--radius-item)}.deprecated-icon-item:hover .deprecated-logo-img,.deprecated-link:focus-visible .deprecated-logo-img{opacity:1;scale:1.05}.deprecated-link:active .deprecated-logo-img{scale:.96}@media (max-width:640px){[popover].deprecated-panel{inline-size:calc(100dvw - 4rem)}.deprecated-panel-icons{gap:1.25rem}}}