@font-face{font-display:swap;font-family:Roboto;font-weight:400;src:local("Roboto-Regular"),url(Roboto-Regular.woff2) format("woff2"),url(Roboto-Regular.ttf) format("truetype")}@font-face{font-display:swap;font-family:Roboto;font-weight:500;src:local("Roboto-Medium"),url(Roboto-Medium.woff2) format("woff2"),url(Roboto-Medium.ttf) format("truetype")}@font-face{font-display:swap;font-family:Roboto;font-weight:700;src:local("Roboto-Bold"),url(Roboto-Bold.woff2) format("woff2"),url(Roboto-Bold.ttf) format("truetype")}@font-face{font-display:swap;font-family:JetBrains Mono;font-weight:400;src:local("JetBrainsMono-Regular"),url(JetBrainsMono-Regular.woff2) format("woff2"),url(JetBrainsMono-Regular.ttf) format("truetype")}@font-face{font-display:swap;font-family:JetBrains Mono;font-weight:500;src:local("JetBrainsMono-Medium"),url(JetBrainsMono-Medium.ttf) format("woff2"),url(JetBrainsMono-Medium.ttf) format("truetype")}:root{--bg-color:#02030e;--text-color:#c2c6dd;--light-accent-color:#d5b87c;--dark-accent-color:#1b6e6d;--font-main:"Roboto";--font-monospace:"JetBrains Mono";--main-fs:16px;--menu-button-fs:16px;--button-fs:28px;--h1-fs:clamp(3.25rem,2.6338rem + 2.6291vw,5rem);--title-fs:clamp(1.625rem,1.0088rem + 2.6291vw,3.375rem);--subtitle-fs:clamp(1.3125rem,0.9824rem + 1.4085vw,2.25rem);--text-fs:clamp(1rem,0.8239rem + 0.7512vw,1.5rem);--accent-text-fs:clamp(1.3125rem,1.0704rem + 1.0329vw,2rem);--header-block-size:72px;--section-block-size:100vh;--section-min-block-size:578px;--svg-logo-size:32px;--textarea-rows:4em;--animated-text-inline-size:21.2ch;--xs-gap:5px;--s-gap:10px;--m-gap:20px;--l-gap:30px;--xl-gap:40px;--content-wrapper-gap:20px;--nav-gap:20px;--btn-border-radius:10px;--animation-steps:21}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-block-start:calc(var(--header-block-size, 68px) + 50px)}body{min-inline-size:375px;padding:0}body,h1,h2,h3,h4,h5,h6,p{margin:0}ul{list-style:none}picture,ul{margin:0;padding:0}a{text-decoration:none}a,button{color:currentColor;font-family:inherit;font-size:inherit;line-height:inherit}button{background-color:transparent;padding:0}button,fieldset{border:none}input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.visually-hidden{border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0)}.page{background-color:var(--bg-color,#02030e);color:var(--text-color,#c2c6dd);font-family:var(--font-main,"Roboto"),sans-serif;font-size:var(--main-fs,16px);font-weight:400}@supports selector(::-webkit-scrollbar) and selector(::-webkit-scrollbar-thumb) and selector(::-webkit-scrollbar-track){.scrollbar::-webkit-scrollbar{height:var(--main-fs,16px)}.scrollbar::-webkit-scrollbar-thumb{background-color:var(--text-color,#c2c6dd);border:3px solid var(--bg-color);border-radius:5px}.scrollbar::-webkit-scrollbar-track{background-color:#313446;border:5px solid var(--bg-color,#02030e)}}.header{background-color:var(--bg-color,#02030e);inset:0;position:relative;position:sticky;z-index:1}.header .content-wrapper{display:grid;grid-template-columns:-webkit-min-content 1fr;grid-template-columns:min-content 1fr;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-block:var(--content-wrapper-gap,20px)}.main{block-size:calc(100vh - var(--heading-block-size, 72px));overflow:auto;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}.section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;block-size:calc(var(--section-block-size, 100vh) - var(--header-block-size, 72px));min-block-size:var(--section-min-block-size,578px);scroll-snap-align:start}@property --variable{syntax:"<percentage>";inherits:false;initial-value:17%}@property --variable-two{syntax:"<percentage>";inherits:false;initial-value:31%}@-webkit-keyframes scale{0%{--variable-two:31%;--variable:17%}to{--variable-two:36%;--variable:24%}}@keyframes scale{0%{--variable-two:31%;--variable:17%}to{--variable-two:36%;--variable:24%}}@-webkit-keyframes move{0%{background-position:90% 50%}5%{background-position:88% 52%}10%{background-position:92% 48%}15%{background-position:90% 50%}20%{background-position:89% 51%}25%{background-position:91% 49%}30%{background-position:88% 52%}35%{background-position:92% 48%}40%{background-position:90% 50%}45%{background-position:89% 51%}50%{background-position:91% 49%}55%{background-position:88% 52%}60%{background-position:92% 48%}65%{background-position:90% 50%}70%{background-position:89% 51%}75%{background-position:91% 49%}80%{background-position:88% 52%}85%{background-position:92% 48%}90%{background-position:90% 50%}95%{background-position:89% 51%}to{background-position:90% 50%}}@keyframes move{0%{background-position:90% 50%}5%{background-position:88% 52%}10%{background-position:92% 48%}15%{background-position:90% 50%}20%{background-position:89% 51%}25%{background-position:91% 49%}30%{background-position:88% 52%}35%{background-position:92% 48%}40%{background-position:90% 50%}45%{background-position:89% 51%}50%{background-position:91% 49%}55%{background-position:88% 52%}60%{background-position:92% 48%}65%{background-position:90% 50%}70%{background-position:89% 51%}75%{background-position:91% 49%}80%{background-position:88% 52%}85%{background-position:92% 48%}90%{background-position:90% 50%}95%{background-position:89% 51%}to{background-position:90% 50%}}.hero{-webkit-animation:scale 3.5s linear infinite alternate,move 45s linear infinite;animation:scale 3.5s linear infinite alternate,move 45s linear infinite;background-image:radial-gradient(circle,var(--light-accent-color) 0,var(--dark-accent-color) var(--variable),var(--bg-color) var(--variable-two) 100%);background-position:90% 50%;background-repeat:no-repeat;background-size:50%}.footer{background-color:var(--bg-color,#02030e);position:relative;scroll-snap-align:start}.footer .content-wrapper{display:grid;grid-template-columns:1fr -webkit-min-content 1fr;grid-template-columns:1fr min-content 1fr;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-block:var(--content-wrapper-gap,20px)}.footer:before{content:"";position:absolute;-webkit-border-before:1px solid var(--light-accent-color,#d5b87c);border-block-start:1px solid var(--light-accent-color,#d5b87c);-webkit-box-shadow:0 -2px 6px 0 var(--light-accent-color,#d5b87c);box-shadow:0 -2px 6px 0 var(--light-accent-color,#d5b87c);inline-size:100%;inset-block-start:0;inset-inline-start:0}.content-wrapper{inline-size:100%;margin-inline:auto;max-inline-size:1440px;padding-inline:var(--content-wrapper-gap,20px)}.structure-wrapper{display:grid;grid-template-columns:repeat(2,1fr);justify-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--s-gap,10px)}.hero .structure-wrapper{justify-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start}.structure-wrapper__item{inline-size:80%}.contact .structure-wrapper__item:nth-of-type(2){grid-column:2;grid-row:1/3}.logo{block-size:24px;inline-size:240px}.logo p{cursor:pointer;font-size:20px;letter-spacing:2px;line-height:24px;text-align:center;text-transform:uppercase}.menu-button{block-size:24px;cursor:pointer;display:none;inline-size:32px;justify-self:end;position:relative}.menu-button span{background-color:var(--text-color,#c2c6dd);block-size:4px;display:block;inline-size:50%;opacity:1;position:absolute;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}.menu-button span:nth-child(2n){border-radius:0 4px 4px 0;inset-inline-start:50%}.menu-button span:nth-child(odd){border-radius:4px 0 0 4px;inset-inline-start:0}.menu-button span:first-child,.menu-button span:nth-child(2){inset-block-start:0}.menu-button span:nth-child(3),.menu-button span:nth-child(4){inset-block-start:10px}.menu-button span:nth-child(5),.menu-button span:nth-child(6){inset-block-start:20px}.menu-button--open span:first-child,.menu-button--open span:nth-child(6){-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.menu-button--open span:nth-child(2),.menu-button--open span:nth-child(5){-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.menu-button--open span:first-child{inset-block-start:5px;inset-inline-start:3px}.menu-button--open span:nth-child(2){inset-block-start:5px;inset-inline-start:calc(50% - 3px)}.menu-button--open span:nth-child(3){inset-inline-start:-50%;opacity:0}.menu-button--open span:nth-child(4){inset-inline-start:100%;opacity:0}.menu-button--open span:nth-child(5){inset-block-start:15px;inset-inline-start:3px}.menu-button--open span:nth-child(6){inset-block-start:15px;inset-inline-start:calc(50% - 3px)}.menu{justify-self:end}.menu__list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--m-gap,20px)}.menu__list-item:not(:last-child):after{content:"";-webkit-margin-start:var(--m-gap,20px);margin-inline-start:var(--m-gap,20px);-webkit-border-end:2px solid currentColor;border-inline-end:2px solid currentColor}.menu__button{cursor:pointer;font-size:var(--menu-button-fs,16px);line-height:1;text-transform:uppercase}.menu__button:hover{color:var(--dark-accent-color,#1b6e6d)}.menu__button:focus{outline:none}.menu__button:focus-visible{outline:1px solid var(--text-color,#c2c6dd);outline-offset:2px}.title{font-family:var(--font-monospace,"JetBrains Mono"),monospace;font-size:var(--title-fs,32px);text-transform:uppercase}.title,.title--main{color:var(--light-accent-color,#d5b87c);font-weight:500;line-height:1}.title--main{font-family:inherit;font-size:var(--h1-fs,64px);text-shadow:2px 0 12px var(--light-accent-color,#d5b87c);text-transform:capitalize}.title--sub{color:var(--light-accent-color,#d5b87c);font-size:var(--subtitle-fs,21px);font-weight:500;line-height:1}.article{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--s-gap,10px)}.hero .article{grid-column:1;-webkit-margin-after:var(--m-gap,20px);margin-block-end:var(--m-gap,20px)}@-webkit-keyframes typing{0%{inline-size:0}50%,75%{inline-size:var(--animated-text-inline-size,21.2ch)}to{inline-size:0}}@keyframes typing{0%{inline-size:0}50%,75%{inline-size:var(--animated-text-inline-size,21.2ch)}to{inline-size:0}}@-webkit-keyframes blink{50%{border-color:transparent}}@keyframes blink{50%{border-color:transparent}}.animated-wrapper{overflow:auto}.animated-wrapper__text{color:var(--dark-accent-color,#1b6e6d);font-family:var(--font-monospace,"JetBrains Mono"),monospace;font-size:var(--accent-text-fs,24px);font-weight:400;line-height:1;max-inline-size:var(--animated-text-inline-size,21.2ch);overflow:hidden;text-transform:uppercase;white-space:nowrap}.animated-wrapper__animation--first{--animated-text-inline-size:21.2ch}.animated-wrapper__animation--second{--animated-text-inline-size:10.2ch}.animated-wrapper__animation--third{--animated-text-inline-size:19.2ch}.text{font-size:var(--text-fs,20px);line-height:1.3}.link{display:inline-block}.link:after{background-color:currentColor;block-size:1px;content:"";display:block;inline-size:0;-webkit-margin-before:-3px;margin-block-start:-3px}.link:hover{color:var(--dark-accent-color,#1b6e6d)}.link:hover:after{inline-size:100%}.link:focus{outline:none}.link:focus-visible{outline:1px solid var(--text-color,#c2c6dd);outline-offset:2px}.button-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--s-gap,10px);grid-column:1}.button{background-color:transparent;border-radius:var(--btn-border-radius,10px);cursor:pointer;font-size:var(--button-fs,20px);font-weight:600;padding:var(--xs-gap,5px) var(--s-gap,10px)}.button--filled{background-color:var(--light-accent-color,#d5b87c);color:var(--bg-color)}.button--bordered{background-color:transparent;border:1px solid var(--light-accent-color,#d5b87c);color:var(--light-accent-color,#d5b87c)}.button:hover{-webkit-box-shadow:6px 0 16px 0 var(--light-accent-color,#d5b87c);box-shadow:6px 0 16px 0 var(--light-accent-color,#d5b87c)}.button:focus{outline:none}.button:focus-visible{outline:1px solid var(--text-color,#c2c6dd);outline-offset:2px}.article-section:after,.article-section:before{color:var(--dark-accent-color,#1b6e6d);font-family:var(--font-monospace,"JetBrains Mono"),monospace;font-size:var(--title-fs,32px);font-weight:400;inset-inline-start:-2ch;line-height:1;position:absolute}.article-section{position:relative;-webkit-margin-start:2ch;margin-inline-start:2ch;-webkit-padding-end:2ch;font-size:var(--title-fs,32px);padding-block:calc(var(--s-gap, 10px) + 1em);padding-inline-end:2ch}.article-section:before{content:"{";inset-block-start:var(--s-gap,10px)}.article-section:after{content:"}";inset-block-end:0}.skills__list{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:var(--nav-gap,20px)}.skills__list,.skills__list-item{display:-webkit-box;display:-ms-flexbox;display:flex}.skills__list-item{gap:var(--s-gap,10px);-webkit-box-align:center;-ms-flex-align:center;align-items:center}.skills__list-item img{block-size:24px;inline-size:24px}.skills__list-item p{cursor:default}.skills__list-item:hover{scale:1.2}.skills__list-item:hover img{rotate:1turn}.projects__list{display:grid;gap:var(--m-gap,20px);grid-template-columns:repeat(3,calc(50% - 10px));overflow-x:auto;padding:var(--xs-gap,5px)}.projects__list-item a:focus{outline:none}.projects__list-item a:focus-visible .project{outline:1px solid var(--text-color,#c2c6dd);outline-offset:2px}.project{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--xs-gap,5px)}.project,.project__preview{display:-webkit-box;display:-ms-flexbox;display:flex}.project__preview{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;aspect-ratio:16/10;border:3px solid transparent;border-radius:10px;inline-size:100%;overflow:hidden}.project__preview img{aspect-ratio:16/10;inline-size:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.project__preview img:hover{scale:1.05}.project__preview:hover{border-color:var(--dark-accent-color)}.project__title{color:var(--light-accent-color,#d5b87c);font-size:var(--subtitle-fs,21px)}.project__description,.project__title{display:-webkit-box;line-height:1;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.project__description{font-size:var(--text-fs,16px)}.form{gap:var(--s-gap,10px)}.form,.form__label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.form__label{gap:var(--xs-gap,5px)}.form__label-text,.form__textfield{font-size:var(--text-fs,16px);line-height:100%}.form__textfield{background-color:transparent;border:1px solid var(--text-color,#c2c6dd);border-radius:10px;caret-color:var(--text-color,#c2c6dd);color:var(--text-color,#c2c6dd);font-weight:inherit;padding:var(--s-gap,10px)}.form__textfield:focus{outline:none}.form__textfield:focus-visible{border-color:var(--dark-accent-color,#1b6e6d);-webkit-box-shadow:4px 0 16px 0 var(--dark-accent-color,#1b6e6d);box-shadow:4px 0 16px 0 var(--dark-accent-color,#1b6e6d)}textarea.form__textfield{block-size:calc(var(--textarea-rows, 4em) + var(--s-gap, 10px)*2 + 2px);resize:none}.footer .contacts{justify-self:end}.contacts__list{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--s-gap,10px)}.contacts__list-item{block-size:var(--svg-logo-size,32px);inline-size:var(--svg-logo-size,32px)}.contacts__list-item img{block-size:100%;inline-size:100%}.contacts__list-item a:focus{outline:none}.contacts__list-item a:focus-visible{outline:1px solid var(--text-color,#c2c6dd);outline-offset:2px}.contacts__list-item:hover .link{color:var(--dark-accent-color,#1b6e6d)}.contacts__list-item:hover .link:after{inline-size:100%}.contacts__list-item:hover img{rotate:1turn}.contact .contacts__list{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.contact .contacts__list-item a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--s-gap,10px)}.contacts__text{font-size:var(--text-fs,16px);font-weight:300;line-height:1}.footer__sponsors-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;justify-self:start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--main-fs,16px);font-weight:300}@media (width < 920px){:root{--button-fs:20px;--menu-button-fs:24px;--section-block-size:100dvh;--section-min-block-size:652px;--textarea-rows:2em}.main{block-size:calc(100dvh - var(--heading-block-size, 72px))}.footer .content-wrapper{gap:var(--content-wrapper-gap,20px);grid-template-columns:-webkit-min-content 1fr;grid-template-columns:min-content 1fr;justify-items:center}.structure-wrapper{grid-template-columns:1fr}.structure-wrapper__item{inline-size:100%}.contact .structure-wrapper__item:nth-of-type(2){grid-column:initial;grid-row:initial}.footer .logo{grid-column:1;grid-row:1}.menu-button{display:block}.menu{grid-column:1/3;justify-self:start;-webkit-margin-before:60px;margin-block-start:60px}.menu:after{content:"";position:absolute;-webkit-border-after:1px solid var(--light-accent-color,#d5b87c);border-block-end:1px solid var(--light-accent-color,#d5b87c);-webkit-box-shadow:0 2px 6px 0 var(--light-accent-color,#d5b87c);box-shadow:0 2px 6px 0 var(--light-accent-color,#d5b87c);inline-size:100%;inset-block-end:0;inset-inline-start:0}.menu__list{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:start;gap:var(--l-gap,30px)}.menu__list-item:after{display:none}.projects__list{grid-template-columns:repeat(3,100%);-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}.projects__list-item{scroll-snap-align:center}.footer .contacts{grid-row:1/3}.footer .contacts__list{gap:var(--m-gap,20px)}.footer__sponsors-wrapper{grid-row:2;justify-self:inherit}}@media (width < 530px){:root{--section-min-block-size:575px;--svg-logo-size:24px}.footer .content-wrapper{grid-template-columns:1fr}.form{gap:var(--xs-gap,5px)}.form__textfield{padding:7px}.footer .contacts{grid-row:2;justify-self:inherit}.footer__sponsors-wrapper{grid-row:3}}@media (prefers-reduced-motion:no-preference){.menu-button span{-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}.menu__list-item button{-webkit-transition:color .3s;transition:color .3s}.animated-wrapper__text{-webkit-border-end:2px solid currentColor;-webkit-animation:typing 4s steps(var(--animation-steps,21)) infinite,blink .5s step-end infinite alternate;animation:typing 4s steps(var(--animation-steps,21)) infinite,blink .5s step-end infinite alternate;border-inline-end:2px solid currentColor;will-change:inline-size}.animated-wrapper__animation--first{--animation-steps:21}.animated-wrapper__animation--second{--animation-steps:10}.animated-wrapper__animation--third{--animation-steps:19}.link{-webkit-transition:color .3s;transition:color .3s}.link:after{-webkit-transition:width .5s,background-color .3s;transition:width .5s,background-color .3s}.button{-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s,-webkit-box-shadow .3s}.skills__list-item{-webkit-transition:scale .6s ease-out;transition:scale .6s ease-out}.skills__list-item img{-webkit-transition:rotate .6s ease-in-out;transition:rotate .6s ease-in-out}.project__preview{-webkit-transition:border-color .3s;transition:border-color .3s}.project__preview img{-webkit-transition:scale .6s;transition:scale .6s}.form__textfield{-webkit-transition:border-color .3s,-webkit-box-shadow .3s;transition:border-color .3s,-webkit-box-shadow .3s;transition:border-color .3s,box-shadow .3s;transition:border-color .3s,box-shadow .3s,-webkit-box-shadow .3s}.contacts__list-item img{-webkit-transition:rotate .6s ease-in-out;transition:rotate .6s ease-in-out}}