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;font-size:1.1rem!important;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace!important;font-size:1rem!important}.main-container{background-color:#000;position:relative}a{text-decoration:none}a:hover{color:#ab47bc;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}a,button,h1,h2,h3,h4,h5,label,p{color:#fff;font-family:Lato,sans-serif}.navigation-bar{background-color:#0d1116;justify-content:space-between}.navigation-bar button{font-family:Lato,sans-serif;font-size:1.1rem;padding:6px 10px;text-transform:none}.navigation-bar svg{cursor:pointer}.navigation-bar-responsive p,.navigation-bar-responsive span{color:#000;font-family:Lato,sans-serif}.container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:64px;width:100%}.header-image,.header-image img{height:450px;width:100%}.header-image img{object-fit:cover}.mobile-menu-top{align-items:center;font-weight:700;gap:5px}.items-container,.mobile-menu-top{display:flex;justify-content:center}.items-container{flex-direction:column;padding:5% 10%;text-align:left}.light-mode,.light-mode .navigation-bar{background-color:#f8f9fa}.light-mode a,.light-mode button,.light-mode h1,.light-mode h2,.light-mode h3,.light-mode h4,.light-mode h5,.light-mode label,.light-mode p{color:#0d1116}.light-mode a:hover{color:#ab47bc;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.light-mode .navigation-bar svg{color:#000}.light-mode .about-section{background-image:url(/static/media/bg-light.bac0efb485244a522981.png)}.light-mode .skills-container svg{color:#0d1116}.light-mode .chip{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.light-mode .chip,.light-mode .vertical-timeline:before{background-color:#00000014}.light-mode .vertical-timeline--animate .vertical-timeline-element-content.bounce-in{box-shadow:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f}.light-mode .vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{color:gray}.light-mode .vertical-timeline-element-content-arrow{border-right:7px solid #00000014!important}.light-mode .flex-chips .chip-title{color:#0d1116}@media screen and (max-width:768px){.items-container{padding:5%}}.nav-link{color:#fff;padding:0 10px;position:relative;text-decoration:none;transition:color .3s}.nav-link:hover{color:#ab47bc}.nav-link:after{background-color:#ab47bc;border-radius:2px;bottom:-5px;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s ease;width:100%}.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.nav-item-active{color:#ab47bc}.nav-item-active:after{transform:scaleX(1);transform-origin:left}.about-highlight{position:relative}.about-highlight:before{animation:pulse 2s infinite;background:#ab47bc1a;border-radius:4px;bottom:-2px;content:"";left:-2px;position:absolute;right:-2px;top:-2px;z-index:-1}@keyframes pulse{0%{box-shadow:0 0 0 0 #ab47bc66}70%{box-shadow:0 0 0 10px #ab47bc00}to{box-shadow:0 0 0 0 #ab47bc00}}.mainContainer{align-items:center;background-color:#0a0a0a;color:#fff;display:flex;flex-direction:column;font-family:Roboto,sans-serif;justify-content:center;min-height:100vh}.light-mode .mainContainer{background-color:#f8f9fa;color:#0d1116}.light-mode .mainContainer .introSection{background:#00000008;border:1px solid #0000001a;box-shadow:0 8px 16px #0000001a}.light-mode .mainContainer .introText h1,.light-mode .mainContainer .introText h2,.light-mode .mainContainer .introText p{color:#0d1116}.light-mode .mainContainer .introText .inline-text{color:#4a4a4a}.light-mode .mainContainer .socialIcons a{color:#0d1116}.header{background-color:#0000;color:#f0f0f0;font-size:2rem;font-weight:700;padding:20px;text-align:center}.mainContent{flex-direction:column;justify-content:center;padding:60px 20px}.introSection,.mainContent{align-items:center;display:flex}.introSection{background:#ffffff14;border:1px solid #ffffff26;border-radius:15px;box-shadow:0 8px 16px #0000004d;flex-direction:row;justify-content:space-between;max-width:1200px;padding:50px;width:100%}@media(max-width:768px){.introSection{flex-direction:column;padding:30px 20px;text-align:center}}.introText{margin-right:40px;max-width:600px}@media(max-width:768px){.introText{margin-bottom:30px;margin-right:0}}.introText h3{color:#ab47bc;font-size:1.8rem;margin-bottom:10px}@media(max-width:768px){.introText h3{font-size:1.5rem}}.introText h1{color:#e0e0e0;font-size:3.5rem;margin-bottom:10px}@media(max-width:768px){.introText h1{font-size:2.5rem}}.typewriter-wrapper{align-items:center;display:inline-flex;gap:5px}@media(max-width:768px){.typewriter-wrapper{align-items:center;flex-direction:column}}.inline-text{color:#bbb;font-size:2rem;margin:0;padding:0}@media(max-width:768px){.inline-text{font-size:1.5rem}}.typewriter-component{color:#ab47bc;font-size:1.9rem;padding:0}@media(max-width:768px){.typewriter-component{font-size:1.4rem}}.introText .highlight{color:#ab47bc}.introText h2{align-items:center;color:#bbb;display:flex;font-size:1.6rem;gap:5px;margin-bottom:20px}@media(max-width:768px){.introText h2{font-size:1.3rem;justify-content:center}}.introText p{color:#ccc;font-size:1.2rem;line-height:1.6;margin-bottom:30px}@media(max-width:768px){.introText p{font-size:1rem}}.socialIcons{display:flex;gap:25px;justify-content:flex-start;margin-top:20px}@media(max-width:768px){.socialIcons{gap:20px;justify-content:center}}.socialIcons a:focus-visible{border-radius:4px;outline:2px solid #ab47bc;outline-offset:2px}.socialIcons a{color:#fff;font-size:2rem;transition:transform .3s,color .3s}.socialIcons a:hover{color:#ab47bc;transform:scale(1.15)}.illustrationWrapper{align-items:center;display:flex;flex:1 1;justify-content:center;max-width:400px}@media(max-width:768px){.illustrationWrapper{max-width:300px}}.devIllustration{height:auto;width:80%}@media(max-width:768px){.devIllustration{width:100%}}.wave{animation:wave-animation 2.5s infinite;display:inline-block;transform-origin:70% 70%}@keyframes wave-animation{0%{transform:rotate(0deg)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0deg)}to{transform:rotate(0deg)}}.button-group{display:flex;gap:20px;margin:30px 0}@media(max-width:768px){.button-group{align-items:center;flex-direction:column;gap:15px}}.primary-button,.secondary-button{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:500;justify-content:center;min-width:160px;padding:12px 24px;text-decoration:none;transition:all .3s ease}@media(max-width:768px){.primary-button,.secondary-button{font-size:1rem;max-width:280px;width:100%}}.primary-button{background-color:#ab47bc;border:none;box-shadow:0 4px 6px #ab47bc33;color:#fff}.primary-button:hover{background-color:#9c27b0;box-shadow:0 6px 8px #ab47bc4d;transform:translateY(-2px)}.primary-button:active{transform:translateY(0)}.secondary-button{background-color:#0000;border:2px solid #ab47bc;color:#ab47bc}.secondary-button:hover{background-color:#ab47bc1a;transform:translateY(-2px)}.secondary-button:active{transform:translateY(0)}.about-container{align-items:center;background-color:#0a0a0a;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:0;width:100%}.light-mode .about-container{background-color:#f8f9fa;color:#0d1116}.light-mode .about-container .about-content{background:#00000008;border:1px solid #0000001a;box-shadow:0 8px 16px #0000001a}.light-mode .about-container .about-text .about-title{color:#0d1116}.light-mode .about-container .about-text p{color:#4a4a4a}.about-content{align-items:center;display:flex;flex-direction:row;gap:60px;justify-content:center;margin:0 auto;max-width:1400px;padding:40px;width:100%}@media(max-width:768px){.about-content{align-items:center;flex-direction:column;gap:40px;padding:20px}}.about-image{flex:0 0 450px}.about-image .about-photo{border-radius:8px;box-shadow:0 10px 30px #ab47bc26;height:550px;object-fit:cover;transition:transform .3s ease,box-shadow .3s ease;width:100%}.about-image .about-photo:hover{box-shadow:0 15px 40px #ab47bc40;transform:translateY(-5px)}@media(max-width:768px){.about-image{flex:0 0 auto;max-width:400px;width:100%}.about-image .about-photo{height:auto}}.about-text{flex:1 1;min-width:0}.about-text .about-title{color:#fff;display:inline-block;font-size:2.5rem;margin:0 0 2rem;position:relative}.about-text .about-title:after{background:#ab47bc;border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:100%}.about-text p{color:#e0e0e0;font-size:1.1rem;line-height:1.8;margin:0 0 1.5rem;max-width:100%;text-align:justify;white-space:normal;word-spacing:.02em}.about-text p:last-child{margin-bottom:0}@media(max-width:768px){.about-text .about-title{text-align:center;width:100%}.about-text .about-title:after{left:50%;transform:translateX(-50%)}.about-text p{text-align:left}}.container{background-color:#0a0a0a;min-height:100vh;padding:60px 15%}.container h1{color:#fff;font-size:2.5rem;margin-bottom:3rem}.skills-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(3,1fr)}.skill{color:#fff}.skill svg{color:#fff;font-size:2.5rem;margin-bottom:1.5rem}.skill h3{font-size:1.5rem;font-weight:500;margin-bottom:1rem}.skill p{color:#a8a8a8;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.skill .tech-stack{display:flex;flex-wrap:wrap;gap:8px}.skill .tech-stack span{color:#a8a8a8;display:block;margin-bottom:.5rem;width:100%}.skill .tech-stack .tech-tag{background:#fff;border-radius:15px;color:#272822;font-family:Courier Prime,monospace;font-size:.85rem;padding:4px 12px;white-space:nowrap}@media(max-width:1200px){.container{padding:60px 5%}}@media(max-width:768px){.skills-grid{gap:3rem;grid-template-columns:1fr}.skill{text-align:center}.skill .tech-stack{justify-content:center}}.expertise-container{background-color:#0a0a0a;color:#fff;min-height:100vh;padding:100px 20px}.light-mode .expertise-container{background-color:#f8f9fa;color:#0d1116}.light-mode .expertise-container .expertise-content .section-title{color:#0d1116}.light-mode .expertise-container .expertise-card{background:#00000008;border:1px solid #0000001a;box-shadow:0 8px 16px #0000001a}.light-mode .expertise-container .expertise-card:hover{border-color:#ab47bc4d;box-shadow:0 10px 30px #ab47bc26}.light-mode .expertise-container .expertise-card .card-title{color:#0d1116}.light-mode .expertise-container .expertise-card .card-description{color:#4a4a4a}.light-mode .expertise-container .expertise-card .card-icon{color:#0d1116}.light-mode .expertise-container .tech-stack .tech-tag{background:#ab47bc14;border:1px solid #ab47bc26;color:#4a4a4a}.expertise-content{margin:0 auto;max-width:1200px;width:100%}.section-title{color:#fff;display:inline-block;font-size:2.5rem;font-weight:600;left:50%;margin-bottom:60px;position:relative;text-align:center;transform:translateX(-50%)}.title-underline{background:#ab47bc;border-radius:2px;height:4px;margin-top:8px;width:100%}.expertise-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));padding:20px 0}.expertise-card{background:#ffffff08;border:1px solid #ab47bc1a;border-radius:16px;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:30px;position:relative;transition:all .3s ease}.expertise-card:before{background:radial-gradient(circle at center,#ab47bc1a 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.expertise-card:hover{border-color:#ab47bc4d;box-shadow:0 10px 30px #ab47bc26;transform:translateY(-5px)}.expertise-card:hover:before{opacity:1}.expertise-card:hover .card-icon{color:#ab47bc;transform:scale(1.1)}.card-icon{color:#e0e0e0;display:inline-block;font-size:2.5rem;margin-bottom:20px;transition:all .3s ease}.card-icon svg{height:40px;width:40px}.card-title{color:#fff;font-size:1.4rem;font-weight:500;margin-bottom:15px}.card-description{color:#e0e0e0;font-size:1rem;line-height:1.6;margin-bottom:20px;opacity:.9}.tech-stack{margin-top:auto}.tech-stack span{color:#ab47bc;display:block;font-size:.9rem;font-weight:500;margin-bottom:12px}.tech-stack .tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-stack .tech-tag{background:#ab47bc1a;border:1px solid #ab47bc33;border-radius:12px;color:#e0e0e0;font-size:.85rem;padding:4px 12px;transition:all .2s ease}.tech-stack .tech-tag:hover{background:#ab47bc33;border-color:#ab47bc66;transform:translateY(-2px)}@media(max-width:768px){.expertise-grid{gap:20px;grid-template-columns:1fr}.expertise-card{padding:25px}.card-title{font-size:1.3rem}.card-description{font-size:.95rem}.tech-stack .tech-tags{justify-content:center}.tech-stack .tech-tag{font-size:.8rem}}.vertical-timeline *{-webkit-box-sizing:border-box;box-sizing:border-box}.vertical-timeline{margin:0 auto;max-width:1170px;padding:2em 0;position:relative;width:95%}.vertical-timeline:after{clear:both;content:"";display:table}.vertical-timeline:before{background:var(--line-color);content:"";height:100%;left:18px;position:absolute;top:0;width:4px}.vertical-timeline.vertical-timeline--one-column-right:before{left:auto;right:18px}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{margin:2em 0;position:relative}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{clear:both;content:"";display:table}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{border-radius:50%;-webkit-box-shadow:0 0 0 4px #fff,inset 0 2px 0 #00000014,0 3px 0 4px #0000000d;box-shadow:0 0 0 4px #fff,inset 0 2px 0 #00000014,0 3px 0 4px #0000000d;height:40px;left:0;position:absolute;top:0;width:40px}.vertical-timeline--one-column-right .vertical-timeline-element-icon{left:auto;right:0}.vertical-timeline-element-icon svg{display:block;height:24px;left:50%;margin-left:-12px;margin-top:-12px;position:relative;top:50%;width:24px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{height:60px;left:50%;margin-left:-30px;width:60px}}.vertical-timeline-element-icon{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0)}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{-webkit-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s;visibility:visible}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{background:#fff;border-radius:.25em;-webkit-box-shadow:0 3px 0 #ddd;box-shadow:0 3px 0 #ddd;margin-left:60px;padding:1em;position:relative}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-left:0;margin-right:60px}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;-webkit-box-shadow:none;box-shadow:none}.vertical-timeline-element-content:after{clear:both;content:"";display:table}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{line-height:1.6;margin:1em 0 0}.vertical-timeline-element-subtitle,.vertical-timeline-element-title{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;opacity:.7;padding:.8em 0}.vertical-timeline-element-content-arrow{border:7px solid #0000;border-right-color:#fff;content:"";height:0;position:absolute;right:100%;top:16px;width:0}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{border:7px solid #0000;border-left-color:#fff;content:"";height:0;left:100%;position:absolute;right:auto;top:16px;width:0}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{border-left:7px solid #fff;border-right:initial;left:100%}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow,.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{left:100%;top:24px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{font-size:16px;font-size:1rem;left:124%;position:absolute;top:6px;width:100%}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{left:auto;right:100%;top:24px;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{left:100%;right:auto;top:24px;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s;visibility:visible}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s;visibility:visible}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);transform:translateX(20px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);transform:translateX(-20px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}#experience{align-items:center;background-color:#0a0a0a;display:flex;flex-direction:column;min-height:100vh;padding:80px 0}#experience .items-container{max-width:1400px;padding:0 40px;width:100%}#experience .items-container h1{color:#fff;display:inline-block;font-size:2.5rem;font-weight:700;left:50%;margin-bottom:3rem;position:relative;text-align:center;transform:translateX(-50%)}#experience .items-container h1:after{background:#ab47bc;border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:100%}.vertical-timeline:before{background:#ab47bc33!important}.vertical-timeline span{color:#fff;font-family:Courier Prime,monospace}.vertical-timeline p{color:#272822}.vertical-timeline-element .vertical-timeline-element-icon{box-shadow:0 0 0 4px #ab47bc,inset 0 2px 0 #00000014,0 3px 0 4px #0000000d!important}.vertical-timeline-element .vertical-timeline-element-icon .svg-inline--fa{color:#fff}.vertical-timeline-element .vertical-timeline-element-content{background:#ffffff08;border:1px solid #ab47bc1a;border-radius:16px;box-shadow:0 3px 10px #0000001a;overflow:hidden;position:relative;transition:all .3s ease}.vertical-timeline-element .vertical-timeline-element-content:before{background:radial-gradient(circle at center,#ab47bc1a 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.vertical-timeline-element .vertical-timeline-element-content:hover{border-color:#ab47bc4d;box-shadow:0 10px 30px #ab47bc26;transform:translateY(-5px)}.vertical-timeline-element .vertical-timeline-element-content:hover:before{opacity:1}.vertical-timeline-element .vertical-timeline-element-content .vertical-timeline-element-content-arrow{border-right-color:#ab47bc1a}.vertical-timeline-element .vertical-timeline-element-content h3{color:#ab47bc;font-size:1.3rem;font-weight:500;margin-bottom:.5rem}.vertical-timeline-element .vertical-timeline-element-content h4{color:#e0e0e0;font-size:1.1rem;font-weight:400;margin-bottom:1rem}.vertical-timeline-element .vertical-timeline-element-content p{color:#e0e0e0;font-size:.95rem;line-height:1.6;margin-bottom:0;opacity:.9}.vertical-timeline-element .vertical-timeline-element-content p strong{color:#ab47bc}.vertical-timeline-element .vertical-timeline-element-content .vertical-timeline-element-date{color:#e0e0e0;font-family:Roboto,sans-serif;font-size:1rem;opacity:.9}.light-mode #experience{background-color:#fff}.light-mode #experience h1{color:#0a0a0a}.light-mode .vertical-timeline:before{background:#ab47bc33!important}.light-mode .vertical-timeline-element .vertical-timeline-element-icon .svg-inline--fa{color:#fff}.light-mode .vertical-timeline-element .vertical-timeline-element-content{background:#00000005;border:1px solid #ab47bc1a}.light-mode .vertical-timeline-element .vertical-timeline-element-content:hover{background:#00000008}.light-mode .vertical-timeline-element .vertical-timeline-element-content h3{color:#ab47bc}.light-mode .vertical-timeline-element .vertical-timeline-element-content h4{color:#2d3748}.light-mode .vertical-timeline-element .vertical-timeline-element-content p{color:#4a5568}.light-mode .vertical-timeline-element .vertical-timeline-element-content p strong{color:#ab47bc}.light-mode .vertical-timeline-element .vertical-timeline-element-content .vertical-timeline-element-date{color:#4a5568}@media screen and (max-width:1170px){#experience{padding:60px 0}#experience .items-container{padding:0 20px}#experience .items-container h1{font-size:2rem;margin-bottom:2rem}.vertical-timeline-element .vertical-timeline-element-content .vertical-timeline-element-date{margin-top:1rem}}.projects-container{align-items:center;background-color:#0a0a0a;display:flex;flex-direction:column;min-height:100vh;padding:80px 0;width:100%}.projects-container .content-wrapper{max-width:1400px;padding:0 40px;width:100%}.projects-container h1{color:#fff;display:inline-block;font-size:2.5rem;font-weight:700;left:50%;margin-bottom:3rem;position:relative;text-align:center;transform:translateX(-50%)}.projects-container h1:after{background:#ab47bc;border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:100%}.projects-container .filter-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:3rem;width:100%}.projects-container .filter-buttons .filter-btn{align-items:center;background-color:#ffffff0d;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:36px;justify-content:center;letter-spacing:.5px;min-width:-webkit-fit-content;min-width:fit-content;padding:8px 16px;transition:all .3s ease}.projects-container .filter-buttons .filter-btn:hover{background-color:#ab47bc33;transform:translateY(-2px)}.projects-container .filter-buttons .filter-btn.active{background-color:#ab47bc;box-shadow:0 0 20px #ab47bc4d}.projects-container .filter-buttons .filter-btn.active:hover{background-color:#ab47bc}.projects-container .projects-grid{grid-gap:50px;display:grid;grid-template-columns:repeat(2,1fr);width:100%}.projects-container .projects-grid.single-item{align-items:center;display:flex;justify-content:center}.projects-container .projects-grid.single-item .project{max-width:720px;width:100%}.projects-container .projects-grid .project{animation:fadeIn .5s ease-in-out;background:#ffffff08;border:1px solid #ab47bc1a;border-radius:16px;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;text-align:left;transition:all .3s ease}.projects-container .projects-grid .project:before{background:radial-gradient(circle at center,#ab47bc1a 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.projects-container .projects-grid .project:hover{border-color:#ab47bc4d;box-shadow:0 10px 30px #ab47bc26;transform:translateY(-5px)}.projects-container .projects-grid .project:hover:before{opacity:1}.projects-container .projects-grid .project:hover img.zoom{transform:scale(1.05)}.projects-container .projects-grid .project:hover h2{color:#ab47bc}.projects-container .projects-grid .project h2{color:#fff;font-size:1.3rem;font-weight:500;margin:1.5rem;transition:color .3s ease}.projects-container .projects-grid .project p{color:#e0e0e0;flex-grow:1;font-size:.95rem;line-height:1.6;margin:0 1.5rem 1.5rem;opacity:.9}.projects-container .projects-grid .project a{color:inherit;display:block;text-decoration:none}.projects-container .projects-grid .project img,.zoom{height:220px;object-fit:cover;width:100%}.zoom{transition:transform .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.light-mode .projects-container{background-color:#fff}.light-mode .projects-container h1{color:#0a0a0a}.light-mode .projects-container .filter-buttons .filter-btn{background-color:#0000000d;color:#0a0a0a}.light-mode .projects-container .filter-buttons .filter-btn:hover{background-color:#ab47bc1a}.light-mode .projects-container .filter-buttons .filter-btn.active{background-color:#ab47bc;color:#fff}.light-mode .projects-container .project{background:#00000005}.light-mode .projects-container .project h2{color:#0a0a0a}.light-mode .projects-container .project h2:hover{color:#ab47bc}.light-mode .projects-container .project p{color:#4a5568}@media screen and (max-width:700px){.projects-container{padding:60px 0}.projects-container .content-wrapper{padding:0 20px}.projects-container h1{font-size:2rem;margin-bottom:2rem}.projects-container .filter-buttons{margin-bottom:2rem;padding:0 10px}.projects-container .filter-buttons .filter-btn{font-size:13px;height:32px;padding:6px 12px}.projects-container .projects-grid{display:block}.projects-container .projects-grid.single-item{display:flex;justify-content:center}.projects-container .projects-grid.single-item .project{max-width:520px;width:100%}.projects-container .projects-grid .project{margin-bottom:30px}.projects-container .projects-grid .project .zoom,.projects-container .projects-grid .project img{height:200px}.projects-container .projects-grid .project h2{font-size:1.2rem;margin:1.2rem}.projects-container .projects-grid .project p{margin:0 1.2rem 1.2rem}}@media screen and (min-width:701px)and (max-width:1100px){.projects-container .projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}#contact{align-items:center;background-color:#0a0a0a;display:flex;justify-content:center;min-height:100vh;padding:80px 0}#contact .contact-container{margin:0 auto;max-width:800px;padding:0 20px;width:100%}#contact .contact-container .section-title{color:#fff;display:inline-block;font-size:2.5rem;font-weight:700;left:50%;margin-bottom:3rem;position:relative;text-align:center;transform:translateX(-50%)}#contact .contact-container .section-title:after{background:#ab47bc;border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:100%}#contact .contact-container .contact-form{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff08;border:1px solid #ab47bc1a;border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:40px;transition:all .3s ease}#contact .contact-container .contact-form:hover{border-color:#ab47bc4d;box-shadow:0 12px 40px #ab47bc26;transform:translateY(-5px)}#contact .contact-container .contact-form .form-group{margin-bottom:24px}#contact .contact-container .contact-form .form-group .input-group{align-items:center;display:flex;position:relative}#contact .contact-container .contact-form .form-group .input-group .input-icon{color:#ab47bc;font-size:1.1rem;left:16px;position:absolute}#contact .contact-container .contact-form .form-group .input-group input{background:#ffffff0d;border:1px solid #ab47bc33;border-radius:8px;color:#fff;font-size:1rem;padding:12px 16px 12px 48px;transition:all .3s ease;width:100%}#contact .contact-container .contact-form .form-group .input-group input::placeholder{color:#ffffff80}#contact .contact-container .contact-form .form-group .input-group input:focus{background:#ffffff14;border-color:#ab47bc;box-shadow:0 0 0 3px #ab47bc1a;outline:none}#contact .contact-container .contact-form .form-group .input-group input.error{background:#f443360d;border-color:#f44336}#contact .contact-container .contact-form .form-group textarea{background:#ffffff0d;border:1px solid #ab47bc33;border-radius:8px;color:#fff;font-size:1rem;min-height:150px;padding:16px;resize:vertical;transition:all .3s ease;width:100%}#contact .contact-container .contact-form .form-group textarea::placeholder{color:#ffffff80}#contact .contact-container .contact-form .form-group textarea:focus{background:#ffffff14;border-color:#ab47bc;box-shadow:0 0 0 3px #ab47bc1a;outline:none}#contact .contact-container .contact-form .form-group textarea.error{background:#f443360d;border-color:#f44336}#contact .contact-container .contact-form .form-group .error-message{color:#f44336;display:block;font-size:.875rem;margin-top:8px}#contact .contact-container .contact-form .submit-btn{align-items:center;background:linear-gradient(135deg,#ab47bc,#8e24aa);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;justify-content:center;padding:14px 28px;transition:all .3s ease;width:100%}#contact .contact-container .contact-form .submit-btn:hover{box-shadow:0 4px 12px #ab47bc4d;transform:translateY(-2px)}#contact .contact-container .contact-form .submit-btn:active{transform:translateY(0)}#contact .contact-container .contact-form .submit-btn .btn-icon{font-size:1.1rem}.light-mode #contact{background-color:#fff}.light-mode #contact .contact-container .section-title{color:#0a0a0a}.light-mode #contact .contact-container .contact-form{background:#00000005;border:1px solid #ab47bc1a}.light-mode #contact .contact-container .contact-form .form-group .input-group input{background:#fff;border:1px solid #0000001a;color:#2d3748}.light-mode #contact .contact-container .contact-form .form-group .input-group input::placeholder{color:#0006}.light-mode #contact .contact-container .contact-form .form-group .input-group input:focus{background:#fff;border-color:#ab47bc}.light-mode #contact .contact-container .contact-form .form-group .input-group input.error{background:#f443360d}.light-mode #contact .contact-container .contact-form .form-group textarea{background:#fff;border:1px solid #0000001a;color:#2d3748}.light-mode #contact .contact-container .contact-form .form-group textarea::placeholder{color:#0006}.light-mode #contact .contact-container .contact-form .form-group textarea:focus{background:#fff;border-color:#ab47bc}.light-mode #contact .contact-container .contact-form .form-group textarea.error{background:#f443360d}@media screen and (max-width:768px){#contact{padding:60px 0}#contact .contact-container .section-title{font-size:2rem;margin-bottom:2rem}#contact .contact-container .contact-form{padding:30px 20px}}.footer{background-color:#0a0a0a;border-top:1px solid #ffffff1a;margin-top:4rem;padding:2rem 0}.footer .footer-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:1400px;padding:0 2rem}.footer .footer-content .footer-links{display:flex;gap:2rem;margin-bottom:1rem}.footer .footer-content .footer-links a{align-items:center;color:#fff;display:flex;gap:.5rem;text-decoration:none;transition:all .3s ease}.footer .footer-content .footer-links a:hover{color:#ab47bc;transform:translateY(-2px)}.footer .footer-content .footer-links a svg{height:1.5rem;width:1.5rem}.footer .footer-content .footer-text{color:#ffffffb3;font-size:.9rem;text-align:center}.footer .footer-content .footer-text a{color:#ab47bc;text-decoration:none;transition:all .3s ease}.footer .footer-content .footer-text a:hover{color:#d81b60;text-decoration:underline}@media screen and (max-width:768px){.footer{margin-top:3rem;padding:1.5rem 0}.footer .footer-content{padding:0 1rem}.footer .footer-content .footer-links{gap:1.5rem}}
/*# sourceMappingURL=main.1241ed59.css.map*/