:root{--primary-color:#4a6cf7;--secondary-color:#6c757d;--dark-color:#212529;--light-color:#f8f9fa;--body-color:#333;--body-bg:#fff;--border-color:#dee2e6;--box-shadow:0 5px 20px rgba(0,0,0,0.1);--card-bg:white;--timeline-bg:white;--input-bg:white}.dark,[data-theme=dark]{--primary-color:#4a6cf7;--secondary-color:#a0a0a0;--dark-color:#e0e0e0;--light-color:#1e1e1e;--body-color:#e0e0e0;--body-bg:#121212;--border-color:#333;--box-shadow:0 5px 20px rgba(0,0,0,0.3);--card-bg:#1e1e1e;--timeline-bg:#1e1e1e;--input-bg:#1e1e1e}.animate-item{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.animate-item:first-child{transition-delay:.1s}.animate-item:nth-child(2){transition-delay:.2s}.animate-item:nth-child(3){transition-delay:.3s}.animate-item:nth-child(4){transition-delay:.4s}.animate-item:nth-child(5){transition-delay:.5s}.animate-item:nth-child(6){transition-delay:.6s}.animate-item:nth-child(7){transition-delay:.7s}.animate-item:nth-child(8){transition-delay:.8s}.animate-item:nth-child(9){transition-delay:.9s}.animate-item:nth-child(10){transition-delay:1s}.animate-in .animate-item{opacity:1;transform:translateY(0)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;color:var(--body-color);background-color:var(--body-bg);transition:background-color .3s ease,color .3s ease}a{text-decoration:none;color:var(--primary-color);transition:all .3s ease}a:hover{color:rgb(25.1587301587,68.3333333333,244.8412698413)}ul{list-style:none}img{max-width:100%;height:auto}button{cursor:pointer;font-family:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.container.animate-in .animate-item{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.container.animate-in .animate-item:first-child{transition-delay:.1s}.container.animate-in .animate-item:nth-child(2){transition-delay:.2s}.container.animate-in .animate-item:nth-child(3){transition-delay:.3s}.container.animate-in .animate-item:nth-child(4){transition-delay:.4s}.container.animate-in .animate-item:nth-child(5){transition-delay:.5s}.container.animate-in .animate-item:nth-child(6){transition-delay:.6s}.container.animate-in .animate-item:nth-child(7){transition-delay:.7s}.container.animate-in .animate-item:nth-child(8){transition-delay:.8s}.container.animate-in .animate-item:nth-child(9){transition-delay:.9s}.container.animate-in .animate-item:nth-child(10){transition-delay:1s}.container.animate-in .animate-item{opacity:1;transform:translateY(0)}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:3rem;position:relative;color:var(--dark-color)}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:80px;height:4px;background-color:var(--primary-color);border-radius:2px}.header{position:fixed;top:0;left:0;width:100%;background-color:var(--body-bg);box-shadow:var(--box-shadow);z-index:1000;padding:1rem 0;transition:background-color .3s ease,box-shadow .3s ease}.header .container{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.header .logo h2{font-size:1.8rem;font-weight:700;color:var(--primary-color)}.header .header-actions{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem}.header .theme-toggle{background:none;border:none;color:var(--dark-color);padding:.5rem;border-radius:50%;transition:all .3s ease}.header .theme-toggle:hover{background-color:rgba(0,0,0,.05)}[data-theme=dark] .header .theme-toggle:hover{background-color:hsla(0,0%,100%,.1)}.header .mobile-menu-btn{display:block;background:none;border:none;color:var(--dark-color)}@media(min-width:768px){.header .mobile-menu-btn{display:none}}.header .nav{display:none;position:absolute;top:100%;left:0;width:100%;background-color:var(--body-bg);padding:1rem 0;box-shadow:var(--box-shadow)}.header .nav.open{display:block}@media(min-width:768px){.header .nav{display:block;position:static;width:auto;background-color:rgba(0,0,0,0);padding:0;box-shadow:none}}.header .nav ul{display:flex;flex-direction:column;justify-content:center;align-items:center}@media(min-width:768px){.header .nav ul{flex-direction:row}}.header .nav ul li{margin:.5rem 0}@media(min-width:768px){.header .nav ul li{margin:0 1rem}}.header .nav ul li button{background:none;border:none;font-size:1rem;font-weight:500;color:var(--dark-color);padding:.5rem;transition:all .3s ease}.header .nav ul li button.active,.header .nav ul li button:hover{color:var(--primary-color)}.header .nav ul li button.active{position:relative}.header .nav ul li button.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--primary-color);border-radius:1px}.hero{padding:8rem 0 5rem;background-color:var(--light-color);transition:background-color .3s ease}.hero .container{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:992px){.hero .container{grid-template-columns:1fr 1fr;align-items:center}}.hero .hero-content{text-align:center}@media(min-width:992px){.hero .hero-content{text-align:left}}.hero .hero-content h1{display:flex;flex-direction:column;margin-bottom:1.5rem}.hero .hero-content h1 .greeting{font-size:1.2rem;font-weight:500;color:var(--secondary-color)}.hero .hero-content h1 .name{font-size:3rem;font-weight:700;color:var(--primary-color);margin:.5rem 0}.hero .hero-content h1 .title{font-size:1.5rem;font-weight:600;color:var(--dark-color)}.hero .hero-content .description{font-size:1.1rem;color:var(--secondary-color);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}@media(min-width:992px){.hero .hero-content .description{margin-left:0}}.hero .hero-content .cta-buttons{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem}@media(min-width:576px){.hero .hero-content .cta-buttons{flex-direction:row}}@media(min-width:992px){.hero .hero-content .cta-buttons{justify-content:flex-start}}.hero .hero-content .cta-buttons .primary-btn,.hero .hero-content .cta-buttons .secondary-btn{padding:.8rem 2rem;border-radius:5px;font-weight:500;transition:all .3s ease}.hero .hero-content .cta-buttons .primary-btn{background-color:var(--primary-color);color:#fff;border:none}.hero .hero-content .cta-buttons .primary-btn:hover{background-color:rgb(25.1587301587,68.3333333333,244.8412698413)}.hero .hero-content .cta-buttons .secondary-btn{background-color:rgba(0,0,0,0);color:var(--primary-color);border:2px solid var(--primary-color)}.hero .hero-content .cta-buttons .secondary-btn:hover{background-color:var(--primary-color);color:#fff}.hero .hero-content .social-links{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1.5rem}@media(min-width:992px){.hero .hero-content .social-links{justify-content:flex-start}}.hero .hero-content .social-links a{color:var(--dark-color);transition:all .3s ease}.hero .hero-content .social-links a:hover{color:var(--primary-color);transform:translateY(-3px)}.hero .hero-image{display:flex;flex-direction:row;justify-content:center;align-items:center}.hero .hero-image .image-container{width:300px;height:300px;border-radius:50%;overflow:hidden;border:5px solid var(--body-bg);box-shadow:var(--box-shadow)}@media(min-width:768px){.hero .hero-image .image-container{width:350px;height:350px}}.hero .hero-image .image-container img{width:100%;height:100%;object-fit:cover}.about{padding:5rem 0;background-color:var(--body-bg);transition:background-color .3s ease}.about .about-content{display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:992px){.about .about-content{grid-template-columns:1fr 2fr;align-items:center}}.about .about-image{display:flex;flex-direction:row;justify-content:center;align-items:center}.about .about-image img{border-radius:10px;box-shadow:var(--box-shadow)}.about .about-text p{margin-bottom:1.5rem;color:var(--secondary-color)}.about .about-text .about-details{display:grid;grid-template-columns:1fr;gap:1rem;margin:2rem 0}@media(min-width:768px){.about .about-text .about-details{grid-template-columns:1fr 1fr}}.about .about-text .about-details .detail{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}.about .about-text .about-details .detail .label{font-weight:600;color:var(--dark-color);margin-right:.5rem}.about .about-text .about-details .detail .value{color:var(--secondary-color)}.about .about-text .download-cv{padding:.8rem 2rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:5px;font-weight:500;transition:all .3s ease}.about .about-text .download-cv:hover{background-color:rgb(25.1587301587,68.3333333333,244.8412698413)}.skills{padding:5rem 0;background-color:var(--light-color);transition:background-color .3s ease}.skills .skills-content{display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:768px){.skills .skills-content{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.skills .skills-content{grid-template-columns:repeat(3,1fr)}}.skills .skill-category h3{font-size:1.5rem;margin-bottom:1.5rem;color:var(--dark-color);position:relative;padding-bottom:.5rem}.skills .skill-category h3:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:3px;background-color:var(--primary-color);border-radius:1.5px}.skills .skill-category .skill-items{display:grid;grid-template-columns:1fr;gap:1.5rem}.skills .skill-category .skill-item .skill-name{display:block;font-weight:500;color:var(--dark-color);margin-bottom:.5rem}.skills .skill-category .skill-item .skill-bar{height:10px;background-color:var(--border-color);border-radius:5px;overflow:hidden}.skills .skill-category .skill-item .skill-bar .skill-progress{height:100%;background-color:var(--primary-color);border-radius:5px;width:0;transition:width 1s ease-in-out}.experience{padding:5rem 0;background-color:var(--body-bg);transition:background-color .3s ease}.experience .timeline{position:relative;max-width:800px;margin:0 auto}.experience .timeline:before{content:"";position:absolute;top:0;left:20px;height:100%;width:2px;background-color:var(--border-color)}@media(min-width:768px){.experience .timeline:before{left:50%;transform:translateX(-50%)}}.experience .timeline .timeline-item{position:relative;margin-bottom:3rem}.experience .timeline .timeline-item:last-child{margin-bottom:0}.experience .timeline .timeline-item .timeline-dot{position:absolute;top:0;left:20px;width:16px;height:16px;border-radius:50%;background-color:var(--primary-color);transform:translateX(-50%);z-index:1}@media(min-width:768px){.experience .timeline .timeline-item .timeline-dot{left:50%}}.experience .timeline .timeline-item .timeline-content{position:relative;margin-left:40px;background-color:var(--timeline-bg);padding:1.5rem;border-radius:10px;box-shadow:var(--box-shadow);transition:background-color .3s ease,box-shadow .3s ease,transform .5s ease,opacity .5s ease}@media(min-width:768px){.experience .timeline .timeline-item .timeline-content{width:45%;margin-left:0}.experience .timeline .timeline-item .timeline-content:before{content:"";position:absolute;top:10px;width:20px;height:2px;background-color:var(--border-color)}.experience .timeline .timeline-item .timeline-content:nth-child(odd){left:55%}.experience .timeline .timeline-item .timeline-content:nth-child(odd):before{left:-20px}.experience .timeline .timeline-item .timeline-content:nth-child(2n){left:0}.experience .timeline .timeline-item .timeline-content:nth-child(2n):before{right:-20px}}.experience .timeline .timeline-item .timeline-header{margin-bottom:1rem}.experience .timeline .timeline-item .timeline-header h3{font-size:1.3rem;margin-bottom:.3rem;color:var(--dark-color)}.experience .timeline .timeline-item .timeline-header .company{display:block;font-weight:500;color:var(--primary-color);margin-bottom:.3rem}.experience .timeline .timeline-item .timeline-header .period{display:block;font-size:.9rem;color:var(--secondary-color)}.experience .timeline .timeline-item .timeline-body ul{padding-left:1.5rem}.experience .timeline .timeline-item .timeline-body ul li{position:relative;margin-bottom:.5rem;list-style-type:disc;color:var(--secondary-color)}.experience .timeline .timeline-item .timeline-body ul li:last-child{margin-bottom:0}.experience .timeline .timeline-item .timeline-tech{margin-top:1rem;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:.5rem}.experience .timeline .timeline-item .timeline-tech span{display:inline-block;padding:.3rem .8rem;background-color:rgba(74,108,247,.1);color:var(--primary-color);border-radius:20px;font-size:.8rem;font-weight:500}.projects{padding:5rem 0;background-color:var(--light-color);transition:background-color .3s ease}.projects .projects-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.projects .projects-grid{grid-template-columns:repeat(2,1fr)}}.projects .project-card{background-color:var(--card-bg);border-radius:10px;overflow:hidden;box-shadow:var(--box-shadow);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,opacity .5s ease}.projects .project-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,0,0,.1)}[data-theme=dark] .projects .project-card:hover{box-shadow:0 15px 30px rgba(0,0,0,.3)}.projects .project-card .project-image{height:200px;overflow:hidden}.projects .project-card .project-image img{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.projects .project-card .project-image img:hover{transform:scale(1.05)}.projects .project-card .project-content{padding:1.5rem}.projects .project-card .project-content h3{font-size:1.3rem;margin-bottom:.8rem;color:var(--dark-color)}.projects .project-card .project-content p{color:var(--secondary-color);margin-bottom:1rem}.projects .project-card .project-content .project-tech{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.projects .project-card .project-content .project-tech span{display:inline-block;padding:.3rem .8rem;background-color:rgba(74,108,247,.1);color:var(--primary-color);border-radius:20px;font-size:.8rem;font-weight:500}.projects .project-card .project-content .project-links{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem}.projects .project-card .project-content .project-links a{color:var(--dark-color);transition:all .3s ease}.projects .project-card .project-content .project-links a:hover{color:var(--primary-color)}.projects .view-more{text-align:center;margin-top:3rem}.projects .view-more a{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;color:var(--primary-color);transition:all .3s ease}.projects .view-more a:hover{color:rgb(25.1587301587,68.3333333333,244.8412698413)}.contact{padding:5rem 0;background-color:var(--body-bg);transition:background-color .3s ease}.contact .contact-content{display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:992px){.contact .contact-content{grid-template-columns:1fr 1fr}}.contact .contact-info h3{font-size:1.8rem;margin-bottom:1.5rem;color:var(--dark-color)}.contact .contact-info p{color:var(--secondary-color);margin-bottom:2rem}.contact .contact-info .contact-details{display:grid;grid-template-columns:1fr;gap:1.5rem}.contact .contact-info .contact-details .contact-item{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem}.contact .contact-info .contact-details .contact-item svg{color:var(--primary-color)}.contact .contact-info .contact-details .contact-item span{color:var(--secondary-color)}.contact .contact-form form{display:grid;grid-template-columns:1fr;gap:1.5rem}.contact .contact-form form .form-group{display:grid;grid-template-columns:1fr;gap:.5rem}.contact .contact-form form .form-group label{font-weight:500;color:var(--dark-color)}.contact .contact-form form .form-group input,.contact .contact-form form .form-group textarea{padding:.8rem 1rem;border:1px solid var(--border-color);border-radius:5px;font-family:inherit;font-size:1rem;transition:all .3s ease;background-color:var(--input-bg);color:var(--body-color)}.contact .contact-form form .form-group input:focus,.contact .contact-form form .form-group textarea:focus{outline:none;border-color:var(--primary-color)}.contact .contact-form form .form-group textarea{min-height:150px;resize:vertical}.contact .contact-form form .submit-btn{padding:.8rem 2rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:5px;font-weight:500;transition:all .3s ease;justify-self:start}.contact .contact-form form .submit-btn:hover{background-color:rgb(25.1587301587,68.3333333333,244.8412698413)}.footer{padding:3rem 0 1rem;background-color:#212529;color:#fff}.footer .footer-content{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}@media(min-width:768px){.footer .footer-content{grid-template-columns:repeat(3,1fr)}}.footer .footer-logo h2{font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:.5rem}.footer .footer-logo p{color:hsla(0,0%,100%,.7)}.footer .footer-links ul{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;gap:.8rem}@media(min-width:768px){.footer .footer-links ul{align-items:center}}.footer .footer-links ul li button{background:none;border:none;color:hsla(0,0%,100%,.7);transition:all .3s ease}.footer .footer-links ul li button:hover{color:#fff}.footer .footer-social{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1.5rem}.footer .footer-social a{color:hsla(0,0%,100%,.7);transition:all .3s ease}.footer .footer-social a:hover{color:#fff;transform:translateY(-3px)}.footer .footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid hsla(0,0%,100%,.1)}.footer .footer-bottom p{font-size:.9rem;color:hsla(0,0%,100%,.5)}.animate-in .skill-progress{animation:skillProgress 1s ease-out forwards;animation-delay:.5s}@keyframes skillProgress{0%{width:0}to{width:var(--progress-width,0)}}