@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes float-code{0%{transform:translateY(100vh) rotate(var(--rotate))}to{transform:translateY(-100vh) rotate(var(--rotate))}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes rotate-bg{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes scanning{0%{transform:translateX(0)}to{transform:translateX(600px)}}@keyframes shine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes flowing{0%{background-position:0 0}to{background-position:400%0}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}:root{--primary-color:#00ff41;--primary-dark:#008f11;--secondary-color:#00b300;--accent-color:#72F2EB;--text-color:#333333;--text-color-secondary:#666666;--bg-color:#fff;--light-bg:#f9f9f9;--dark-bg:#0a0a0a;--header-bg:rgba(255, 255, 255, 0.95);--shadow:0 5px 15px rgba(0, 0, 0, 0.1);--transition:all 0.3s ease-in-out;--border-radius:8px;--terminal-bg:#1a1a1a;--code-font:'Fira Code', 'Consolas', monospace}*{margin:0;padding:0;box-sizing:border-box}body,html{overflow-x:hidden}html{scroll-behavior:smooth}body{font-family:"Poppins",sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--bg-color);transition:var(--transition)}body.menu-open{overflow:hidden}.container{width:90%;max-width:1200px;margin:0 auto}.logo p,.section-title,section{position:relative}section{padding:80px 0}.section-title{font-size:2.5rem;text-align:center;margin-bottom:60px}.section-title::after,.section-title::before{position:absolute;left:50%;transform:translateX(-50%)}.section-title::after{content:"";bottom:-15px;width:80px;height:4px;background:var(--primary-color)}.section-title::before{content:"function render";font-family:var(--code-font);font-size:.9rem;color:var(--primary-dark);top:-25px;opacity:.7}img{max-width:100%}a{text-decoration:none;color:inherit}ul{list-style:none}.btn,.logo span{position:relative;display:inline-block}.btn,a{transition:var(--transition)}.btn{padding:12px 28px;border-radius:var(--border-radius);font-weight:600;font-size:1rem;cursor:pointer;border:0;overflow:hidden}.btn::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0)0,rgba(255,255,255,.2) 50%,rgba(255,255,255,0) 100%);transition:all .6s ease}.btn:hover::before{left:100%}.btn-primary{background-color:var(--primary-color);color:var(--dark-bg);box-shadow:0 4px 12px rgba(0,255,65,.2)}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-3px)}.btn-secondary{background-color:transparent;border:2px solid var(--primary-dark);color:var(--text-color);position:relative;z-index:1}.btn-secondary::after,.project-info h3::after{content:"";position:absolute;left:0;width:0;transition:all .3s ease}.btn-secondary::after{top:0;height:100%;background-color:var(--primary-dark);z-index:-1}.btn-secondary:hover{color:var(--dark-bg)}.btn-secondary:hover::after,.project:hover .project-info h3::after{width:100%}.btn-small{padding:8px 18px;font-size:.9rem}.menu-toggle,header{transition:var(--transition)}header{position:fixed;top:0;left:0;width:100%;background-color:var(--header-bg);box-shadow:var(--shadow);z-index:1000;backdrop-filter:blur(10px)}header .container{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.logo p{font-size:1.8rem;font-weight:700;margin:0}.logo span{color:var(--primary-color)}.logo span::after{content:"_";animation:blink 1s infinite}nav ul{display:flex}.footer-links ul li,nav ul li{margin:0 15px}.detail i,nav ul li a,nav ul li a::before{transition:all .3s ease}nav ul li a{font-weight:500;padding:5px;position:relative;font-family:var(--code-font)}nav ul li a::before{content:"<";opacity:0;margin-right:5px}nav ul li a::after{content:"/>";opacity:0;margin-left:5px;transition:all .3s ease}.footer-links ul li a:hover,nav ul li a:hover::after,nav ul li a:hover::before{opacity:1;color:var(--primary-color)}.menu-toggle{display:none;font-size:1.5rem;cursor:pointer;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background-color:rgba(0,255,65,.1)}.menu-toggle:hover,.project:hover .project-tech span{background-color:rgba(0,255,65,.2)}.hero{min-height:100vh;display:flex;align-items:center;padding-top:100px;position:relative;overflow:hidden}.floating-code-elements,.hero::before{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.hero::before{content:"";background:radial-gradient(circle at 20% 30%,rgba(0,255,65,.05)0,rgba(0,255,65,0) 70%)}.floating-code-elements{z-index:-1;overflow:hidden}.code-element{position:absolute;font-family:var(--code-font);color:var(--primary-dark);opacity:.07;font-size:1.2rem;transform:rotate(var(--rotate));white-space:nowrap;animation:float-code calc(var(--duration)*1s) infinite linear}.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.hero-content h1{font-size:3.5rem;line-height:1.2;margin-bottom:20px}.hero-content h2{font-size:2rem;font-weight:500;margin-bottom:20px;color:var(--primary-dark)}.detail h3,.hero-content p{font-size:1.2rem;margin-bottom:30px}.hero-content .highlight{color:var(--primary-color);position:relative}.hero-content .highlight::after{content:"";position:absolute;width:100%;height:30%;background-color:rgba(0,255,65,.1);bottom:0;left:0;z-index:-1}.cta-buttons{display:flex;gap:15px}.code-background,.hero-image{position:relative}.code-background{background-color:var(--terminal-bg);border-radius:var(--border-radius);padding:25px;box-shadow:0 10px 30px rgba(0,0,0,.2);overflow:hidden;border-top:25px solid #191919}.code-background::before{content:"● ● ●";position:absolute;top:-25px;left:10px;color:#666;font-size:12px;letter-spacing:5px;line-height:25px}.code-background pre,.code-background::after{color:var(--primary-color);font-family:var(--code-font)}.code-background::after{content:"santcode@dev ~ $";position:absolute;top:5px;left:10px;font-size:14px}.code-background pre{overflow-x:auto;margin-top:10px;line-height:1.8}.code-background pre .comment{color:#666}.code-background pre .function{color:#57c7ff}.code-background pre .string{color:#ff5f56}.code-background pre .keyword{color:#d18afb}.code-background pre .variable{color:#5af78e}.code-typing-effect{display:inline-block;width:8px;height:18px;background-color:var(--primary-color);margin-left:4px;animation:blink 1s infinite}.about-content{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center}.about-image{text-align:center;position:relative}.about-image::after{top:-20px;left:50%;width:200px;height:200px;background:radial-gradient(circle,rgba(0,255,65,.1)0,rgba(0,255,65,0) 70%);transform:translateX(-50%)}.image-wrapper{position:relative;width:300px;height:300px;margin:0 auto}.about-image::after,.image-wrapper::after,.image-wrapper::before{content:"";position:absolute;border-radius:50%;z-index:-1}.image-wrapper::before{top:-10px;left:-10px;right:-10px;bottom:-10px;background:linear-gradient(45deg,var(--primary-color),transparent);opacity:.2;animation:rotate 8s linear infinite}.image-wrapper::after{top:-15px;left:-15px;right:-15px;bottom:-15px;border:2px dashed var(--primary-color);opacity:.2;animation:rotate 12s linear infinite reverse}.profile-image{width:100%;height:100%;object-fit:cover;border-radius:50%;border:5px solid rgba(0,255,65,.3);box-shadow:0 0 20px rgba(0,0,0,.1)}.about-text p{margin-bottom:20px;font-size:1.1rem}.about-details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.detail,.project-img img{transition:var(--transition)}.detail{text-align:center;padding:30px 20px;border-radius:var(--border-radius);box-shadow:var(--shadow);overflow:hidden;z-index:1;background-color:var(--bg-color);border:1px solid rgba(0,0,0,.05)}.detail::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(var(--primary-color),transparent,transparent,transparent);opacity:0;transition:all .8s ease;transform:rotate(0deg);z-index:-1}.detail:hover{transform:translateY(-10px);border-color:transparent}.detail:hover::before{opacity:.1;animation:rotate-bg 4s linear infinite}.detail i{font-size:2.5rem;color:var(--primary-color);margin-bottom:15px;background:rgba(0,255,65,.1);width:80px;height:80px;line-height:80px;border-radius:50%}.detail:hover i{background:rgba(0,255,65,.2)}.detail h3{margin-bottom:10px}.detail,.project-info h3,.projects{position:relative}.project-filters{display:flex;justify-content:center;margin-bottom:30px;flex-wrap:wrap}.filter-btn,.project::before{border-radius:var(--border-radius)}.filter-btn{padding:8px 20px;margin:0 5px 10px;background:var(--light-bg);cursor:pointer;transition:var(--transition);font-family:var(--code-font);border:1px solid transparent}.filter-btn.active,.filter-btn:hover{background-color:var(--primary-color);color:var(--dark-bg);transform:translateY(-3px)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;max-width:900px;margin:0 auto}.form-group input,.form-group textarea,.project{border-radius:var(--border-radius);transition:var(--transition);background-color:var(--bg-color)}.project,.project-img{overflow:hidden;position:relative}.project{box-shadow:var(--shadow);opacity:1;transform:translateY(0);display:block;z-index:2}.project::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom right,var(--primary-color),transparent);opacity:0;transition:all .5s ease;z-index:-1;transform:scale(.8)}.featured-project:hover,.project:hover{transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,0,0,.1)}.project:hover::before{opacity:.1;transform:scale(1.03)}.project-img{height:200px}.project-img::after,.project-tech span{font-size:.8rem;font-family:var(--code-font);transition:all .3s ease}.project-img::after{content:"<code>";position:absolute;bottom:10px;left:10px;background-color:rgba(0,0,0,.7);color:var(--primary-color);padding:5px 10px;border-radius:4px;opacity:0;transform:translateY(20px)}.project:hover .project-img::after{opacity:1;transform:translateY(0)}.project-img img{width:100%;height:100%;object-fit:cover}.detail:hover i,.project:hover .project-img img{transform:scale(1.1)}.project-info{padding:20px}.project-info h3{font-size:1.3rem;margin-bottom:10px;display:inline-block}.project-info h3::after{bottom:-5px;height:2px;background-color:var(--primary-color)}.project-info p{margin-bottom:15px;font-size:.95rem}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.project-tech span{padding:4px 10px;background-color:rgba(0,255,65,.1);border-radius:30px;color:var(--primary-dark)}.see-more{text-align:center;margin-top:40px}.featured-project{border:1px solid var(--accent-color);box-shadow:0 5px 15px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease}.featured-project:hover{box-shadow:0 15px 30px rgba(0,0,0,.15)}.project-badge{position:absolute;top:10px;right:10px;background-color:var(--accent-color);color:#fff;padding:5px 10px;border-radius:20px;font-size:.8rem;font-weight:700;box-shadow:0 2px 5px rgba(0,0,0,.2)}.projects-message{text-align:center;margin:2rem 0;font-style:italic;color:var(--text-color-secondary)}.skills{position:relative;overflow:hidden}.skills::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 80% 20%,rgba(0,255,65,.05)0,transparent 70%);pointer-events:none}.skills-content{max-width:900px;margin:0 auto}.skills-text{text-align:center;margin-bottom:40px}.skills-text p{font-size:1.1rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}.skill-category{position:relative}.skill-category,.skill-category.reveal{opacity:1;transform:translateY(0)}.skill-category::after,.skill-category::before{position:absolute;font-size:2rem;color:var(--primary-color);opacity:.3;font-family:var(--code-font)}.skill-category::before{content:"{";left:-20px;top:0}.skill-category::after{content:"}";right:-20px;bottom:0}.skill-category h3{font-size:1.3rem;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--primary-color);font-family:var(--code-font)}.contact-info h3,.skill-item{margin-bottom:20px}.form-group label,.skill-info{margin-bottom:8px;font-family:var(--code-font)}.skill-info{display:flex;justify-content:space-between;font-size:.9rem}.progress-bar{width:100%;height:10px;background-color:var(--light-bg);border-radius:50px;overflow:hidden;position:relative}.progress-bar::before,.progress::after{content:"";position:absolute;top:0;left:0;height:100%}.progress-bar::before{width:5px;background-color:rgba(255,255,255,.3);animation:scanning 2s linear infinite;z-index:1}.progress,.social-icon:hover{background-color:var(--primary-color)}.progress{height:100%;border-radius:50px;transition:width 1.5s cubic-bezier(.19,1,.22,1);overflow:hidden}.progress::after{width:100%;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.2) 50%,transparent 100%);animation:shine 2s linear infinite}.contact,.progress{position:relative}.contact::before{content:"";position:absolute;width:300px;height:300px;bottom:50px;right:0;background:radial-gradient(circle,rgba(0,255,65,.05)0,transparent 70%);pointer-events:none}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-info h3{font-size:1.8rem}.contact-details,.contact-info p{margin-bottom:30px}.contact-item{display:flex;align-items:center;margin-bottom:15px;position:relative}.contact-item i{width:30px;color:var(--primary-color);font-size:1.2rem}.social-links{display:flex;gap:15px}.social-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:var(--light-bg);color:var(--primary-dark);font-size:1.2rem;transition:var(--transition);position:relative;overflow:hidden}.social-icon:hover{color:var(--dark-bg);transform:translateY(-3px)}.social-icon::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.3)0,rgba(255,255,255,0) 70%);opacity:0;transition:all .3s ease}#theme-button:hover::before,.social-icon:hover::before{opacity:1}.contact-form form{display:grid;gap:20px}.form-group label{display:block;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:12px 15px;border:1px solid #ddd;font-family:inherit;font-size:1rem}.form-group input:focus,.form-group textarea:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(0,255,65,.1)}.form-group{position:relative}.form-group::before{content:">";position:absolute;left:10px;top:42px;font-family:var(--code-font);color:var(--primary-color);opacity:0;transition:all .3s ease}.form-group:focus-within::before{opacity:1}.form-group:focus-within input,.form-group:focus-within textarea{padding-left:25px}.hidden{display:none}footer{background-color:var(--dark-bg);color:#fff;padding:50px 0 20px;position:relative;overflow:hidden}#theme-button::before,footer::before{content:"";position:absolute;top:0;left:0;width:100%}footer::before{height:2px;background:linear-gradient(to right,var(--primary-color),var(--primary-dark),var(--primary-color),var(--primary-dark));background-size:400% 100%;animation:flowing 5s linear infinite}.footer-content{justify-content:space-between;align-items:center;margin-bottom:30px}.footer-content,.footer-links ul{display:flex;flex-wrap:wrap}.footer-links ul li a{color:#fff;opacity:.8}.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem;opacity:.8}.footer-bottom i{color:var(--primary-color)}.theme-toggle{position:fixed;bottom:95px;right:30px;z-index:999}#theme-button,.whatsapp-float{width:50px;height:50px;border-radius:50%}#theme-button{background-color:var(--primary-color);color:var(--dark-bg);border:0;font-size:1.1rem;cursor:pointer;box-shadow:var(--shadow);transition:var(--transition);position:relative;overflow:hidden}#theme-button::before{height:100%;background:radial-gradient(circle,rgba(255,255,255,.3)0,rgba(255,255,255,0) 70%);transition:all .3s ease;opacity:0}#theme-button:hover{transform:scale(1.1);box-shadow:0 0 20px rgba(0,255,65,.4)}.whatsapp-float{position:fixed;bottom:30px;right:30px;background-color:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;box-shadow:0 4px 12px rgba(37,211,102,.4);z-index:998;transition:all .3s ease;text-decoration:none}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(37,211,102,.6);background-color:#128c7e}.whatsapp-float i{animation:pulse 2s infinite}.reveal{opacity:1!important;transform:translateY(0)!important;transition:all .5s ease}@media screen and (max-width:992px){.hero-content h1{font-size:3rem}.hero-content h2{font-size:1.8rem}.about-content,.contact-content{grid-template-columns:1fr}.about-image{margin-bottom:30px}.about-details{grid-template-columns:1fr}.code-element{font-size:1rem}.project-content{grid-template-columns:1fr}.projects-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media screen and (max-width:768px){.hero .container{grid-template-columns:1fr;text-align:center}.hero-content{order:2}.hero-image{order:1;margin-bottom:30px}.cta-buttons,.footer-links ul{justify-content:center}nav{position:fixed;top:70px;left:0;height:auto;max-height:calc(100vh - 70px);background-color:var(--header-bg);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;box-shadow:var(--shadow);padding:0;z-index:999;overflow-y:auto}nav.active{transform:translateY(0);opacity:1;visibility:visible}nav ul{flex-direction:column;padding:15px 0}nav ul li{margin:10px 0;text-align:center}nav ul li a{display:block;padding:10px 0;width:100%}.menu-toggle{display:flex}.project-filters{flex-direction:row}.hero{padding-top:80px;min-height:auto;padding-bottom:40px}.hero-content h1{font-size:2.5rem}.hero-content p{font-size:1.05rem}.contact-content{gap:30px}.contact-form button,nav,nav ul,nav ul li{width:100%}.contact-content,.projects-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:20px;text-align:center}.footer-links ul{margin-top:15px}}@media screen and (max-width:576px){section{padding:50px 0}.about-details,.skills-grid{grid-template-columns:1fr}.hero-content h1{font-size:2.5rem}.hero-content h2{font-size:1.5rem}.code-background pre{font-size:.9rem;white-space:pre-wrap;word-break:break-word}.social-links{justify-content:center}.section-title{font-size:1.8rem;margin-bottom:40px}.cta-buttons{flex-direction:column;gap:10px;width:100%}.cta-buttons .btn{width:100%;text-align:center}.image-wrapper{width:220px;height:220px}#theme-button,.whatsapp-float{width:45px;height:45px;font-size:1rem}.whatsapp-float{bottom:20px;right:20px;font-size:1.5rem}.code-background,.detail{padding:20px 15px}.code-background pre code{font-size:.8rem}.detail i{width:60px;height:60px;line-height:60px;font-size:1.8rem}.project-img{height:180px}.project-badge{top:5px;right:5px;padding:3px 8px;font-size:.7rem}.filter-btn{padding:6px 12px;font-size:.9rem;margin:0 3px 6px}.theme-toggle{bottom:20px;right:20px}.form-group label{font-size:.9rem}.form-group input,.form-group textarea{padding:10px 12px}}@media screen and (max-width:480px){header .container{padding:15px 0}.hero-content h1{font-size:2.2rem}.hero-content h2{font-size:1.35rem}.hero-image{margin-bottom:20px}.project-info{padding:18px}.service-card{padding:26px 20px}}