@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:600;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:600;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;font-style:normal;font-weight:800;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:800;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_51fad4{font-family:Outfit,Outfit Fallback;font-style:normal}.__variable_51fad4{--font-outfit:"Outfit","Outfit Fallback"}@layer reset, base, theme, components, utilities;@layer reset{:where(html,body,div,main,header,footer,nav,h1,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-ink-faint:#858585;--color-canvas:#fcfdfe;--color-surface:#ffffff;--color-surface-alt:#f3f3f3;--color-border-faint:#e8e8e8;--color-border-medium:#d5d5d5;--radius-item:0.5rem;--radius-control:0.75rem;--radius-card:1rem;--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;-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 var(--color-ink-strong);outline-offset:4px;border-radius:.375rem}:where(a:any-link,button,[tabindex="0"]):focus-visible{outline:2.5px solid var(--color-ink-strong);outline-offset:4px;border-radius:.375rem}[inert],[inert] :where(div,ul,li,span,img){-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}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}.otc-logo-trigger,.top-left-brand{display:inline-flex;align-items:center}.otc-logo-trigger{justify-content:center;padding:.375rem;margin:-.375rem;color:var(--color-ink-strong);cursor:pointer}.otc-logo-svg{inline-size:auto;block-size:clamp(2.25rem,2rem + .6vw,2.75rem);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{font-weight:800;font-size:clamp(2.5rem,1.5rem + 5.2vw,5.25rem);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;font-size:clamp(1.0625rem,.95rem + .45vw,1.375rem);letter-spacing:.02em;color:var(--color-ink-light)}.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-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;transition:opacity .2s ease,transform .26s cubic-bezier(.22,1.25,.36,1);@media (prefers-reduced-motion:reduce){transition:none}}.project-item:focus-visible,.project-item:hover:not(:disabled){opacity:1;transform:translateY(-.25rem) scale(1.18)}.project-item:active:not(:disabled){transform:translateY(-.0625rem) scale(1.05)}.active-project-logo{display:block;inline-size:auto;max-block-size:2.125rem;object-fit:contain;transition:transform .26s cubic-bezier(.22,1.25,.36,1);@media (prefers-reduced-motion:reduce){transition:none}}.project-preview-card{position:absolute;inset-block-end:calc(100% + .875rem);inset-inline-start:50%;inline-size:18.5rem;display:flex;flex-direction:column;border-radius:var(--radius-panel);background:rgb(255 255 255/.94);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid var(--color-border-faint);box-shadow:var(--shadow-floating);overflow:hidden;text-align:start;opacity:0;pointer-events:none;transform:translateX(-50%) translateY(.75rem) scale(.84);transform-origin:bottom center;transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1.15,.36,1);@media (prefers-reduced-motion:reduce){transition:none}}.project-dock-link:before{content:"";position:absolute;inset-block-end:100%;inset-inline:-1.5rem;block-size:1.25rem;pointer-events:none}.project-dock-link:focus-visible:before,.project-dock-link:hover:before{pointer-events:auto}.project-dock-link:focus-visible .project-preview-card,.project-dock-link:hover .project-preview-card{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(.85)}.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)}.deprecated-corner{position:relative;justify-self:end;display:inline-flex;align-items:center;justify-content:flex-end}.deprecated-corner:before{content:"";position:absolute;inset-block-end:100%;inset-inline-end:-.75rem;inline-size:4.25rem;block-size:1.25rem;pointer-events:none}.deprecated-corner.is-expanded:before,.deprecated-corner:focus-within:before,.deprecated-corner:hover:before{pointer-events:auto}.deprecated-trigger-btn{color:var(--color-ink-strong)}.deprecated-corner:hover .deprecated-trigger-btn,.deprecated-trigger-btn.is-active{opacity:1;transform:translateY(-.25rem) scale(1.18)}.deprecated-icon-svg{display:block;inline-size:1.875rem;block-size:1.875rem}.deprecated-panel{position:absolute;inset-block-end:calc(100% + .875rem);inset-inline-end:0;inline-size:max-content;max-inline-size:calc(100vw - 5rem);padding-inline:1.375rem;padding-block:1rem 1.25rem;border-radius:var(--radius-panel);background:rgb(255 255 255/.9);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid var(--color-border-faint);box-shadow:var(--shadow-floating);opacity:0;pointer-events:none;transform:translateY(.5rem) scale(.96);transform-origin:bottom right;transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1);@media (prefers-reduced-motion:reduce){transition:none}}.deprecated-panel:after{content:"";position:absolute;inset-block-start:100%;inset-inline:0;block-size:1.25rem}.deprecated-corner:focus-within .deprecated-panel,.deprecated-corner:hover .deprecated-panel,.deprecated-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.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;transition:opacity .2s ease,transform .2s ease;@media (prefers-reduced-motion:reduce){transition:none}}.deprecated-icon-item:hover .deprecated-logo-img{opacity:1;transform:scale(1.04)}@media (max-width:640px){.deprecated-panel{inline-size:calc(100vw - 4rem)}.deprecated-panel-icons{gap:1.25rem}}}