body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.btn{align-items:center;background:linear-gradient(135deg,#b0deff,#e6a051);border:none;border-radius:10px;box-shadow:0 5px 20px #b0deff4d;color:#212121;cursor:pointer;display:inline-flex;font-size:1.05rem;font-weight:700;gap:1rem;padding:1.1rem 2.2rem;transition:all .3s ease}.btn:hover{box-shadow:0 8px 25px #b0deff66;transform:translateY(-3px)}.btn:active{transform:translateY(-1px)}.btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.main{margin-left:0;padding-top:80px;width:100%}.lang-toggle-btn{align-items:center;animation:floatIn .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#212121e6;border:2px solid var(--first-color);border-radius:50px;box-shadow:0 5px 20px #0000004d;color:var(--first-color);cursor:pointer;display:flex;font-family:Rubik,sans-serif;font-size:.95rem;font-weight:700;gap:.5rem;justify-content:center;padding:.6rem 1rem;position:fixed;right:2rem;top:2rem;transition:all .3s ease;z-index:1000}.lang-toggle-btn i{font-size:1.2rem}.lang-toggle-text{display:inline}@keyframes floatIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.lang-toggle-btn:hover{background-color:var(--first-color);box-shadow:0 8px 25px #b0deff66;color:var(--body-color);transform:translateY(-3px)}.lang-toggle-btn:active{transform:translateY(-1px)}@media screen and (max-width:768px){.lang-toggle-btn{font-size:.9rem;padding:.5rem .85rem;right:1.5rem;top:1.5rem}.lang-toggle-btn i{font-size:1rem}}@media screen and (max-width:480px){.lang-toggle-btn{font-size:.85rem;gap:.35rem;padding:.45rem .7rem;right:1rem;top:1rem}.lang-toggle-btn i{font-size:.95rem}.lang-toggle-text{display:none}}.navbar{animation:slideDown .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#212121f2;border-bottom:1px solid #b0deff1a;left:0;padding:.75rem 2rem;position:fixed;right:0;top:0;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.navbar__container{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1400px}.navbar__logo{align-items:center;display:flex;flex-shrink:0;transition:transform .3s ease;z-index:1001}.navbar__logo:hover{transform:scale(1.05)}.navbar__signature{stroke-dasharray:506.1844177246094px;stroke-dashoffset:506.1844177246094px;animation:drawSignature 2s ease-out forwards}@keyframes drawSignature{to{stroke-dashoffset:0px}}.navbar__burger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:.5rem;z-index:1001}.navbar__burger span{background:var(--first-color);border-radius:3px;height:3px;transition:all .3s ease;width:25px}.navbar__burger.active span:first-child{transform:rotate(45deg) translate(8px,4px)}.navbar__burger.active span:nth-child(2){opacity:0}.navbar__burger.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-4px)}.navbar__menu{align-items:center;display:flex;flex:1 1;gap:3rem;justify-content:flex-end}.navbar__links{display:flex;gap:2.5rem;list-style:none;margin:0;padding:0}.navbar__link{color:var(--text-color);font-size:1rem;font-weight:var(--font-medium);padding:.5rem 0;position:relative;transition:all .3s ease}.navbar__link:after{background:var(--first-color);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.navbar__link:hover{color:var(--first-color)}.navbar__link:hover:after{width:100%}.navbar__actions{align-items:center;display:flex;gap:2rem}.navbar__socials{display:flex;gap:1.5rem}.navbar__social-link{color:var(--title-color);font-size:1.25rem;transition:all .3s ease}.navbar__social-link:hover{color:var(--first-color);transform:translateY(-2px)}.navbar .lang-toggle-btn{animation:none;background-color:initial;border:2px solid var(--first-color);box-shadow:none;margin:0;padding:.5rem 1rem;position:static}.navbar .lang-toggle-btn:hover{background-color:var(--first-color);color:var(--body-color)}@media screen and (max-width:968px){.navbar{padding:.75rem 1.5rem}.navbar__burger{display:flex}.navbar__menu{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#212121fa;flex-direction:column;gap:3rem;height:100vh;justify-content:center;padding:2rem;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .4s ease;width:100%}.navbar__menu.active{transform:translateX(0)}.navbar__links{align-items:center;flex-direction:column;gap:2rem}.navbar__link{font-size:1.5rem;padding:1rem}.navbar__actions{flex-direction:column;gap:2rem}.navbar__socials{gap:2rem}.navbar__social-link{font-size:1.75rem}.navbar .lang-toggle-btn{font-size:1.1rem;padding:.75rem 1.5rem}}@media screen and (max-width:768px){.navbar{padding:.5rem 1rem}.navbar__logo svg{height:auto;width:50px}}@media screen and (max-width:480px){.navbar__logo svg{height:auto;width:45px}.navbar__link{font-size:1.25rem}.navbar__social-link{font-size:1.5rem}}.leaf-animation-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:40px;width:100%;z-index:0}.leaf-animation-container canvas{display:block;height:100%;max-height:100%;max-width:100%;width:100%}.hero{align-items:center;min-height:600px;overflow:hidden;padding:3rem 2rem 2rem}.hero,.hero__container{display:flex;justify-content:center;position:relative}.hero__container{align-items:flex-start;animation:fadeInUp .8s ease-out;flex-direction:column;gap:2rem;max-width:1200px;width:100%;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero__content{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem;justify-content:center;text-align:left;width:100%}.hero__title{animation:fadeIn 1s ease-out .2s both;color:var(--text-color);font-size:clamp(2.2rem,6.5vw,4.5rem);font-weight:var(--font-bold);letter-spacing:-.5px;line-height:1.15;margin:0}.hero__greeting{color:var(--title-color)}.hero__name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--first-color),var(--title-color));-webkit-background-clip:text;background-clip:text;color:var(--first-color);font-weight:var(--font-bold)}.hero__comma{color:var(--title-color)}.hero__subtitle{animation:fadeIn 1s ease-out .4s both;color:var(--text-color);font-size:clamp(1.15rem,2.8vw,1.75rem);font-weight:var(--font-medium);letter-spacing:-.3px;line-height:1.65;margin:1.5rem 0 0;max-width:800px}.hero__link{display:inline-block;position:relative;text-decoration:none}.hero__highlight{color:var(--first-color);cursor:pointer;font-weight:var(--font-bold);position:relative;transition:all .3s ease}.hero__highlight:after{background:linear-gradient(90deg,var(--first-color),var(--title-color));border-radius:2px;bottom:-4px;content:"";height:3px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.hero__link:hover .hero__highlight:after{transform:scaleX(1)}.hero__link:hover .hero__highlight{transform:translateY(-2px)}.hero__tooltip{background:var(--first-color);border-radius:8px;bottom:100%;box-shadow:0 5px 15px #0003;color:var(--body-color);font-size:.85rem;font-weight:var(--font-semi-bold);margin-bottom:.5rem;opacity:0;padding:.5rem 1rem;pointer-events:none;transition:all .3s ease;visibility:hidden;white-space:nowrap;z-index:10}.hero__tooltip,.hero__tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.hero__tooltip:after{border:5px solid #0000;border-top:5px solid var(--first-color);content:"";top:100%}.hero__link:hover .hero__tooltip{opacity:1;visibility:visible}@media screen and (max-width:768px){.hero{min-height:400px;padding:2.5rem 1.5rem 2rem}}@media screen and (max-width:480px){.hero{min-height:300px;padding:1.5rem 1rem 2rem}.hero__tooltip{font-size:.75rem;padding:.4rem .8rem}}.projects{background:#0000;padding:4rem 2rem 2rem}.projects__container{display:flex;flex-direction:column;gap:3rem;margin:0 auto;max-width:1200px}.projects__title{animation:fadeIn .8s ease-out;color:var(--title-color);font-size:clamp(2rem,4vw,3rem);margin:0;text-align:left}.projects__grid{grid-gap:2rem;animation:fadeIn .8s ease-out .2s both;display:grid;gap:2rem;grid-template-columns:1fr}.projects__card-link{color:inherit;display:block;text-decoration:none;transition:transform .3s ease}.projects__card-link:hover{transform:translateY(-3px)}.projects__card{grid-gap:2rem;align-items:start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#31303080;border:1px solid #b0deff1a;border-radius:12px;cursor:pointer;display:grid;gap:2rem;grid-template-columns:auto 1fr;overflow:hidden;padding:1.75rem;position:relative;transition:all .3s ease}.projects__card:hover{background:#313030cc;border-color:#b0deff4d;box-shadow:0 10px 35px #b0deff26}.projects__header{align-items:flex-start;display:flex;gap:1rem;grid-column:1/-1;justify-content:space-between}.projects__arrow{align-items:center;background:#b0deff1a;border-radius:50%;color:var(--first-color);display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;transform:rotate(-45deg);transition:all .3s ease;width:40px}.projects__card-link:hover .projects__arrow{background:#b0deff40;transform:rotate(-45deg) translate(3px,-3px) scale(1.1)}.projects__info{flex:1 1}.projects__title-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.projects__name{color:var(--first-color);flex-shrink:0;font-size:1.25rem;font-weight:var(--font-bold);margin:0}.projects__subtitle{color:var(--title-color);font-size:.9rem;font-weight:var(--font-medium);margin:.75rem 0 0;opacity:.9}.projects__badges{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.projects__badge{border-radius:12px;display:inline-block;font-size:.65rem;font-weight:var(--font-semi-bold);padding:.3rem .7rem;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.projects__badge--professional{background:#7800b033;border:1px solid #bc6bff4d;color:#f36bff}.projects__badge--academic{background:#007aff33;border:1px solid #4da6ff4d;color:#4da6ff}.projects__badge--personal{background:#b0deff26;border:1px solid #b0deff4d;color:var(--first-color)}.projects__skills{align-content:start;animation:fadeIn .6s ease-out;display:flex;flex-wrap:wrap;gap:.5rem}.projects__skill-tag{background:#b0deff1a;border:1px solid #b0deff33;border-radius:15px;color:var(--first-color);display:inline-block;font-size:.75rem;padding:.4rem .8rem;transition:all .3s ease}.projects__card:hover .projects__skill-tag{background:#b0deff33;border-color:#b0deff66}@media screen and (max-width:1024px){.projects__card{gap:1.5rem;grid-template-columns:1fr}}@media screen and (max-width:768px){.projects{padding:4rem 1.5rem}.projects__card{gap:1rem;padding:1.5rem}.projects__name{font-size:1.1rem}.projects__skills{gap:.4rem}.projects__skill-tag{font-size:.7rem;padding:.35rem .65rem}}@media screen and (max-width:480px){.projects{padding:3rem 1rem}.projects__title{font-size:1.75rem}.projects__card{grid-template-columns:1fr;padding:1.25rem}.projects__name{font-size:1rem}.projects__title-badges{align-items:flex-start;flex-direction:column}.projects__skills{gap:.3rem}.projects__skill-tag{font-size:.65rem;padding:.3rem .6rem}}.resume{background:#0000;padding:4rem 2rem 2rem}.resume__container{align-items:flex-start;display:flex;flex-direction:column;gap:3rem;margin:0 auto;max-width:1200px;text-align:left}.resume__title{animation:fadeIn .8s ease-out;color:var(--title-color);font-size:clamp(2rem,4vw,3rem);margin:0;text-align:left}.resume__content{align-items:flex-start;display:flex;flex-direction:column;gap:2rem;width:100%}.resume__subtitle{animation:fadeIn .8s ease-out .2s both;color:var(--text-color);font-size:1.1rem;line-height:1.7;margin:0;opacity:.9}.resume__button{animation:fadeIn .8s ease-out .3s both}.resume__icon{display:inline-block;font-size:1.5rem;transition:transform .3s ease}.resume__button:hover .resume__icon{transform:scale(1.2)}@media screen and (max-width:768px){.resume{padding:4rem 1.5rem}}@media screen and (max-width:480px){.resume{padding:3rem 1rem}.resume__title{font-size:1.75rem}.resume__subtitle{font-size:1rem}.resume__button{justify-content:center;width:100%}}.contact{background:linear-gradient(135deg,#212121fa,#16365b66);border-top:1px solid #b0deff1a;padding:4rem 2rem 2rem}.contact__container{align-items:flex-start;display:flex;flex-direction:column;gap:3rem;margin:0 auto;max-width:1000px}.contact__title{animation:fadeIn .8s ease-out;color:var(--title-color);font-size:clamp(2rem,4vw,3rem);margin:0;text-align:left}.contact__content{display:flex;flex-direction:column;gap:2.5rem;width:100%}.contact__subtitle{color:var(--text-color);font-size:1.1rem;line-height:1.7;margin:0;text-align:left;width:100%}.contact__form{animation:fadeIn .8s ease-out .2s both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#31303080;border:1px solid #b0deff1a;border-radius:15px;gap:1.5rem;padding:2.5rem}.contact__form,.contact__group{display:flex;flex-direction:column}.contact__group{gap:.75rem}.contact__label{color:var(--title-color);font-size:.95rem;font-weight:var(--font-semi-bold)}.contact__input,.contact__textarea{background:#15151599;border:2px solid #b0deff33;border-radius:8px;color:var(--text-color);font-family:var(--body-font);font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.contact__input:focus,.contact__textarea:focus{background:#151515e6;border-color:var(--first-color);box-shadow:0 0 0 3px #b0deff1a;outline:none}.contact__textarea{font-family:var(--body-font);resize:vertical}.contact__input::placeholder,.contact__textarea::placeholder{color:#b0deff66}.contact__button{align-self:flex-start;animation:fadeIn .8s ease-out .3s both}.contact__status{font-size:.95rem;font-weight:var(--font-semi-bold);margin:0}.contact__status--sending{color:var(--title-color)}.contact__status--success{color:#7bd389}.contact__status--error{color:#ff6b6b}.contact__info{gap:1rem;justify-content:center}.contact__info,.contact__link{align-items:center;display:flex}.contact__link{color:var(--first-color);font-weight:var(--font-semi-bold);gap:.75rem;text-decoration:none;transition:all .3s ease}.contact__link:hover{color:var(--title-color);transform:translateX(3px)}.contact__link i{font-size:1.25rem}@media screen and (max-width:768px){.contact{padding:4rem 1.5rem}.contact__form{padding:1.75rem}.contact__button{align-self:center;width:100%}}@media screen and (max-width:480px){.contact{padding:3rem 1rem}.contact__title{font-size:1.75rem}.contact__form{padding:1.5rem}.contact__subtitle{font-size:1rem}}.media-modal{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;inset:0;position:fixed;z-index:1000}.media-modal,.media-modal__content{align-items:center;display:flex;justify-content:center}.media-modal__content{max-height:90vh;max-width:90vw;position:relative}.media-modal__media{border-radius:8px;max-height:100%;max-width:100%;object-fit:contain}.media-modal__image,.media-modal__video{height:auto;width:auto}.media-modal__close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;line-height:1;position:absolute;right:0;top:-40px;transition:all .3s ease;width:40px}.media-modal__close:hover{background:#fff6;transform:scale(1.1)}.media-modal__close:active{transform:scale(.95)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media screen and (max-width:768px){.media-modal{padding:1rem}.media-modal__content{max-height:85vh;max-width:95vw}.media-modal__close{font-size:1.3rem;height:35px;right:10px;top:10px;width:35px}}@media screen and (max-width:480px){.media-modal{padding:.5rem}.media-modal__content{max-height:80vh;max-width:98vw}.media-modal__close{font-size:1.1rem;height:30px;right:5px;top:5px;width:30px}}.media-carousel{display:flex;flex-direction:column;gap:1.5rem;margin:.5rem 0}.media-carousel__wrapper{align-items:center;display:flex;gap:1rem;position:relative;width:100%}.media-carousel__container{background:#0000001a;border-radius:12px;box-shadow:inset 0 0 20px #0000004d;display:flex;flex:1 1;gap:1rem;height:350px;overflow:hidden;padding:.75rem;scroll-behavior:smooth;scroll-snap-type:x mandatory}.media-carousel__item{align-items:center;background:#0003;border-radius:8px;display:flex;flex:0 0 auto;height:100%;justify-content:center;overflow:hidden;position:relative;scroll-snap-align:center;scroll-snap-stop:always}.media-carousel__media{cursor:pointer;display:block;max-width:100%;object-fit:contain}.media-carousel__image,.media-carousel__media,.media-carousel__video{height:350px;width:auto}.media-carousel__overlay-btn{background:#0000;border:none;cursor:pointer;height:100%;inset:0;position:absolute;transition:background-color .3s ease;width:100%}.media-carousel__overlay-btn:hover{background:#00000026}.media-carousel__arrow{align-items:center;background:var(--text-color);border:none;border-radius:50%;color:var(--body-color);cursor:pointer;display:flex;flex-shrink:0;font-size:1.8rem;height:40px;justify-content:center;line-height:1;transition:all .3s ease;width:40px}.media-carousel__arrow:hover{background:var(--first-color);color:#fff;transform:scale(1.1)}.media-carousel__arrow:active{transform:scale(.95)}.media-carousel__arrow--left{order:-1}.media-carousel__arrow--right{order:1}@media screen and (max-width:768px){.media-carousel{gap:1rem;margin:1.5rem 0}.media-carousel__wrapper{gap:.75rem}.media-carousel__container{gap:.75rem;height:300px;padding:.5rem}.media-carousel__image,.media-carousel__media,.media-carousel__video{height:300px}.media-carousel__arrow{font-size:1.5rem;height:35px;width:35px}}@media screen and (max-width:480px){.media-carousel__wrapper{gap:.5rem}.media-carousel__container{gap:.5rem;height:250px;padding:.4rem}.media-carousel__image,.media-carousel__media,.media-carousel__video{height:250px}.media-carousel__arrow{font-size:1.3rem;height:30px;width:30px}}.project-detail{background:#0000;min-height:100vh;padding:4rem 2rem}.project-detail__container{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1200px}.project-detail__back{align-self:flex-start;background:none;border:none;color:var(--first-color);cursor:pointer;font-size:.95rem;font-weight:var(--font-semi-bold);margin:-.5rem -1rem;padding:.5rem 1rem;text-decoration:underline;text-underline-offset:4px;transition:all .3s ease}.project-detail__back:hover{opacity:.8;transform:translateX(-3px)}.project-detail__header{animation:fadeIn .8s ease-out;display:flex;gap:2rem}.project-detail__info{flex:1 1}.project-detail__title-section{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.project-detail__title{color:var(--first-color);font-size:2.75rem;font-weight:var(--font-bold);line-height:1.2;margin:0}.project-detail__subtitle-section{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.project-detail__subtitle{color:var(--title-color);font-size:1.25rem;font-weight:var(--font-medium);margin:0;opacity:.9}.project-detail__date{color:var(--text-color);font-size:.95rem;font-weight:var(--font-medium);margin:0 0 1rem;opacity:.85}.project-detail__date-label{font-weight:var(--font-semi-bold)}.project-detail__badges{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.project-detail__badge{border-radius:12px;display:inline-block;font-size:.7rem;font-weight:var(--font-semi-bold);padding:.4rem .9rem;text-transform:uppercase;white-space:nowrap}.project-detail__badge--professional{background:#b0000033;border:1px solid #ff6b6b4d;color:#ff6b6b}.project-detail__badge--academic{background:#007aff33;border:1px solid #4da6ff4d;color:#4da6ff}.project-detail__badge--personal{background:#b0deff26;border:1px solid #b0deff4d;color:var(--first-color)}.project-detail__content{animation:fadeIn .8s ease-out .2s both}.project-detail__content,.project-detail__main{display:flex;flex-direction:column;gap:2rem}.project-detail__section{display:flex;flex-direction:column;gap:1rem}.project-detail__section-title{color:var(--title-color);font-size:1.25rem;font-weight:var(--font-bold);margin:0}.project-detail__description{color:var(--text-color);font-size:1rem;line-height:1.7;margin:0;opacity:.9}.project-detail__skills{display:flex;flex-wrap:wrap;gap:.6rem}.project-detail__skill-tag{background:#b0deff1a;border:1px solid #b0deff4d;border-radius:15px;color:var(--first-color);display:inline-block;font-size:.85rem;padding:.5rem 1rem;transition:all .3s ease}.project-detail__skill-tag:hover{background:#b0deff33;border-color:#b0deff99;transform:translateY(-2px)}.project-detail__link{align-items:center;background:none;border:none;color:var(--first-color);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:var(--font-semi-bold);gap:.5rem;padding:0;text-decoration:underline;text-underline-offset:4px;transition:all .3s ease;white-space:nowrap}.project-detail__link:hover{gap:.75rem;opacity:.8}.project-detail__gallery{animation:fadeIn .8s ease-out .4s both;background:#3130304d;border:1px solid #b0deff1a;border-radius:12px;display:flex;flex-direction:column;gap:1rem;padding:2rem}.project-detail__not-found{color:var(--text-color);font-size:1.1rem;margin:2rem 0;text-align:center}@media screen and (max-width:768px){.project-detail{padding:2rem 1.5rem}.project-detail__title{font-size:1.75rem}.project-detail__subtitle{font-size:1rem}.project-detail__title-section{align-items:flex-start;flex-direction:column;gap:.75rem}}@media screen and (max-width:480px){.project-detail{padding:1.5rem 1rem}.project-detail__title{font-size:1.5rem}.project-detail__section-title{font-size:1rem}.project-detail__description{font-size:.95rem}.project-detail__skills{gap:.4rem}.project-detail__skill-tag{font-size:.75rem;padding:.4rem .75rem}}
/*# sourceMappingURL=main.2c76288b.css.map*/