@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2")}:root{--webkit-scrollbar-w: 6px;--webkit-scrollbar-h: 6px;--webkit-scrollbar-button-w: 1px;--webkit-scrollbar-button-h: 1px;--webkit-scrollbar-thumb-color: var(--background-color);--webkit-scrollbar-thumb-bordercolor: var(--foreground-color);--webkit-scrollbar-thumb-borderradius: 10px;--webkit-scrollbar-corner-background: transparent;--webkit-scrollbar-track-bordercolor: transparent;--webkit-scrollbar-track-borderradius: 4px;--background-color: rgb(30, 24, 43);--background-color-2: rgb(83, 76, 92);--foreground-color: rgba(232, 234, 237, 1);--foreground-color-06: rgba(232, 234, 237, .6);--dev-color: #f4e7c6;--prod-color: #d2f1df;--dev-bgcolor: #7a5b1e;--prod-bgcolor: #21503a;--dev-outline: #e5c68c;--prod-outline: #9bd5b4;--container-maxw: 1680px;--container-mid-maxw: 800px;--header-maxh: 80px;--pad: 100px;--main-font: "Montserrat", sans-serif;--title-font: "IBM Plex Sans", sans-serif;--font-main-base: 18px;--font-title-h1: 45px;--font-title-h2: 38px;--font-title-h3: 28px;--font-title-h3-em: 22px;--font-title-base: 18px;--motion-ease-out: cubic-bezier(.2, .8, .2, 1);--motion-ease-std: cubic-bezier(.4, 0, .2, 1)}@media (max-width: 1700px){:root{--container-maxw: 90vw}}@media (max-width: 1024px){:root{--pad: 60px;--font-main-base: 16px;--font-title-h1: 35px;--font-title-h2: 30px;--font-title-h3: 20px;--font-title-h3-em: 18px}}@media (max-width: 768px){:root{--header-maxh: 131px}}*{font-family:var(--main-font);font-size:var(--font-main-base);box-sizing:border-box;will-change:auto}header,main,footer{width:100%}main{padding-top:var(--header-maxh)}header{position:fixed;top:0;left:0;z-index:9;background-color:var(--background-color-2);border-bottom:2px solid var(--foreground-color);min-height:var(--header-maxh);display:flex;align-items:center}body{background-color:var(--background-color-2);color:var(--foreground-color);margin:0;padding:0;scroll-behavior:smooth}body::-webkit-scrollbar{width:var(--webkit-scrollbar-w);height:var(--webkit-scrollbar-h)}body::-webkit-scrollbar-button{width:var(--webkit-scrollbar-button-w);height:var(--webkit-scrollbar-button-h)}body::-webkit-scrollbar-corner{background:var(--webkit-scrollbar-corner-background)}body::-webkit-scrollbar-thumb{background:var(--webkit-scrollbar-thumb-color);border:1px solid var(--webkit-scrollbar-thumb-bordercolor);border-radius:var(--webkit-scrollbar-thumb-borderradius)}body::-webkit-scrollbar-track{background:var(--webkit-scrollbar-track-bordercolor);border:1px solid var(--webkit-scrollbar-track-bordercolor);border-radius:var(--webkit-scrollbar-track-borderradius)}section{width:100%;padding:var(--pad) 0}section>div{max-width:var(--container-maxw);width:100%;margin:0 auto}h1,h2,h3,h3 em,.is-h3,.is-h3 em{font-family:var(--title-font);line-height:1;font-weight:600;letter-spacing:1px}h1{font-size:var(--font-title-h1);padding-bottom:30px}h2{margin-bottom:calc(var(--pad) / 2);font-size:var(--font-title-h2);border-bottom:2px solid var(--foreground-color);padding-bottom:10px}h3,.is-h3{font-size:var(--font-title-h3);margin-bottom:20px}h3 em,.is-h3 em{font-style:normal;font-size:var(--font-title-h3-em);font-weight:400;color:var(--foreground-color)}a{text-decoration:underline}p{line-height:160%}p:not(:last-of-type),ul li:not(:last-of-type){padding-bottom:15px}ul{list-style:disc;list-style-position:inside}button{cursor:pointer}strong{font-weight:600}::selection{background:var(--background-color);color:var(--foreground-color)!important}@media (max-width: 1024px){h2{margin-bottom:40px}}@media (max-width: 768px){h1,h2{text-align:center}}.t-bg ::selection{background:var(--foreground-color);color:var(--background-color)!important}.t-bg{background-color:var(--background-color)}.t-btn{background-color:var(--foreground-color);border:2px solid var(--background-color);border-radius:15px;padding:8px 28px;font-family:var(--title-font);font-size:var(--font-title-base);font-weight:600;color:var(--background-color);text-decoration:none;display:inline-block;text-transform:uppercase;transition:transform .2s var(--motion-ease-std),background-color .2s var(--motion-ease-std),color .2s var(--motion-ease-std),border-color .2s var(--motion-ease-std);letter-spacing:1px}.t-btn[disabled]{cursor:not-allowed}.t-btn.is-working,.t-btn.is-working:hover{background-color:var(--foreground-color-06);border-color:var(--background-color-2);color:var(--background-color-2)}.t-btn.is-success,.t-btn.is-success:hover{background-color:var(--prod-bgcolor);border-color:var(--foreground-color);color:var(--foreground-color)}.t-btn span{font-family:var(--title-font);font-size:var(--font-title-base);font-weight:600;letter-spacing:1px}.t-btn:hover{background-color:transparent;color:var(--foreground-color);border-color:var(--foreground-color);transform:translateY(-2px)}.t-btn.t--alt{background-color:var(--background-color);color:var(--foreground-color);border-color:var(--foreground-color)}.t-btn.t--alt:hover{background-color:var(--foreground-color);color:var(--background-color)}.c-header{height:100%;max-height:var(--header-maxh);width:100%;max-width:var(--container-maxw);margin:0 auto;background-color:var(--background-color-2);display:flex;align-items:center;justify-content:space-between}.c-header p,.c-header a,.c-header button{font-family:var(--title-font);font-size:var(--font-title-base);font-weight:600;text-decoration:none;letter-spacing:1px}.c-header a{padding:5px 10px;border-radius:15px;transition:background-color .2s ease-in-out,color .2s ease-in-out}.c-header a.is-active,.c-header a:hover,.c-header a:focus{background-color:var(--background-color);color:var(--foreground-color)}.c-header .c-header__nav{display:grid;grid-auto-flow:column;grid-gap:20px}.c-header .c-header__lang>button{padding:0 10px;transition:all .3s ease-in-out}.c-header .c-header__lang>button:hover{background-color:var(--background-color);color:var(--foreground-color)}.c-header .c-header__lang>button:first-child{border-right:2px solid var(--foreground-color)}@media (max-width: 768px){header,.c-header{flex-direction:column;justify-content:center}.c-header{padding:10px 0}.c-header .c-header__lang{order:2;padding-top:10px}.c-header .c-header__nav{display:flex;flex-wrap:wrap;grid-gap:0;justify-content:center;align-items:center;align-content:center}.c-header a:not(:last-child){margin-right:5px}}.c-intro{display:flex}.c-intro,.c-intro *{--intro-img-width: 400px}.c-intro>div{width:100%;max-width:100%}.c-intro>.c-intro__text{display:flex;flex-direction:column;justify-content:center}.c-intro>.c-intro__img{width:100%;max-width:var(--intro-img-width);margin-left:20px}.c-intro>.c-intro__img picture img{border:2px solid var(--foreground-color);border-radius:15px;box-shadow:0 0 10px var(--foreground-color)}.c-intro>.c-intro__text .c-intro__btns{display:flex;padding-top:30px}.c-intro>.c-intro__text .c-intro__btns>a{padding:10px;transition:all .3s ease-in-out}.c-intro>.c-intro__text .c-intro__btns>a:first-child{border-right:2px solid var(--foreground-color)}.c-intro>.c-intro__text .c-intro__btns>a:hover{background-color:var(--background-color)}@media (max-width: 1024px){.c-intro,.c-intro *{--intro-img-width: 250px}}@media (max-width: 768px){.c-intro{flex-direction:column}.c-intro>.c-intro__text .c-intro__btns{justify-content:center;padding-top:20px;padding-bottom:40px}.c-intro>.c-intro__img{margin:0 auto}}.c-logodesc,.c-logodesc *{--logodesc-img-maxw: 220px;--logodesc-gap: 70px}.c-logodesc:not(:last-child){padding-bottom:60px}.c-logodesc .c-logodesc__item{display:grid;grid-template-columns:var(--logodesc-img-maxw) 1fr;grid-gap:var(--logodesc-gap)}.c-logodesc .c-logodesc__item>*{grid-row:1}.c-logodesc .c-logodesc__item .c-logodesc__img{grid-column:1}.c-logodesc .c-logodesc__item .c-logodesc__img svg{max-width:var(--logodesc-img-maxw)}.c-logodesc .c-logodesc__item .c-logodesc__content{grid-column:2}.c-logodesc .c-logodesc__item .c-logodesc__content ul{padding-top:15px}@media (min-width: 1025px) and (max-width: 1279px){.c-logodesc,.c-logodesc *{--logodesc-gap: 40px}}@media (max-width: 1024px){.c-logodesc,.c-logodesc *{--logodesc-gap: 20px}.c-logodesc:not(:last-child){padding-bottom:40px}.c-logodesc .c-logodesc__item{display:flex;flex-direction:column-reverse}.c-logodesc .c-logodesc__item .c-logodesc__img svg{--logodesc-img-maxw: 150px}}@media (max-width: 768px){.c-logodesc .c-logodesc__item .c-logodesc__img svg{margin:0 auto}}.c-education .c-education__card .c-education__txt>p:not(:last-child){padding-bottom:20px}.c-projects{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:40px}.c-projects .c-projects__project{background-color:var(--background-color);border:2px solid var(--foreground-color);border-radius:15px;overflow:hidden;display:flex;flex-direction:column;height:100%;box-shadow:0 0 10px var(--foreground-color);transition:transform .25s var(--motion-ease-std),box-shadow .25s var(--motion-ease-std)}.c-projects .c-projects__project:hover{transform:translateY(-3px);box-shadow:0 8px 18px #00000038,0 0 10px var(--foreground-color)}.js-reveal{opacity:0;transform:translateY(14px);transition:opacity .45s var(--motion-ease-out),transform .45s var(--motion-ease-out);transition-delay:var(--reveal-delay, 0ms)}.js-reveal.is-revealed{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.js-reveal,.js-reveal.is-revealed,.t-btn,.c-projects .c-projects__project{transition:none!important;animation:none!important;transform:none!important;opacity:1!important}}@media (min-width: 1025px) and (max-width: 1279px){.c-projects{grid-gap:20px}}@media (max-width: 1024px){.c-projects{display:flex;flex-direction:column}.c-projects .c-projects__project{max-width:var(--container-mid-maxw);margin:0 auto}}.c-card>div{padding:25px}.c-card>div img{border-radius:15px}.c-card .c-card__container>*:not(.c-card__header){padding-top:30px}.c-card .c-card__container .c-card__header{display:flex;justify-content:space-between}.c-card .c-card__container .c-card__header h3{margin-bottom:0}.c-card .c-card__container .c-card__header .c-card__statecont .c-card__state{display:flex;align-content:center;align-items:center;gap:10px;max-width:max-content;border-radius:15px;padding:5px 15px}.c-card .c-card__container .c-card__header .c-card__statecont .c-card__state .c-card__icon{position:relative;display:inline-block;width:10px;height:10px;flex:0 0 10px;--status-dot-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='5' fill='black'/%3E%3C/svg%3E")}.c-card .c-card__container .c-card__header .c-card__statecont .c-card__state .c-card__icon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:10px;height:10px;background-color:currentColor;-webkit-mask-image:var(--status-dot-svg);mask-image:var(--status-dot-svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}.c-card .c-card__container .c-card__header .c-card__statecont .c-card__state .c-card__icon:after{content:"";position:absolute;top:50%;left:50%;display:block;width:10px;height:10px;border-radius:50%;pointer-events:none;opacity:0;animation:c-cardPulse 2s ease-out infinite;transform:translate(-50%,-50%) scale(1)}.c-card .c-card__container .c-card__header .c-card__statecont .c-card__state{background-color:var(--prod-bgcolor);color:var(--prod-color);border:1px solid var(--prod-outline)}.c-card .c-card__container .c-card__header .c-card__statecont .c-card__state.is-dev{background-color:var(--dev-bgcolor);color:var(--dev-color);border:1px solid var(--dev-outline)}.c-card .c-card__container .c-card__header .c-card__statecont .c-card__state .c-card__icon:after{border:1px solid var(--prod-outline)}.c-card .c-card__container .c-card__header .c-card__statecont .c-card__state.is-dev .c-card__icon:after{border:1px solid var(--dev-outline)}.c-card .c-card__container .c-card__header .c-card__statecont .c-card__state p{font-size:15px;line-height:1;color:currentColor}@keyframes c-cardPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(1)}20%{opacity:.6;transform:translate(-50%,-50%) scale(1.3)}to{opacity:.3;transform:translate(-50%,-50%) scale(2.5)}}.c-card .c-card__container .c-card__tags{display:flex}.c-card .c-card__container .c-card__tags>p:not(:last-child){margin-right:10px}.c-card .c-card__container .c-card__tags p{padding:0 12px;border:2px solid var(--foreground-color);border-radius:15px;background-color:var(--background-color-2);color:var(--foreground-color);font-size:16px}.c-card .c-card__container .c-card__link{display:flex;align-items:center;justify-content:center;align-content:center}@media (max-width: 1024px){.c-card .c-card__container>*:not(.c-card__header){padding-top:20px}.c-card .c-card__container .c-card__tags>p{margin-bottom:10px}}@media (max-width: 768px){.c-card .c-card__container .c-card__header{flex-direction:column-reverse;align-items:center}.c-card .c-card__container .c-card__header h3{padding-top:20px}.c-card .c-card__container .c-card__tags{flex-wrap:wrap;justify-content:center}}.c-introsection p{max-width:var(--container-mid-maxw);margin:0 auto;text-align:center}.c-introsection p,.c-introsection p a{font-size:var(--font-title-base);font-weight:500}.c-introsection p:last-of-type{padding-bottom:40px}@media (max-width: 1024px){.c-introsection p,.c-introsection p a{font-size:18px;font-weight:400}}.c-contact{background-color:var(--background-color);border-radius:15px;border:2px solid var(--foreground-color);padding:25px;box-shadow:0 0 10px var(--foreground-color)}.c-contact form{display:grid;grid-template-columns:1fr 1fr}.c-contact form .c-contact__field{display:flex;flex-direction:column;margin-bottom:20px;padding:0 10px}.c-contact form .c-contact__field,.c-contact form .c-contact__actions{padding:0 10px}.c-contact form .c-contact__field.is-message,.c-contact form .c-contact__actions{grid-column:1 / span 2}.c-contact form .c-contact__field label{font-weight:600;margin-bottom:8px}.c-contact form .c-contact__field input,.c-contact form .c-contact__field textarea{padding:10px;border:2px solid var(--foreground-color);border-radius:15px;background-color:var(--background-color-2);color:var(--foreground-color);font-size:16px;font-family:var(--main-font);resize:vertical}.c-contact form .c-contact__field textarea{min-height:150px}.c-contact form .c-contact__field span{padding-top:10px;color:red}.c-contact form .c-contact__actions{margin:0 auto;padding-top:20px;display:grid;grid-template-columns:repeat(1,1fr);grid-gap:20px;text-align:center;max-width:450px}.c-contact form .c-contact__actions p{font-size:var(--font-title-base)}.c-contact form .c-contact__actions button{max-width:max-content;margin:0 auto}@media (max-width: 1024px){.c-contact{padding:20px}.c-contact form{display:flex;flex-direction:column}}@media (min-width: 769px){.c-contact{max-width:var(--container-mid-maxw)}}
