@import "https://fonts.googleapis.com/css2?family=Grechen+Fuemen&family=Montserrat+Alternates:wght@400;500;600&display=swap";
:root{--hue:358;--first-color:hsl(var(--hue), 80%, 49%);--first-color-alt:hsl(var(--hue), 76%, 45%);--first-color-light:hsl(var(--hue), 80%, 60%);--first-color-light-hover:hsl(var(--hue), 80%, 55%);--white-color:#262626;--black-color:#fafafa;--text-color:hsl(var(--hue), 4%, 45%);--body-color:#fafafa;--container-color:#fff;--border-color:#e6e6e6;--shadow-color:#00000014;--shadow-hover:#0000001f;--body-font:"Montserrat Alternates", sans-serif;--second-font:"Grechen Fuemen", cursive;--biggest-font-size:2.5rem;--h1-font-size:1.5rem;--h2-font-size:1.25rem;--h3-font-size:1rem;--normal-font-size:.938rem;--small-font-size:.813rem;--smaller-font-size:.75rem;--font-regular:400;--font-medium:500;--font-semi-bold:600;--z-tooltip:10;--z-fixed:100}.dark{--white-color:#fafafa;--black-color:#030303;--text-color:hsl(var(--hue), 2%, 66%);--body-color:hsl(var(--hue), 100%, 1%);--container-color:hsl(var(--hue), 2%, 10%);--border-color:#ffffff0d;--shadow-color:#0006;--shadow-hover:#00000080}@media screen and (min-width:1168px){:root{--biggest-font-size:3.5rem;--h1-font-size:2.25rem;--h2-font-size:1.5rem;--h3-font-size:1.25rem;--normal-font-size:1rem;--small-font-size:.875rem;--smaller-font-size:.813rem}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body-font);font-size:var(--normal-font-size);background-color:var(--body-color);color:var(--white-color);transition:background-color .3s ease-in-out,color .3s ease-in-out}input,button,textarea{font-family:var(--body-font);font-size:var(--normal-font-size);border:none;outline:none}h1,h2,h3,h4{color:var(--white-color);font-weight:var(--font-semi-bold)}ul{list-style:none}a{text-decoration:none}img{max-width:100%;height:auto;display:block}.container{max-width:1168px;margin-inline:1.5rem}.grid{gap:1.5rem;display:grid}.section{padding-block:1rem 2rem}.section__title{font-size:var(--h2-font-size);text-align:center;margin-bottom:2rem}.main{overflow:hidden}.nav{z-index:var(--z-fixed);position:fixed;top:2rem;left:0;right:0}.nav__container{margin:0 auto;position:relative}.nav__toggle{background-color:var(--container-color);color:var(--white-color);cursor:pointer;width:50px;height:50px;z-index:var(--z-fixed);border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .3s,transform .3s;display:none;position:fixed;top:2rem;right:1.5rem}.nav__toggle:hover{background-color:var(--first-color);transform:scale(1.05)}.nav__list{background-color:var(--container-color);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);width:fit-content;box-shadow:0 4px 12px var(--shadow-color);border-radius:3rem;justify-content:center;gap:2rem;margin:0 auto;padding:1rem 2rem;transition:background-color .3s ease-in-out,border-color .3s ease-in-out,box-shadow .3s ease-in-out;display:flex}.nav__link{color:var(--text-color);font-weight:var(--font-medium);transition:color .3s}.nav__link:hover,.active-link{color:var(--first-color)}@media screen and (max-width:768px){.nav__toggle{display:flex}.nav__list{background-color:var(--container-color);width:70%;height:100vh;box-shadow:-2px 0 16px var(--shadow-color);border-radius:0;flex-direction:column;gap:2rem;padding:5rem 2rem 2rem;transition:right .4s,background-color .3s ease-in-out;position:fixed;top:0;right:-100%}.nav__list--open{right:0}.nav__link{font-size:var(--h3-font-size)}}.home__container{flex-direction:column;align-items:center;gap:2rem;max-width:900px;margin:0 auto;padding-top:2.5rem;display:flex}.perfil{text-align:center}.perfil__img{object-fit:cover;border-radius:50%;width:200px;height:200px;margin:0 auto 1rem}.perfil__name{font-size:var(--biggest-font-size);margin-bottom:.5rem}.perfil__title{color:var(--first-color);font-size:var(--h3-font-size);font-weight:var(--font-semi-bold);letter-spacing:2px;margin-bottom:1rem}.perfil__buttons{justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.info{text-align:center;width:100%;padding:2rem 0}.info__name{font-size:var(--h1-font-size);margin-bottom:1rem}.info__contact{color:var(--text-color);font-size:var(--small-font-size);flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.info__contact p{justify-content:center;align-items:center;gap:.5rem;display:flex}.info__contact svg{color:var(--first-color)}.info__description{color:var(--text-color);max-width:700px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;line-height:1.6}.about{text-align:center;width:100%;padding:0 0 2rem}.about__img-wrapper{will-change:transform;display:inline-block}.about__img{object-fit:cover;will-change:transform;border-radius:50%;width:150px;height:150px;margin:0 auto 1rem}.about__name{font-size:var(--h3-font-size);will-change:transform, opacity;margin-bottom:1rem}.about__name-highlight{color:var(--first-color)}.about__contact{color:var(--text-color);font-size:var(--small-font-size);flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.about__contact p{will-change:transform, opacity;justify-content:center;align-items:center;gap:.5rem;display:flex}.about__contact svg{color:var(--first-color)}.about__description{color:var(--text-color);will-change:transform, opacity;max-width:700px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;line-height:1.6}.about__links{justify-content:center;gap:1rem;margin:1.5rem 0;display:flex}.about__link{background-color:var(--container-color);width:45px;height:45px;color:var(--white-color);border:1px solid var(--border-color);will-change:transform, background-color, box-shadow;border-radius:50%;justify-content:center;align-items:center;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex}.about__link--animated:hover{background-color:#ff3b3b99;transform:translateY(-4px)scale(1.05);box-shadow:0 8px 20px #ff3b3b4d}.about__note{color:var(--text-color);font-size:var(--small-font-size);will-change:transform, opacity;max-width:600px;margin:1rem auto 1.5rem}.about__buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.skills{text-align:center;will-change:transform, opacity;width:100%;padding:1rem 0 0}.skills__title{font-size:var(--h2-font-size);will-change:transform, opacity;margin-bottom:1rem}.skills__description{color:var(--text-color);will-change:transform, opacity;max-width:700px;margin-bottom:2rem;margin-left:auto;margin-right:auto}.skills__list{text-align:left;gap:1.5rem;max-width:800px;margin:0 auto;display:grid}.skills__category{background-color:var(--container-color);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;transition:all .3s}.skills__category--animated:hover{box-shadow:0 8px 20px var(--shadow-hover);transform:translateY(-3px)}.skills__category h4{color:var(--white-color);font-size:var(--h3-font-size);will-change:transform, opacity;margin-bottom:.5rem;transition:color .3s}.skills__category p{color:var(--text-color);will-change:transform, opacity;line-height:1.6;transition:color .3s}.skills__grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:2rem;max-width:600px;margin:0 auto;display:grid}.skills__item{justify-content:center;align-items:center;display:flex}.skills__icon{width:50px;height:50px;transition:transform .3s}.skills__icon:hover{transform:translateY(-5px)}.button{background-color:var(--first-color-light);color:var(--white-color);font-weight:var(--font-medium);cursor:pointer;will-change:transform, box-shadow;border-radius:2rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:inline-flex}.button--animated:hover{background-color:var(--first-color-light-hover);transform:translateY(-3px);box-shadow:0 10px 25px #ff3b3b66}.button--secondary{border:2px solid var(--first-color-light);color:var(--first-color-light);background-color:#0000}.button--secondary:hover{background-color:var(--first-color-light);color:var(--white-color);box-shadow:0 10px 25px #ff3b3b4d}.projects__container{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:0 0 2rem}.projects__card{background-color:var(--container-color);border:1px solid var(--border-color);will-change:transform;border-radius:1rem;transition:all .3s;overflow:hidden}.projects__card--animated:hover{box-shadow:0 12px 24px var(--shadow-hover);transform:translateY(-4px)}.projects__img-wrapper{height:250px;position:relative;overflow:hidden}.projects__img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.projects__card--animated:hover .projects__img{transform:scale(1.03)}.projects__name{font-size:var(--h3-font-size);will-change:transform, opacity;margin:1.5rem 1.5rem .75rem}.projects__description{color:var(--text-color);font-size:var(--small-font-size);will-change:transform, opacity;margin:0 1.5rem 1rem;line-height:1.6}.projects__button{color:var(--white-color);font-weight:var(--font-medium);cursor:pointer;font-size:var(--normal-font-size);will-change:transform, opacity;background:0 0;align-items:center;gap:.5rem;margin:0 1.5rem 1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:inline-flex}.projects__button--animated:hover{letter-spacing:.02em;gap:1rem}.projects__icon{transition:transform .4s cubic-bezier(.4,0,.2,1)}.projects__button--animated:hover .projects__icon{transform:translate(6px)}.services__container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding:2rem 0}.services__card{background-color:var(--container-color);text-align:center;border:1px solid var(--border-color);will-change:transform, box-shadow;border-radius:1rem;padding:2rem;transition:all .3s}.services__card--animated:hover{box-shadow:0 10px 25px var(--shadow-hover);border-color:var(--border-color);transform:translateY(-3px)}.services__icon{color:var(--white-color);margin:0 auto 1rem;transition:all .3s;display:block}.services__card--animated:hover .services__icon{transform:scale(1.05)}.services__name{font-size:var(--h3-font-size);will-change:transform, opacity;margin-bottom:1rem;transition:color .3s}.services__description{color:var(--text-color);font-size:var(--small-font-size);will-change:transform, opacity;line-height:1.6;transition:color .3s}.experience__container{max-width:800px;margin:0 auto;padding:2rem 0;position:relative}.experience__timeline{background:linear-gradient(to bottom, var(--first-color), #ff3b3b4d);will-change:height;border-radius:2px;width:3px;height:0;position:absolute;top:0;left:0}.experience__card{background-color:var(--container-color);will-change:transform, box-shadow;border-left:3px solid #0000;border-radius:1rem;margin-bottom:2rem;margin-left:1.5rem;padding:2rem 2rem 2rem 2.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.experience__card:before{content:"";background-color:var(--first-color);border:3px solid var(--body-color);width:12px;height:12px;box-shadow:0 0 0 3px var(--container-color);border-radius:50%;position:absolute;top:2.5rem;left:-1.5rem}.experience__card--animated:hover{box-shadow:0 8px 20px var(--shadow-color);border-left-color:var(--first-color);transform:translateY(-4px)}.experience__header{will-change:transform, opacity;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.experience__company{font-size:var(--h2-font-size);color:var(--first-color);will-change:transform, opacity}.experience__location{color:var(--text-color);font-size:var(--small-font-size);will-change:opacity}.experience__profession{font-size:var(--h3-font-size);will-change:transform, opacity;margin-bottom:.5rem}.experience__date{color:var(--text-color);font-size:var(--small-font-size);will-change:opacity;margin-bottom:1rem;display:block}.experience__description{color:var(--text-color);will-change:transform, opacity;line-height:1.6}@media screen and (max-width:768px){.experience__timeline{display:none}.experience__card{margin-left:0;padding-left:2rem}.experience__card:before{display:none}}.contact__form{flex-direction:column;gap:1rem;max-width:600px;margin:0 auto;display:flex}.contact__input{background-color:var(--container-color);color:var(--white-color);border:2px solid var(--border-color);will-change:transform, border-color, box-shadow;border-radius:.5rem;outline:none;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.contact__input:focus{border-color:var(--first-color);transform:scale(1.01);box-shadow:0 4px 12px #ff3b3b33}.contact__input::placeholder{color:var(--text-color);transition:color .3s}.contact__input:focus::placeholder{color:var(--text-color);opacity:.6}.contact__textarea{resize:vertical;min-height:150px}.contact__button{will-change:transform;border:none;width:fit-content;margin:0 auto;transition:all .4s cubic-bezier(.4,0,.2,1)}.contact__button:hover:not(:disabled){transform:translateY(-3px)scale(1.02);box-shadow:0 12px 28px #ff3b3b66}.contact__button:active:not(:disabled){transform:translateY(-1px)scale(.98)}.contact__button:disabled{opacity:.6;cursor:not-allowed}.contact__status{text-align:center;font-weight:var(--font-medium);will-change:transform, opacity;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.contact__status--success{color:#10b981}.contact__status--error{color:var(--first-color)}.footer{background-color:var(--container-color);margin-top:4rem;padding:3rem 0 2rem}.footer__container{text-align:center}.footer__logo{font-size:var(--h1-font-size);color:var(--first-color);margin-bottom:.5rem}.footer__tagline{color:var(--text-color);font-size:var(--small-font-size);margin-bottom:1.5rem}.footer__links{flex-wrap:wrap;justify-content:center;gap:2rem;margin-bottom:2rem;display:flex}.footer__link{color:var(--text-color);transition:color .3s}.footer__link:hover{color:var(--first-color)}.footer__social{justify-content:center;gap:1.5rem;margin-bottom:2rem;display:flex}.footer__social-link{color:var(--white-color);font-size:1.5rem;transition:color .3s}.footer__social-link:hover{color:var(--first-color)}.footer__copy{color:var(--text-color);font-size:var(--small-font-size)}@media screen and (max-width:768px){.home__container{padding-top:2rem}.about__img{width:120px;height:120px}.about__name{font-size:var(--h2-font-size)}.about__buttons{flex-direction:column;width:100%}.about__buttons .button{justify-content:center;width:100%}.skills__list{gap:1rem}.projects__container,.services__container{grid-template-columns:1fr;gap:1.5rem}.experience__container{padding:1rem 0}.contact__form{padding:0 1rem}.nav__list{gap:1.5rem}}@media screen and (min-width:768px){.home__container{grid-template-columns:repeat(2,1fr);align-items:center}.nav__list{gap:3rem}.projects__container,.services__container{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:1024px){.container{margin-inline:auto}.section{padding-block:4rem 5rem}}.theme-toggle{background-color:var(--container-color);border:1px solid var(--border-color);cursor:pointer;width:45px;height:45px;z-index:var(--z-fixed);box-shadow:0 4px 12px var(--shadow-color);border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:2rem;right:5rem}.theme-toggle:hover{background-color:var(--first-color);border-color:var(--first-color);transform:scale(1.1);box-shadow:0 6px 16px #ff3b3b4d}.theme-toggle:active{transform:scale(.95)}.theme-toggle__icon{color:var(--white-color);justify-content:center;align-items:center;transition:transform .3s;display:flex}.theme-toggle__sun,.theme-toggle__moon{animation:.3s rotate-in}@keyframes rotate-in{0%{opacity:0;transform:rotate(-180deg)scale(0)}to{opacity:1;transform:rotate(0)scale(1)}}@media screen and (max-width:768px){.theme-toggle{width:40px;height:40px;right:5.5rem}}
