@font-face{font-family:Manrope;src:url(/fonts/Manrope-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/Manrope-ExtraBold.ttf)format("truetype");font-weight:800;font-style:normal;font-display:swap}:root{--font:"Manrope", sans-serif;--color-background:white;--color-main:#a3a3a3;--color-black:black;--color-white:white;--color-header:#000;--header-height:80px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--header-transition-duration:1s}body{font-family:var(--font);background-color:var(--color-background);color:var(--color-text);font-size:10px;font-weight:400}h1{font-weight:700}h4{font-weight:600}html,body,#root{width:100%;min-height:100vh;margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}*,:before,:after{box-sizing:border-box}*{border:0;margin:0;padding:0}.homepage{flex-direction:column;width:100%;min-height:100svh;display:flex;position:relative}.header{height:var(--header-height);color:var(--color-black);box-sizing:border-box;z-index:100;background-color:#0000;grid-template-columns:250px minmax(0,1fr) 250px;align-items:center;padding:0 40px;transition:background-color .5s,color .5s,border-color .5s,-webkit-backdrop-filter .5s,backdrop-filter .5s;display:grid;position:fixed;top:0;left:0;right:0}.header>*{min-width:0}.header--scrolled{background-color:var(--color-black);color:var(--color-white)}.logo-container{align-items:center;height:100%;display:flex}.logo-link{letter-spacing:1.5px;height:auto;color:inherit;-webkit-user-select:none;user-select:none;cursor:pointer;align-items:center;gap:6px;font-size:10px;text-decoration:none;display:flex}.logo-trigger{flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.logo-icon{color:currentColor;pointer-events:none;transform-origin:50%;transform-box:fill-box;will-change:transform;width:100%;height:100%;display:block}.logo-title{align-items:center;margin:0;line-height:1;display:inline-flex;position:relative}.logo-icon{pointer-events:none;color:currentColor;display:inline}.nav-container{justify-content:center;align-items:center;gap:32px;height:100%;display:flex}.button-link{width:120px;height:60px;color:inherit;cursor:pointer;letter-spacing:.5px;font-family:inherit;font-size:14px;font-weight:700;line-height:inherit;text-transform:inherit;white-space:nowrap;--press-duration:.15s;--press-ease:ease-out;background:0 0;border:none;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex}.button-text{display:inline-block;position:relative}.button-label{transform-origin:bottom;transition:transform var(--press-duration) var(--press-ease);line-height:1;display:inline-block}.button-text:after{content:"";width:0;height:1px;transition:width var(--press-duration) var(--press-ease);background-color:currentColor;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.button-link:hover .button-text:after{width:100%}.button-link:active .button-label{transition-duration:50ms;transform:scale(.94)}.button-link:active .button-text:after{width:94%;transition-duration:50ms}.action-container{align-items:center;height:100%;display:flex}.contact-button{background-color:var(--color-black);width:70%;height:80%;color:var(--color-white);font:inherit;letter-spacing:0;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;margin-left:auto;font-size:14px;font-weight:600;transition:background-color .5s,color .5s;display:flex}.contact-button:hover{background-color:#000}.contact-button:active{transform:translateY(0)}.header.header--scrolled .contact-button{color:#000;background-color:#e0b84f}.header.header--scrolled .contact-button:hover{background-color:#fff}.cube{pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:relative;inset:0}.footer{background-color:var(--color-black);height:80px;color:var(--color-white);z-index:1;grid-template-columns:1fr 1fr;align-items:center;margin-top:auto;padding:0 40px;display:grid;position:relative}.footer-left{justify-content:flex-start;display:flex}.footer-right{color:#ffffffb8;justify-content:flex-end;margin:0;font-size:13px;font-weight:400;display:flex}.language-selector{display:inline-flex;position:relative}.language-selector-button{color:#fff;height:40px;font-family:var(--font);cursor:pointer;background-color:#0000;border:none;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .2s;display:flex}.language-selector-button:hover{background-color:#ffffff14}.language-selector-icon{flex:none}.language-selector-title{white-space:nowrap;line-height:1}.language-selector-caret{flex:none;transition:transform .2s}.language-selector-button[aria-expanded=true] .language-selector-caret{transform:rotate(180deg)}.language-selector-menu{z-index:20;color:#fff;background-color:#111;border-radius:8px;width:180px;padding:14px;animation:.22s forwards language-menu-slide-up;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);box-shadow:0 18px 50px #00000059}.language-selector-menu:before{content:"";height:14px;position:absolute;bottom:-14px;left:0;right:0}.language-selector-menu-caret{background-color:#111;width:14px;height:14px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.language-selector-list{margin:0;padding:0;list-style:none}.language-selector-option{color:#ffffffb8;width:100%;font-family:var(--font);text-align:left;cursor:pointer;background-color:#0000;border:none;border-radius:4px;align-items:center;padding:9px 10px;font-size:13px;font-weight:500;transition:color .2s,background-color .2s;display:flex}.language-selector-option:hover{color:#fff;background-color:#ffffff14}.language-selector-option.is-active{color:#fff;cursor:default;background-color:#ffffff1f}@keyframes language-menu-slide-up{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.product-headline{text-align:center;padding:120px 40px}.product .product-title{font-size:50px;font-weight:500}.product .product-title-2{margin-top:24px;font-size:15px;font-weight:400}.product-item{color:#000;background-color:#ececec;border-radius:18px;flex:none;padding:14px 24px;font-size:15px;font-weight:400}.product-description{align-items:center;padding:40px;font-size:18px;font-weight:400;display:flex}.product-info-title{letter-spacing:-1px;width:50%;font-size:50px;font-weight:400;line-height:1}.product-info-text{width:50%;font-size:15px}.product-marquee-wrapper{padding:40px}.product-marquee{white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 80px calc(100% - 80px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 80px calc(100% - 80px),#0000 100%)}.product-marquee.is-dragging{cursor:grabbing}.product-marquee-track{will-change:transform;width:max-content;display:flex}.product-marquee-group{gap:24px;padding-right:24px;display:flex}.work-process{padding:40px}.work-process__title{font-size:50px;font-weight:500}.work-process__content{justify-content:flex-end;width:100%;display:flex}.work-process__steps{counter-reset:workProcessCounter;width:50%;margin:0;padding:0;list-style:none}.work-process__step{counter-increment:workProcessCounter;align-items:flex-start;display:flex}.work-process__step:not(:first-child){margin-top:40px}.work-process__step:before{content:counter(workProcessCounter, decimal-leading-zero);color:#000;font-size:26px;font-weight:700}.work-process__step-text{flex-direction:column;gap:12px;margin-left:48px;display:flex}.work-process__step-title{margin:0;font-size:26px;font-weight:700}.work-process__step-description{color:#000000a6;margin:0;font-size:16px;font-weight:400;line-height:1.6}.contacts{padding:0 40px 120px}.contacts-headline{text-align:center;padding:120px 40px}.contacts .contacts-title{text-align:center;letter-spacing:2px;margin:0;font-size:50px;font-weight:500}.contacts .contacts-title-2{margin:24px 0 0;font-size:15px;font-weight:400}.contacts-content{--contacts-row-height:36px;--contacts-row-gap:50px;--contacts-button-padding-y:14px;grid-template-columns:minmax(220px,1fr) minmax(0,520px) minmax(220px,1fr);align-items:start;gap:80px;width:100%;margin:0 auto;display:grid}.contacts-links{grid-column:1;justify-self:start;width:100%;max-width:360px;margin:0;padding:0;list-style:none}.contacts-links__item:not(:first-child){margin-top:28px}.contacts-links__link{color:#000;grid-template-columns:36px minmax(0,1fr);align-items:center;column-gap:14px;padding:2px 0;text-decoration:none;transition:opacity .2s,transform .2s;display:grid}.contacts-links__link:hover{opacity:.65;transform:translate(4px)}.contacts-links__icon{justify-content:center;align-items:center;width:36px;height:36px;display:flex}.contacts-links__icon svg{color:#000;flex-shrink:0;width:28px;height:28px;display:block}.contacts-links__icon svg *{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.contacts-links__text{flex-direction:column;gap:6px;min-width:0;display:flex}.contacts-links__title{color:#777;font-size:14px;font-weight:500;line-height:1.2}.contacts-links__value{word-break:break-word;font-size:20px;font-weight:500;line-height:1.25}.contacts-form{justify-self:center;gap:var(--contacts-row-gap);flex-direction:column;grid-column:2;width:100%;max-width:520px;display:flex}.input-container{width:100%;min-height:var(--contacts-row-height);position:relative}.input-container input,.input-container textarea{width:100%;height:var(--contacts-row-height);box-sizing:border-box;font:inherit;color:#000;caret-color:#000;-webkit-user-select:none;user-select:none;background-color:#0000;border:none;border-bottom:2px solid #ccc;outline:none;padding:5px 0;font-size:20px;line-height:1.3;display:block}.input-container input:not(:placeholder-shown),.input-container textarea:not(:placeholder-shown){-webkit-user-select:text;user-select:text}.input-container input:not(:placeholder-shown)::selection{color:#000;background-color:#0000002e}.input-container textarea:not(:placeholder-shown)::selection{color:#000;background-color:#0000002e}.input-container textarea{min-height:var(--contacts-row-height);resize:none;scrollbar-width:thin;max-height:180px;overflow:hidden}.input-container .label{color:#ccc;pointer-events:auto;cursor:text;-webkit-user-select:none;user-select:none;font-size:20px;transition:all .3s;position:absolute;top:0;left:0}.input-container input:focus~.label,.input-container input:not(:placeholder-shown)~.label,.input-container textarea:focus~.label,.input-container textarea:not(:placeholder-shown)~.label{color:#333;font-size:20px;top:-24px}.input-container .underline{transform-origin:0;-webkit-user-select:none;user-select:none;background-color:#333;width:100%;height:2px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.input-container input:focus~.underline,.input-container input:not(:placeholder-shown)~.underline,.input-container textarea:focus~.underline,.input-container textarea:not(:placeholder-shown)~.underline{transform:scaleX(1)}.contacts-form__button{padding:var(--contacts-button-padding-y) 28px;color:#fff;font:inherit;cursor:pointer;background-color:#000;border:none;border-radius:999px;align-self:flex-start;font-size:20px;font-weight:500;line-height:1.3;transition:background-color .2s,transform .2s}.contacts-form__button:hover{background-color:#242424}.contacts-form__button:active{transform:scale(.97)}.contacts-status{grid-column:3;grid-template-rows:var(--contacts-row-height) var(--contacts-row-height) auto;justify-self:end;row-gap:var(--contacts-row-gap);text-align:right;color:#000;-webkit-user-select:none;user-select:none;place-items:start end;width:100%;max-width:360px;margin:0;padding:0;display:grid}.contacts-status__line{margin:0;font-size:20px;font-weight:500;line-height:1.3}.contacts-status__line:not(:first-child){color:#777}.contacts-status__line--main{letter-spacing:.04em}.contacts-status__line:nth-child(3){padding-top:var(--contacts-button-padding-y)}.github-icon,.mail-icon,.telegram-icon{flex:none}.divider{background-color:#0009;height:1px;margin:0 40px}.about .about-text{text-align:center;margin:0;font-size:50px;font-weight:500}.about-headline{text-align:center;padding:120px 40px}.skills-and-technologies{padding:40px}.skills-and-technologies__container{align-items:center;gap:10px;font-size:50px;font-weight:500;display:flex}.about-profile{margin:40px}.about-profile__content{grid-template-columns:1fr 1fr;font-size:15px;display:grid}.about-profile__links-content{margin-top:40px;font-size:15px;display:grid}.about-profile__content-left,.about-profile__content-right{min-width:0}.about-profile__user{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:24px;width:100%;font-size:22px;display:grid}.about-profile__role-block{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.about-profile__role{text-align:left;font-size:inherit;margin:0}.about-profile__person{flex-direction:column;justify-self:start;align-items:flex-start;display:flex}.about-profile__name{text-align:right;white-space:nowrap;font-size:inherit;margin:0}.about-profile__name-accent{color:#00b300}.about-profile__location{color:#666;align-items:center;gap:6px;font-size:15px;display:flex}.about-profile__map-pin-icon{flex:none;width:16px;height:16px}.about-profile__description-content{grid-template-columns:1fr 1fr;margin-top:40px;display:grid}.about-profile__description-content>:first-child{grid-column:2}.about-profile__paragraph{font-weight:500}.about-profile__meta{color:#777;margin:0;font-size:14px;line-height:1.4}.about-profile__paragraph strong{color:#000;font-weight:700}.technologies{padding:40px}.technologies__title{letter-spacing:-.04em;margin:0;font-size:50px;font-weight:500;line-height:1.1}.technologies__content{width:100%;margin-top:70px}.technologies__groups{counter-reset:technology-group;width:50%;margin:0 0 0 50%;padding:0;list-style:none}.technologies__group{counter-increment:technology-group;border-top:1px solid #00000024;padding:32px 0;list-style:none}.technologies__group:last-child{border-bottom:1px solid #00000024}.technologies__group-content{grid-template-columns:190px 1fr;align-items:start;gap:34px;display:grid}.technologies__group-title{letter-spacing:-.04em;margin:9px 0 0;font-size:22px;font-weight:700;line-height:1}.technologies__list{flex-flow:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.technologies__item{cursor:default;background-color:#f4f4f4;border-radius:999px;align-items:center;gap:12px;width:fit-content;padding:8px 16px 8px 8px;transition:transform .2s,background-color .2s,box-shadow .2s;display:flex;box-shadow:0 10px 24px #00000009}.technologies__item:hover{background-color:#fff;transform:translateY(-2px);box-shadow:0 14px 32px #00000012}.technologies__icon-circle{background-color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .2s,background-color .2s;display:flex}.technologies__item:hover .technologies__icon-circle{background-color:#f7f7f7;transform:scale(1.04)}.technologies__icon{-webkit-user-select:none;user-select:none;pointer-events:none;flex:none;width:26px;height:26px;display:block}.technologies__item-label{color:#000000b8;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.2;transition:color .2s}.technologies__item:hover .technologies__item-label{color:#000}.java-icon{flex:none;display:block}.java-icon__blue{fill:#5382a1}.java-icon__orange{fill:#f8981d}.cpp-icon{flex:none;display:block}.cpp-icon__blue{fill:#00599c}.cpp-icon__dark-blue{fill:#004482}.cpp-icon__light-blue{fill:#659ad2}.cpp-icon__white{fill:#fff}.qt-icon{color:#2cde85;flex:none;display:block}.kafka-icon{color:#231f20;flex:none;display:block}.postgresql-icon{flex:none;display:block}.postgresql-icon__lines{fill:none;stroke:#fff;stroke-width:12.4651px;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;fill-rule:nonzero;clip-rule:nonzero}.postgresql-icon__outline{fill:#000;stroke:#000;stroke-width:37.3953px;stroke-linecap:butt;stroke-linejoin:miter}.postgresql-icon__body{fill:#336791;stroke:none}.postgresql-icon__bevel-line{stroke-linejoin:bevel}.postgresql-icon__eye{fill:#fff;stroke-linecap:butt;stroke-linejoin:miter}.postgresql-icon__eye--left{stroke-width:4.155px}.postgresql-icon__eye--right{stroke-width:2.0775px}.react-icon{color:#087ea4;flex:none;display:block}.react-icon__dot{fill:currentColor}.react-icon__orbits{fill:none;stroke:currentColor}.javascript-icon{flex:none;display:block}.javascript-icon__background{fill:#efda4f}.javascript-icon__letters{fill:#323330}.html-icon{flex:none;display:block}.html-icon__red-dark{fill:#e44d26}.html-icon__red{fill:#f16529}.html-icon__gray{fill:#ebebeb}.html-icon__white{fill:#fff}.css-icon{flex:none;display:block}.css-icon__blue-dark{fill:#264de4}.css-icon__blue{fill:#2965f1}.css-icon__gray{fill:#ebebeb}.css-icon__white{fill:#fff}.docker-icon{color:#1d63ed;fill:currentColor;flex:none;display:block}.git-icon{color:#f05133;fill:currentColor;flex:none;display:block}.cmake-icon{flex:none;display:block}.cmake-icon__red{fill:#f32735}.cmake-icon__green{fill:#3eae2b}.cmake-icon__blue{fill:#0068c7}.cmake-icon__gray{fill:#dce3ec}.spring-framework-icon{color:#5fb832;fill:currentColor;flex:none;display:block}.linux-icon{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;flex:none;display:block}.work-experience{padding:40px}.work-experience__title{align-items:center;gap:10px;margin:0 0 40px;font-size:50px;font-weight:500;line-height:1.1;display:flex}.work-experience__icon{width:.7em;height:.7em}.work-experience__content{justify-content:flex-end;width:100%;display:flex}.work-experience__list{width:50%;margin:0;padding:0;list-style:none}.work-experience__item:not(:first-child){margin-top:24px}.experience-card{color:#111;background-color:#fff;gap:24px;display:flex}.experience-card__icon-wrapper{background-color:#f1f1f1;border-radius:10px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.experience-card__icon{width:24px;height:24px}.experience-card__body{flex:1;min-width:0}.experience-card__header{justify-content:space-between;align-items:flex-start;gap:24px;min-height:48px;margin-bottom:20px;display:flex}.experience-card__main{min-width:0}.experience-card__role-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.experience-card__role{margin:0;font-size:22px;font-weight:600;line-height:1}.experience-card__badge{background-color:#f1f1f1;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1}.experience-card__company{color:#6b7280;margin-top:4px;font-size:18px}.experience-card__period{color:#6b7280;white-space:nowrap;flex:none;margin:0;font-size:14px}.experience-card__description{color:#4b5563;margin:0 0 22px;font-size:15px;line-height:1.65}.experience-card__section{padding-top:20px}.experience-card__section:not(:last-child){margin-bottom:24px}.experience-card__section-title{margin:0 0 12px;font-size:16px;font-weight:600}.experience-card__technologies{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.experience-card__technology{background-color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1}
