:root{--primary:#0f172a;--text-primary:#1e293b;--text-secondary:#64748b;--surface:#fff;--bg-body:#f8fafc;--accent:#06b6d4;--accent-strong:#0891b2;--accent-soft:#8b5cf6;--bg-glass:hsla(0,0%,100%,.7);--glass-border:hsla(0,0%,100%,.5);--glass-highlight:hsla(0,0%,100%,.8);--glass-shadow:0 8px 32px 0 rgba(31,38,135,.07);--nav-height:80px;--container-width:1200px}[data-theme=dark] .contact-info,[data-theme=dark] .footer-bottom,[data-theme=dark] .footer-socials a,[data-theme=dark] .form-control,[data-theme=dark] .key-achievements,[data-theme=dark] .language-item,[data-theme=dark] .project-card,[data-theme=dark] .service-card,[data-theme=dark] .skills-table,[data-theme=dark] .skills-table td,[data-theme=dark] .skills-table th{border-color:#554f4f!important;outline-color:#554f4f!important}[data-theme=dark] .skills-table td,[data-theme=dark] .skills-table th{border-bottom:1px solid #554f4f2f!important}[data-theme=dark]{--primary:#f8fafc;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--surface:#1e293b;--bg-body:#0f172a;--accent:#22d3ee;--accent-strong:#38bdf8;--accent-soft:#a78bfa;--bg-glass:rgba(15,23,42,.6);--glass-border:hsla(0,0%,100%,.1);--glass-highlight:hsla(0,0%,100%,.1);--glass-shadow:0 8px 32px 0 rgba(0,0,0,.3)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-body);color:var(--text-primary);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}.bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.container{max-width:var(--container-width);padding:2rem;position:relative;border-radius:15px;margin:0 auto 2rem;background:hsla(0,0%,100%,.6);border:1px solid rgba(0,0,0,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=dark] .container{background:rgba(15,23,42,.6);border:1px solid hsla(0,0%,100%,.1)}.home_container{max-width:var(--container-width);padding:2rem;position:relative;border-radius:15px;margin:0 auto 2rem;background:hsla(0,0%,100%,.6);border:1px solid rgba(0,0,0,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=dark] .home_container{background:rgba(15,23,42,.6)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:50px;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;font-size:1rem}.btn-primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent-soft));color:#fff;box-shadow:0 4px 15px rgba(6,182,212,.3);border:none}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(6,182,212,.5)}.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}.btn-outline:hover{background:rgba(6,182,212,.1);transform:translateY(-2px)}.gradient-text{background:linear-gradient(135deg,var(--accent),var(--accent-soft));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800}.typing-text{white-space:nowrap}.typing-text,.typing-text:after{display:inline-block;vertical-align:middle}.typing-text:after{content:"";width:2px;height:1.1em;margin-left:8px;background:currentColor;animation:blink-caret 1s steps(2,start) infinite}@keyframes blink-caret{50%{opacity:0}}.info-icon{display:inline-flex}.info-icon .whatsapp-icon{display:inline-block;width:24px;height:24px}.info-icon .whatsapp-icon.dark{display:none}[data-theme=dark] .info-icon .whatsapp-icon.dark{display:inline-block}[data-theme=dark] .info-icon .whatsapp-icon.light{display:none}.site-header{position:-webkit-sticky;position:sticky;top:20px;z-index:1000;width:calc(100% - 40px);margin:0 auto 40px;padding:0;transition:all .3s ease;background:transparent}.site-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:16px;box-shadow:0 10px 30px -10px rgba(0,0,0,.1);z-index:-1}.site-footer,.site-header:before{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border)}.site-footer{padding:0;text-align:left;color:var(--text-secondary);border-radius:16px;width:calc(100% - 40px);margin:4rem auto 0;overflow:hidden}.footer-content{max-width:none;margin:0 auto;padding:4rem 30px;display:grid;grid-template-columns:30% 25% 20% 20%;grid-gap:3rem;gap:3rem}.footer-column:not(.brand-column){text-align:center}.brand-column{text-align:left}.footer-column:not(.brand-column) .footer-contact,.footer-column:not(.brand-column) .footer-links{display:flex;flex-direction:column;align-items:center}.footer-column:not(.brand-column) .footer-contact li{justify-content:center}.footer-column h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:1.5rem;font-weight:700}.footer-logo{font-size:2rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,var(--accent-strong),var(--accent-soft));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.footer-logo img{border-radius:10px}.footer-desc{margin-bottom:1.5rem;line-height:1.6;max-width:300px}.footer-contact,.footer-links{list-style:none;padding:0}.footer-contact li,.footer-links li{margin-bottom:.8rem}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:all .2s ease;display:inline-block}.footer-links a:hover{color:var(--accent);transform:translateX(5px)}.footer-contact li{display:flex;align-items:center;gap:10px}.footer-contact a{color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.footer-contact a:hover{color:var(--accent)}.footer-socials{display:flex;gap:1rem}.footer-socials a{width:40px;height:40px;border-radius:12px;background:hsla(0,0%,100%,.05);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .3s ease;border:1px solid var(--glass-border)}.footer-socials a:hover{background:var(--accent);color:#fff;transform:translateY(-3px);box-shadow:0 5px 15px rgba(6,182,212,.3)}.footer-bottom{border-top:1px solid var(--glass-border);padding:2rem;text-align:center;font-size:.9rem;background:rgba(0,0,0,.02)}.homepage-container{background:transparent;box-shadow:none;border:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero{display:grid;grid-template-columns:60% 40%;grid-gap:4rem;gap:4rem;align-items:center;min-height:80vh;padding:2rem 0}.hero h1{font-size:3.5rem;line-height:1.1;margin-bottom:1.5rem;color:var(--text-primary);font-weight:800}.hero-desc{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2.5rem;max-width:500px}.hero-actions{display:flex;gap:1rem}.hero-visual{position:relative;height:500px;display:flex;align-items:center;justify-content:center}.tech-circle{width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.1) 0,transparent 70%);position:absolute;filter:blur(40px)}.hero-photo{width:320px;max-width:100%;height:320px;object-fit:cover;border-radius:16px;box-shadow:0 20px 40px rgba(2,6,23,.35);border:4px solid hsla(0,0%,100%,.06);position:relative;z-index:2}@media (max-width:900px){.hero{grid-template-columns:1fr;padding:1.5rem 0}.typing-text{display:inline;white-space:normal}.hero h1,.typing-text{overflow-wrap:anywhere}.hero h1{font-size:calc(3.5rem - 10px);word-break:break-word}.cta-section h2{font-size:calc(2.5rem - 10px)}.hero-visual{height:auto;margin-top:2rem;justify-content:center}.hero-photo{width:220px;height:220px}}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;padding:4rem 0}.service-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;padding:2.5rem;transition:all .3s ease}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px -5px rgba(0,0,0,.1);border-color:var(--accent)}.card-icon{width:64px;height:64px;background:linear-gradient(135deg,rgba(6,182,212,.1),rgba(139,92,246,.1));border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--accent-strong)}.service-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.service-card p{color:var(--text-secondary)}.cta-section{text-align:center;padding:6rem 2rem;background:linear-gradient(135deg,rgba(6,182,212,.1),rgba(139,92,246,.1));border-radius:30px;margin:4rem 0;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cta-section h2{font-size:2.5rem;margin-bottom:1.5rem;color:var(--text-primary)}.cta-section p{color:var(--text-secondary);font-size:1.2rem;margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}.theme-toggle{background:none;border:none;cursor:pointer;padding:8px;color:var(--text-primary);border-radius:50%;transition:background-color .3s ease;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background-color:rgba(0,0,0,.05)}.sun-icon{display:none}.moon-icon,[data-theme=dark] .sun-icon{display:block}[data-theme=dark] .moon-icon{display:none}[data-theme=dark] .theme-toggle:hover{background-color:hsla(0,0%,100%,.1)}.header-inner{justify-content:space-between;height:var(--nav-height);padding:0 32px;position:relative;z-index:1}.header-brand,.header-inner{display:flex;align-items:center}.header-brand{gap:12px}.brand-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:#fff}.brand-icon img{width:100%;height:100%;border-radius:10px;object-fit:cover}.brand-text{font-size:1.25em;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.brand-text .dot{color:var(--accent)}.header-nav{display:flex;align-items:center;gap:8px}.nav-link{font-weight:500;font-size:.9em;padding:8px 16px;border-radius:50px;transition:all .3s ease;color:var(--text-primary);text-decoration:none}.nav-link.active,.nav-link:hover{background:rgba(var(--accent-strong),.1);color:var(--accent-strong);background:linear-gradient(90deg,rgba(94,234,212,.1),rgba(124,58,237,.05))}.header-actions{display:flex;align-items:center;gap:16px}.btn-header{background:linear-gradient(135deg,var(--accent-strong),var(--accent-soft));padding:10px 24px;border-radius:50px;font-weight:600;font-size:.9em;box-shadow:0 4px 15px rgba(124,58,237,.3);transition:all .3s ease}.btn-header,.btn-header:hover{color:#fff;text-decoration:none}.btn-header:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(34,211,238,.4)}.nav-item{position:static}.mega-menu{position:fixed;top:calc(20px + var(--nav-height) + 10px);left:0;right:0;width:100vw;background:var(--bg-glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);padding:3rem 0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem;padding-left:max(2rem,calc((100vw - var(--container-width)) / 2));padding-right:max(2rem,calc((100vw - var(--container-width)) / 2));opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s ease;z-index:999;box-shadow:0 20px 40px rgba(0,0,0,.1)}.has-mega:hover .mega-menu{opacity:1;visibility:visible;transform:translateY(0)}.mega-column{display:flex;flex-direction:column;gap:10px}.mega-title{font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.mega-link{text-decoration:none;color:var(--text-secondary);padding:8px 12px;border-radius:8px;transition:all .2s ease}.mega-link:hover{background:rgba(var(--accent-strong),.1);color:var(--accent-strong)}.page-header{text-align:center;margin-bottom:3rem;padding-top:2rem}.page-title{font-size:2.5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,var(--text-primary),var(--accent-strong));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.page-desc{color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.filter-bar{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.75rem 1.5rem;border-radius:50px;border:1px solid var(--glass-border);background:var(--bg-glass);color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.filter-btn.active,.filter-btn:hover{background:linear-gradient(135deg,rgba(34,211,238,.1),rgba(124,58,237,.1));border-color:var(--accent);color:var(--accent-strong);transform:translateY(-2px)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:2rem;gap:2rem;padding-bottom:2rem}.project-card{background:var(--bg-glass);border:1px solid var(--glass-border);border-radius:16px;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.project-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px -5px rgba(0,0,0,.2);border-color:var(--accent-soft)}.project-image{height:200px;background:linear-gradient(45deg,var(--surface),var(--bg-glass));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-image svg{color:var(--accent);opacity:.5;transition:all .5s ease}.project-card:hover .project-image svg{transform:scale(1.1) rotate(5deg);opacity:.8;color:var(--accent-strong)}.project-content{padding:1.5rem}.project-category{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:.5rem;font-weight:600}.project-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.project-desc{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}.project-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-strong);text-decoration:none;font-weight:600;font-size:.9rem;transition:gap .3s ease}.project-link:hover{gap:.75rem}.contact-wrapper{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:2rem;gap:2rem;padding-bottom:2rem}.contact-form-card,.contact-info-card{background:var(--bg-glass);border:1px solid var(--glass-border);border-radius:20px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.info-item{display:flex;gap:1.5rem;margin-bottom:2rem;align-items:flex-start}.info-icon{width:48px;height:48px;background:linear-gradient(135deg,rgba(34,211,238,.1),rgba(124,58,237,.1));border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--accent-strong);flex-shrink:0}.info-content h4{margin:0 0 .25rem;font-size:1.1rem;color:var(--text-primary)}.info-content p{margin:0;color:var(--text-secondary);line-height:1.5}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500;font-size:.9rem}.form-control{width:100%;padding:.875rem 1rem;background:hsla(0,0%,100%,.05);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-primary);font-family:inherit;transition:all .3s ease}[data-theme=light] .form-control{background:rgba(0,0,0,.03)}.form-control:focus{outline:none;border-color:var(--accent);background:rgba(var(--accent-strong),.05);box-shadow:0 0 0 3px rgba(34,211,238,.1)}textarea.form-control{resize:vertical;min-height:120px}.btn-submit{width:100%;padding:1rem;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent-strong),var(--accent-soft));color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(124,58,237,.3)}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(34,211,238,.4)}.project-detail-header{margin-bottom:3rem}.project-meta{display:flex;gap:2rem;margin-top:1.5rem;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.meta-icon{color:var(--accent)}.project-detail-content{display:grid;grid-template-columns:2fr 1fr;grid-gap:3rem;gap:3rem}.detail-text{line-height:1.8;color:var(--text-secondary)}.detail-text h2,.detail-text h3{color:var(--text-primary);margin-top:2rem}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tech-tag{padding:.5rem 1rem;background:rgba(var(--accent-strong),.1);color:var(--accent-strong);border-radius:50px;font-size:.85rem;font-weight:500}@media (max-width:900px){.header-nav{display:none}.header-inner{padding:0 20px}.contact-wrapper,.hero,.project-detail-content{grid-template-columns:1fr}.hero{text-align:center}.hero-actions{justify-content:center}.hero-visual{order:-1}.footer-content{grid-template-columns:1fr;gap:2rem;padding:3rem 20px}.brand-column,.footer-content{text-align:center}.footer-contact li,.footer-socials{justify-content:center}.footer-desc{margin-left:auto;margin-right:auto}.mega-menu{display:none!important}}.profile-header{text-align:center;margin-bottom:3rem}.profile-header h1{font-size:3rem;font-weight:800;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary),var(--accent-strong));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.profile-header .title{font-size:1.25rem;color:var(--accent);font-weight:600}.contact-info{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:4rem;padding:1.5rem;background:var(--bg-glass);border:1px solid #e5e7eb;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.contact-item strong{color:var(--text-primary)}.contact-item a{color:var(--accent-strong);text-decoration:none;transition:color .2s ease}.contact-item a:hover{color:var(--accent);text-decoration:underline}.content section{margin-bottom:4rem}.content h2{font-size:1.8rem;margin-bottom:1.5rem;color:var(--text-primary);border-left:4px solid var(--accent);padding-left:1rem}.skills-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-glass);border:1px solid #e5e7eb;border-radius:15px;overflow:hidden}.skills-table td,.skills-table th{padding:1.25rem;text-align:left;border-bottom:1px solid #e5e7eb}.skills-table th{background:rgba(var(--accent-strong),.05);font-weight:600;color:var(--text-primary);width:30%}.skills-table td{color:var(--text-secondary)}.skills-table tr:last-child td,.skills-table tr:last-child th{border-bottom:none}.job-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.job-header h3{font-size:1.4rem;color:var(--text-primary);margin:0}.job-header .company{font-weight:600;color:var(--accent-strong)}.job-header .date{color:var(--text-secondary);font-size:.9rem;margin-left:auto}.content ul{list-style:none;padding-left:0;margin-bottom:2rem}.content ul li{position:relative;padding-left:1.5rem;margin-bottom:.75rem;color:var(--text-secondary);line-height:1.6}.content ul li:before{content:"•";color:var(--accent);font-weight:700;position:absolute;left:0;font-size:1.2em}.highlight{color:var(--accent-strong);font-weight:600;background:rgba(var(--accent-strong),.1);padding:0 4px;border-radius:4px}.key-achievements{background:rgba(var(--accent-strong),.05);padding:1.5rem;border-radius:15px;border:1px solid #e5e7eb;margin-top:1.5rem}.key-achievements h4{color:var(--accent-strong);margin-bottom:1rem;font-size:1.1rem}.language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.5rem;gap:1.5rem}.language-item{background:var(--bg-glass);padding:1.5rem;border-radius:15px;border:1px solid #e5e7eb;text-align:center;transition:transform .3s ease}.language-item:hover{transform:translateY(-5px);border-color:var(--accent)}.language-item strong{display:block;color:var(--text-primary);font-size:1.2rem;margin-bottom:.5rem}@media (max-width:768px){.contact-info{flex-direction:column;align-items:center;gap:1rem;text-align:center}[data-theme=dark] .contact-info,[data-theme=dark] .key-achievements,[data-theme=dark] .language-item,[data-theme=dark] .skills-table{border:1px solid var(--glass-border)}[data-theme=dark] .skills-table td,[data-theme=dark] .skills-table th{border-bottom:1px solid var(--glass-border)}.skills-table td,.skills-table th{display:block;width:100%}.skills-table th{background:rgba(var(--accent-strong),.1);padding-bottom:.5rem}.skills-table td{padding-top:.5rem;padding-left:2rem}.job-header{flex-direction:column;align-items:flex-start}.job-header .date{margin-left:0;margin-top:.25rem}}