@keyframes Footer_rotateGradient__jS4pR{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}.Footer_footer__6Yk06{background-color:var(--bg-color)}.Footer_links_container__m9_ws{max-width:min(80vw,900px);margin-inline:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:1.3rem;gap:1.3rem;padding:0;padding-block:1rem;margin-block:0}.Footer_links_container__m9_ws a{color:var(--c2)}.Links_container__GgNn8 a{display:inline-flex;align-items:center;gap:1ch}@keyframes Presentation_rotateGradient__3clts{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}@keyframes Presentation_descriptionAppears__KWjPU{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes Presentation_contactAppears__ahA6t{0%{opacity:0}to{opacity:1}}.Presentation_presentation__xO__6{position:relative;padding:1rem;background-color:var(--bg-color);border-radius:var(--border-radius);max-width:min(80vw,500px);margin-inline:auto;text-align:center;margin-top:1em}@media(min-width:769px){.Presentation_presentation__xO__6{display:flex;flex-direction:row-reverse;align-items:center;gap:1.5em;min-width:40rem;margin-block:4em}}.Presentation_presentation__xO__6 section{margin-bottom:0}@media(min-width:769px){.Presentation_description__fR0fm div{border-left:2px solid var(--c2);overflow:hidden}.Presentation_description__fR0fm div p{opacity:0;animation:Presentation_descriptionAppears__KWjPU .5s ease-out forwards;text-align:start;padding-left:1em}}.Presentation_contact__6wx5Q{display:flex;justify-content:center;gap:1em}.Presentation_contact__6wx5Q a{color:var(--c2);opacity:0;animation:Presentation_contactAppears__ahA6t .2s ease-in-out forwards;transition:transform .2s ease}.Presentation_contact__6wx5Q a:hover{transform:scale(1.05)}.Presentation_contact__6wx5Q a:nth-child(2){animation-delay:.2s}.Presentation_contact__6wx5Q a:nth-child(3){animation-delay:.4s}.Presentation_contact__6wx5Q span{display:none;color:var(--c2)}@media(min-width:769px){.Presentation_contact__6wx5Q{flex-direction:column}.Presentation_contact__6wx5Q a{flex-direction:row-reverse}.Presentation_contact__6wx5Q span{display:inline}}body[data-theme=dark] .Presentation_presentation__xO__6{background-color:var(--principal-bg-color);box-shadow:none;border:none}body[data-theme=dark] .Presentation_presentation__xO__6:after,body[data-theme=dark] .Presentation_presentation__xO__6:before{content:"";position:absolute;inset:-.2rem;z-index:-1;border-radius:inherit;background:conic-gradient(from var(--gradient-angle),var(--c1) 0deg,var(--c2) 90deg,var(--c3) 180deg,var(--c2) 270deg,var(--c1) 1turn);animation:Presentation_rotateGradient__3clts 15s linear infinite}@-moz-document url-prefix(){body[data-theme=dark] .Presentation_presentation__xO__6:after,body[data-theme=dark] .Presentation_presentation__xO__6:before{background:conic-gradient(from 45deg,var(--c1) 0deg,var(--c2) 90deg,var(--c3) 180deg,var(--c2) 270deg,var(--c1) 1turn)}}body[data-theme=dark] .Presentation_presentation__xO__6:after{filter:blur(3.5rem)}@keyframes Technologies_rotateGradient__5i3AO{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}.Technologies_technologies__pgoa_{width:100%}.Technologies_grid__c1zTN{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));justify-items:center;grid-gap:2em;gap:2em;width:100%;max-width:min(90vw,30rem);margin-inline:auto}.Technologies_tech__51AAh{margin:0}.Technologies_tech__51AAh svg{opacity:.8}.Technologies_tech__51AAh figcaption{text-align:center}@keyframes TimeLine_rotateGradient__1z_wI{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}.TimeLine_timeline__UmoEv{background-color:var(--principal-color)}.TimeLine_timeline__block__GlvM3{display:grid;grid-template-columns:0 45px 15px 1fr;max-width:100%}@media(min-width:577px){.TimeLine_timeline__block__GlvM3{grid-template-columns:45% 45px 15px 45%}}.TimeLine_date__iN2yI{color:var(--c2);text-align:right;margin-right:1rem;display:none;margin-top:30px}@media(min-width:577px){.TimeLine_date__iN2yI{display:block}}.TimeLine_column_center__LrlV4{padding-top:1rem;position:relative}.TimeLine_card__c776c{overflow:hidden;background-color:var(--bg-color);border-radius:.5rem;margin-block:1rem}.TimeLine_card__arrow__Fx5gd{width:15px;height:20px;-webkit-clip-path:polygon(0 50%,100% 100%,100% 0);clip-path:polygon(0 50%,100% 100%,100% 0);background-color:var(--c2);margin-top:30px;z-index:1}.TimeLine_card__header__7CXha,.TimeLine_card__section__mes2V{padding:.8em}.TimeLine_card__header__7CXha{color:#fff;background-color:var(--c2)}.TimeLine_card__title__OzvB5{font-size:1.2rem;line-height:1;font-weight:700;padding-bottom:.5em}.TimeLine_card__subtitle__brZOn{font-size:1rem;font-weight:700}.TimeLine_card__date__mjqyY{font-size:small;margin-top:.5em}@media(min-width:577px){.TimeLine_card__date__mjqyY{display:none}}.TimeLine_card__description__3VJhC{font-size:1rem;color:var(--c2);background-color:var(--bg-color);margin-bottom:.3em}.TimeLine_card__url__Sy9c6{color:#fff;padding:initial;padding-left:7px;padding-right:7px;font-size:small;border-radius:10px;background-color:var(--c2);text-decoration:none}.TimeLine_circle__6wcB0{width:45px;height:45px;background-color:var(--c2);border:3px solid var(--bg-color);display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:1;position:relative}.TimeLine_line__PRhT5{border-left:3px solid var(--bg-color);height:100%;position:absolute;left:50%;z-index:1;top:0;bottom:0}@keyframes Projects_rotateGradient__GpPJL{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}.Projects_projects__2qEs0{display:grid;grid-gap:1.5rem;gap:1.5rem}@media(min-width:768px){.Projects_projects__2qEs0{grid-template-columns:1fr 1fr;grid-auto-rows:1fr}}.Projects_project__shF_M{position:relative;background-color:var(--bg-color);border-radius:var(--border-radius);padding:.8em}.Projects_preview__U3PTn{position:relative;width:100%;aspect-ratio:1.6;margin-bottom:1rem;border-radius:inherit}.Projects_preview__U3PTn a,.Projects_preview__U3PTn img{border-radius:inherit}.Projects_preview__U3PTn a{color:var(--color);background-color:var(--bg-semi-transparent);position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;inset:0;opacity:1;transition:opacity .3s ease-in-out;font-size:larger;text-decoration:none;font-weight:700}@media(min-width:769px){.Projects_preview__U3PTn a{opacity:.7}.Projects_preview__U3PTn a:hover{opacity:1}}.Projects_title__DKIgk{margin-block:0}.Projects_description__gC3y1{margin-top:.3em}.Projects_topicContainer__G4_I6{display:none}.Projects_topicContainer__G4_I6 span{border-radius:7px;padding:.3em .5em;font-size:small;font-weight:700;color:var(--bg-color);background-color:var(--color)}.Projects_topicContainer__G4_I6 .Projects_javascript-vanilla__qgCqq,.Projects_topicContainer__G4_I6 .Projects_vanilla-javascript__KVeKx{border:none;color:#31312f;background-color:#f7df1e}.Projects_topicContainer__G4_I6 .Projects_typescript__7tdsM{border:none;color:#fff;background-color:#2d79c7}.Projects_topicContainer__G4_I6 .Projects_sass__f_9Ju{color:#936;background-color:#fff;border:1px solid #936}.Projects_topicContainer__G4_I6 .Projects_bem-methodology__rDXzD{border:none;color:#fff;background-color:#000}.Projects_topicContainer__G4_I6 .Projects_imgkit__DPcTr{color:#fff;background-color:#0340aa;border:1px solid #0340aa}.Projects_topicContainer__G4_I6 .Projects_mongodb__JVUL4{border:none;color:#fff;background-color:#116149}.Projects_topicContainer__G4_I6 .Projects_aws-s3__i35nO{border:none;color:#fff;background-color:#ff9a00}.Projects_topicContainer__G4_I6 .Projects_react__uIzOE{border:none;color:#fff;background-color:#0c9fcb}.Projects_topicContainer__G4_I6 .Projects_nextjs14__CDz53{color:#fff;background-color:#000;border:1px solid #fff}.Projects_topicContainer__G4_I6 .Projects_godot__B5LzL{border:none;color:#fff;background-color:#478cbf}.Projects_topicContainer__G4_I6 .Projects_html5__LOE0k{border:none;color:#fff;background-color:#f16524}.Projects_topicContainer__G4_I6 .Projects_css3__EDqWz,.Projects_topicContainer__G4_I6 .Projects_css__OIBHW{border:none;color:#fff;background-color:#3c9cd7}.Projects_topicContainer__G4_I6 .Projects_astro-js__yKGa5,.Projects_topicContainer__G4_I6 .Projects_astro__JrYYA,.Projects_topicContainer__G4_I6 .Projects_astrojs__H8GV6{border:none;color:#fff;background-color:#4c1689}@media(min-width:769px){.Projects_topicContainer__G4_I6{display:flex;flex-direction:row;flex-wrap:wrap;align-content:center;gap:1em;padding-bottom:1em}}.Projects_dates__v7Cyw{font-size:.6rem;margin:0}.Projects_dates__v7Cyw dd,.Projects_dates__v7Cyw dt{display:inline}.Projects_dates__v7Cyw dd{margin-left:1ch}body[data-theme=dark] .Projects_project__shF_M{background-color:var(--principal-bg-color);box-shadow:none;border:none}body[data-theme=dark] .Projects_project__shF_M:after,body[data-theme=dark] .Projects_project__shF_M:before{content:"";position:absolute;inset:-.2rem;z-index:-1;border-radius:inherit;background:conic-gradient(from var(--gradient-angle),var(--c1) 0deg,var(--c2) 90deg,var(--c3) 180deg,var(--c2) 270deg,var(--c1) 1turn);animation:Projects_rotateGradient__GpPJL 15s linear infinite}@-moz-document url-prefix(){body[data-theme=dark] .Projects_project__shF_M:after,body[data-theme=dark] .Projects_project__shF_M:before{background:conic-gradient(from 45deg,var(--c1) 0deg,var(--c2) 90deg,var(--c3) 180deg,var(--c2) 270deg,var(--c1) 1turn)}}body[data-theme=dark] .Projects_project__shF_M:after{filter:blur(3.5rem)}.ExternalLink_link__A9_cE{display:inline-flex;align-items:center}.ExternalLink_link__A9_cE svg{margin-left:.3ch}@keyframes ThemeBtn_rotateGradient__roNMZ{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}.ThemeBtn_btn__NgOyh{position:absolute;z-index:3;padding:.7rem;border:0;background-color:transparent;color:var(--color)}@media(min-width:769px){.ThemeBtn_btn__NgOyh{position:fixed;top:0}}.ThemeBtn_btn__NgOyh:hover svg{color:var(--c2)}@keyframes Skills_rotateGradient__z64Ik{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}.Skills_container__qN2w7{background-color:var(--bg-color);padding-block:3rem}.Skills_auto_margin__7Ukr3{max-width:min(80vw,900px);margin-inline:auto;display:grid}.Skills_auto_margin__7Ukr3 article:first-child{margin-bottom:2rem}@media(min-width:769px){.Skills_auto_margin__7Ukr3{grid-template-columns:repeat(2,1fr);gap:2.5em}}.Skills_skill_list__8H5ti{list-style-image:url(/assets/check.svg);padding-left:20px}@keyframes Header_rotateGradient___34c5{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}.Header_header__9Ro2F{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:clamp(10rem,4rem + 20vh,20rem);padding-bottom:clamp(8rem,1rem + 1vw,10rem)}@media(min-width:768px){.Header_header__9Ro2F{padding-top:3.7rem}}.Header_image___tFv2{object-fit:cover;z-index:-1;height:calc(100% - clamp(8rem,1rem + 1vw,10rem)/2)!important}.Header_titlesContainer__NMw44{background-color:var(--bg-semi-transparent);position:absolute;inset:0;bottom:calc(clamp(8rem,1rem + 1vw,10rem)/2);display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:calc(clamp(8rem,1rem + 1vw,10rem)/2)}@media(min-width:769px){.Header_titlesContainer__NMw44{padding-top:3.5rem}}.Header_titlesContainer__NMw44 h1{font-size:clamp(2.5rem,.2rem + 3vw,4rem)}.Header_titlesContainer__NMw44 h1,.Header_titlesContainer__NMw44 h2{text-align:center;background:linear-gradient(to right,var(--c1),var(--c2),var(--c1));filter:brightness(.7);-webkit-background-clip:text;background-clip:text;color:transparent;margin:.2em}.Header_titlesContainer__NMw44 h2{font-style:italic}.Header_profileContainer___DqOd{position:absolute;bottom:0;left:calc(50% - clamp(8rem,1rem + 1vw,10rem)/2);width:clamp(8rem,1rem + 1vw,10rem);aspect-ratio:1;background-color:var(--principal-bg-color);border-radius:50%}.Header_profileContainer___DqOd>img{width:87%!important;height:87%!important;inset:6%!important}body[data-theme=light] .Header_image___tFv2{animation:Header_changeColorLight__OUUhz 4s linear infinite}@keyframes Header_changeColorLight__OUUhz{0%{filter:hue-rotate(0turn)}to{filter:hue-rotate(1turn)}}body[data-theme=dark] .Header_image___tFv2{animation:Header_changeColorDark__Dc04P 4s linear infinite}@keyframes Header_changeColorDark__Dc04P{0%{filter:hue-rotate(0turn) brightness(.5)}to{filter:hue-rotate(1turn) brightness(.5)}}body[data-theme=dark] .Header_titlesContainer__NMw44 h1,body[data-theme=dark] .Header_titlesContainer__NMw44 h2{filter:none}@keyframes Navbar_rotateGradient__D7FoA{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}@keyframes Navbar_clipPathCircleOpen__RAl69{0%{-webkit-clip-path:circle(0 at top right);clip-path:circle(0 at top right)}to{-webkit-clip-path:circle(250% at top right);clip-path:circle(250% at top right)}}@keyframes Navbar_clipPathCircleClose___nP5g{0%{-webkit-clip-path:circle(250% at top right);clip-path:circle(250% at top right)}to{-webkit-clip-path:circle(0 at top right);clip-path:circle(0 at top right)}}.Navbar_siteNav__vII4_{position:relative;z-index:2}.Navbar_siteNav__vII4_ a{color:var(--color);display:block;padding:1em 4em 1em 1em;text-transform:uppercase;text-decoration:none;transition:color .4s,background-color .4s}.Navbar_siteNav__vII4_ a:focus,.Navbar_siteNav__vII4_ a:hover{background-color:var(--bg-semi-transparent);color:var(--c2)}.Navbar_siteNav__vII4_ li{border-bottom:1px solid #575766}.Navbar_siteNav__vII4_ li:last-child{border-bottom:none}.Navbar_menuToggle__Pip6k{position:fixed;top:.7em;right:.7em;border:0;border-radius:50%;width:45px;height:45px;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);box-shadow:0 0 10px var(--color)}.Navbar_hamburger__6BASu,.Navbar_hamburger__6BASu:after,.Navbar_hamburger__6BASu:before{content:"";display:block;background-color:var(--color);height:3px;width:1.75em;border-radius:3px;transition:all .5s ease-in-out}.Navbar_hamburger__6BASu:before{transform:translateY(-6px)}.Navbar_hamburger__6BASu:after{transform:translateY(3px)}[aria-expanded=true] .Navbar_hamburger__6BASu{transform:rotate(45deg)}[aria-expanded=true] .Navbar_hamburger__6BASu:before{opacity:0}[aria-expanded=true] .Navbar_hamburger__6BASu:after{transform:translateY(-3px) rotate(-90deg)}.Navbar_primaryNavigation__CwPE4{position:fixed;top:50px;right:50px;margin:0;padding:0;list-style:none;border-radius:5px;border:1px solid var(--color);background-color:var(--bg-semi-transparent);-webkit-backdrop-filter:blur(.05rem);backdrop-filter:blur(.05rem);transition:-webkit-clip-path .7s ease-in-out;transition:clip-path .7s ease-in-out;transition:clip-path .7s ease-in-out,-webkit-clip-path .7s ease-in-out}@media(max-width:768px){.Navbar_primaryNavigation__CwPE4[data-state=opened]{animation:Navbar_clipPathCircleOpen__RAl69 .75s ease-in-out forwards;display:block}.Navbar_primaryNavigation__CwPE4[data-state=closing]{animation:Navbar_clipPathCircleClose___nP5g .75s ease-in-out forwards}.Navbar_primaryNavigation__CwPE4[data-state=closed]{display:none}}.Navbar_visuallyHidden__hHxmj{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(min-width:768px){.Navbar_siteNav__vII4_ a{padding:1em;text-transform:uppercase;text-decoration:none}.Navbar_siteNav__vII4_ a:focus,.Navbar_siteNav__vII4_ a:hover{background:initial}.Navbar_siteNav__vII4_ li{border-bottom:none}.Navbar_menuToggle__Pip6k{display:none}.Navbar_primaryNavigation__CwPE4{top:0;right:0;border:none!important;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:clamp(.5em,1.3vw + .3em,3em);width:100%;height:3.5rem;border-radius:0;border-bottom:1px solid var(--c2)}}body[data-theme=light] .Navbar_siteNav__vII4_ a:focus,body[data-theme=light] .Navbar_siteNav__vII4_ a:hover{filter:brightness(.8)}body[data-theme=dark] .Navbar_menuToggle__Pip6k{box-shadow:none;filter:drop-shadow(0 0 .35rem var(--c2))}body[data-theme=dark] .Navbar_siteNav__vII4_ a:focus,body[data-theme=dark] .Navbar_siteNav__vII4_ a:hover{filter:none}body[data-theme=dark] .Navbar_hamburger__6BASu,body[data-theme=dark] .Navbar_hamburger__6BASu:after,body[data-theme=dark] .Navbar_hamburger__6BASu:before{background-color:var(--c2)}body[data-theme=dark] .Navbar_primaryNavigation__CwPE4{border:1px solid var(--c2)}@property --gradient-angle{syntax:"<angle>";initial-value:45deg;inherits:false}@keyframes page_rotateGradient___0N9K{0%{--gradient-angle:45deg}to{--gradient-angle:405deg}}.page_auto_margin__WeRu_{max-width:min(80vw + 2rem,900px);margin-inline:auto}