@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Open+Sans:wght@300;400;500;600;700&display=swap";:root{--primary: #2E3B4E;--accent: #FF6B6B;--accent-rgb: 255, 107, 107;--background: #FFFFFF;--card-bg: #F8F9FA;--card-bg-small: #F8F9FA;--text: #333333;--text-secondary: #6C757D;--border: #DEE2E6;--shadow: rgba(0, 0, 0, .05);--header-bg: rgba(255, 255, 255, .85)}body.dark{--primary: #3E4E68;--accent: #FF8585;--accent-rgb: 255, 133, 133;--background: #121212;--card-bg: #1E1E1E;--card-bg-small: #949494;--text: #E1E1E1;--text-secondary: #AAAAAA;--border: #333333;--shadow: rgba(0, 0, 0, .2);--header-bg: rgba(18, 18, 18, .85)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Open Sans,sans-serif;background-color:var(--background);color:var(--text);line-height:1.6;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;font-weight:600;margin-bottom:1rem}h1{font-size:2.5rem;line-height:1.2}h2{font-size:2rem;margin-bottom:1.5rem}h3{font-size:1.5rem}p{margin-bottom:1rem}a{color:var(--accent);text-decoration:none;transition:color .3s ease}a:hover{color:var(--primary)}img{max-width:100%;height:auto}button{cursor:pointer;font-family:Poppins,sans-serif}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}section{padding:5rem 0}.section-title{text-align:center;margin-bottom:3rem;position:relative;padding-bottom:1rem}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:3px;background-color:var(--accent)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.grid{display:grid}.text-center{text-align:center}.hidden{display:none}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:4px;font-weight:500;text-align:center;transition:all .3s ease;border:none;outline:none;position:relative;overflow:hidden}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-outline{background-color:transparent;border:2px solid var(--accent);color:var(--accent)}.btn-outline:hover{background-color:var(--accent);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes typeWriter{0%{width:0}to{width:100%}}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.75rem}section{padding:3rem 0}}.header{position:fixed;top:0;left:0;width:100%;background-color:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;transition:all .3s ease}.header.scrolled{box-shadow:0 2px 10px var(--shadow)}.header-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem}.logo{display:flex;align-items:center}.logo-text{font-family:Poppins,sans-serif;font-weight:700;font-size:1.5rem;color:var(--logo-primary);transition:color .3s}.logo-text:hover{color:var(--accent)}.nav{display:flex;align-items:center}.nav-list{display:flex;list-style:none}.nav-list li{margin-left:2rem;position:relative}.nav-list a{color:var(--text);font-weight:500;padding:.5rem 0;position:relative;transition:color .3s}.nav-list a:hover,.nav-list li.active a{color:var(--accent)}.nav-list li.active a:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background-color:var(--accent);transform:scaleX(1);transform-origin:left;transition:transform .3s ease}.nav-list li a:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background-color:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav-list li a:hover:after{transform:scaleX(1)}.theme-toggle{margin-left:2rem;background:transparent;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background-color:var(--card-bg)}.menu-toggle{display:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.menu-toggle span{width:100%;height:3px;background-color:var(--text);border-radius:3px;transition:all .3s ease}@media (max-width: 768px){.menu-toggle{display:flex}.nav{position:fixed;top:0;right:-100%;width:70%;height:100vh;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card-bg);transition:right .3s ease;box-shadow:-5px 0 15px #0000001a}.nav.open{right:0}.nav-list{flex-direction:column;width:100%}.nav-list li{margin:1rem 0;width:100%;text-align:center}.nav-list li a{display:block;padding:.75rem 0}.theme-toggle{margin-top:2rem;margin-left:0}.menu-toggle.open span:first-child{transform:translateY(9px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:last-child{transform:translateY(-9px) rotate(-45deg)}}.hero{min-height:100vh;padding-top:80px;display:flex;align-items:center;position:relative;overflow:hidden}.particles-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.hero-container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:2rem}.hero-content{flex:1;min-width:300px;padding-right:2rem;animation:slideInLeft 1s ease}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:1rem}.accent-text{color:var(--accent)}.hero-subtitle{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;height:2rem;display:flex;align-items:center}.typewriter{display:inline-block;height:1.5em}.cursor{display:inline-block;width:2px;height:1.5em;background-color:var(--accent);margin-left:2px;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-description{font-size:1.1rem;margin-bottom:2rem;max-width:600px;color:var(--text-secondary)}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.hero-image-container{flex:1;min-width:300px;display:flex;justify-content:center;align-items:center;animation:slideInRight 1s ease;padding:2rem 0}.hero-image-wrapper{position:relative;transition:transform .2s ease}.profile-image{width:300px;height:300px;border-radius:50%;overflow:hidden;position:relative;box-shadow:0 8px 30px #0000001f}.profile-image:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;background:radial-gradient(circle at top right,var(--accent),var(--primary));border-radius:inherit;z-index:-1;animation:rotate 5s linear infinite}.profile-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--background);margin:2px}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-image img{width:100%;height:100%;object-fit:cover;border-radius:inherit;position:relative;z-index:1}@media (max-width: 992px){.hero-container{flex-direction:column-reverse;text-align:center;padding:3rem 1rem;gap:2rem}.hero-content{padding-right:0}.hero-title{font-size:2.5rem}.hero-buttons{justify-content:center}}@media (max-width: 480px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1.2rem}.profile-image{width:250px;height:250px}}.projects{background-color:var(--background)}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;justify-content:center}.tag-button-tag{padding:.5rem 1rem;background-color:var(--card-bg-small);border:1px solid var(--border);border-radius:2rem;cursor:pointer;font-size:.9rem;transition:all .3s ease}.tag-button-tag:hover{background-color:var(--accent);color:#fff;transform:translateY(-2px)}.tag-button-tag.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.project-card{border-radius:.5rem;overflow:hidden;background-color:var(--card-bg);box-shadow:0 5px 15px var(--shadow);transition:transform .3s ease,box-shadow .3s ease;height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px var(--shadow)}.project-image{position:relative;overflow:hidden;height:200px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image img{transform:scale(1.05)}.project-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.view-project-button{padding:.75rem 1.5rem;background-color:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .3s ease}.view-project-button:hover{background-color:var(--primary);transform:scale(1.05)}.project-info{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.project-info h3{margin-bottom:.75rem;font-size:1.25rem;font-weight:600;color:var(--text)}.project-info p{color:var(--text-secondary);margin-bottom:1rem;flex-grow:1}.project-tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.project-tag{font-size:.75rem;padding:.25rem .5rem;background-color:var(--background);border-radius:1rem;color:var(--text-secondary)}@media (max-width: 768px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 480px){.projects-grid{grid-template-columns:1fr}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.active{opacity:1;transform:translateY(0)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1100;padding:2rem;animation:fadeIn .3s ease}.modal-container{background-color:var(--card-bg);border-radius:.5rem;width:100%;max-width:900px;max-height:90vh;overflow:auto;position:relative;animation:scaleIn .3s ease;box-shadow:0 10px 30px #0000004d}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text);width:2rem;height:2rem;display:flex;justify-content:center;align-items:center;border-radius:50%;transition:all .3s ease;z-index:10}.modal-close-button:hover{background-color:#0000001a}.modal-content{display:flex;flex-direction:column;overflow:hidden}.modal-image-container{width:100%;height:300px;overflow:hidden}.modal-image{width:100%;height:100%;object-fit:cover}.modal-info{padding:2rem}.modal-title{font-size:1.75rem;margin-bottom:1rem;color:var(--text)}.modal-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.modal-tag{font-size:.8rem;padding:.25rem .75rem;background-color:var(--background);border-radius:1rem;color:var(--text-secondary)}.modal-description{margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.7}.modal-links{display:flex;gap:1rem}@media (min-width: 768px){.modal-content{flex-direction:row}.modal-image-container{width:50%;height:auto}.modal-info{width:50%;max-height:80vh;overflow:auto}}@media (max-width: 480px){.modal-container{max-height:95vh}.modal-image-container{height:200px}.modal-info{padding:1.5rem}.modal-links{flex-direction:column}}.experience{background-color:var(--card-bg);position:relative}.timeline{position:relative;max-width:1200px;margin:0 auto;padding:2rem 0}.timeline:after{content:"";position:absolute;top:0;bottom:0;width:4px;background-color:var(--accent);left:50%;transform:translate(-50%)}.timeline-item{position:relative;width:50%;padding:1rem 3rem;box-sizing:border-box}.timeline-item:after{content:"";position:absolute;width:20px;height:20px;background-color:var(--background);border:4px solid var(--accent);border-radius:50%;top:1.5rem;z-index:1}.timeline-item.left{left:0;text-align:right}.timeline-item.right{left:50%;text-align:left}.timeline-item.left:after{right:-14px}.timeline-item.right:after{left:-14px}.timeline-content{padding:1.5rem;background-color:var(--background);border-radius:.5rem;box-shadow:0 5px 15px var(--shadow);position:relative;transition:all .3s ease}.timeline-content:hover{transform:translateY(-5px);box-shadow:0 8px 25px var(--shadow)}.timeline-date{display:inline-block;padding:.5rem 1rem;background-color:var(--accent);color:#fff;border-radius:1rem;font-size:.8rem;font-weight:600;margin-bottom:1rem}.timeline-title{font-size:1.25rem;margin-bottom:.5rem;color:var(--accent)}.timeline-company{font-size:1rem;margin-bottom:1rem;color:var(--text)}.timeline-description{color:var(--text-secondary);margin-bottom:1.25rem}.achievements-title{font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;color:var(--text)}.achievements-list{list-style-type:none}.achievement-item{position:relative;padding-left:1.25rem;margin-bottom:.75rem;color:var(--text-secondary)}.achievement-item:before{content:"→";position:absolute;left:0;color:var(--accent)}.timeline-item.left .achievement-item{text-align:right;padding-left:0;padding-right:1.25rem}.timeline-item.left .achievement-item:before{left:auto;right:0;content:"←"}@media (max-width: 768px){.timeline:after{left:2rem}.timeline-item{width:100%;padding-left:4rem;padding-right:1rem}.timeline-item.left,.timeline-item.right{left:0;text-align:left}.timeline-item.left:after,.timeline-item.right:after{left:1.9rem}.timeline-item.left .achievement-item{text-align:left;padding-left:1.25rem;padding-right:0}.timeline-item.left .achievement-item:before{left:0;right:auto;content:"→"}}@media (max-width: 480px){.timeline:after{left:1.5rem}.timeline-item{padding-left:3rem}.timeline-item.left:after,.timeline-item.right:after{left:1.4rem}}.skills{background-color:var(--background)}.skills-categories{display:flex;justify-content:center;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}.category-button{padding:.75rem 1.5rem;background-color:var(--card-bg-small);border:2px solid var(--border);border-radius:2rem;font-weight:600;cursor:pointer;transition:all .3s ease}.category-button:hover{background-color:var(--accent);color:#fff;transform:translateY(-2px)}.category-button.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.skills-content{background-color:var(--card-bg);border-radius:1rem;padding:2rem;box-shadow:0 5px 15px var(--shadow)}.skills-category-title{text-align:center;margin-bottom:1.5rem;color:var(--accent);font-weight:700;letter-spacing:1px}.skills-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;justify-content:center}.skill-card{border-radius:.75rem;background-color:var(--background);border:1px solid var(--border);transition:transform .3s ease,box-shadow .3s ease}.skill-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px var(--shadow)}.skill-card-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem .5rem!important;height:100%}.skill-icon{margin-bottom:.5rem;color:var(--accent);display:flex;justify-content:center;align-items:center;width:40px;height:40px;background-color:rgba(var(--accent-rgb),.1);border-radius:50%;padding:8px}.skill-name{font-size:.9rem;font-weight:500}@media (max-width: 768px){.skills-content{padding:1.5rem}.category-button{padding:.5rem 1rem;font-size:.9rem}.skills-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}}@media (max-width: 480px){.skills-list{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.skill-name{font-size:.8rem}.skill-icon{width:35px;height:35px}}.contact{background-color:var(--card-bg)}.contact-content{display:flex;gap:2rem;flex-wrap:wrap}.contact-info{flex:1;min-width:300px}.contact-info h3{font-size:1.75rem;margin-bottom:1.5rem;color:var(--text)}.contact-info p{line-height:1.7;margin-bottom:2rem;color:var(--text-secondary)}.contact-methods{display:flex;flex-direction:column;gap:1.5rem}.contact-method{display:flex;align-items:flex-start;gap:1rem}.contact-icon{font-size:1.5rem;color:var(--accent)}.contact-detail h4{font-size:1.1rem;margin-bottom:.5rem;color:var(--text)}.contact-detail p,.contact-detail a{color:var(--text-secondary)}.contact-detail a{text-decoration:none;transition:color .3s}.contact-detail a:hover{color:var(--accent)}.social-links{display:flex;gap:1rem;flex-wrap:wrap}.social-link{padding:.5rem 1rem;background-color:var(--background);border-radius:2rem;font-size:.9rem;transition:all .3s;text-decoration:none;color:var(--text-secondary)}.social-link:hover{background-color:var(--accent);color:#fff;transform:translateY(-2px)}.contact-form-container{flex:1;min-width:300px}.contact-form{background-color:var(--background);border-radius:.5rem;padding:2rem;box-shadow:0 5px 15px var(--shadow)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:.25rem;background-color:var(--card-bg);color:var(--text);transition:border-color .3s,box-shadow .3s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #ff6b6b33}.form-group input.error,.form-group textarea.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:.85rem;margin-top:.5rem;display:block}.submit-btn{width:100%;padding:.75rem;font-weight:600;position:relative}.submit-btn.submitting{opacity:.8;cursor:not-allowed}.submit-btn.submitting:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid white;border-radius:50%;border-top-color:transparent;right:1.5rem;top:50%;transform:translateY(-50%);animation:rotate 1s linear infinite}@media (max-width: 768px){.contact-content{flex-direction:column}}.toast-container{position:fixed;bottom:2rem;right:2rem;z-index:1000;display:flex;flex-direction:column;gap:1rem}.toast{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-radius:.5rem;background-color:var(--card-bg);box-shadow:0 5px 15px #0000001a;animation:slideInRight .3s ease,fadeIn .3s ease;min-width:300px;max-width:400px}.toast.success{border-left:4px solid #2ecc71}.toast.error{border-left:4px solid #e74c3c}.toast-content{display:flex;align-items:center;gap:1rem}.toast-icon{font-size:1.25rem}.toast-message{margin:0;font-size:.95rem;color:var(--text)}.toast-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary);transition:color .3s}.toast-close:hover{color:var(--text)}.resume{padding:5rem 0;background-color:var(--background)}.resume-container{display:flex;align-items:center;gap:3rem;max-width:900px;margin:0 auto;flex-wrap:wrap;justify-content:center}.resume-content{flex:1;max-width:600px}.resume-content h3{font-size:1.75rem;margin-bottom:1rem;color:var(--text)}.resume-content p{line-height:1.7;margin-bottom:2rem;color:var(--text-secondary)}.download-btn{padding:.75rem 1.5rem;display:inline-block;position:relative;transition:all .3s ease;font-weight:600}.download-btn:hover{transform:translateY(-2px)}.resume-preview{flex:1;display:flex;justify-content:center;perspective:1000px;max-width:100%;margin-top:2rem}.resume-paper{width:100%;max-width:100%;height:auto;background-color:#fff;box-shadow:0 10px 30px #0000001a;border-radius:5px;padding:2rem;transform:rotateY(-10deg);position:relative;transition:transform .5s ease;overflow:hidden}.resume-paper:hover{transform:rotateY(0)}.resume-paper:before{content:"";position:absolute;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 50px 50px;border-color:transparent transparent #f0f0f0 transparent;z-index:-1}.resume-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.resume-header h4{font-size:1.5rem;margin-bottom:.5rem;color:#333}.resume-header p{color:#777}.resume-section{margin-bottom:1.5rem}.resume-section h5{font-size:1rem;margin-bottom:.5rem;color:#333}.resume-line{height:8px;background-color:#f0f0f0;margin-top:.5rem;position:relative;width:100%;box-sizing:border-box}.resume-line:before{content:"";position:absolute;left:0;top:0;height:100%;width:60%;background-color:#e0e0e0;box-sizing:border-box}@media (max-width: 1024px){.resume-container{flex-direction:column;text-align:center}.resume-content,.resume-preview{max-width:100%}.resume-paper{transform:none;height:auto;width:80%;padding:1.5rem}}@media (max-width: 768px){.resume-container{flex-direction:column;text-align:center}.resume-paper{transform:none;height:auto;width:90%;padding:1.5rem}.resume-content h3{font-size:1.5rem}.resume-content p{font-size:1rem}.resume-line{height:12px}.resume-line:before{width:80%}}@media (max-width: 480px){.resume-container{padding:1rem}.resume-paper{height:auto;width:90%;padding:1rem}.download-btn{padding:.5rem 1rem;font-size:.9rem}.resume-content h3{font-size:1.25rem}.resume-content p{font-size:.9rem}.resume-line{height:12px}.resume-line:before{width:90%}}.footer{background-color:var(--primary);color:#fff;padding:3rem 0 1.5rem}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:2rem;gap:2rem}.footer-logo .logo-text{font-family:Poppins,sans-serif;font-weight:700;font-size:1.5rem;color:#fff}.footer-links{display:flex;list-style:none;gap:1.5rem}.footer-links a{color:#fffc;text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--accent)}.footer-social{display:flex;gap:1rem}.social-icon{color:#fffc;text-decoration:none;transition:color .3s}.social-icon:hover{color:var(--accent)}.footer-bottom{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:.9rem;color:#fff9}.footer-bottom p:first-child{margin-bottom:.5rem}@media (max-width: 768px){.footer-content{flex-direction:column;text-align:center}.footer-links{flex-wrap:wrap;justify-content:center}}
