.fe{--zc-ink: #000;--zc-paper: #fff;--zc-muted: #646464;--zc-font: "GT Walsheim", system-ui, -apple-system, "Segoe UI", sans-serif;--zc-weight: 500;--zc-weight-bold: 700;--zc-line: 1.333;--zc-gutter: 5%;--zc-max: 1650px;--zc-space: 2.5rem;--zc-logo-width: 80px;--zc-header-top: 1rem;--zc-header-height: 69px;--zc-content-top: 6.5rem}@media(min-width: 768px){.fe{--zc-space: 4rem;--zc-logo-width: 175px;--zc-header-top: 2rem;--zc-header-height: 129px;--zc-content-top: 170px}}@font-face{font-family:"GT Walsheim";src:url("/assets/frontend/fonts/GT-Walsheim-Regular.woff2") format("woff2"),url("/assets/frontend/fonts/GT-Walsheim-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"GT Walsheim";src:url("/assets/frontend/fonts/GT-Walsheim-Medium.woff2") format("woff2"),url("/assets/frontend/fonts/GT-Walsheim-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"GT Walsheim";src:url("/assets/frontend/fonts/GT-Walsheim-Bold.woff2") format("woff2"),url("/assets/frontend/fonts/GT-Walsheim-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}*,*::before,*::after{box-sizing:border-box}.fe{-webkit-text-size-adjust:100%}.fe body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--zc-paper);color:var(--zc-ink);font-family:var(--zc-font);font-weight:var(--zc-weight);font-size:1.33rem;line-height:var(--zc-line);letter-spacing:.05px;hyphens:auto;-webkit-font-smoothing:antialiased}@media(min-width: 768px){.fe body{font-size:1rem}}@media(min-width: 950px){.fe body{font-size:1.55vw}}.fe main{flex:1 0 auto;padding-top:var(--zc-content-top)}@media(min-width: 1900px){.fe main{font-size:2rem}}.fe h1,.fe h2,.fe h3,.fe p,.fe ul,.fe table{margin:0}.fe h1,.fe h2,.fe h3{font-size:inherit;font-weight:var(--zc-weight-bold)}.fe ul{padding:0;list-style:none}.fe a{color:inherit;text-decoration:none}.fe a:hover,.fe a:focus-visible{color:var(--zc-muted)}.fe :focus-visible{outline:2px solid currentColor;outline-offset:3px}.zc-container{width:100%;max-width:calc(var(--zc-max) + 2*var(--zc-gutter));margin:0 auto;padding:0 var(--zc-gutter)}.zc-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.zc-topbar{position:fixed;inset:0 0 auto;z-index:30;height:var(--zc-header-height);background:var(--zc-paper)}.zc-topbar__inner{display:flex;align-items:flex-start;justify-content:space-between;padding-top:var(--zc-header-top)}.zc-topbar__brand{display:block;width:var(--zc-logo-width);color:var(--zc-ink)}.zc-topbar__brand .brand-mark{display:block;width:100%;height:auto}.zc-topbar__menu{position:relative;display:block;width:2.5rem;height:1.75rem;margin-top:.5rem;cursor:pointer}.zc-topbar__menu-icon,.zc-topbar__menu-icon::after{position:absolute;left:0;width:100%;height:.3rem;background:currentColor;transition:transform .25s ease,top .25s ease}.zc-topbar__menu-icon{top:.3rem}.zc-topbar__menu-icon::after{content:"";top:.75rem}.zc-nav-toggle{position:absolute;opacity:0;pointer-events:none}.zc-nav-toggle:focus-visible~.zc-topbar .zc-topbar__menu{outline:2px solid currentColor;outline-offset:4px}.zc-nav-toggle:checked~.zc-topbar{color:var(--zc-paper);background:none}.zc-nav-toggle:checked~.zc-topbar .zc-topbar__brand{color:var(--zc-paper)}@media(min-width: 768px){.zc-nav-toggle:checked~.zc-topbar .zc-topbar__brand{color:var(--zc-ink)}}.zc-nav-toggle:checked~.zc-topbar .zc-topbar__menu-icon{top:.7rem;transform:rotate(45deg)}.zc-nav-toggle:checked~.zc-topbar .zc-topbar__menu-icon::after{top:0;transform:rotate(-90deg)}.zc-topbar .zc-topbar__lang{display:flex;gap:.5em;margin:0 1rem 0 auto;padding:0;list-style:none;font-size:.75em;line-height:2.2}@media(min-width: 768px){.zc-topbar .zc-topbar__lang{margin-right:1.5rem;font-size:1.25rem}}.zc-topbar .zc-topbar__lang a{display:block;padding:0 .25rem}.zc-nav{position:fixed;top:0;right:0;z-index:20;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;overflow-y:auto;background:var(--zc-ink);color:var(--zc-paper);transform:translateX(100%);visibility:hidden;transition:transform 750ms ease-out,visibility 0s 750ms}@media(min-width: 768px){.zc-nav{width:44%}}@media(min-width: 1024px){.zc-nav{width:50%}}.zc-nav-toggle:checked~.zc-nav{transform:none;visibility:visible;transition:transform 750ms cubic-bezier(0, 1, 0.73, 0.99),visibility 0s}@media(prefers-reduced-motion: reduce){.zc-nav,.zc-nav-toggle:checked~.zc-nav{transition:none}}.zc-nav__inner{position:relative;display:flex;flex-direction:column;flex:1 0 auto;padding:70px var(--zc-gutter) 1.25rem}@media(min-width: 768px){.zc-nav__inner{padding:15% 1.5rem 1.25rem 15%}}.zc-nav__list{font-weight:var(--zc-weight-bold);hyphens:manual}.zc-nav__list a{display:block}.zc-nav__list:not(.zc-nav__list--meta){font-size:1.75rem;line-height:2.75}@media(min-width: 768px){.zc-nav__list:not(.zc-nav__list--meta){line-height:1.75}}@media(min-width: 1024px){.zc-nav__list:not(.zc-nav__list--meta){font-size:3rem}}.zc-nav .zc-nav__list--meta{margin-top:3rem;font-size:1.25rem;line-height:1.55}@media(min-height: 615px){.zc-nav .zc-nav__list--meta{margin-top:auto;padding-top:3rem}}.zc-nav__link.is-active{text-decoration:underline;text-decoration-thickness:.06em;text-underline-offset:.15em}.zc-nav a:hover,.zc-nav a:focus-visible{color:var(--zc-muted)}.zc-footer{flex-shrink:0;margin-top:var(--zc-space);padding:1em 0;background:var(--zc-ink);color:var(--zc-paper)}@media(min-width: 768px){.zc-footer{font-size:.75em}}.zc-footer a{color:inherit;text-decoration:none}.zc-footer a:hover,.zc-footer a:focus-visible{color:var(--zc-muted)}.zc-footer__grid{display:grid;gap:1em}@media(min-width: 768px){.zc-footer__grid{grid-template-columns:4fr 1fr 1fr;gap:0}}.zc-footer .zc-lines a{text-decoration:none}.zc-footer__bottom{margin-top:1em;color:var(--zc-muted)}.zc-section{padding-bottom:var(--zc-space)}.zc-page-title{padding-bottom:1em}.zc-columns{display:grid;gap:2em}@media(min-width: 768px){.zc-columns{grid-template-columns:55fr 45fr;gap:0}}.zc-columns__col{display:flex;flex-direction:column;gap:calc(1em*var(--zc-line))}@media(min-width: 768px){.zc-columns__col{padding-right:15%}}.zc-lines{display:flex;flex-direction:column;gap:1em}.zc-lines--tight{gap:0}.zc-lines a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.zc-textlink{display:flex;flex-direction:column;gap:1em}.zc-arrow-link{display:inline-flex;align-items:baseline;gap:.6em}.zc-arrow-link__arrow{transition:transform .2s ease}.zc-arrow-link:hover .zc-arrow-link__arrow,.zc-arrow-link:focus-visible .zc-arrow-link__arrow{transform:translateX(0.25em)}.zc-pill{align-self:flex-start;display:inline-flex;padding:0 .5em;border:2px solid currentColor;border-radius:1.5em;line-height:1.22;transition:background-color .2s ease,color .2s ease}.zc-pill:hover,.zc-pill:focus-visible{background:var(--zc-ink);color:var(--zc-paper)}@media(min-width: 768px){.zc-home{font-size:1.5em}}.zc-home .zc-textlink+.zc-textlink{margin-top:2em}.zc-home__body{display:flex;flex-direction:column;gap:1em}.zc-prose{max-width:46em;display:flex;flex-direction:column;gap:2em}.zc-prose p+p{margin-top:.75em}.zc-prose a{text-decoration:underline;text-underline-offset:.2em}.zc-prose__title{margin-bottom:.5em;font-weight:var(--zc-weight-bold)}.zc-hello{--zc-hello-foot: 5rem;position:relative;margin-top:calc(-1*var(--zc-content-top));padding-top:var(--zc-header-height);padding-bottom:var(--zc-space)}@media(min-width: 480px)and (orientation: landscape){.zc-hello{display:flex;align-items:center;height:100vh;height:100svh;padding-bottom:var(--zc-hello-foot)}}.zc-hello__svg{display:block;width:100%;height:auto;fill:currentColor}@media(min-width: 480px)and (orientation: landscape){.zc-hello__svg{max-height:calc(100svh - var(--zc-header-height) - var(--zc-hello-foot) - 2rem)}}.zc-hello__down{position:absolute;left:50%;bottom:3%;width:1.5rem;height:1.5rem;margin-left:-0.75rem;border-right:5px solid currentColor;border-bottom:5px solid currentColor;transform:rotate(45deg) skew(-6deg, -6deg);transition:transform .2s ease}.zc-hello__down:hover,.zc-hello__down:focus-visible{transform:translateY(10px) rotate(45deg) skew(-6deg, -6deg)}@media(orientation: portrait),(max-width: 479px){.zc-hello__down{display:none}}.zc-hello__pupil{display:none}@media(min-width: 768px)and (prefers-reduced-motion: no-preference){.zc-hello__svg g{opacity:0}.zc-hello__pupil{display:inline;animation:zc-hello-pupil 5000ms 500ms forwards}.zc-hello__eye{animation:zc-hello-eye 500ms forwards}.zc-hello__nose{animation:zc-hello-from-25 5000ms 500ms forwards}.zc-hello__a{animation:zc-hello-from-50 5000ms 500ms forwards}.zc-hello__h{animation:zc-hello-from-75 5000ms 500ms forwards}}@keyframes zc-hello-eye{to{opacity:1}}@keyframes zc-hello-pupil{0%,24%{opacity:1;transform:translateX(-3%)}25%,49%{opacity:1;transform:translateX(-6%)}50%,74%{opacity:1;transform:translateX(0)}75%,100%{opacity:0;transform:translateX(0)}}@keyframes zc-hello-from-25{0%,24%{opacity:0}25%,100%{opacity:1}}@keyframes zc-hello-from-50{0%,49%{opacity:0}50%,100%{opacity:1}}@keyframes zc-hello-from-75{0%,74%{opacity:0}75%,100%{opacity:1}}.zc-projects{--zc-projects-head: 5em}.zc-projects__head{position:sticky;top:var(--zc-header-height);z-index:10;background:var(--zc-paper)}.zc-projects__filter[hidden]{display:none}.zc-projects__filter-toggle{position:absolute;opacity:0;pointer-events:none}.zc-projects__filter-open,.zc-projects__filter-close{cursor:pointer}.zc-projects__filter-open{display:inline-flex;align-items:center;height:2em}.zc-projects__filter-open:hover{color:var(--zc-muted)}.zc-projects__filter-toggle:focus-visible~.zc-projects__filter-open,.zc-projects__filter-toggle:focus-visible~.zc-projects__filter-list .zc-projects__filter-close{outline:2px solid currentColor;outline-offset:3px}.zc-projects .zc-projects__filter-list{display:none;flex-wrap:wrap;align-items:center;gap:0 1em;margin:0;min-height:2em}.zc-projects__filter-toggle:checked~.zc-projects__filter-open{display:none}.zc-projects__filter-toggle:checked~.zc-projects__filter-list{display:flex}.zc-projects__filter-item{padding:0;border:0;background:none;color:inherit;font:inherit;line-height:2;cursor:pointer}.zc-projects__filter-item:hover{color:var(--zc-muted)}.zc-projects__filter-item.is-active{text-decoration:underline;text-underline-offset:.2em}.zc-projects__filter-close{display:flex;align-items:center}.zc-projects__filter-close svg{width:.75em;height:auto}.zc-projects__filter-close line{stroke:currentColor;stroke-width:3}.zc-projects .zc-projects__list{margin:0 -1em;padding:0;list-style:none}.zc-projects__row{display:grid;grid-template-columns:1fr 2.25em;gap:0 .5em;padding:1em}@media(min-width: 768px){.zc-projects__row{grid-template-columns:20% 2.25em 21% 23% 4em 1fr;padding:.25em 1em}}.zc-projects__row>span:nth-child(n+3){grid-column:1/-1}@media(min-width: 768px){.zc-projects__row>span:nth-child(n+3){grid-column:auto}}.zc-projects__row--head{display:none;margin:0 -1em}@media(min-width: 768px){.zc-projects__row--head{display:grid}}.zc-projects__label{display:inline-block;width:4.5em}@media(min-width: 768px){.zc-projects__label{display:none}}.zc-projects__item:nth-child(odd){background:var(--zc-ink);color:var(--zc-paper)}.zc-projects.is-ready .zc-projects__item{background:none;color:inherit}.zc-projects.is-ready .zc-projects__item.is-odd{background:var(--zc-ink);color:var(--zc-paper)}.zc-projects__item[hidden]{display:none}.zc-projects__item a:hover{color:var(--zc-muted)}.zc-projects__cell--link a{display:flex;align-items:center;height:100%}.zc-projects__icon{width:.9em;height:auto}.zc-projects__icon polyline,.zc-projects__icon line{fill:none;stroke:currentColor;stroke-miterlimit:10}.zc-projects__preview{position:fixed;top:0;left:0;z-index:40;width:85%;max-width:600px;height:auto;opacity:0;pointer-events:none;transition:opacity .15s ease}.zc-projects__preview.is-visible{opacity:1}
