*,:after,:before{box-sizing:border-box}html{text-size-adjust:none}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{-webkit-margin-after:0;margin-block-end:0;padding:0;margin:0}ol[role=list],ul[role=list]{list-style:none}body{min-height:100dvh;line-height:1.5}button,h1,h2,h3,h4,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block;height:auto}button,input,select,textarea{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:12rem}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}ul{list-style:none;margin:0;padding:0}:root{--ease-out-quint:cubic-bezier(0.23,1,0.32,1)}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/-F63fjptAgt5VM-kVkqdyU8n1i8q131nj-o.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgsAXHNk.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgsAXHNk.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Merriweather;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/u-4m0qyriQwlOrhSvowK_l5-eRZOf-LVrPHp.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Merriweather;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/u-4l0qyriQwlOrhSvowK_l5-eR71Wvf4jvzDP3WG.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.h2{z-index:1000;color:#000;white-space:nowrap}.h2,.h2 *{font-size:1rem;font-weight:500;line-height:1.2}.h2 *{display:inline}.h2--projects{padding-top:3rem}@media screen and (min-width:768px){.h2--projects{padding-top:0;opacity:1;transform:translateY(0)}}.h3{line-height:1.2;text-wrap:auto;opacity:0;font-size:2rem;font-family:Merriweather,serif;font-weight:700;font-style:italic}@media screen and (min-width:768px){.h3{font-size:2.5rem}}.h3 *{font-family:Merriweather,serif;font-weight:700;font-style:italic}.project__sub-title{padding:0 0 1.5rem;font-weight:500}.span-container{display:inline;position:relative;color:transparent}.animated-span{position:absolute;left:0;top:0;transform:translateY(100%);display:inline-block}.animated-span:after{content:attr(data-content)}.project .animated-span{transform:none}#skills{padding-bottom:5rem}@media screen and (min-width:768px){#skills{padding-bottom:0}}.skills-section{padding-bottom:3rem}@media screen and (min-width:768px){.skills-section{padding-right:0;padding-bottom:10rem}}@media screen and (min-width:1024px){.skills-section{padding-right:3rem}}.h4{font-size:1.5rem;font-weight:500;line-height:1.2;font-family:Merriweather,serif;font-weight:400;font-style:italic;margin-bottom:2rem}.skills__subtitle{font-size:1rem;font-weight:500;line-height:1.2;margin-top:2.5rem;margin-bottom:0;text-transform:uppercase}.skills_title{font-size:.8rem;font-weight:500;margin-top:1.5rem;margin-bottom:.8rem}#skills ul.tags{margin:0;padding:0}.follow{font-size:.8rem;font-weight:500;text-transform:uppercase}.font-merriweather{font-family:Merriweather,serif}:root{--background:#f1f1f1;--foreground:#171717;--color:#171717;--hover-color:#505050;--maxWidth:1600px;--cols:12;--paddingContent:2rem;--paddingContainer:2rem;--gap:5px}@media screen and (min-width:768px){:root{--paddingContent:10dvh;--paddingContainer:4rem;--gap:20px}}.projects{display:flex;justify-content:center;flex-direction:column;padding-bottom:10rem;gap:calc(var(--paddingContent)*3)}@media screen and (min-width:768px){.projects{gap:calc(var(--paddingContent)*2)}}.project{display:flex;position:relative}.project *,.project .project__image{-webkit-user-select:none;-moz-user-select:none;user-select:none}.project .project__image,.project .project__image img,.project .project__image picture{width:100%;height:100%;object-fit:cover}.project .project__description{-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1.4rem}.project .project__description a{text-decoration:underline}.project .project__description a:hover{text-decoration:none}.project .project__wrapper{display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-gap:var(--gap);gap:var(--gap);position:relative;width:100%}.project .project__visual{display:flex;justify-content:flex-start;align-items:center;flex-direction:column;grid-column:1/13;grid-row:2}@media screen and (min-width:768px){.project .project__visual{grid-column:1/8;grid-row:1}}.project .project__content{z-index:2;display:flex;flex-direction:column;justify-content:space-between;grid-column:1/13;grid-row:1;padding-bottom:1rem}@media screen and (min-width:768px){.project .project__content{margin:4rem 0 0;height:calc(100% - 10rem);grid-column:8/13;grid-row:1}}.project .container-visual{position:relative;width:100%;overflow:hidden;border-radius:1rem;aspect-ratio:354/199}.project .container-visual video{opacity:0;position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;z-index:-1}.project .container-visual.dragging .cursor{opacity:0}.project .tags{overflow:hidden}.project .tags li{transform:translateY(-10px);opacity:0}@media screen and (min-width:768px){.project .tags li{opacity:1;transform:translateY(-200%)}.project:nth-child(2n) .project__visual{grid-row:1;grid-column:6/13}.project:nth-child(2n) .project__content{grid-row:1;grid-column:1/6;text-align:right}}.project .animated-span{color:var(--color);opacity:0}.project .project__description,.project .project__sub-title{opacity:0}.project.no-link,.project.no-link a{cursor:default}@media screen and (max-width:768px){.project:first-child .overlay{display:none}.project:first-child .h3,.project:first-child .h3 span.animated-span,.project:first-child .project__description,.project:first-child .project__sub-title{opacity:1}}#others{height:20dvh;width:100%;overflow:hidden;position:relative}#others:before{left:0;border-left:1px solid #e2e2e2;width:3rem;background:linear-gradient(90deg,var(--background) 0,transparent 100%);z-index:5}#others:after,#others:before{content:"";position:absolute;top:0;height:20dvh}#others:after{right:0;width:5rem;background:linear-gradient(-90deg,transparent 0 var(--background) 100%);z-index:6}#others .others__inner{transform:translateX(-50%);display:flex;gap:3rem;flex-wrap:nowrap;width:100%;z-index:1}#others .others__inner div{font-size:3rem;flex-shrink:0}nav{position:relative;color:var(--color);transition:transform .5s cubic-bezier(.455,.03,.515,.955)}nav svg path{fill:var(--color)}nav *{-webkit-user-select:none;-moz-user-select:none;user-select:none}nav .header__container{grid-column:1/span var(--cols);padding:calc(var(--paddingContainer)/2) 0;width:100%;display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-gap:var(--gap);gap:var(--gap)}nav .header__list{justify-content:space-between}nav .header__list,nav .profile{display:flex;align-items:center;gap:1rem}nav .profile{justify-content:flex-start;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}nav .profile .avatar{width:2.2rem;height:2.2rem;border-radius:5px;position:relative}nav .profile .avatar img,nav .profile .avatar picture{width:100%;height:100%;object-fit:cover;border-radius:5px;z-index:1}nav .profile .avatar:after{content:"";position:absolute;bottom:-.2rem;right:-.2rem;width:.6rem;height:.6rem;z-index:9;border-radius:50%;background-color:green;transition:background-color .3s cubic-bezier(.165,.84,.44,1)}nav .profile .name{width:-moz-fit-content;width:fit-content}nav .profile .name h1{opacity:1;font-size:.8rem;font-weight:500;transition:color .3s cubic-bezier(.165,.84,.44,1)}@media screen and (min-width:768px){nav .profile .name h1{font-size:1rem}}nav .profile:hover .avatar:after{background-color:#6dff68}nav .profile:hover .name{color:var(--hover-color)}nav .header__mail{display:flex;justify-content:flex-end;align-items:flex-end;flex-direction:column;gap:0}nav .header__mail a{font-size:1.5rem;font-weight:500;display:block;transition:color .3s cubic-bezier(.165,.84,.44,1)}@media screen and (min-width:768px){nav .header__mail a{font-size:2rem}}nav .header__mail a:hover{color:var(--hover-color)}nav.header{position:fixed;top:0;width:100%;z-index:99999}nav.header .profile{grid-column:1/11}@media screen and (min-width:768px){nav.header .profile{grid-column:1/5}}@media screen and (min-width:1024px){nav.header .profile{grid-column:1/5}}nav.header .header__list--networks{grid-column:-1/-3}@media screen and (min-width:768px){nav.header .header__list--networks{grid-column:-1/-3}}@media screen and (min-width:1024px){nav.header .header__list--networks{grid-column:-1/-2}}nav.header .header__list--menus{grid-column:-4/-9;grid-row:1}@media screen and (min-width:768px){nav.header .header__list--menus{grid-column:-4/-8}}@media screen and (min-width:1024px){nav.header .header__list--menus{grid-column:-3/-7}}@media screen and (min-width:1600px){nav.header .header__list--menus{grid-column:-3/-7}}nav.header .header__mobile{grid-column:-1/-3;justify-content:flex-end;align-items:center}nav.header .header__burger{z-index:2;padding:1rem;box-sizing:content-box;margin:-.85rem -1rem -1rem 0;display:flex;flex-direction:column;justify-content:space-between;width:2.3rem;height:1.5rem;cursor:pointer}nav.header .header__burger__line{width:100%;height:2px;background-color:var(--color);transform-origin:center}nav.header .header__burger__line:first-child{transform:translateX(-.5rem)}nav.header .header__burger__line:nth-child(2){transform:translateX(0)}nav.header .header__burger__line:nth-child(3){transform:translateX(-.5rem)}nav.header .header__mobile__inner{position:fixed;top:0;left:0;width:100%;height:100dvh;z-index:1;display:flex;pointer-events:none;opacity:0;flex-direction:column;justify-content:center;background-color:var(--background)}nav.header .header__mobile__inner .header__list--menus{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100%}nav.header .header__mobile__inner .header__list--menus a{font-size:2rem}nav.header .header__mobile__inner .header__mobile__follow{position:absolute;bottom:0;left:0;width:100%;flex-direction:column;height:-moz-fit-content;height:fit-content;padding:2rem 0}nav.header .header__mobile__inner .header__mobile__follow,nav.header .header__mobile__inner .header__mobile__follow .header__list--networks{display:flex;justify-content:center;align-items:center;gap:.5rem}nav.header .header__mobile__inner .header__mobile__follow .header__list--networks a{display:flex;justify-content:center;align-items:center;height:-moz-fit-content;height:fit-content}nav.footer__nav{width:100%;padding:0}nav.footer__nav .header__container{display:flex;justify-content:space-between;padding:calc(var(--paddingContainer)*1) 0}nav.footer__nav .footer__follow{display:flex;flex-direction:column;gap:.5rem}nav.footer__nav .header__mobile{display:none}nav.footer__nav .header__list--networks{display:flex}nav li{overflow:hidden;width:-moz-fit-content;width:fit-content}nav li a{position:relative;transition:color .2s cubic-bezier(.165,.84,.44,1)}nav li a:after{content:"";position:absolute;bottom:.1rem;left:0;width:100%;height:1px;background-color:var(--color);transition:transform .2s cubic-bezier(.165,.84,.44,1);transform:translateX(calc(-100% - 1px));opacity:0}nav li.hovered a{color:var(--hover-color)}nav li.hovered a:after{transform:translateX(0);opacity:1}nav li.leave a:after{transform:translateX(calc(100% + 1px));opacity:1}nav .header__mobile{display:flex}nav .header__list--menus,nav .header__list--networks{display:none}@media screen and (min-width:768px){nav .header__mobile{display:none}nav .header__list--menus,nav .header__list--networks{display:flex}}.menu-open nav.header .header__mobile__inner{pointer-events:auto}.h100{overflow:hidden;height:100dvh}#skills{display:grid;grid-gap:var(--paddingContainer) var(--gap);gap:var(--paddingContainer) var(--gap);grid-template-columns:repeat(var(--cols),1fr)}#skills .section{grid-column:1/span var(--cols)}@media screen and (min-width:768px){#skills .section{grid-column:span 4}}@media screen and (min-width:1024px){#skills .section{grid-column:span 4}}#skills h4{opacity:1}#skills .tags{flex-wrap:wrap}html{scrollbar-width:thin;-webkit-text-size-adjust:100%;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-webkit-font-smoothing:subpixel-antialiased}body,html{margin:0;padding:0;max-width:100vw;overflow-x:hidden;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;font-size:1.5vw;font-size:12px;background:var(--background)}@media screen and (min-width:768px){body,html{font-size:1vw}}@media screen and (min-width:1600px){body,html{font-size:16px}}@media screen and (min-width:768px){.virtual-scroll{height:var(--height);padding:0;margin:0}.virtual-scroll main{position:fixed;width:100%;height:100%;transform:translateY(var(--scroll));will-change:transform;transition:transform .3s var(--ease-out-quint);z-index:1;background:none}}*{scroll-margin-top:20dvh;text-wrap:balance;font-family:IBM Plex Mono,monospace;-webkit-user-select:none;-moz-user-select:none;user-select:none}body{font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main,nav{padding:0 var(--paddingContainer)}@media screen and (min-width:768px){main,nav{max-width:var(--maxWidth);padding:0 var(--paddingContainer)}}@media screen and (min-width:1600px){main,nav{width:var(--maxWidth)}main.header,nav.header{left:50%;width:var(--maxWidth);transform:translateX(-50%)}}main{display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-gap:var(--paddingContainer) var(--gap);gap:var(--paddingContainer) var(--gap);position:absolute;top:0;left:0;width:100%;z-index:1;background:var(--background)}@media screen and (min-width:1600px){main{left:50%;width:var(--maxWidth);transform:translateX(-50%)}}br.mobile-hide{display:none}@media screen and (min-width:768px){br.mobile-hide{display:block}}.h2,section{grid-column:1/span var(--cols);width:100%}#content{min-height:100dvh;pointer-events:none;padding:8rem 0}#content *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}#content .h1{margin-bottom:1rem}#content h2{margin:2rem 0 1rem}#content strong{display:inline-block;padding:1rem 0 0}.hidden{visibility:hidden;height:0;overflow:hidden}