*,:before,:after{box-sizing:border-box}html,body{background:var(--page-bg);cursor:default;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0}html{scrollbar-gutter:stable;overflow-y:scroll}body{font-family:var(--font-main);color:var(--text-color);font-weight:400}p,h1,h2{margin:0}img{display:block}button{font:inherit;color:inherit}@media only screen and (width<=640px){:root{--header-height:0px}}.link{color:inherit;cursor:pointer;transition:background-size .28s ease, background-position .5s var(--ease-out), color .3s ease;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 0;margin-bottom:-6px;padding-bottom:6px;text-decoration:none;display:inline-block}.link:hover,.link:focus-visible{background-position:0 calc(100% - 6px);background-size:100% 1px;outline:none}.link--muted{color:var(--text-muted)}.link--muted:hover,.link--muted:focus-visible{color:var(--text-color)}.contacts{justify-content:center;align-items:center;gap:11px;margin:0;padding:0;list-style:none;display:flex}.contacts__dot{flex-shrink:0;width:2px;height:2px}.scroll-spacer{pointer-events:none;width:100%}.scroll-content{z-index:1;will-change:transform;width:100%;position:fixed;top:0;left:0;overflow-x:clip}html.no-js .scroll-content{position:relative}.preloader{z-index:100;background-color:var(--page-bg);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.preloader__text{text-align:center;opacity:0;font-size:13px;line-height:1.02em;transition:opacity .5s}.preloader.is-text-in .preloader__text{opacity:1}.preloader.is-text-out .preloader__text{opacity:0}.preloader.is-gone,html.no-js .preloader{display:none}.mobile-menu{z-index:90;background-color:var(--page-bg);flex-direction:column;padding:30px 20px 40px;display:flex;position:fixed;inset:0}.mobile-menu[hidden]{display:none}.mobile-menu__top{justify-content:space-between;align-items:flex-start;display:flex}.mobile-menu__close{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex}.mobile-menu__main{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:14px;font-size:24px;line-height:1em;display:flex}.mobile-menu__main .link,.mobile-menu__contacts .link{margin-top:-.105em;margin-bottom:calc(-.105em - 6px);line-height:1.21em}.mobile-menu__contacts{justify-content:flex-start;font-size:20px;line-height:1em}.sticky-header{z-index:50;background-color:var(--page-bg);opacity:0;height:51px;transition:transform .55s var(--ease-out), opacity .35s ease;will-change:transform;border-bottom:1px solid #eaeaea;font-size:14px;line-height:1.21em;position:fixed;top:0;left:0;right:0;transform:translateY(-100%);box-shadow:0 4px 14px #00000005}.sticky-header__home,.sticky-header__cv{white-space:nowrap;position:absolute;top:16px}.sticky-header__home{left:24.5px}.sticky-header__cv{right:24.5px}.sticky-header__contacts{pointer-events:none;position:absolute;top:16px;left:0;right:0}.sticky-header__contacts a{pointer-events:auto}html.has-sticky .sticky-header{opacity:1;transform:translateY(0)}@media only screen and (width<=640px){.sticky-header{display:none}}.glow{pointer-events:none;user-select:none;z-index:0;opacity:0;width:min(1483px,85.8218vw);max-width:none;height:min(563px,32.581vw);transition:opacity 1.6s .15s;position:absolute;top:0;left:calc(50% - min(735px,42.5347vw))}html.is-intro-done .glow,html.no-js .glow{opacity:1}.site-header{z-index:2;height:var(--header-height);background-color:var(--page-bg);-webkit-backdrop-filter:blur(5px);font-size:14px;line-height:1.21em;position:relative}.site-header__home,.site-header__cv{white-space:nowrap;position:absolute;top:19px}.site-header__home{left:24.5px}.site-header__cv{right:24.5px}.site-header__contacts{white-space:nowrap;position:absolute;top:19px;left:calc(50% - .5px);translate:-50%}.site-header__item{color:#0000;transition:margin-top .9s var(--ease-out) .5s, color .8s ease .5s;margin-top:-14px}.site-header__item .contacts__dot{opacity:0;transition:opacity .8s .5s}html.is-intro-done .site-header__item{color:var(--text-color);margin-top:0}html.is-intro-done .site-header__item .contacts__dot{opacity:1}html.is-header-in .site-header__item{transition:background-size .28s ease, background-position .5s var(--ease-out), color .3s ease}@media only screen and (width<=640px){.site-header{display:none}}.hero{z-index:1;height:calc(100vh - var(--header-height));height:calc(100svh - var(--header-height));padding:0 var(--page-gap);text-align:center;--hero-block:139px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}@supports (padding-top:round(down, 1.5px, 1px)){.hero{padding-top:max(0px, round(down, (100svh - var(--header-height) - var(--hero-block)) / 2, 1px));justify-content:flex-start}}.hero__inner{flex-direction:column;align-items:center;gap:18px;display:flex}.hero__intro{flex-direction:column;align-items:center;gap:21px;display:flex}.hero__title-group{flex-direction:column;align-items:center;gap:33px;display:flex}.hero__logo-wrap{justify-content:center;align-items:center;width:39px;height:18px;display:flex;overflow:hidden}.hero__logo{opacity:0;width:23.4px;height:10.8px;transition:width 1.1s var(--ease-mask) 50ms, height 1.1s var(--ease-mask) 50ms;transform:scaleY(-1)}.hero__mask{overflow:hidden}.hero__mask--title{margin-bottom:-10px;padding-bottom:10px}.hero__mask--sub{margin-bottom:-8px;padding-bottom:8px}.hero__line{transition:top 1.1s var(--ease-mask) .12s;position:relative;top:38px}.hero__mask--sub .hero__line{top:26px}.hero__intro>.hero__mask--sub .hero__line{transition-delay:.22s}.hero__inner>.hero__mask--sub .hero__line{transition-delay:.32s}html.is-intro-done .hero__logo{width:39px;height:18px}html.is-intro-done .hero__line{top:0}.hero__title{white-space:nowrap;font-size:25px;font-weight:400;line-height:.84em}.hero__greet{font-variant-ligatures:none;display:inline-block}.hero__disciplines{white-space:pre;height:14px;font-size:15px;line-height:.88em}.hero__status{height:14px;color:var(--text-muted);white-space:pre;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:.94em;display:flex}.hero__status-dot{flex-shrink:0;width:5px;height:5px}.hero__mobile-bar{display:none}@media only screen and (width<=640px){.hero{--hero-block:88px;text-align:left;align-items:flex-start}.hero__inner,.hero__intro,.hero__title-group{align-items:flex-start}.hero__logo-wrap{display:none}.hero__mobile-bar{justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:30px;left:20px;right:20px}}.hero__burger{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:27px;height:40px;padding:0;display:flex}html.no-js .hero__logo{opacity:1;width:39px;height:18px}html.no-js .hero__line{top:0}.projects{padding:0 var(--page-gap);flex-direction:column;align-items:center;display:flex}.projects__list{flex-direction:column;gap:20px;width:100%;max-width:1680px;display:flex}.project{--rw:1680;width:100%;aspect-ratio:var(--rw)/var(--rh);opacity:0;transition:opacity .9s ease, transform 1s var(--ease-out);position:relative;transform:translateY(48px);container-type:inline-size}.project.is-revealed{opacity:1;transform:translateY(0)}.project--lazy{content-visibility:auto;contain-intrinsic-size:auto 900px}.project__title{text-wrap:pretty;width:min(381px,27cqw);font-size:clamp(14px,1.4881cqw,25px);font-weight:400;line-height:1.24em;position:absolute;top:-.421053%;left:-.0595238%}.project__title-muted{color:var(--text-muted)}.project__tile{left:calc(var(--x) / var(--rw) * 100%);top:calc(var(--y) / var(--rh) * 100%);width:calc(var(--w) / var(--rw) * 100%);height:calc(var(--h) / var(--rh) * 100%);background-color:#f3f3f5;position:absolute;overflow:hidden}.project__inset{left:calc(var(--ix) / var(--w) * 100%);top:calc(var(--iy) / var(--h) * 100%);width:calc(var(--iw) / var(--w) * 100%);height:calc(var(--ih) / var(--h) * 100%);position:absolute;overflow:hidden}.project__img{object-fit:cover;width:100%;max-width:none;height:100%;position:absolute;inset:0}.project__img--fill{object-fit:fill}html.no-js .project{opacity:1;transform:none}.footer{height:541px;padding:0 var(--page-gap);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.footer__lines{flex-direction:column;align-items:center;gap:10px;font-size:19px;line-height:.68em;display:flex}.footer__line{white-space:nowrap;justify-content:center;gap:3px;padding:2px 0;display:flex}.footer__link{margin-top:calc(6.5px - .605em);margin-bottom:calc(.5px - .605em);line-height:1.21em}.footer__link--project{color:#a2a2a2}.footer__link--email{color:#adadad}.footer__link:hover,.footer__link:focus-visible{color:var(--text-color)}@media only screen and (width<=640px){.footer__lines{line-height:1.2em}.footer__line{white-space:normal;flex-wrap:wrap}.footer__link{margin-top:0;margin-bottom:-6px}}.wordmark{margin-top:20px;container-type:inline-size}.wordmark__band{background-color:var(--page-bg);height:7.75463cqw;position:relative;overflow:hidden}.wordmark__text{letter-spacing:-.462963cqw;white-space:nowrap;user-select:none;font-size:14.4676cqw;line-height:.763889cqw;position:absolute;top:4.91898cqw;left:-.868056cqw}.wordmark__char{transition:transform 1.15s cubic-bezier(.16, 1, .3, 1) calc(var(--i) * 35ms);will-change:transform;display:inline-block;transform:translateY(9cqw)}.wordmark.is-in .wordmark__char{transform:translateY(0)}html.no-js .wordmark__char{transform:none}:root{--text-color:#000;--text-muted:gray;--dot-color:#d9d9d9;--status-color:#44ba00;--page-bg:#fff;--pill-bg:#1f1f1f;--pill-shadow:0 10px 30px -6px #00000059, 0 2px 6px #0003;--font-main:"Inter Tight", -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--page-gap:24px;--header-height:55px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-mask:cubic-bezier(.65, 0, .35, 1)}.up-button{z-index:60;background-color:var(--pill-bg);width:52px;height:34px;box-shadow:var(--pill-shadow);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .35s ease, transform .55s var(--ease-out);border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;bottom:67px;right:24px;overflow:hidden;transform:translateY(14px)}.up-button svg{flex-shrink:0;display:block}html.is-near-end .up-button{opacity:1;pointer-events:auto;transform:translateY(0)}@media only screen and (width<=640px){.up-button{display:none}}
