.background-container{height:100vh;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;transform:translateZ(0);width:100vw;will-change:transform;z-index:1}.background-box{border:1px solid #2d37481a;border-radius:1rem;box-shadow:#2d37480f;filter:blur(.5px);opacity:.1;position:absolute}.background-box.box-1{background:linear-gradient(135deg,#2d3748,#4a5568);height:80px;width:80px}.background-box.box-2{background:linear-gradient(135deg,#4a5568,#718096);height:120px;width:120px}.background-box.box-3{background:linear-gradient(135deg,#4a5568,#4a5568);height:100px;width:100px}.background-box.box-4{background:linear-gradient(135deg,#718096,#2d3748);height:60px;width:60px}@media(max-width:1130px){.background-box{opacity:.15}.background-box.box-1{height:70px;width:70px}.background-box.box-2{height:100px;width:100px}.background-box.box-3{height:85px;width:85px}.background-box.box-4{height:55px;width:55px}}@media(max-width:778px){.background-box{filter:blur(1px);opacity:.12}.background-box.box-1{height:60px;width:60px}.background-box.box-2{height:80px;width:80px}.background-box.box-3{height:70px;width:70px}.background-box.box-4{height:50px;width:50px}}@media(max-width:460px){.background-box{filter:blur(1.5px);opacity:.1}.background-box.box-1{height:40px;width:40px}.background-box.box-2{height:60px;width:60px}.background-box.box-3{height:50px;width:50px}.background-box.box-4{height:35px;width:35px}}.mouse-follower{background:#0000;border:1px solid var(--color);border-radius:50%;height:var(--size);left:0;pointer-events:none;position:fixed;top:0;transition:opacity .2s ease;width:var(--size);will-change:transform;z-index:var(--z-index)}.mouse-follower:before{background:inherit;border-radius:50%;content:"";height:100%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.logo{background:none;border:none;color:#1a202c;cursor:pointer;font-size:1.2rem;font-weight:700;text-transform:uppercase;transition:color .3s ease}.logo:hover{color:#2d3748}.logo .logo__highlight{background:#2d3748;border-radius:4px;box-shadow:0 2px 12px #2d37480f;color:#fefefe;font-size:inherit;margin-right:5px;padding:3px 5px}.nav{transition:all .3s ease}.nav__list{align-items:center;gap:.5rem;justify-content:center;list-style:none;margin:0;padding:0}.nav__item,.nav__list{display:flex}.nav__button{background:none;border:none;border-radius:50px;color:#4a5568;cursor:pointer;font-size:1rem;font-weight:700;overflow:hidden;padding:.5rem 1rem;position:relative;transition:all .3s ease-in-out}.nav__button:before{background:#2d3748;border-radius:inherit;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease-in-out;width:100%;z-index:-1}.nav__button--active,.nav__button:hover{color:#fefefe}.nav__button--active:before,.nav__button:hover:before{left:0}@media(max-width:778px){.nav{display:none}.nav--mobile-open{display:block;width:100%}.nav__list{flex-direction:column;gap:.75rem}.nav__item,.nav__list{align-items:center;display:flex}.nav__item{justify-content:center;width:100%}.nav__button{height:100%;text-align:center;width:150px}.nav:after{background-color:#e2e8f0;content:"";display:block;height:1px;margin:2rem auto;width:80%}}.social-links{display:none;transition:all .3s ease}.social-links--mobile{display:block!important}.social-links--contact,.social-links--visible{display:block}.social-links--contact .social-links__list{display:flex;flex-wrap:wrap;gap:.5rem}.social-links--contact .social-links__link{background:#f1f5f9;border:2px solid #0000;border-radius:50%;color:#2d3748;font-size:1.125rem;height:30px;transition:all .3s ease;width:30px}.social-links--contact .social-links__link:hover{background:var(--color);box-shadow:0 4px 12px #00000026;color:var(--color);color:#fefefe;transform:translateY(-2px)}.social-links__list{align-items:center;display:flex;gap:.25rem;justify-content:center;list-style:none;margin:0;padding:0}.social-links__item{display:flex}.social-links__link{align-items:center;border-radius:50%;color:#4a5568;display:flex;font-size:1.125rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.social-links__link:hover{background:#2d3748;box-shadow:0 4px 12px #00000026;color:#fefefe}@media(max-width:778px){.social-links--mobile{align-items:center;display:flex;gap:1.5rem;justify-content:center}.social-links--mobile .social-links__list{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center}.social-links--mobile .social-links__link{background-color:#0000;border:1px solid #f1f5f9;border-radius:50%;box-shadow:0 2px 8px #2d37480a;color:#1a202c!important;cursor:pointer;font-size:1rem;height:2rem;transition:all .3s ease-in-out;width:2rem}.social-links--mobile .social-links__link:hover{background-color:var(--color)!important;box-shadow:0 4px 12px #2d374814;color:#fefefe!important;transform:translateY(-2px)}}.menu{align-items:center;display:flex;height:100%;justify-content:center;left:0;opacity:.5;padding-top:5rem;position:fixed;top:-500%;transition:top .9s,opacity .5s ease-in-out;visibility:hidden;width:100%;z-index:1000}.menu--visible{opacity:1;top:0;visibility:visible}.menu__content{animation:menuContentFadeIn .5s ease-out .1s both;gap:0;height:inherit;justify-content:start;max-width:400px;width:100%}.menu__content,.menu__swipe-indicator{align-items:center;display:flex;flex-direction:column}.menu__swipe-indicator{animation:swipeIndicatorFadeIn .5s ease-out .3s both;bottom:20px;gap:.25rem;left:50%;opacity:1;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:10}@media(min-width:778px){.menu__swipe-indicator{display:none}}.menu__swipe-icon{animation:bounce 2s infinite;font-size:1rem}.menu__swipe-text{color:#2d3748;font-size:.75rem;text-shadow:0 1px 2px #0000004d}@keyframes menuContentFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes swipeIndicatorFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}.header{position:fixed;top:1rem;transition:all .3s ease;width:100%;z-index:1000}.header__container{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fefefe8a;border:1px solid #e2e8f04d;border-radius:3rem;border-radius:2rem;box-shadow:0 8px 32px #2d37480f;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:10px 20px;position:relative;transition:all .3s ease}@media(max-width:778px){.header__container{background-color:#0000;border:none;padding:0 1rem}}.header__logo,.header__social{transition:all .3s ease}.header__social{display:none}@media(min-width:778px){.header__social{display:block}}.header__toggle{background:none;border:none;cursor:pointer;display:none;transition:all .3s ease-in-out}.header--menu-open{background-color:#f8fafc;left:0;position:fixed;right:0;top:1rem;z-index:1100}@media(max-width:778px){.header{background-color:#4a5568;height:0;top:0;transition:all .9s ease-in-out}.header__container{border-radius:0;padding:.5rem 1rem;position:relative}.header__toggle{align-items:center;aspect-ratio:1/1;border-radius:50%;display:flex;justify-content:center;transition:all .3s ease-in-out;width:40px}.header__toggle:hover{background-color:#f1f5f9}.header__toggle svg{color:#1a202c;font-size:1.25rem}.header--menu-open{background-color:#f8fafc;height:100dvh;inset:0;position:fixed;z-index:1100}.header--menu-open .header__container{border-radius:0}}.footer{background:#1a202c;padding:2rem 0}.footer .footer__container{margin:0 auto;max-width:1200px;padding:0 2rem}@media(max-width:778px){.footer .footer__container{padding:0 1rem}}.footer .footer__main{grid-gap:1.5rem;align-items:center;display:grid;gap:1.5rem;grid-template-columns:1fr 2fr 1fr}@media(max-width:778px){.footer .footer__main{gap:1.5rem;grid-template-columns:1fr;text-align:center}}.footer .footer__main .footer__logo .footer__logo-component{color:#fefefe;font-size:1.125rem}.footer .footer__main .footer__build-info{align-items:center;display:flex;flex-direction:column;gap:.75rem}.footer .footer__main .footer__build-info p{color:#a0aec0;font-size:.875rem;font-weight:500}.footer .footer__main .footer__build-info p .footer__link{border-bottom:1px solid #0000;color:#fefefe;font-weight:600;transition:all .3s ease}.footer .footer__main .footer__build-info p .footer__link:hover{border-bottom-color:#4a5568;color:#4a5568}.footer .footer__main .footer__back-to-top{align-items:center;background-color:#0000;border:none;color:#fefefe;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;justify-self:end;outline:none;padding:.75rem 1.5rem;transition:all .3s ease}@media(max-width:778px){.footer .footer__main .footer__back-to-top{justify-self:center}}.footer .footer__main .footer__back-to-top:hover{transform:translateY(-2px)}.footer .footer__main .footer__back-to-top svg{font-size:inherit;transition:transform .3s ease}.btn{align-items:center;background:#2d3748;border-radius:2rem;box-shadow:0 4px 15px #2d374814;color:#fefefe;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:1rem;justify-content:center;justify-content:flex-start;overflow:hidden;padding:1rem 1.5rem;position:relative;transition:all .3s ease-in-out;width:-webkit-fit-content;width:fit-content}.btn:before{background:linear-gradient(90deg,#0000,#fefefe,#0000);content:"";display:block;height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease-out;width:100%;z-index:50}.btn:hover:before{left:100%}.btn:hover{background:#1a202c;box-shadow:0 8px 25px #2d37481f}.btn:active{background:#1a202c;transform:translateY(0)}@media(max-width:1130px){.btn{font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1rem}.btn svg{transform:translateY(2px)}}@media(max-width:778px){.hero__resume .resume-btn{justify-content:center;padding:.5rem 0;width:70%}}.not-found{background:linear-gradient(135deg,#f8fafc,#2d37480d);min-height:100vh;overflow:hidden;padding:2rem;position:relative}.not-found,.not-found__container{align-items:center;display:flex;justify-content:center}.not-found__container{gap:2.5rem;margin:0 auto;max-width:1200px;padding:0 2rem;width:100%}@media(max-width:778px){.not-found__container{padding:0 1rem}}@media(max-width:1130px){.not-found__container{flex-direction:column;gap:2rem}}.not-found__content{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:600px;text-align:center}.not-found__number{margin-bottom:2rem}.not-found__number h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2d3748,#4a5568);-webkit-background-clip:text;background-clip:text;font-size:clamp(6rem,15vw,12rem);font-weight:700;line-height:.8;margin:0;text-shadow:0 0 30px #2d37484d}.not-found__text{margin-bottom:2.5rem}.not-found__text h2{color:#1a202c;font-size:clamp(1.5rem,4vw,36px);font-weight:600;line-height:1.2;margin-bottom:1rem}.not-found__actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2.5rem}@media(max-width:460px){.not-found__actions{flex-direction:column;width:100%}}.not-found__btn{min-width:160px}@media(max-width:460px){.not-found__btn{max-width:280px;width:100%}}.not-found__btn.secondary{background:#0000;border:2px solid #2d3748;color:#2d3748}.not-found__btn.secondary:hover{background:#2d3748;color:#fefefe;transform:translateY(-2px)}@media(max-width:778px){.not-found{padding:1rem}.not-found__container{gap:1.5rem}.not-found__number{margin-bottom:1.5rem}.not-found__actions,.not-found__text{margin-bottom:2rem}.floating-elements .element{font-size:2rem}}@media(max-width:460px){.not-found__fun-fact{padding:.75rem 1rem}.not-found__fun-fact p{flex-direction:column;font-size:.75rem;gap:.25rem;text-align:center}}.hero{background-color:#f8fafc;display:grid;place-items:center;position:relative;width:100%}@media(max-width:778px){.hero{height:100dvh}}.hero .container{grid-gap:2.5rem;align-items:center;display:grid;gap:2.5rem;grid-template-columns:1fr 1fr 20px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem;padding:0 clamp(2rem,3vw,2.5rem)!important;position:relative;z-index:10}@media(max-width:778px){.hero .container{padding:0 1rem}}@media(max-width:1130px){.hero .container{gap:0;grid-template-columns:1fr 1fr}}@media(max-width:778px){.hero .container{grid-template-columns:1fr;height:auto;justify-content:center;min-height:100dvh;overflow-x:hidden;padding:0!important;position:relative;width:100%}.hero .container .hero__content{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:#fff9;border-radius:1.5rem;bottom:10px;box-shadow:0 5px 5px #0000004d;cursor:grab;display:flex;flex-direction:column;left:50%;max-width:500px;padding:1.5rem .75rem .75rem;position:absolute;scale:.9;text-align:center;transform:translateX(-50%);width:90%;word-spacing:-1px;z-index:1555}}.hero .container .hero__content .hero__title{color:#1a202c;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;line-height:1.25;margin-bottom:1rem;text-shadow:0 2px 4px #2d374814}.hero .container .hero__content .hero__title .hiEmoji{all:unset;animation:sayHi 2s ease infinite alternate-reverse;display:inline-block}@keyframes sayHi{50%{rotate:10deg;scale:1}to{rotate:-10deg;scale:1.1}}.hero .container .hero__content .hero__title span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2d3748,#4a5568);-webkit-background-clip:text;background-clip:text}.hero .container .hero__content .hero__title small{color:#718096;font-size:clamp(.875rem,2vw,1.125rem)}@media(max-width:778px){.hero .container .hero__content .hero__title{font-size:clamp(1.75rem,4vw,2rem);margin-bottom:.75rem}}.hero .container .hero__content .hero__subtitle{color:#4a5568;font-size:clamp(1.125rem,3vw,2rem);font-weight:600;line-height:1.25;margin-bottom:1.5rem;text-shadow:0 1px 2px #2d37480a}@media(max-width:778px){.hero .container .hero__content .hero__subtitle{margin-bottom:.75rem}}.hero .container .hero__content .hero__description{color:#718096;font-size:clamp(.75rem,2vw,1.125rem);line-height:1.75;margin-bottom:2rem;max-width:471px}@media(max-width:778px){.hero .container .hero__content .hero__description{font-size:clamp(.875rem,3vw,1.125rem)!important;margin-bottom:.75rem}}.hero .container .hero__content .availability-badge{align-items:center;color:#4a5568;display:flex;font-size:clamp(.75rem,1.5vw,.875rem);gap:.5rem;justify-content:center;justify-content:start;margin-bottom:2.5rem;padding-left:.25rem;padding-top:.5rem}.hero .container .hero__content .availability-badge svg{animation:opacit .6s ease-in-out infinite alternate-reverse;color:#38a169;font-size:8px;opacity:.5}@keyframes opacit{to{opacity:1}}@media(max-width:778px){.hero .container .hero__content .availability-badge{margin-bottom:.5rem;padding-top:0}}@media(max-width:1130px){.hero .container .hero__content .hero__resume{display:flex;gap:1rem;width:100%}}@media(max-width:778px){.hero .container .hero__content .hero__resume{align-items:center;display:flex;flex-direction:column-reverse;gap:.5rem;justify-content:center}}.hero .container .hero__media{animation:morphing-border 8s ease-in-out infinite;aspect-ratio:1/1;border:3px solid #2d3748;border-radius:55% 44% 65% 37%/52% 28% 73% 49%;display:grid;overflow:hidden;place-items:center;position:relative;transition:all .3s ease;width:500px}.hero .container .hero__media:before{background:linear-gradient(90deg,#0000,#fefefe,#0000);content:"";display:block;height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease-out;width:100%;z-index:50}.hero .container .hero__media:hover:before{left:100%}@media(max-width:1130px){.hero .container .hero__media{width:clamp(18.75rem,5.357rem + 35.714vw,37.5rem)}}.hero .container .hero__media .hero__image{height:inherit;object-fit:cover;position:absolute;width:inherit}.hero .container .hero__media:hover{animation-play-state:paused;border-radius:73% 27% 78% 22%/32% 65% 35% 68%;box-shadow:0 0 20px 5px #2d374826;scale:1.05}@media(max-width:778px){.hero .container .hero__media{animation:none;border:none;border-radius:0;height:100dvh;left:0;opacity:1!important;position:relative;top:-100px;transform:none!important;transition:none!important;width:100vw;z-index:500}.hero .container .hero__media:before{background:linear-gradient(90deg,#0000,#fefefe,#0000);content:"";display:none;height:100%;left:-100%;position:absolute;top:0;transition:left 0s ease-out;width:100%;z-index:50}.hero .container .hero__media:hover:before{left:100%}.hero .container .hero__media:after{background:linear-gradient(180deg,#0000,#f8fafc);bottom:0;content:"";height:50%;left:0;position:absolute;width:100%;z-index:50}.hero .container .hero__media:hover{animation-play-state:paused;border-radius:0;box-shadow:none;scale:1}}@keyframes morphing-border{0%,to{border-radius:55% 44% 65% 37%/52% 28% 73% 49%}50%{border-radius:41% 59% 51% 49%/47% 45% 55% 53%}}.hero .container .hero__social{animation:slideInFromRight 1s ease-out .5s both;display:flex;flex-direction:column;gap:1rem;position:relative;z-index:20}@media(max-width:1130px){.hero .container .hero__social{flex-direction:row;order:3}}@media(max-width:778px){.hero .container .hero__social{gap:4px}}.hero .container .hero__social .social-link{align-items:center;aspect-ratio:1/1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fefefe8a;border:1px solid #e2e8f04d;border-radius:3rem;border-radius:50%;box-shadow:0 8px 32px #2d37480f;box-shadow:0 2px 12px #2d37480f;cursor:pointer;display:flex;justify-content:center;overflow:hidden;position:relative;width:50px}@media(max-width:1130px){.hero .container .hero__social .social-link{flex-direction:row;height:clamp(40px,3dvh,50px);width:clamp(40px,3vw,50px)}}@media(max-width:778px){.hero .container .hero__social .social-link{background-color:#0000;border:none;box-shadow:none;flex-direction:row;height:30px;width:30px}.hero .container .hero__social .social-link svg{font-size:1rem!important}}.hero .container .hero__social .social-link:before{background:linear-gradient(90deg,#0000,#4a5568,#0000);content:"";display:block;height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease-out;width:100%;z-index:50}.hero .container .hero__social .social-link:hover:before{left:100%}.hero .container .hero__social .social-link svg{color:#1a202c;font-size:clamp(1.125rem,2vw,1.5rem)}.hero .container .hero__social .social-link.github-link:hover svg{color:#1a202c}.hero .container .hero__social .social-link.linkedin-link:hover svg{color:#0077b5}.hero .container .hero__social .social-link.codepen-link:hover svg{color:#000}.close-button{align-items:center;aspect-ratio:1/1;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:40px;z-index:10}.close-button:hover{background:#000000b3;transform:scale(1.1)}.close-button:active{transform:scale(.95)}.close-button:focus{outline:2px solid #4a556880;outline-offset:2px}.close-button svg{height:18px;width:18px}.custom-cursor{align-items:center;background:#2d3748;border-radius:50%;box-shadow:0 2px 12px #2d37480f;display:flex;height:50px!important;justify-content:center;pointer-events:none;position:absolute;width:50px!important;z-index:9998}.custom-cursor span{color:#fefefe;font-size:.75rem;font-weight:700;text-transform:uppercase;-webkit-user-select:none;user-select:none}@media(max-width:778px){.custom-cursor{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2d3748e6;height:60px!important;width:60px!important}.custom-cursor span{font-size:.875rem}}.location{align-items:center;animation:fadeInUp .8s ease-out .9s both;border:1px solid #0000;border-radius:1rem;cursor:none;display:flex;gap:.5rem;justify-content:center;padding:.5rem 0;position:relative;transition:all .3s ease-in-out;width:-webkit-fit-content;width:fit-content}@media(max-width:460px){.location{gap:3px}}.location:after{background:#2d3748;bottom:0;content:"";height:1px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease-in-out;width:0}.location:hover{transform:translateY(-2px)}.location:hover .location__icon{color:#2d3748;transform:scale(1.1)}.location:hover p{color:#2d3748}.location:hover:after{width:80%}.location p{align-items:center;color:#4a5568;display:flex;font-size:clamp(.75rem,1vw,1rem);gap:.5rem;justify-content:center;margin:0;word-spacing:-1px}@media(max-width:778px){.location p{font-size:clamp(13px,1vw,.875rem);gap:2px}}@media(max-width:460px){.location p{font-size:11px}}.location .location__icon{color:#4a5568;font-size:1.125rem}@media(max-width:778px){.location .location__icon{font-size:inherit}}.map-overlay{align-items:center;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:#2d374866;display:flex;height:100dvh;inset:0;justify-content:center;position:fixed;width:100vw;z-index:9999}.map-overlay .map-modal{background-color:#e2e8f0;border-radius:1rem;display:flex;flex-direction:column;height:90dvh;max-width:1200px;overflow:hidden;padding:0;position:relative;width:92%}.map-overlay .map-modal .map-content{display:flex;flex-direction:column;height:inherit;padding:48px 40px 40px}@media(max-width:778px){.map-overlay .map-modal .map-content{padding:60px .75rem .5rem}}.map-overlay .map-modal .map-content .map-container{background:#2d374814;border-radius:1.5rem;height:inherit;overflow:hidden;position:relative}.map-overlay .map-modal .map-content .map-container .interactive-map-container{height:inherit;width:inherit}.map-overlay .map-modal .map-content .map-container .interactive-map-container .leaflet-container{background:#f8fafc;border-radius:20px;height:inherit;width:inherit}.map-overlay .map-modal .map-content .map-container .interactive-map-container .leaflet-control-attribution{display:none!important}.map-loading{align-items:center;display:flex;height:inherit;justify-content:center}.interactive-text{background:linear-gradient(135deg,#2d37481a,#4a55680d);border-radius:4px;color:#2d3748;cursor:pointer;display:inline-block;margin:0 2px;padding:2px 4px;position:relative;text-decoration:underline;-webkit-text-decoration-color:#0000;text-decoration-color:#0000;transition:all .3s ease}.interactive-text:hover{background:linear-gradient(135deg,#2d374826,#4a55681a);box-shadow:0 2px 8px #2d374833;color:#4a5568;-webkit-text-decoration-color:#4a5568;text-decoration-color:#4a5568;transform:translateY(-1px)}.interactive-text:active{transform:translateY(0)}.interactive-preview .preview-content{max-width:300px}.interactive-preview .preview-content .preview-image{border-radius:.5rem;height:150px;object-fit:cover;width:100%}@media(max-width:778px){.interactive-preview .preview-content{margin:0 auto;max-width:250px;padding:.75rem}.interactive-preview .preview-content .preview-image{height:120px}}@media(max-width:480px){.interactive-preview .preview-content{max-width:200px;padding:.5rem}.interactive-preview .preview-content .preview-image{height:100px}}@media(max-width:460px){.interactive-text{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.about{background-color:#f8fafc;overflow:hidden;padding:4.5rem 0}.about .container{margin:0 auto;max-width:1200px;padding:0 2rem}@media(max-width:778px){.about .container{padding:0 1rem}}.about .container .about__header{color:#2d3748;font-size:3rem;font-weight:700;margin-bottom:4.5rem;text-align:center}@media(max-width:1130px){.about .container .about__header{font-size:clamp(2rem,4vw,4rem)}}.about .container .about__header .about__subtitle{color:#718096;font-size:clamp(.75rem,2.5vw,1rem);font-weight:400;line-height:1.75;margin:0 auto;max-width:600px;opacity:.9;text-align:center}.about .container .about__main-content{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:1fr 1.5fr;position:relative;width:100%}@media(max-width:778px){.about .container .about__main-content{align-items:center;display:flex;flex-direction:column;gap:2rem}}.about .container .about__main-content .about__image{animation:morphing-border 8s ease-in-out infinite;aspect-ratio:1/1;border:3px solid #2d3748;border-radius:55% 44% 65% 37%/52% 28% 73% 49%;cursor:pointer;grid-column:span 1;overflow:hidden;position:relative;transition:all .3s ease;width:500px}.about .container .about__main-content .about__image:before{background:linear-gradient(90deg,#0000,#fefefe,#0000);content:"";display:block;height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease-out;width:100%;z-index:50}.about .container .about__main-content .about__image:hover:before{left:100%}@media(max-width:1130px){.about .container .about__main-content .about__image{width:clamp(18.75rem,5.357rem + 35.714vw,37.5rem)}}@media(max-width:778px){.about .container .about__main-content .about__image{margin:0 auto}}.about .container .about__main-content .about__image img{height:inherit;object-fit:cover;position:absolute;width:inherit}.about .container .about__main-content .about__image:hover{animation-play-state:paused;border-radius:73% 27% 78% 22%/32% 65% 35% 68%;box-shadow:0 0 20px 5px #2d374826;scale:1.05}.about .container .about__main-content .about__info{display:flex;flex-direction:column;gap:2.5rem;grid-column:span 1;margin:auto 0}.about .container .about__main-content .about__info .about__intro{width:clamp(20rem,45vw,40rem)}@media(max-width:778px){.about .container .about__main-content .about__info .about__intro{margin-left:auto;margin-right:auto;margin-top:2rem;width:95%;word-spacing:-1px}}.about .container .about__main-content .about__info .about__intro p{color:#4a5568;font-size:clamp(.875rem,1.8vw,1.125rem);line-height:1.7;margin:0}@media(max-width:778px){.about .container .about__main-content .about__info .about__intro p{font-size:1rem;max-width:550px}}.about .container .about__main-content .about__info .about__btn{display:flex;gap:1rem;width:100%}.about .container .about__main-content .about__info .about__btn .show__projects{align-items:center;background-color:#0000;border:1px solid #4a5568;box-shadow:inset 0 -1px 0 #0000;color:#2d3748;display:flex;justify-content:center;transition:all .3s ease-in-out;width:50%}.about .container .about__main-content .about__info .about__btn .hire__me{align-items:center;background-color:#2d3748;display:flex;justify-content:center;width:50%}.about .container .about__main-content .about__facts{grid-column:span 2}.about .container .about__main-content .about__facts .facts-grid{align-items:center;align-items:stretch;display:flex;gap:5px;justify-content:center;justify-content:space-evenly;width:100%}@media(max-width:970px){.about .container .about__main-content .about__facts .facts-grid{flex-wrap:wrap;gap:1rem}}@media(max-width:778px){.about .container .about__main-content .about__facts .facts-grid{display:none}}.about .container .about__main-content .about__facts .facts-grid .fact-card{align-items:center;display:flex;height:100%;justify-content:center;overflow:hidden;transition:all .3s ease-in-out!important}.about .container .about__main-content .about__facts .facts-grid .fact-card-container{align-items:center;display:flex;gap:1rem;justify-content:center;padding:0 5px}.about .container .about__main-content .about__facts .facts-grid .fact-card-container .fact-icon{color:#4a5568;display:none;font-size:2.5rem}.about .container .about__main-content .about__facts .facts-grid .fact-card-container .fact-content{display:flex;flex-direction:column;gap:.25rem;justify-content:space-between;max-width:200px;min-width:180px;text-align:center}.about .container .about__main-content .about__facts .facts-grid .fact-card-container .fact-content .fact-label{color:#4a5568;font-size:1.125rem;font-weight:700}.about .container .about__main-content .about__facts .facts-grid .fact-card-container .fact-content .fact-value{color:#4a5568;font-size:13px}.skills{background-color:#f8fafc;overflow:hidden;padding:4.5rem 0;position:relative}.skills .skills__header{color:#2d3748;font-size:3rem;font-weight:700;margin-bottom:4.5rem;text-align:center}@media(max-width:1130px){.skills .skills__header{font-size:clamp(2rem,4vw,4rem)}}@media(max-width:460px){.skills .skills__header{margin-bottom:2rem}}.skills .skills__header .skills__subtitle{color:#718096;font-size:clamp(.75rem,2.5vw,1rem);font-weight:400;line-height:1.75;margin:0 auto;max-width:600px;opacity:.9;text-align:center}.skills .container{margin:0 auto;max-width:1200px;overflow:visible;padding:0 2rem}@media(max-width:778px){.skills .container{padding:0 1rem}}.skills .container .skills__content{display:flex;flex-direction:column;margin-inline:15px;overflow-x:hidden}.skills .container .skills__content .skills__row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding:1rem 0}.skills .container .skills__content .skills__row .skill-card{aspect-ratio:1/1;background-color:#fefefe;border:1px solid var(--skill-color);border-radius:.75rem;box-shadow:inset 0 0 15px var(--skill-color);cursor:default;display:flex;flex-direction:column;gap:clamp(.5rem,1vw,.75rem);justify-content:center;position:relative;transition:all .3s ease-in-out;width:clamp(90px,8vw,120px);z-index:15}.skills .container .skills__content .skills__row .skill-card:hover{box-shadow:inset 0 0 15px var(--skill-color),0 0 15px 0 var(--skill-color);transform:translateY(-5px)}.skills .container .skills__content .skills__row .skill-card:active{transform:translateY(-4px)}.skills .container .skills__content .skills__row .skill-card .skill-card__icon{align-items:center;color:var(--skill-color);display:flex;font-size:clamp(2rem,3vw,2.5rem);justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.skills .container .skills__content .skills__row .skill-card .skill-card__icon svg{max-height:clamp(32px,4vw,48px);max-width:clamp(32px,4vw,48px)}.skills .container .skills__content .skills__row .skill-card .skill-card__icon img{height:clamp(32px,4vw,48px);object-fit:contain;width:clamp(32px,4vw,48px)}.skills .container .skills__content .skills__row .skill-card .skill-card__name{color:#4a5568cc;font-size:clamp(11px,1.5vw,.875rem);font-weight:700;line-height:1.2;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.projects{background-color:#f8fafc;padding:4.5rem 0 5.5rem}.projects .projects__header{color:#2d3748;font-size:3rem;font-weight:700;margin-bottom:4.5rem;text-align:center}@media(max-width:1130px){.projects .projects__header{font-size:clamp(2rem,4vw,4rem)}}.projects .projects__header .projects__subtitle{color:#718096;font-size:clamp(.75rem,2.5vw,1rem);font-weight:400;line-height:1.75;margin:0 auto;max-width:600px;opacity:.9;text-align:center}.projects .container{margin:0 auto;max-width:1200px;padding:0 2rem;position:relative}@media(max-width:778px){.projects .container{padding:0 1rem}}.projects .container .projects__grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;place-items:center}@media(max-width:778px){.projects .container .projects__grid{grid-template-columns:1fr}}.projects .container .project-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 0 15px 5px var(--project-color);overflow:hidden;position:relative;transition:all .3s ease;width:100%;z-index:15}.projects .container .project-card .project-card__container{display:flex;flex-direction:column}.projects .container .project-card .project-card__container .project-card__media-section{overflow:hidden;width:inherit}.projects .container .project-card .project-card__container .project-card__media-section .project-card__media-container{height:100%;width:inherit}.projects .container .project-card .project-card__container .project-card__media-section .project-card__media-container .project-card__media{height:inherit;object-fit:cover;object-position:center;transition:all .3s ease;width:inherit}.projects .container .project-card .project-card__container .project-card__media-section .project-card__media-container .project-card__media:hover{transform:scale(1.1)}.projects .container .project-card .project-card__container .project-card__details{padding:clamp(.75rem,1vw,1.5rem)}.projects .container .project-card .project-card__container .project-card__details .project-card__header{margin-bottom:.75rem}.projects .container .project-card .project-card__container .project-card__details .project-card__header .project-card__title{color:#718096;font-size:clamp(.75rem,1vw,.875rem);font-weight:500;word-spacing:-1px}.projects .container .project-card .project-card__container .project-card__details .project-card__content{display:flex;flex-direction:column;gap:1rem}.projects .container .project-card .project-card__container .project-card__details .project-card__content .project-card__description{color:#4a5568;font-size:clamp(.75rem,1vw,.875rem);line-height:1.5}.projects .container .project-card .project-card__container .project-card__details .project-card__content .project-card__tech-stack .project-card__technologies{display:flex;flex-wrap:wrap;gap:.25rem}.projects .container .project-card .project-card__container .project-card__details .project-card__content .project-card__tech-stack .project-card__technologies .project-card__tech-item{align-items:center;background-color:#a0aec04d;border-radius:15px;color:#4a5568;display:flex;font-weight:500;gap:.25rem;justify-content:center;padding:.5rem .75rem;transition:all .3s ease}.projects .container .project-card .project-card__container .project-card__details .project-card__content .project-card__tech-stack .project-card__technologies .project-card__tech-item:hover{background-color:var(--colorTech);color:#f8fafc;scale:1.1}.projects .container .project-card .project-card__container .project-card__details .project-card__content .project-card__tech-stack .project-card__technologies .project-card__tech-item svg{color:inherit!important}.projects .container .project-card .project-card__container .project-card__details .project-card__content .project-card__tech-stack .project-card__technologies .project-card__tech-item span{color:inherit;font-size:11px;text-transform:capitalize}.projects .container .project-card .project-card__container .project-card__links{display:flex;justify-content:end}.projects .container .project-card .project-card__container .project-card__links .project-card__link{align-items:center;color:#4a5568;display:flex;gap:.25rem;height:40px;justify-content:center;transition:all .3s ease-in-out;width:40px}.projects .container .project-card .project-card__container .project-card__links .project-card__link:active,.projects .container .project-card .project-card__container .project-card__links .project-card__link:hover{color:#1a202c;width:80px}.projects .container .project-card .project-card__container .project-card__links .project-card__link:active span,.projects .container .project-card .project-card__container .project-card__links .project-card__link:hover span{font-size:clamp(.875rem,1vw,1.125rem);font-weight:600;opacity:1;transform:translateX(0)}.projects .container .project-card .project-card__container .project-card__links .project-card__link span{font-size:0;opacity:0;transform:translateX(-10px);transition:all .3s ease-in-out;white-space:nowrap}.contact{background-color:#f8fafc;padding:4.5rem 0 12.5rem}.contact .contact__header{color:#2d3748;font-size:3rem;font-weight:700;margin-bottom:4.5rem;text-align:center}@media(max-width:1130px){.contact .contact__header{font-size:clamp(2rem,4vw,4rem)}}.contact .contact__header .contact__subtitle{color:#718096;font-size:clamp(.75rem,2.5vw,1rem);font-weight:400;line-height:1.75;margin:0 auto;max-width:600px;opacity:.9;text-align:center}.contact .container{margin:0 auto;max-width:1200px;padding:clamp(10px,1vw,.75rem)}@media(max-width:778px){.contact .container{padding:0 1rem}}.contact .container .contact__content .contact__info{display:flex;flex-direction:column;gap:1.5rem}.contact .container .contact__content .contact__info .contact__info-item{align-items:center;display:flex;justify-content:center}.contact .container .contact__content .contact__info .contact__info-item .contact__info-content .location{width:-webkit-fit-content;width:fit-content}.contact .container .contact__content .contact__info .contact__info-item .contact__info-content .location p{all:unset}.contact .container .contact__content .contact__info .contact__info-item .contact__info-content .location p,.contact .container .contact__content .contact__info .contact__info-item .contact__info-content .location svg{color:#718096;font-size:clamp(.3rem,3vw,1.2rem);transition:inherit}.contact .container .contact__content .contact__info .contact__info-item .contact__info-content .location p:hover,.contact .container .contact__content .contact__info .contact__info-item .contact__info-content .location svg:hover{color:#1a202c}.contact .container .contact__content .contact__info .contact__info-item .contact__info-content .contact__info-value{align-items:center;color:#718096;cursor:pointer;display:flex;font-size:1.25rem;font-size:clamp(.8rem,3vw,1.3rem);gap:.5rem;justify-content:center;transition:all .3s ease}.contact .container .contact__content .contact__info .contact__info-item .contact__info-content .contact__info-value:hover{color:#1a202c}.contact .container .contact__content .contact__info .contact__info-item .contact__info-content .contact__info-value svg{font-size:inherit;opacity:.7}.contact .container .contact__content .contact__info .contact__social{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:1rem}.contact .container .contact__content .contact__info .contact__social .contact__social-label{color:#4a5568;display:block;font-size:.75rem;font-size:clamp(.7rem,1vw,.75rem);font-weight:600;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.contact .container .contact__content .contact__info .contact__social .contact__social-links{display:flex;flex-wrap:wrap;gap:.5rem}.contact .container .contact__content .contact__info .contact__social .contact__social-links .contact__social-link{align-items:center;aspect-ratio:1/1;background:#f1f5f9;border:2px solid #0000;border-radius:50%;color:#2d3748;display:flex;font-size:1.25rem;justify-content:center;transition:all .3s ease;width:40px}.contact .container .contact__content .contact__info .contact__social .contact__social-links .contact__social-link:hover{background:var(--social-color);box-shadow:0 4px 12px #00000026;color:var(--social-color);color:#fefefe;transform:translateY(-2px)}.contact .contact__email-options{display:flex;flex-direction:column;gap:1.5rem;text-align:center}.contact .contact__email-options .contact__email-info{align-items:center;background:#fefefe;border:1px solid #e2e8f0;border-radius:1rem;display:flex;gap:.75rem;justify-content:center;padding:1.5rem}.contact .contact__email-options .contact__email-info .contact__email-icon{color:#2d3748;font-size:1.5rem}.contact .contact__email-options .contact__email-info .contact__email-address{color:#1a202c;font-size:1.125rem;font-weight:600}.contact .contact__email-options .contact__email-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.contact .contact__email-options .contact__email-actions .contact__email-btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;min-width:140px;padding:1rem 1.5rem;transition:all .3s ease}.contact .contact__email-options .contact__email-actions .contact__email-btn--copy{background:#f1f5f9;border:2px solid #e2e8f0;color:#1a202c}.contact .contact__email-options .contact__email-actions .contact__email-btn--copy:hover{background:#2d3748;border-color:#2d3748;color:#fefefe}.contact .contact__email-options .contact__email-actions .contact__email-btn--form{background:#2d3748;border:2px solid #2d3748;color:#fefefe}.contact .contact__email-options .contact__email-actions .contact__email-btn--form:hover{background:#1a202c;border-color:#1a202c}.contact .contact__form-modal{padding:2.5rem 0 0;position:relative}.contact .contact__form-modal .close-button{right:-5px;top:-10px}.contact .contact__form-modal .contact__form-close{align-items:center;aspect-ratio:1/1;background:#fefefe;border:none;border-radius:50%;color:#1a202c;cursor:pointer;display:flex;font-size:1.125rem;font-weight:700;justify-content:center;position:absolute;right:-.5rem;top:-.5rem;transition:all .3s ease;width:32px;z-index:10}.contact .contact__form-modal .contact__form-close:hover{background:#2d3748;color:#fefefe;transform:scale(1.1)}.contact .contact__form-modal .contact__form{display:flex;flex-direction:column;gap:1.5rem}.contact .contact__form-modal .contact__form .contact__form-group{display:flex;flex-direction:column;gap:.5rem}.contact .contact__form-modal .contact__form .contact__form-group .contact__input,.contact .contact__form-modal .contact__form .contact__form-group .contact__textarea{background:#e2e8f0;border:none;border-radius:.5rem;color:#1a202c;font-family:inherit;font-size:1rem;outline:none;padding:1rem;transition:all .3s ease;width:100%}.contact .contact__form-modal .contact__form .contact__form-group .contact__input::placeholder,.contact .contact__form-modal .contact__form .contact__form-group .contact__textarea::placeholder{color:#4a5568;font-size:.875rem}.contact .contact__form-modal .contact__form .contact__form-group .contact__input:focus,.contact .contact__form-modal .contact__form .contact__form-group .contact__textarea:focus{box-shadow:0 0 0 3px #2d37481a}.contact .contact__form-modal .contact__form .contact__form-group .contact__input--error,.contact .contact__form-modal .contact__form .contact__form-group .contact__textarea--error{animation:shake .5s ease-in-out 1;border:1px solid #e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.contact .contact__form-modal .contact__form .contact__form-group .contact__textarea{line-height:1.6;min-height:120px;resize:none}.contact .contact__form-modal .contact__form .contact__form-group .contact__error{display:none}.contact .contact__form-modal .contact__form .contact__submit-button{align-items:center;background:linear-gradient(135deg,#2d3748,#4a5568);background:#2d3748;border:none;border-radius:50px;border-radius:.5rem;box-shadow:0 4px 15px #2d374814;box-shadow:0 4px 12px #2d37484d;color:#fefefe;cursor:pointer;display:inline-flex;display:flex;font-size:1rem;font-weight:600;font-weight:700;gap:.5rem;justify-content:center;overflow:hidden;padding:1rem 1.5rem;position:relative;text-decoration:none;transition:all .3s ease-in-out;transition:all .3s ease;width:100%}.contact .contact__form-modal .contact__form .contact__submit-button:hover{background:#1a202c;box-shadow:0 8px 25px #2d37481f;box-shadow:0 6px 16px #2d374866;transform:translateY(-2px)}.contact .contact__form-modal .contact__form .contact__submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.contact .contact__form-modal .contact__form .contact__submit-button .contact__submit-loading{align-items:center;display:flex;gap:.5rem;justify-content:center}.contact .contact__form-modal .contact__form .contact__submit-button .contact__spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.notification{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#4a5568;border-radius:10px;bottom:2rem;box-shadow:0 10px 25px #00000026;color:#fefefe;max-width:400px;overflow:hidden;position:fixed;right:2rem;width:-webkit-fit-content;width:fit-content;z-index:10000}.notification .notification__content{align-items:center;display:flex;gap:.75rem;justify-content:center;padding:1rem 1.5rem}.notification .notification__message{flex:1 1;font-size:.875rem;font-weight:600;line-height:1.4}.modal__overlay{all:unset;align-items:center;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:#2d374866;display:flex;inset:0;justify-content:center;overflow:hidden;position:fixed;transition:opacity .2s ease;z-index:9999}.modal__overlay--animating{opacity:1}.modal__overlay--closing{opacity:0}.modal__container{background-color:#f8fafc;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;opacity:0;overflow:hidden;transform:scale(.95);transition:all .2s ease;width:90%}.modal__container--animating{opacity:1;transform:scale(1)}.modal__container--closing{opacity:0;transform:scale(.95)}.modal__container--small{max-width:448px}.modal__container--medium{max-width:512px}.modal__container--large{max-width:896px}.modal__container--xlarge{max-width:1152px}.modal__header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal__header-title{color:#1a202c;font-size:1.5rem;font-weight:700;margin:0}.modal__header-close{align-items:center;aspect-ratio:1/1;background:none;border:none;border-radius:50%;color:#2d3748;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.5rem;transition:all .2s ease;width:32px}.modal__header-close:hover{color:#1a202c;scale:1.05}.modal__content,.modal__content--with-header{padding:0}.modal__content--without-header{padding:24px}.home-page{min-height:100vh}*{box-sizing:border-box;font-family:Roboto,sans-serif;list-style:none;margin:0;padding:0}html{scroll-behavior:smooth!important}body{background:linear-gradient(135deg,#f8fafc,#2d374808);color:#1a202c;font-family:Open Sans,sans-serif;line-height:1.5;min-height:100vh}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}@media(max-width:778px){*{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;user-select:none}section{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);will-change:auto}main#main-content{position:relative;z-index:1}}body,html{height:100%;margin:0;padding:0}#root{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1}
/*# sourceMappingURL=main.7f85640c.css.map*/