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}.home-container{background:linear-gradient(135deg,#f0f4f8,#d0e2f3 50%,#b0d0e8);color:#333;display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background .5s ease-in-out,color .5s ease-in-out;width:100%}.background-animation{animation:gradientBG 15s ease infinite;background:linear-gradient(45deg,#f3f3f3,#e6e6e6,#f0f0f0);background-size:400% 400%;bottom:0;left:0;position:fixed;right:0;top:0;z-index:-1}@keyframes gradientBG{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.theme-toggle{align-items:center;background:none;border:none;border-radius:50%;color:#2c3e50;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:color .3s ease,transform .3s ease,background-color .3s ease;width:40px}.theme-toggle:hover{color:#3498db;transform:scale(1.1)}.intro-section{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;justify-content:center;padding:2rem;position:relative}.profile-image{border:4px solid #3498db;border-radius:50%;box-shadow:0 10px 20px #0000001a;height:220px;margin-bottom:20px;object-fit:cover;object-position:center 10%;transition:transform .3s ease,box-shadow .3s ease;width:220px}.profile-image:hover{box-shadow:0 15px 30px #3498db4d;transform:scale(1.05)}.name{color:#2c3e50;font-size:2.5rem;margin-bottom:10px;text-shadow:1px 1px 2px #0000001a;transition:color .5s ease-in-out}.title{font-size:1.5rem;margin-bottom:20px}.bio,.title{color:#34495e;transition:color .5s ease-in-out}.bio{font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:800px;text-align:center}.section-title{margin-bottom:40px;text-shadow:1px 1px 2px #0000001a;transition:color .5s ease-in-out}.dark-mode .home-container{background:#1a1a1a;color:#e0e0e0}.dark-mode .background-animation{background:linear-gradient(45deg,#0a192f,#0c2447,#1a365d);background-size:400% 400%}.dark-mode .bio,.dark-mode .name,.dark-mode .title{color:#e0e0e0;text-shadow:1px 1px 2px #0000004d}.dark-mode .theme-toggle{color:#e0e0e0}.dark-mode .theme-toggle:hover{color:#64b5f6}@media screen and (max-width:768px){.intro-section{padding:2rem 1rem}.name{font-size:2rem}.title{font-size:1.2rem}.bio{font-size:1rem}.section-title{font-size:2rem}.profile-image{height:180px;width:180px}}.education-container{color:inherit;display:flex;flex-direction:column;overflow-x:hidden;padding:4rem 2rem;position:relative;transition:color .5s ease-in-out;width:100%}.section-title{align-items:center;line-height:1.2;min-height:5rem}.section-title,.tab-container{display:flex;justify-content:center}.tab-container{margin-bottom:2rem}.tab-button{background-color:initial;border:2px solid #3498db;border-radius:25px;box-shadow:0 2px 5px #3498db33;color:#3498db;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:1px;margin:0 .5rem;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.tab-button.active{background-color:#3498db;box-shadow:0 4px 8px #3498db4d;color:#fff}.tab-button:hover{background-color:#3498db1a;box-shadow:0 4px 10px #3498db4d;transform:translateY(-2px)}.timeline{max-width:1200px}.timeline:after{background-color:#3498db}.timeline-item:after{height:25px;right:-17px;top:15px;width:25px;z-index:1}.left:before{border:solid #0000;border-left:solid #3498db}.left:before,.right:before{content:" ";height:0;position:absolute;top:22px;width:0;z-index:1}.right:before{border:solid #0000;border-right:solid #3498db}.right:after{left:-16px}.timeline-content{box-shadow:0 4px 8px #0000001a}.timeline-content h3{font-size:1.5rem}.timeline-content .date{color:#7f8c8d;font-style:italic;margin-bottom:.5rem}.timeline-content .degree,.timeline-content .platform{color:#3498db;font-weight:700;margin-bottom:.5rem}.btn-certificate{background-color:#3498db;border:none;border-radius:25px;box-shadow:0 2px 5px #3498db33;color:#fff;cursor:pointer;font-weight:700;letter-spacing:1px;margin-top:1rem;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.btn-certificate:hover{background-color:#2980b9;box-shadow:0 4px 10px #3498db4d;transform:translateY(-2px)}.certificate-preview{background-color:#fff;border:2px solid #3498db;border-radius:8px;bottom:2rem;box-shadow:0 4px 8px #0000001a;max-height:80vh;max-width:400px;overflow-y:auto;padding:1.5rem;position:fixed;right:2rem;z-index:1000}.certificate-preview h4{color:#2c3e50;font-size:1.2rem;margin-bottom:.5rem}.certificate-preview p{color:#34495e;margin-bottom:.5rem}.certificate-preview ul{padding-left:1.5rem}.certificate-preview li{color:#34495e;margin-bottom:.3rem}.dark-mode .section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#64b5f6,#81c784);-webkit-background-clip:text}.dark-mode .tab-button{border-color:#64b5f6;box-shadow:0 2px 5px #64b5f633;color:#64b5f6}.dark-mode .tab-button.active{background-color:#64b5f6;box-shadow:0 4px 8px #64b5f64d;color:#1a1a1a}.dark-mode .tab-button:hover{background-color:#64b5f633;box-shadow:0 4px 10px #64b5f680;text-shadow:0 0 5px #ffffff80}.dark-mode .timeline:after{background-color:#64b5f6}.dark-mode .timeline-item:after{border-color:#64b5f6}.dark-mode .left:before{border-color:#0000 #0000 #0000 #64b5f6}.dark-mode .right:before{border-color:#0000 #64b5f6 #0000 #0000}.dark-mode .timeline-content{background-color:#2c3e50;color:#ecf0f1}.dark-mode .timeline-content h3{color:#ecf0f1}.dark-mode .timeline-content .date{color:#bdc3c7}.dark-mode .timeline-content .degree,.dark-mode .timeline-content .platform{color:#64b5f6}.dark-mode .timeline-content p{color:#ecf0f1}.dark-mode .btn-certificate{background-color:#64b5f6;box-shadow:0 2px 5px #64b5f633;color:#1a1a1a}.dark-mode .btn-certificate:hover{background-color:#4a90e2;box-shadow:0 4px 10px #64b5f680}.dark-mode .certificate-preview{background-color:#2c3e50;border-color:#64b5f6}.dark-mode .certificate-preview h4,.dark-mode .certificate-preview li,.dark-mode .certificate-preview p{color:#ecf0f1}@media screen and (max-width:768px){.timeline:after{left:31px}.timeline-item{padding-left:70px;padding-right:25px;width:100%}.timeline-item:before{border:solid #0000;border-right:solid #3498db;border-width:10px 10px 10px 0;left:60px}.left:after,.right:after{left:15px}.right{left:0}.certificate-preview{bottom:1rem;left:1rem;max-width:calc(100% - 2rem);right:1rem}}@media screen and (max-width:480px){.section-title{font-size:2rem;line-height:1.2;min-height:7rem}.timeline-content h3{font-size:1.2rem}.timeline-content p{font-size:.9rem}.btn-certificate,.tab-button{font-size:.75rem;letter-spacing:.5px;padding:.5rem 1rem}.tab-button{margin:0 .25rem}}.cv-download-section{display:flex;gap:1rem;margin-top:2rem}.cv-button,.cv-download-section{align-items:center;justify-content:center}.cv-button{border-radius:30px;box-shadow:0 4px 6px #32325d1c,0 1px 3px #00000014;display:inline-flex;font-size:1rem;font-weight:600;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .3s ease}.cv-button.download{background-color:#3498db;color:#fff}.cv-button.view{background-color:#2ecc71;color:#fff}.cv-button:hover{box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014;transform:translateY(-2px)}.download-icon-wrapper{align-items:center;display:inline-flex;margin-right:.5rem;position:relative}.download-emoji{display:inline-block;font-size:1.2rem;transition:transform .3s ease}.cv-button.download:hover .download-emoji{animation:documentBounce .6s infinite}@keyframes documentBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.animated-eyes{display:inline-block;margin-left:4px;position:relative;top:-2px;transition:transform .3s ease}.cv-button:hover .animated-eyes{animation:eyeMove 1s infinite;transform-origin:center}@keyframes eyeMove{0%{transform:translateX(0)}25%{transform:translateX(2px)}50%{transform:translateX(-2px)}75%{transform:translateX(2px)}to{transform:translateX(0)}}.cv-button:after{background:#ffffff1a;content:"";height:100%;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:right;transition:transform .3s ease;width:100%}.cv-button:hover:after{transform:scaleX(1);transform-origin:left}.dark-mode .cv-button.download{background-color:#2980b9}.dark-mode .cv-button.view{background-color:#27ae60}@media screen and (max-width:768px){.cv-download-section{flex-direction:column;gap:.75rem}.cv-button{max-width:250px;width:100%}}.contact-container{display:flex;flex-direction:column;min-height:100vh;transition:background .5s ease-in-out,color .5s ease-in-out}.contact-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:0 auto;max-width:600px;padding:2rem;width:100%}.contact-title{display:inline-block;font-size:2.5rem;margin-bottom:2rem;position:relative;text-align:center}.gradient-text{-webkit-text-fill-color:#0000;animation:gradientFlow 5s ease infinite;background:linear-gradient(45deg,#3498db,#2ecc71);-webkit-background-clip:text;background-clip:text;background-size:200% 200%}@keyframes gradientFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-underline:after{animation:underlineGrow 1s .5s forwards;background:linear-gradient(45deg,#3498db,#2ecc71);bottom:-5px;content:"";height:3px;left:0;position:absolute;transition:width .5s ease;width:0}@keyframes underlineGrow{to{width:100%}}.contact-form{display:flex;flex-direction:column;gap:1.5rem;width:100%}.form-group,.input-container{position:relative}.input-icon{color:#3498db;font-size:1.2rem;left:10px;position:absolute;top:50%;transform:translateY(-50%);transition:color .3s ease}input,textarea{background-color:#fffc;border:1px solid #bdc3c7;border-radius:4px;font-size:1rem;padding:.8rem .8rem .8rem 2.5rem;transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease;width:100%}textarea{min-height:150px;resize:vertical}input:focus,textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}label{color:#7f8c8d;font-size:1rem;left:2.5rem;padding:0 .3rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease}textarea+label{top:1rem;transform:none}input:focus+label,input:not(:placeholder-shown)+label,label.filled,textarea:focus+label,textarea:not(:placeholder-shown)+label{background-color:#fff;color:#3498db;font-size:.8rem;left:.5rem;top:-.5rem}input::placeholder,textarea::placeholder{color:#0000}.submit-button-container{margin-top:1rem}.submit-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.1rem;padding:.75rem 2rem;transition:background-color .3s ease,transform .3s ease}.submit-button:hover{background-color:#2980b9;transform:translateY(-2px)}.submit-button:active{transform:translateY(0)}.recaptcha-container{display:flex;justify-content:center;margin:1rem 0}.recaptcha-container>div{transform-origin:left top;transition:transform .3s ease}@media screen and (max-width:400px){.recaptcha-container>div{transform:scale(.9)}}@media screen and (max-width:360px){.recaptcha-container>div{transform:scale(.8)}}.dark-mode.contact-container{background:#1a1a1a;color:#e0e0e0}.dark-mode label{background-color:#2c3e50;color:#bdc3c7}.dark-mode input,.dark-mode textarea{background-color:#2c3e50;border-color:#34495e;color:#e0e0e0}.dark-mode input:focus,.dark-mode textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db66}.dark-mode input:focus+label,.dark-mode input:not(:placeholder-shown)+label,.dark-mode label.filled,.dark-mode textarea:focus+label,.dark-mode textarea:not(:placeholder-shown)+label{background-color:#2c3e50;color:#3498db}.dark-mode .input-icon{color:#3498db}.dark-mode .submit-button{background-color:#3498db}.dark-mode .submit-button:hover{background-color:#2980b9}.dark-mode input::placeholder,.dark-mode textarea::placeholder{color:#0000}@media screen and (max-width:768px){.contact-content{padding:1rem}.contact-title{font-size:2rem}input,label,textarea{font-size:.9rem}input:focus+label,input:not(:placeholder-shown)+label,label.filled,textarea:focus+label,textarea:not(:placeholder-shown)+label{font-size:.7rem}}.swal2-popup{border-radius:15px!important;box-shadow:0 0 20px #0000001a!important;padding:2em!important}.swal2-title{font-size:1.5em!important;margin-bottom:.5em!important}.swal2-timer-progress-bar{background:linear-gradient(90deg,#3498db,#2ecc71)!important;height:.25rem!important}.dark-mode .swal2-popup{background:#2d2d2d!important;color:#fff!important}.dark-mode .swal2-title{color:#fff!important}.dark-mode .swal2-timer-progress-bar{background:linear-gradient(90deg,#3498db,#2ecc71)!important}.swal2-close{color:#95a5a6!important;font-size:2em!important;transition:color .3s ease!important}.swal2-close:hover{color:#3498db!important}.dark-mode .swal2-close{color:#bdc3c7!important}.dark-mode .swal2-close:hover{color:#3498db!important}.swal2-container{-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important;background:#0003!important;padding:0!important}.swal2-shown{overflow-y:auto!important;padding-right:0!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:auto!important;padding-right:0!important}.swal2-show{animation:swal2-show .2s ease-out!important}.swal2-hide{animation:swal2-hide .2s ease-out!important}@keyframes swal2-show{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes swal2-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.social-sections-container{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1200px}.social-section{border-radius:15px;box-shadow:0 10px 30px #0000001a;min-height:300px;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease;will-change:transform}.social-section:hover{transform:translateY(-5px)}.social-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:3rem;position:relative;text-align:center;z-index:2}.social-section h3{color:#fff;font-size:2.5rem;margin-bottom:1.5rem;text-shadow:2px 2px 4px #0000004d}.social-section p{color:#f0f0f0;font-size:1.2rem;line-height:1.8;margin-bottom:2rem;max-width:80%;transition:opacity .3s ease}.social-section:hover p{opacity:0;pointer-events:none}.linkedin-preview{align-items:center;background:linear-gradient(135deg,#0073b1fa,#005887fa);display:flex;height:100%;justify-content:center;left:0;opacity:0;overflow:hidden;padding:1.5rem;position:absolute;top:0;transition:opacity .3s ease;width:100%;z-index:1}.linkedin-preview:before{background:linear-gradient(90deg,#ffffff1a,#fff3);top:0;transform:skewY(-2deg) translateY(-30px)}.linkedin-preview:after,.linkedin-preview:before{content:"";height:60px;left:0;position:absolute;right:0}.linkedin-preview:after{background:linear-gradient(90deg,#fff3,#ffffff1a);bottom:0;transform:skewY(2deg) translateY(30px)}.linkedin-section:hover .linkedin-preview{opacity:1}.stats-grid{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;gap:.75rem;margin-bottom:3rem;max-width:450px;padding:1.5rem;width:100%}.stat-item,.stats-grid{background:#ffffff1a;display:flex;flex-direction:column;position:relative}.stat-item{border:1px solid #fff3;border-radius:10px;gap:.5rem;overflow:hidden;padding:.75rem}.stat-item:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:2px;left:0;position:absolute;top:0;width:100%}.stat-item.role{background:#ffffff26;padding:1rem}.stat-item.role h4{color:#fff;font-size:1.4rem;letter-spacing:.5px;padding-left:1.5rem;position:relative;text-align:center;text-shadow:0 2px 4px #0003}.stat-item.role h4:before{content:"👨‍💻";font-size:1.2rem;left:0;position:absolute;top:50%;transform:translateY(-50%)}.stat-item.experience h4{color:#e7e7e7;padding-left:1.5rem;position:relative;text-align:center}.stat-item.experience h4:before{content:"🚀";font-size:1.1rem;left:0;position:absolute;top:50%;transform:translateY(-50%)}.skills{background:#ffffff26;padding:1rem}.skills h4{color:#fff;margin-bottom:.75rem;padding-left:1.5rem;position:relative;text-align:center}.skills h4:before{content:"💻";font-size:1.1rem;left:0;position:absolute;top:50%;transform:translateY(-50%)}.skills-list{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:.5rem;padding-bottom:.5rem}.skill-tag{background:#ffffff26;border:1px solid #ffffff4d;border-radius:20px;color:#fff;font-size:.9rem;font-weight:500;letter-spacing:.5px;overflow:hidden;padding:.4rem .9rem;position:relative;transition:all .2s ease}.skill-tag:before{background:linear-gradient(45deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);transition:transform .3s ease;width:100%}.skill-tag:hover{background:#ffffff40;transform:translateY(-2px)}.skill-tag:hover:before{transform:translateX(100%)}.stat-item.education{background:#ffffff26;padding-left:2rem;position:relative;text-align:center}.stat-item.education h4{color:#e7e7e7;position:relative}.stat-item.education:before{content:"🎓";font-size:1.1rem;left:.75rem;position:absolute;top:50%;transform:translateY(-50%)}.github-preview{align-items:center;background:#0d1117f2;display:flex;height:100%;justify-content:center;left:0;opacity:0;padding:2rem;position:absolute;top:0;transition:opacity .3s ease;width:100%;z-index:1}.github-section:hover .github-preview{opacity:1}.github-activity{max-width:600px;width:100%}.contribution-graph{grid-gap:4px;display:grid;gap:4px;grid-template-rows:repeat(7,1fr);margin-bottom:2rem}.contribution-row{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.contribution-cell{background-color:#ffffff1a;border-radius:2px;padding-bottom:100%;transition:background-color .3s ease;width:100%}.contribution-cell:nth-child(3n){background-color:#1a7f37cc}.contribution-cell:nth-child(5n){background-color:#279f43cc}.github-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.stat-box{background:#ffffff1a;border-radius:10px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.stat-value{color:#58a6ff;font-size:1.5rem;font-weight:700}.stat-label{color:#fff;font-size:.9rem}.social-button{animation:pulse 2s infinite;border:2px solid #0000;border-radius:50px;display:inline-block;font-size:1rem;font-weight:700;max-width:200px;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;will-change:transform}.social-button:hover{box-shadow:0 5px 15px #0000004d;transform:scale(1.05)}.youtube-section{background-image:linear-gradient(#0009,#0009),url(/static/media/bannerYoutube.38c52f70659e4a76090f.png);background-position:50%;background-size:cover;position:relative}.youtube-section .youtube-iframe{height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease;width:100%;z-index:1}.youtube-section:hover .youtube-iframe{opacity:1;pointer-events:auto}.youtube-button{background-color:red;color:#fff}.youtube-button:hover{background-color:#fff;border-color:red;color:red}.linkedin-section{background-image:linear-gradient(#0009,#0009),url(/static/media/bannerLinkedin.8937d142d39f981e2998.jpg);background-position:50%;background-size:cover}.linkedin-button{background-color:#0077b5;color:#fff}.linkedin-button:hover{background-color:#fff;border-color:#0077b5;color:#0077b5}.github-section{background-image:linear-gradient(#0009,#0009),url(/static/media/github.4c3ff3a33f0fbb2cbb2a.jpg);background-position:50%;background-size:cover}.github-button{background-color:#161b22;color:#fff}.github-button:hover{background-color:#fff;border-color:#161b22;color:#161b22}.dark-mode .social-section{box-shadow:0 10px 30px #0003}.dark-mode .social-section:hover{box-shadow:0 15px 40px #0000004d}@media screen and (max-width:768px){.social-section{margin-bottom:2rem}.social-content{padding:2rem}.social-section h3{font-size:2rem;margin-bottom:1rem}.social-section p{font-size:1rem;margin-bottom:1.5rem}.social-button{font-size:.9rem;padding:.6rem 1.2rem}.stats-grid{gap:1rem;padding:1.5rem}.stat-item{padding:.8rem}.stat-item.role h4{font-size:1.2rem}.skills-list{gap:.5rem}.skill-tag{font-size:.8rem;padding:.4rem .8rem}.github-stats{grid-template-columns:1fr}}.social-section:before{background:#00000080;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:background-color .2s ease;z-index:1}.social-section:hover:before{background-color:#000000b3}.social-button,.social-section{backface-visibility:hidden;-webkit-backface-visibility:hidden}.about-container{background:linear-gradient(135deg,#f0f4f8,#d0e2f3 50%,#b0d0e8);background-attachment:fixed;background-size:100% 100%;color:#333;margin:0 auto;min-height:auto;padding:4rem 2rem;width:100%}.about-title{color:#333;font-size:3rem;margin-bottom:2rem;text-align:center;text-shadow:2px 2px 4px #0000001a}.dark-mode.about-container{background:#1a1a1a;background-attachment:fixed;background-size:100% 100%;color:#fff}.dark-mode .about-title{color:#fff;text-shadow:2px 2px 4px #ffffff1a}@media screen and (max-width:768px){.about-container{padding:6rem 1rem 2rem}.about-title{font-size:2.5rem;margin-bottom:1.5rem;padding-top:1rem}}html{scroll-behavior:smooth}.portfolio-section{background:linear-gradient(135deg,#f0f4f8,#d0e2f3 50%,#b0d0e8);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin-top:0;min-height:100vh;padding:82px 2rem 2rem;transition:all .3s ease}.portfolio-section.dark-mode{background:#1a1a1a;color:#fff}.portfolio-content{margin:0 auto;max-width:1200px}.portfolio-title{font-size:2.5rem;font-weight:600;margin-bottom:3rem;text-align:center}.portfolio-container{grid-gap:2rem;display:grid;gap:2rem}.portfolio-section-item{background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;overflow:hidden;padding:2rem;transition:all .3s ease}.dark-mode .portfolio-section-item{background:#1e2124}.portfolio-section-item:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-5px)}.section-header{align-items:center;border-bottom:1px solid #2e8b571a;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.dark-mode .section-header{border-bottom-color:#98dfaf1a}.portfolio-section-item:not(.expanded) .section-header{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header h3{color:#2e8b57;font-size:1.5rem;font-weight:600;margin:0;transition:color .3s ease}.dark-mode .section-header h3{color:#98dfaf}.section-header:hover h3{color:#3aa66d}.dark-mode .section-header:hover h3{color:#2ee59d}.css-metrics-title{color:inherit;display:block;text-decoration:none}.metrics-link{color:#2e8b57;font-weight:500;position:relative;text-decoration:none;transition:all .3s ease}.dark-mode .metrics-link{color:#2ee59d}.metrics-link:hover{color:#3aa66d}.metrics-grid{grid-gap:2rem;border-radius:10px;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-top:2rem}.metric-item,.metrics-grid{padding:2rem;transition:all .3s ease}.metric-item{align-items:center;background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;gap:1rem;text-align:center}.dark-mode .metric-item{background:#1e2124}.metric-item:hover{box-shadow:0 8px 15px #2e8b5733;transform:translateY(-5px)}.dark-mode .metric-item:hover{box-shadow:0 8px 15px #98dfaf33}.metric-item h4{color:#2e8b57;font-size:1.1rem;font-weight:600;letter-spacing:.05em;margin:0}.dark-mode .metric-item h4{color:#98dfaf}.metric-value{color:#2e8b57;font-size:4rem;font-weight:700;line-height:1}.dark-mode .metric-value{color:#98dfaf}.architecture-grid{gap:1.5rem;margin-top:2rem}.architecture-grid,.architecture-item{display:flex;flex-direction:column;width:100%}.architecture-item{gap:1rem}.architecture-card{background:#fff;border:1px solid #2e8b571a;border-radius:10px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;padding:1.5rem;transition:all .3s ease;width:100%}.dark-mode .architecture-card{background:#1e2124;border-color:#98dfaf1a}.architecture-card:hover{border-color:#2e8b574d;box-shadow:0 6px 12px #2e8b5726;transform:translateY(-5px)}.dark-mode .architecture-card:hover{border-color:#98dfaf4d;box-shadow:0 6px 12px #98dfaf26}.architecture-card h3{color:#2e8b57;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.dark-mode .architecture-card h3{color:#98dfaf}.code-toggle-btn{align-self:flex-start;background:#2e8b571a;border:1px solid #2e8b574d;border-radius:5px;color:#2e8b57;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:auto;padding:.5rem 1rem;transition:all .3s ease}.dark-mode .code-toggle-btn{background:#98dfaf1a;border-color:#98dfaf4d;color:#98dfaf}.code-toggle-btn:hover{background:#2e8b5733;border-color:#2e8b5780}.dark-mode .code-toggle-btn:hover{background:#98dfaf33;border-color:#98dfaf80}.code-section{background:#f8f8f8;border:1px solid #2e8b5733;border-radius:8px;overflow:hidden;transition:all .3s ease;width:100%}.dark-mode .code-section{background:#1a1a1a;border-color:#98dfaf33}.code-block{border-radius:8px!important;box-sizing:border-box!important;font-family:Fira Code,monospace!important;font-size:.9rem!important;margin:0!important;padding:1rem!important;width:100%!important}.dark-mode .code-block{background:#1a1a1a!important}.tech-stack-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(5,1fr);margin:0 auto;width:100%}.tech-stack-item{align-items:center;background-color:#fff;border:1px solid #2e8b571a;border-radius:15px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;justify-content:center;min-height:200px;overflow:hidden;padding:25px 15px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.dark-mode .tech-stack-item{background-color:#1e2124;border-color:#98dfaf1a}.tech-stack-item:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-10px)}.tech-stack-icon{color:#2e8b57!important;font-size:3.5rem;margin-bottom:15px;transition:transform .3s ease,opacity .3s ease}.dark-mode .tech-stack-icon{color:#98dfaf!important}.tech-stack-item:hover .tech-stack-icon{opacity:0}.tech-stack-name{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-top:10px;text-align:center;transition:opacity .3s ease}.dark-mode .tech-stack-name{color:#fff}.tech-stack-item:hover .tech-stack-name{opacity:0}.tech-stack-overlay{align-items:center;background-color:#2e8b57f2;border-radius:15px;bottom:0;display:flex;justify-content:center;left:0;opacity:0;padding:15px;position:absolute;right:0;top:0;transition:opacity .3s ease}.dark-mode .tech-stack-overlay{background-color:#98dfaff2}.tech-stack-item:hover .tech-stack-overlay{opacity:1}.tech-stack-overlay p{color:#fff;font-size:.95rem;line-height:1.4;margin:0;max-width:100%;text-align:center}.dark-mode .tech-stack-overlay p{color:#1a1a1a}.expand-toggle{align-items:center;background:none;border:2px solid #2e8b57;border-radius:50%;color:#2e8b57;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;line-height:1;padding:0;transition:all .3s ease;width:30px}.dark-mode .expand-toggle{border-color:#98dfaf;color:#98dfaf}.expand-toggle:hover{background:#2e8b571a;transform:scale(1.1)}.dark-mode .expand-toggle:hover{background:#98dfaf1a}.portfolio-section-item p{font-size:1rem;line-height:1.6;margin-bottom:1rem;opacity:.9}@media (max-width:1024px){.metrics-grid,.tech-stack-grid{grid-template-columns:repeat(3,1fr)}.metrics-grid{gap:1.5rem}.metric-item,.metrics-grid{padding:1.5rem}.metric-value{font-size:3.5rem}}@media (max-width:768px){.portfolio-section{padding:62px 1rem 1rem}.portfolio-title{font-size:2rem}.portfolio-section-item{padding:1.5rem}.section-header h3{font-size:1.3rem}.expand-toggle{font-size:1.2rem;height:25px;width:25px}.tech-stack-grid{gap:15px;grid-template-columns:repeat(2,1fr)}.tech-stack-icon{font-size:3rem}.tech-stack-name{font-size:1rem}.tech-stack-overlay p{font-size:.9rem}.code-toggle-btn{font-size:.8rem;padding:.4rem .8rem}.metrics-grid{gap:1rem;grid-template-columns:1fr;padding:1rem}.metric-item{padding:1.5rem}.metric-value{font-size:3rem}}@media (max-width:480px){.tech-stack-grid{gap:15px;grid-template-columns:1fr}.tech-stack-icon{font-size:2.5rem}.metrics-grid{padding:.5rem}.metric-item{padding:1rem}.metric-value{font-size:2.5rem}}.btn{border:none;border-radius:50px;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;outline:none;overflow:hidden;padding:10px 20px;position:relative;text-align:center;text-decoration:none;transition:all .3s ease}.btn:before{background-color:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0}.btn:hover:before{height:300px;width:300px}.btn:active{transform:scale(.98)}.btn-primary{background-color:#3498db;box-shadow:0 4px 6px #3498db33;color:#fff}.btn-primary:hover{background-color:#2980b9;box-shadow:0 6px 8px #3498db4d}.btn-secondary{background-color:#2ecc71;box-shadow:0 4px 6px #2ecc7133;color:#fff}.btn-secondary:hover{background-color:#27ae60;box-shadow:0 6px 8px #2ecc714d}.btn-outline{background-color:initial;border:2px solid #3498db;color:#3498db}.btn-outline:hover{background-color:#3498db;color:#fff}.btn-ghost{background-color:initial;color:#3498db}.btn-ghost:hover{background-color:#3498db1a}.btn-gradient{background:linear-gradient(45deg,#3498db,#2ecc71);box-shadow:0 4px 6px #3498db33;color:#fff}.btn-gradient:hover{background:linear-gradient(45deg,#2980b9,#27ae60);box-shadow:0 6px 8px #3498db4d}.btn-3d{background-color:#3498db;box-shadow:0 6px #2980b9;color:#fff;transform:translateY(-2px)}.btn-3d:hover{box-shadow:0 4px #2980b9;transform:translateY(0)}.btn-3d:active{box-shadow:0 2px #2980b9;transform:translateY(2px)}.submit-button-container{align-items:center;display:flex;justify-content:center;margin-top:20px}.btn-large{font-size:16px;max-width:280px;padding:10px 20px}.btn-large:hover{box-shadow:0 0 15px #3498db66}.dark-mode .btn-primary{background-color:#4a90e2;box-shadow:0 4px 6px #4a90e233;color:#fff}.dark-mode .btn-primary:hover{background-color:#3a7bc8;box-shadow:0 6px 8px #4a90e24d}.dark-mode .btn-secondary{background-color:#2ecc71;box-shadow:0 4px 6px #2ecc7133;color:#fff}.dark-mode .btn-secondary:hover{background-color:#27ae60;box-shadow:0 6px 8px #2ecc714d}.dark-mode .btn-outline{border-color:#4a90e2;color:#4a90e2}.dark-mode .btn-outline:hover{background-color:#4a90e2;color:#fff}.dark-mode .btn-ghost{color:#4a90e2}.dark-mode .btn-ghost:hover{background-color:#4a90e21a}.dark-mode .btn-gradient{background:linear-gradient(45deg,#4a90e2,#2ecc71);box-shadow:0 4px 6px #4a90e233}.dark-mode .btn-gradient:hover{background:linear-gradient(45deg,#3a7bc8,#27ae60);box-shadow:0 6px 8px #4a90e24d}.dark-mode .btn-3d{background-color:#4a90e2;box-shadow:0 6px #3a7bc8}.dark-mode .btn-3d:hover{box-shadow:0 4px #3a7bc8}.dark-mode .btn-3d:active{box-shadow:0 2px #3a7bc8}.dark-mode .btn-large:hover{box-shadow:0 0 15px #4a90e266}@media (max-width:768px){.btn{font-size:14px;padding:8px 16px}.btn-large{font-size:16px;min-width:160px;padding:10px 20px}}footer{background:linear-gradient(180deg,#2c3e50cc,#2c3e50);color:var(--text-color-light);padding:1rem 0;position:relative;text-align:center}footer:before{background:linear-gradient(180deg,#0000,#0000001a);content:"";height:5px;left:0;position:absolute;right:0;top:-5px}.footer-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:1200px;padding:0 .5rem}.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:.75rem}.social-icon{color:var(--text-color-light);font-size:1.75rem;transition:color .3s ease,transform .3s ease}.social-icon:hover{color:var(--secondary-color);transform:scale(1.1)}.copyright{font-size:.8rem;margin-top:.25rem}.dark-mode footer{background:linear-gradient(180deg,#1a1a1acc,#1a1a1a)}.dark-mode footer:before{background:linear-gradient(180deg,#0000,#ffffff0d)}.dark-mode .social-icon:hover{color:#3498db}@media screen and (max-width:768px){.footer-links{gap:1.25rem}.social-icon{font-size:1.5rem}.copyright{font-size:.75rem}}.header{align-items:center;background-color:#fff;box-shadow:0 2px 10px #0000001a;display:flex;height:70px;left:0;position:fixed;right:0;top:0;transition:transform .3s ease;z-index:1000}.header.hidden{transform:translateY(-100%)}.header.light{background-color:#fff;color:var(--text-color-dark)}.header.dark{background-color:#1a1a1a;color:var(--text-color-light)}.header-content{height:100%;margin-left:50px;width:100%}.header-content,.nav-menu{align-items:center;display:flex;justify-content:center}.nav-menu ul{gap:4rem;list-style-type:none;margin:0;padding:0}.nav-menu ul,.nav-menu ul li{align-items:center;display:flex}.nav-menu ul li a{color:inherit;cursor:pointer;font-size:1.1rem;font-weight:700;padding:.5rem 1rem;text-decoration:none;transition:color .2s ease;white-space:nowrap}.light .nav-menu ul li a{color:var(--text-color-dark)}.dark .nav-menu ul li a{color:var(--text-color-light)}.nav-menu ul li a:hover{color:var(--secondary-color)}.controls-wrapper{align-items:center;background-color:inherit;display:flex;height:70px;padding-right:4rem;position:fixed;right:0;top:0}.controls-container{align-items:center;display:flex;gap:1rem}.language-toggle,.theme-toggle{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;padding:0;transition:transform .2s ease,color .2s ease;width:40px}.light .language-toggle,.light .theme-toggle{color:var(--text-color-dark)}.dark .language-toggle,.dark .theme-toggle{color:var(--text-color-light)}.language-toggle:hover,.theme-toggle:hover{color:var(--secondary-color);transform:scale(1.1)}.language-toggle{font-size:1rem;font-weight:700}.menu-icon{display:none}@media screen and (max-width:768px){.header{height:60px}.header-content{margin-left:0}.menu-icon{cursor:pointer;display:block;font-size:1.5rem;margin-left:1rem;z-index:100}.nav-menu{height:calc(100vh - 60px);position:fixed;right:-100%;top:60px;transition:right var(--transition-speed) ease-in-out;width:60%}.light .nav-menu{background-color:#fff}.dark .nav-menu{background-color:#1a1a1a}.nav-menu.show{right:0}.nav-menu ul{align-items:center;flex-direction:column;gap:2rem;padding-top:2rem}.nav-menu ul li a{font-size:1.2rem}.controls-wrapper{height:60px;padding-right:1rem}.controls-container{gap:.5rem}}@media screen and (min-width:769px){.menu-icon{display:none}.nav-menu{display:flex!important}}@font-face{font-display:swap;font-family:Roboto;src:url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap)}:root{--main-font:"Roboto",Arial,sans-serif;--primary-color:#2c3e50;--secondary-color:#3498db;--text-color-light:#f0f0f0;--text-color-dark:#333;--background-light:#fff;--background-dark:#1a1a1a;--transition-speed:0.3s;--scrollbar-width:10px;--scrollbar-track-light:#0000001a;--scrollbar-thumb-light:#3498db99;--scrollbar-thumb-hover-light:#3498dbcc;--scrollbar-track-dark:var(--primary-color);--scrollbar-thumb-dark:var(--secondary-color);--scrollbar-thumb-hover-dark:#2980b9}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box;margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;color:var(--text-color-dark);font-family:Roboto,Arial,sans-serif;font-family:var(--main-font);line-height:1.6;min-height:100vh;overflow-x:hidden;text-rendering:optimizeLegibility}@media (min-width:769px){::-webkit-scrollbar{width:10px;width:var(--scrollbar-width)}::-webkit-scrollbar-track{background:#0000001a;background:var(--scrollbar-track-light)}::-webkit-scrollbar-thumb{background:#3498db99;background:var(--scrollbar-thumb-light);border-radius:5px;border-radius:calc(var(--scrollbar-width)/2)}::-webkit-scrollbar-thumb:hover{background:#3498dbcc;background:var(--scrollbar-thumb-hover-light)}*{scrollbar-color:#3498db99 #0000001a;scrollbar-color:var(--scrollbar-thumb-light) var(--scrollbar-track-light);scrollbar-width:thin}}.app-container{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;transition:background-color .3s ease;transition:background-color var(--transition-speed) ease;width:100%}main{contain-intrinsic-size:1px 5000px;content-visibility:auto;display:flex;flex:1 1;flex-direction:column;transition:opacity .3s ease-in-out;transition:opacity var(--transition-speed) ease-in-out}h1,h2,h3{margin-bottom:1rem}.language-transition{transition:opacity .3s ease-in-out;transition:opacity var(--transition-speed) ease-in-out}.language-transition main{opacity:.5}.dark-mode{color:#f0f0f0;color:var(--text-color-light)}.dark-mode,.dark-mode .app-container{background-color:#1a1a1a;background-color:var(--background-dark)}@media (min-width:769px){.dark-mode::-webkit-scrollbar-track{background:#2c3e50;background:var(--scrollbar-track-dark)}.dark-mode::-webkit-scrollbar-thumb{background:#3498db;background:var(--scrollbar-thumb-dark)}.dark-mode::-webkit-scrollbar-thumb:hover{background:#2980b9;background:var(--scrollbar-thumb-hover-dark)}.dark-mode *{scrollbar-color:#3498db #2c3e50;scrollbar-color:var(--scrollbar-thumb-dark) var(--scrollbar-track-dark)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (min-width:769px){.fade-in-up{animation:fadeInUp .5s ease-out}}.section-padding{padding:4rem 2rem}.text-center{text-align:center}.mb-2{margin-bottom:2rem}.container{margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}@media (max-width:768px){.section-padding{padding:2rem 1rem}.container{padding:0 .5rem}a,button{min-height:44px;min-width:44px;padding:.5rem}img{height:auto;max-width:100%}}img:not([loading]){loading:lazy}iframe,img,video{aspect-ratio:attr(width) /attr(height);height:auto;max-width:100%}.loading-container{align-items:center;background-color:var(--background-color);display:flex;justify-content:center;min-height:100vh}.loading-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.loading-text{color:var(--text-color);font-size:1.2rem;margin-top:1rem}.section-loading{align-items:center;background-color:var(--background-color);display:flex;justify-content:center;margin:1rem 0;min-height:200px;width:100%}.loading-spinner{animation:spin 1s linear infinite;border:4px solid var(--text-color);border-radius:50%;border-top:4px solid #0000;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dark-mode .loading-spinner{border-color:var(--text-color-dark);border-top-color:#0000}.loading-container,.section-loading{backface-visibility:hidden;transform:translateZ(0);will-change:opacity}.loading-spinner{transform:translateZ(0);will-change:transform}.projects-container{display:flex;flex-direction:column;min-height:100vh}.work-experience-section{box-sizing:border-box}.personal-projects-section,.work-experience-section{display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem 0}.personal-projects-section{align-items:center}.section-title{-webkit-text-fill-color:#0000;animation:fadeInText 1s ease-in-out;background:linear-gradient(135deg,#3498db,#2ecc71);-webkit-background-clip:text;font-size:3rem;text-shadow:2px 2px 4px #0003}@keyframes fadeInText{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.timeline{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 auto;max-width:1000px;padding:2rem 0;position:relative}.timeline:after{animation:grow 2s ease-out forwards,pulse 3s infinite;background:linear-gradient(180deg,#3498db,#2ecc71);bottom:0;box-shadow:0 0 10px #0000001a;content:"";left:50%;margin-left:-3px;position:absolute;top:0;transform-origin:top;width:6px;z-index:1}@keyframes pulse{0%{box-shadow:0 0 3px #3498db4d,0 0 6px #2ecc7133}50%{box-shadow:0 0 6px #3498db66,0 0 9px #2ecc714d}to{box-shadow:0 0 3px #3498db4d,0 0 6px #2ecc7133}}.timeline-item{animation:fadeInSlide .5s ease-out forwards;animation-delay:calc(var(--item-index)*.2s);background-color:inherit;opacity:0;padding:10px 40px;position:relative;transform:translateX(-50px);transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;width:50%;z-index:2}.timeline-item:hover{transform:scale(1.03) translateY(-10px)}@keyframes fadeInSlide{to{opacity:1;transform:translateX(0)}}.timeline-item:after{background-color:#fff;border:4px solid #3498db;border-radius:50%;content:"";height:30px;position:absolute;top:12px;transition:background-color .5s ease-in-out,border-color .5s ease-in-out;width:30px;z-index:3}.left{left:0}.right{left:50%}.left:before,.right:before{border:solid #3498db;content:" ";height:0;position:absolute;top:22px;transition:opacity .2s ease-in-out,transform .2s ease-in-out;width:0;z-index:2}.left:before{border-color:#0000 #0000 #0000 #3498db;border-width:10px 0 10px 10px;right:30px}.right:before{border-color:#0000 #3498db #0000 #0000;border-width:10px 10px 10px 0;left:30px}.left:after{right:-19px}.right:after{left:-19px}.timeline-content{background-color:#fff;border-radius:6px;box-shadow:0 4px 10px #0000001a;padding:20px 30px;position:relative;text-align:center;transition:all .3s ease-in-out;z-index:2}.timeline-content:hover{box-shadow:0 10px 20px #0003;transform:scale(1.05) translateY(-5px)}.timeline-item:hover:before{opacity:0;transform:scale(0)}.company-logo{align-items:center;display:flex;height:120px;justify-content:center;margin:0 auto 1rem;transition:transform .3s ease;width:120px}.timeline-content:hover .company-logo{transform:rotate(10deg)}.company-logo img{max-height:100%;max-width:100%;object-fit:contain;transition:transform .3s ease}.company-logo a:hover img{transform:scale(1.1)}.timeline-content h3{color:#2c3e50;font-size:1.4rem;margin-bottom:.5rem;transition:color .5s ease-in-out}.timeline-content h3 a{color:inherit;text-decoration:none;transition:color .3s ease}.timeline-content h3 a:hover{color:#3498db;text-decoration:none}.timeline-content p{color:#34495e;font-size:1rem;line-height:1.6;transition:color .5s ease-in-out}.projects-grid{align-items:center;display:flex;gap:2rem;justify-content:center;margin:2rem auto;max-width:1200px;width:100%}.project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffc;border:1px solid #ffffff80;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:2rem;text-align:center;transition:all .3s ease-in-out}.project-card:hover{box-shadow:0 15px 30px #0003;transform:scale(1.05) translateY(-10px)}.project-icon{color:#3498db;font-size:2.5rem;margin-bottom:1.5rem;transition:color .5s ease-in-out,transform .3s ease}.project-card:hover .project-icon{animation:bounce .5s ease infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.project-card h3{color:#2c3e50;font-size:1.8rem;margin-bottom:1rem;transition:color .5s ease-in-out}.project-card h3 a{color:inherit;text-decoration:none;transition:color .3s ease}.project-card h3 a:hover{color:#3498db}.project-card h4{color:#3498db;font-size:1.2rem;margin-bottom:1rem;transition:color .5s ease-in-out}.project-card p{color:#34495e;font-size:1rem;line-height:1.6;margin-bottom:1.5rem;transition:color .5s ease-in-out}.visit-site-btn{background-color:#3498db;border-radius:5px;color:#fff;display:inline-block;font-weight:700;padding:.8rem 1.5rem;text-decoration:none;transition:background-color .3s ease,transform .3s ease}.visit-site-btn:hover{background-color:#2980b9;transform:translateY(-2px)}.martinsiles-card{background-color:#3498db1a;border:2px solid #3498db;margin:0 auto;width:95%}.martinsiles-card:hover{background-color:#3498db33}.martinsiles-card .project-icon{color:#3498db}.martinsiles-card h3{color:#2c3e50}.martinsiles-card h4{color:#3498db}.dark-mode .section-title{color:#f0f0f0;text-shadow:1px 1px 2px #0000004d}.dark-mode .timeline:after{background-color:#4a90e2}.dark-mode .timeline-item:after{background-color:#1a1a1a;border-color:#4a90e2}.dark-mode .left:before{border-color:#0000 #0000 #0000 #4a90e2}.dark-mode .right:before{border-color:#0000 #4a90e2 #0000 #0000}.dark-mode .timeline-content{background-color:#333;box-shadow:0 4px 10px #0003}.dark-mode .timeline-content:hover{background-color:#404040;box-shadow:0 10px 20px #0000004d}.dark-mode .timeline-content h3,.dark-mode .timeline-content h3 a,.dark-mode .timeline-content p{color:#e0e0e0}.dark-mode .timeline-content h3 a:hover{color:#4a90e2}.dark-mode .project-card{background-color:#333;border:1px solid #ffffff1a}.dark-mode .project-card:hover{background-color:#404040}.dark-mode .project-icon{color:#4a90e2}.dark-mode .project-card h3,.dark-mode .project-card p{color:#e0e0e0}.dark-mode .project-card h3 a:hover,.dark-mode .project-card h4{color:#4a90e2}.dark-mode .visit-site-btn{background-color:#4a90e2;color:#f0f0f0}.dark-mode .visit-site-btn:hover{background-color:#3a7bc8}.dark-mode .martinsiles-card{background-color:#4a90e21a;border:2px solid #4a90e2}.dark-mode .martinsiles-card:hover{background-color:#4a90e233}.dark-mode .martinsiles-card .project-icon,.dark-mode .martinsiles-card h4{color:#4a90e2}.dark-mode .martinsiles-card h3{color:#e0e0e0}@media screen and (max-width:768px){.section-title{font-size:2rem}.timeline:after{left:31px}.timeline-item{padding-left:70px;padding-right:25px;width:100%}.timeline-item:before{border:solid #0000;border-right:solid #3498db;border-width:10px 10px 10px 0;left:60px}.left:after,.right:after{left:12px}.right{left:0}.martinsiles-card{width:80%}.dark-mode .timeline-item:before{border-color:#0000 #4a90e2 #0000 #0000}}@media screen and (max-width:480px){.company-logo{height:100px;width:100px}.project-icon{font-size:2rem}.project-card h3{font-size:1.5rem}.project-card h4{font-size:1.1rem}.project-card p{font-size:.9rem}.visit-site-btn{font-size:.9rem;padding:.6rem 1.2rem}.martinsiles-card{margin-left:auto;margin-right:auto;padding:1.5rem;width:80%}}.testimonials{color:var(--text-color);padding:4rem 2rem}.section-title{color:var(--text-color);font-size:2.5rem;margin-bottom:2rem;text-align:center}.testimonials-container{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;position:relative;z-index:1}.testimonial-card{backface-visibility:hidden;background-color:var(--card-bg-color);border:var(--card-border);border-radius:10px;box-shadow:var(--card-shadow);max-width:400px;padding:2rem;position:relative;text-align:center;transform-style:preserve-3d;transition-duration:.3s,.3s;transition-property:transform,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%;will-change:transform,box-shadow;z-index:2}.testimonial-text{color:var(--text-color);font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.testimonial-author{color:var(--text-color);font-weight:700;margin-bottom:.5rem}.testimonial-author a{color:#3498db;text-decoration:none;transition:color .3s ease}.testimonial-author a:hover{color:#2980b9}.testimonial-position{color:var(--secondary-text-color);font-style:italic}.testimonial-card:hover{box-shadow:var(--card-shadow-hover);transform:scale(1.02);transition-duration:.3s,.3s}.testimonial-card:not(:hover){transition-duration:.1s,.1s}body:not(.dark-mode) .testimonials{--bg-color:#f0f0f0;--text-color:#000;--card-bg-color:#f0f0f0;--card-border:none;--card-shadow:0 4px 6px #0000001a;--card-shadow-hover:0 10px 20px #0003;--secondary-text-color:#555}body.dark-mode .testimonials{--bg-color:#1a1a1a;--text-color:#fff;--card-bg-color:#ffffff0d;--card-border:1px solid #ffffff1a;--card-shadow:0 4px 6px #0003;--card-shadow-hover:0 8px 16px #0000004d;--secondary-text-color:#bdc3c7}@media (max-width:768px){.testimonials{padding:3rem 1rem}.section-title{font-size:2rem}.testimonial-card{padding:1.5rem}}.skills-section{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem;position:relative}.skills-title{color:#3498db;opacity:0;transition:opacity .5s ease-in-out}.skills-title.visible{opacity:1}.skills-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:1200px;width:100%}.skill-item{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#fff3;border:1px solid #ffffff4d;border-radius:15px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:30px;position:relative;transition:transform .3s ease,box-shadow .3s ease,background-color .5s ease-in-out}.skill-item:hover{background-color:#ffffff4d;box-shadow:0 8px 25px #00000026;transform:translateY(-10px)}.skill-icon{color:#3498db;font-size:4rem;margin-bottom:20px;transition:transform .3s ease,color .5s ease-in-out,opacity .3s ease}.skill-item:hover .skill-icon{opacity:0}.skill-name{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-top:10px;text-align:center;transition:color .5s ease-in-out,opacity .3s ease}.skill-item:hover .skill-name{opacity:0}.skill-overlay{align-items:center;background-color:#3498dbe6;border-radius:15px;bottom:0;display:flex;justify-content:center;left:0;opacity:0;padding:20px;position:absolute;right:0;top:0;transition:opacity .3s ease,background-color .5s ease-in-out}.skill-item:hover .skill-overlay{opacity:1}.skill-overlay p{color:#ecf0f1;font-size:.9rem;text-align:center}.dark-mode .skill-item{background-color:#ffffff0d;border:1px solid #ffffff1a}.dark-mode .skill-item:hover{background-color:#ffffff1a}.dark-mode .skill-icon,.dark-mode .skills-title{color:#64b5f6}.dark-mode .skill-name{color:#fff}.dark-mode .skill-overlay{background-color:#1976d2e6}@media screen and (max-width:768px){.skills-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.skill-icon{font-size:3rem}}@media screen and (max-width:480px){.skills-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.skill-icon{font-size:2.5rem}}
/*# sourceMappingURL=styles.0d6412e0.css.map*/