@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#020911;--bg-secondary:#05101a;--glass-bg:#06111ca6;--glass-border:#00f5d414;--glass-border-hover:#00f5d440;--glass-shadow:#00000080;--accent:#4ff8c5;--accent-rgb:79, 248, 197;--accent-glow:#4ff8c526;--accent-hover:#6affd3;--text-primary:#ccd7f6;--text-secondary:#8da4b8;--text-muted:#5b7082;--font-heading:"Outfit", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif;scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700}a{color:inherit;text-decoration:none}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:0 8px 32px 0 var(--glass-shadow);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-panel:hover{border-color:var(--glass-border-hover);box-shadow:0 8px 32px #00f5d40d}.btn-primary{background-color:var(--accent);color:#020911;font-family:var(--font-heading);border:1px solid var(--accent);cursor:pointer;box-shadow:0 0 15px var(--accent-glow);border-radius:5px;align-items:center;gap:8px;padding:10px 24px;font-weight:600;transition:all .3s;display:inline-flex}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 0 25px #00f5d466}.btn-primary:active{transform:translateY(0)}.btn-outline{color:var(--accent);font-family:var(--font-heading);border:1.5px solid var(--accent);cursor:pointer;background-color:#0000;border-radius:5px;padding:8px 20px;font-weight:600;transition:all .3s}.btn-outline:hover{box-shadow:0 0 15px var(--accent-glow);background-color:#00f5d414;transform:translateY(-2px)}.btn-outline:active{transform:translateY(0)}.app-container{min-height:100vh;position:relative}main{z-index:2;position:relative}.section{flex-direction:column;justify-content:center;max-width:1000px;min-height:calc(100vh - 80px);margin:0 auto;padding:100px 24px 60px;display:flex;position:relative}.section-subtitle{color:var(--text-muted);font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;text-align:center;margin-bottom:8px;font-size:.85rem;font-weight:600}.section-title{color:var(--accent);text-align:center;margin-bottom:40px;font-size:2.2rem;font-weight:800;position:relative}.grid-2col{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;display:grid}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@keyframes float{0%{transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.05)}to{transform:translateY(0)scale(1)}}@keyframes pulse-glow{0%,to{opacity:.4}50%{opacity:.75}}@media (width<=768px){.grid-2col{grid-template-columns:1fr;gap:30px}.section{padding:80px 16px 40px}.section-title{margin-bottom:30px;font-size:1.8rem}}.bg-lights-container{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.light-spot{background:radial-gradient(circle, rgba(var(--accent-rgb), .75) 0%, rgba(var(--accent-rgb), 0) 70%);opacity:.85;pointer-events:none;border-radius:50%;position:absolute}.spot-1{width:350px;height:350px;animation:15s ease-in-out infinite alternate move-spot-1;top:10%;left:15%}.spot-2{width:400px;height:400px;animation:18s ease-in-out infinite alternate move-spot-2;bottom:15%;right:10%}.spot-3{width:300px;height:300px;animation:13s ease-in-out infinite alternate move-spot-3;top:60%;left:-5%}.spot-4{width:320px;height:320px;animation:16s ease-in-out infinite alternate move-spot-4;top:-10%;right:15%}.bg-lights-blur-overlay{z-index:1;-webkit-backdrop-filter:blur(50px);pointer-events:none;background:#02091166;width:100vw;height:100vh;position:fixed;top:0;left:0}@keyframes move-spot-1{0%{transform:translate(0)scale(1)}50%{transform:translate(220px,140px)scale(1.1)}to{transform:translate(-120px,240px)scale(.95)}}@keyframes move-spot-2{0%{transform:translate(0)scale(1)}50%{transform:translate(-260px,-180px)scale(.9)}to{transform:translate(140px,-280px)scale(1.15)}}@keyframes move-spot-3{0%{transform:translate(0)scale(1)}33%{transform:translate(200px,-120px)scale(1.05)}66%{transform:translate(-100px,180px)scale(.9)}to{transform:translate(120px,-80px)scale(1.1)}}@keyframes move-spot-4{0%{transform:translate(0)scale(1)}50%{transform:translate(-180px,220px)scale(1.1)}to{transform:translate(220px,-120px)scale(.9)}}.navbar{z-index:100;-webkit-backdrop-filter:blur(12px);border-top:none;border-left:none;border-right:none;border-bottom:1px solid var(--glass-border);background:#02091166;border-radius:0;width:100%;height:75px;transition:all .3s;position:fixed;top:0;left:0}.navbar.scrolled{background:var(--glass-bg);border-bottom-color:#00f5d426;box-shadow:0 4px 20px #0000004d}.navbar-container{justify-content:space-between;align-items:center;width:100%;max-width:1000px;height:100%;margin:0 auto;padding:0 24px;display:flex}.navbar-links{gap:24px;display:flex}.nav-link{color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:.95rem;font-weight:500;transition:color .3s;position:relative}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent);font-weight:600}.nav-link:after{content:"";background-color:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-link.active:after,.nav-link:hover:after{width:100%}.navbar-action{align-items:center;display:flex}.lang-switch-btn{border:1px solid var(--glass-border);color:var(--text-secondary);font-family:var(--font-heading);cursor:pointer;background:#ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;margin-right:16px;font-size:.8rem;font-weight:600;transition:all .3s;display:flex}.lang-switch-btn:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.mobile-menu-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:color .3s;display:none}.mobile-menu-toggle:hover{color:var(--accent)}.mobile-menu-toggle svg{width:24px;height:24px}@media (width<=768px){.mobile-menu-toggle{display:flex}.navbar-links{-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border-hover);z-index:99;background:#06111cf2;border-radius:16px;flex-direction:column;gap:16px;padding:20px;display:none;position:absolute;top:85px;left:16px;right:16px;box-shadow:0 15px 30px #00000080}.navbar-links.mobile-open{animation:.25s ease-out slide-down-menu;display:flex}.nav-link{text-align:center;width:100%;padding:8px 0;font-size:1.05rem}.nav-link:after{display:none}}@keyframes slide-down-menu{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hero-section{text-align:left}.hero-title{margin-bottom:20px;font-size:3.5rem;line-height:1.15}.text-highlight{color:var(--accent);text-shadow:0 0 15px #00f5d440}.hero-description{color:var(--text-secondary);max-width:480px;margin-bottom:35px;font-size:1.15rem}.hero-image-container,.about-image-container{justify-content:center;align-items:center;display:flex}.hero-image-wrapper,.about-image-wrapper{border-color:#00f5d41f;border-radius:20px;width:100%;max-width:300px;padding:10px;overflow:hidden;box-shadow:0 10px 40px #00000080,0 0 30px #00f5d40d}.hero-image-wrapper:hover,.about-image-wrapper:hover{border-color:var(--accent);box-shadow:0 10px 40px #0009,0 0 40px #00f5d426}.hero-image{filter:grayscale();border-radius:12px;width:100%;height:auto;transition:transform .5s,filter .5s;display:block}.about-image{border-radius:12px;width:100%;height:auto;transition:transform .5s;display:block}.hero-image-wrapper:hover .hero-image{filter:grayscale(0%);transform:scale(1.03)}.about-image-wrapper:hover .about-image{transform:scale(1.03)}.hero-image-wrapper{position:relative}.hero-image-overlay-gif{object-fit:cover;pointer-events:none;opacity:.55;mix-blend-mode:screen;z-index:2;border-radius:12px;width:calc(100% - 20px);height:calc(100% - 20px);transition:opacity .5s;position:absolute;inset:10px}.hero-image-wrapper:hover .hero-image-overlay-gif{opacity:0}.about-section{text-align:center}.about-grid{align-items:flex-start;margin-top:20px}.about-content{text-align:left}.about-cards{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.about-card{text-align:center;border-radius:12px;padding:20px 10px}.about-icon{width:24px;height:24px;color:var(--accent);margin-bottom:12px}.about-card h3{color:var(--text-primary);margin-bottom:6px;font-size:1rem;font-weight:600}.about-card p{color:var(--text-secondary);font-size:.8rem}.about-description{color:var(--text-secondary);margin-bottom:30px;font-size:.98rem;line-height:1.7}.skills-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:30px;display:grid}.skills-tagline{max-width:650px;color:var(--text-secondary);text-align:center;margin:-25px auto 40px;font-size:1.02rem;line-height:1.6}.skills-card{text-align:left;flex-direction:column;padding:30px 24px;display:flex}.skills-card h3{color:var(--text-primary);border-bottom:1.5px solid #00f5d41a;margin-bottom:12px;padding-bottom:12px;font-size:1.2rem;font-weight:700;line-height:1.4}.skills-card-desc{color:var(--text-muted);margin-bottom:24px;font-size:.88rem;font-weight:500;line-height:1.5}.skills-list{flex-direction:column;gap:16px;display:flex}.skill-item{align-items:flex-start;gap:10px;display:flex}.checkmark-icon{width:16px;height:16px;color:var(--accent);flex-shrink:0;margin-top:4px}.skill-item span{color:var(--text-secondary);font-size:.9rem;font-weight:500;line-height:1.4}.projects-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-card{text-align:left;flex-direction:column;height:100%;padding:30px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.clickable-card:hover{transform:translateY(-6px);border-color:#00f5d44d!important;box-shadow:0 12px 30px #00f5d414!important}.project-icon-wrapper{width:44px;height:44px;color:var(--accent);background:#00f5d414;border:1px solid #00f5d426;border-radius:10px;justify-content:center;align-items:center;margin-bottom:24px;display:flex}.project-icon-wrapper svg{width:22px;height:22px}.project-title{color:var(--text-primary);margin-bottom:12px;font-size:1.25rem;font-weight:700}.project-description{color:var(--text-secondary);flex-grow:1;margin-bottom:24px;font-size:.9rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:10px;display:flex}.project-tag{color:var(--accent);font-size:.75rem;font-weight:600;font-family:var(--font-heading);background:#00f5d40d;border:1px solid #00f5d433;border-radius:20px;padding:4px 10px}.contact-grid{align-items:stretch}.contact-info{text-align:left;flex-direction:column;gap:32px;padding:40px 30px;display:flex}.info-item{align-items:center;gap:20px;display:flex}.info-icon-wrapper{width:48px;height:48px;color:var(--accent);background:#00f5d414;border:1px solid #00f5d426;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.info-icon-wrapper svg{width:20px;height:20px}.info-item h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.85rem}.info-item p{color:var(--text-primary);font-size:1rem;font-weight:600}.socials-container{border-top:1px solid #ffffff0f;margin-top:auto;padding-top:24px}.socials-container p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:.85rem}.socials-buttons{gap:16px;display:flex}.social-btn{width:44px;height:44px;color:var(--text-secondary);border:1px solid var(--glass-border);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.social-btn:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 0 15px var(--accent-glow);transform:translateY(-2px)}.social-btn svg{width:20px;height:20px}.contact-form{text-align:left;flex-direction:column;gap:20px;padding:40px 35px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.form-group input,.form-group textarea{border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font-body);background:#030d1699;border-radius:8px;width:100%;padding:12px 16px;font-size:.95rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 15px var(--accent-glow);background:#030d16cc;outline:none}.form-submit{align-self:flex-start;margin-top:10px}.form-group input:disabled,.form-group textarea:disabled,.btn-primary.form-submit:disabled{opacity:.65;cursor:not-allowed;pointer-events:none}.form-feedback{border-radius:8px;align-items:center;gap:10px;margin-top:10px;padding:12px 16px;font-size:.9rem;font-weight:500;animation:.3s ease-out slide-up-fade;display:flex}.form-feedback.success{color:#2ed573;background:#2ed5731a;border:1px solid #2ed5734d;box-shadow:0 0 15px #2ed5730d}.form-feedback.error{color:#ff4757;background:#ff47571a;border:1px solid #ff47574d;box-shadow:0 0 15px #ff47570d}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.send-icon{width:16px;height:16px;transition:transform .3s}.btn-primary:hover .send-icon{transform:translate(3px,-3px)}.footer{border-top:1px solid var(--glass-border);background:var(--bg-secondary);text-align:center;z-index:5;padding:60px 24px;position:relative}.footer-container{flex-direction:column;align-items:center;gap:28px;max-width:1000px;margin:0 auto;display:flex}.footer-logo{color:var(--accent);font-size:1.5rem;font-weight:800}.footer-links{gap:32px;display:flex}.footer-links a{color:var(--text-secondary);font-size:.95rem;font-weight:500;transition:color .3s}.footer-links a:hover{color:var(--accent)}.footer-copy{color:var(--text-muted);font-size:.85rem}@media (width<=900px){.projects-grid{grid-template-columns:1fr 1fr;gap:20px}}@media (width<=768px){.hero-title{text-align:center;font-size:2.8rem}.hero-description{text-align:center;margin:0 auto 30px}.hero-content{flex-direction:column;align-items:center;display:flex}.about-grid{flex-direction:column;align-items:center;gap:40px;display:flex}.about-content{width:100%}.skills-grid{grid-template-columns:1fr;gap:20px}}@media (width<=600px){.about-cards{grid-template-columns:1fr;gap:12px}.projects-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:20px}.contact-form{padding:30px 20px}.footer-links{flex-direction:column;gap:16px}}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#020911cc;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;animation:.25s ease-out fade-in;display:flex;position:fixed;top:0;left:0}.modal-content{text-align:left;border-color:#00f5d433;border-radius:20px;width:100%;max-width:600px;max-height:90vh;padding:35px;animation:.3s cubic-bezier(.34,1.56,.64,1) slide-up;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0009,0 0 30px #00f5d414}.modal-close-btn{color:var(--text-secondary);cursor:pointer;z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .3s;display:flex;position:absolute;top:20px;right:20px}.modal-close-btn:hover{color:var(--accent);background:#ffffff0d}.modal-close-btn svg{width:18px;height:18px}.modal-body{flex-direction:column;gap:20px;display:flex}.modal-image-wrapper{border:1px solid #ffffff14;border-radius:12px;width:100%;height:220px;position:relative;overflow:hidden}.modal-image{object-fit:cover;width:100%;height:100%}.modal-image-overlay{background:linear-gradient(#02091133 0%,#020911cc 100%);align-items:flex-end;padding:16px;display:flex;position:absolute;inset:0}.modal-image-overlay span{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);border:1px solid var(--glass-border);background:#06111ccc;border-radius:20px;padding:4px 12px;font-size:.8rem}.modal-title{color:var(--text-primary);font-size:1.6rem;font-weight:800}.modal-tags{flex-wrap:wrap;gap:10px;display:flex}.modal-description{color:var(--text-secondary);font-size:.95rem;line-height:1.7}.modal-actions{gap:16px;margin-top:10px;display:flex}.modal-actions .btn-primary,.modal-actions .btn-outline{align-items:center;gap:8px;display:inline-flex}.external-icon{width:16px;height:16px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.modal-content{padding:25px 20px}.modal-title{font-size:1.35rem}.modal-image-wrapper{height:180px}.modal-actions{flex-direction:column;gap:12px}.modal-actions a{justify-content:center;width:100%}}.whatsapp-icon-wrapper{color:#25d366!important;background:#25d36614!important;border-color:#25d36633!important}.whatsapp-icon-wrapper svg{width:24px;height:24px}.whatsapp-link{margin-top:4px;color:#25d366!important;border-color:#25d36680!important;padding:6px 16px!important;font-size:.85rem!important;display:inline-block!important}.whatsapp-link:hover{background-color:#25d3661a!important;border-color:#25d366!important;box-shadow:0 0 15px #25d36633!important}
