@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600&display=swap";@media (width>=1600px){.container{max-width:1200px;margin-left:auto;margin-right:auto}.tech-grid{gap:1.5rem;max-width:900px}.frontend-grid{max-width:800px}.backend-grid,.tools-grid{max-width:600px}}:root{--primary-color:beige;--secondary-color:#e8e8d0;--accent-color:#d4d4b8;--background-color:#000;--card-background:#0a0a0a;--text-primary:beige;--text-secondary:#e8e8d0;--text-muted:#d4d4b8;--border-color:#1a1a1a;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--gradient-primary:linear-gradient(135deg, var(--primary-color), var(--secondary-color));--gradient-accent:linear-gradient(135deg, var(--accent-color), var(--primary-color))}[data-theme=light]{--primary-color:#2d3748;--secondary-color:#4a5568;--accent-color:#718096;--background-color:#f7fafc;--card-background:#fff;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--border-color:#e2e8f0;--success-color:#38a169;--warning-color:#d69e2e;--error-color:#e53e3e;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--gradient-primary:linear-gradient(135deg, var(--primary-color), var(--secondary-color));--gradient-accent:linear-gradient(135deg, var(--accent-color), var(--primary-color))}.theme-toggle{background:var(--card-background);border:2px solid var(--border-color);cursor:pointer;width:45px;height:45px;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;margin-left:1rem;display:flex}.theme-toggle:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-color);transform:scale(1.05)}.theme-toggle i{color:var(--text-primary);transition:var(--transition);font-size:1.1rem}.theme-toggle:hover i{color:var(--primary-color)}.btn-cta-primary{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));color:var(--background-color);transition:var(--transition);box-shadow:var(--shadow);border:none;border-radius:12px;align-items:center;padding:12px 24px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-cta-primary:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-cta-primary:hover:before{left:100%}.btn-cta-primary:hover{box-shadow:var(--shadow-xl);color:var(--background-color);transform:translateY(-2px)}.cv-download-btn{gap:8px;font-size:1rem}.cv-download-btn i{color:inherit}.btn-cta-secondary{border:2px solid var(--primary-color);color:var(--primary-color);transition:var(--transition);background:0 0;border-radius:12px;align-items:center;padding:10px 22px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-cta-secondary:before{content:"";background:var(--primary-color);z-index:-1;width:0;height:100%;transition:width .3s;position:absolute;top:0;left:0}.btn-cta-secondary:hover:before{width:100%}.btn-cta-secondary:hover{color:var(--background-color);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-cta-main{color:#fff;transition:var(--transition);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:16px;align-items:center;padding:16px 32px;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #667eea4d}.btn-cta-main:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.btn-cta-main:hover:before{left:100%}.btn-cta-main:hover{color:#fff;transform:translateY(-3px);box-shadow:0 12px 35px #667eea66}.about-intro{color:var(--text-muted);text-align:justify;white-space:pre-line;margin-top:1rem;font-size:1.05rem;line-height:1.75}.about-highlight{border-bottom:2px solid var(--primary-color);color:var(--text-primary);padding-bottom:2px;font-weight:600;display:inline-block}.hero-title{white-space:nowrap;display:inline-block;overflow:visible}.hero-title-text{font-weight:700}.typewriter-cursor{background:var(--primary-color);vertical-align:bottom;width:2px;height:1.1em;margin-left:.4rem;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.progress-bar{z-index:9999;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);width:0%;height:4px;transition:width .1s;position:fixed;top:0;left:0;box-shadow:0 0 10px #667eea80}.loading-overlay{z-index:10001;opacity:0;visibility:hidden;background:#000c;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex;position:fixed;top:0;left:0}.loading-overlay.show{opacity:1;visibility:visible}.loading-spinner{text-align:center;color:#fff}.spinner{border:4px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:50px;height:50px;margin:0 auto 16px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--border-color) 25%, var(--card-background) 50%, var(--border-color) 75%);background-size:200% 100%;border-radius:8px;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.skeleton-text.long{width:100%}.skeleton-image{border-radius:12px;width:100%;height:200px}.project-card{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.project-card:hover:before{left:100%}.project-card:hover{transform:translateY(-6px);box-shadow:0 16px 30px #0000002e}.projects-meta-row{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;padding-bottom:1rem;display:flex}.projects-count{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.8rem}.projects-filter-row{flex-wrap:wrap;gap:.5rem;display:flex}.projects-filter-btn{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border-radius:999px;padding:6px 14px;font-size:.7rem;font-weight:500}.projects-filter-btn:hover{border-color:var(--primary-color);color:var(--text-primary)}.projects-filter-btn.active{background:var(--gradient-primary);color:var(--background-color);border-color:#0000}.project-meta{display:none}.project-num{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.75rem}.project-meta-right{align-items:center;gap:.5rem;display:flex}.project-badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:4px;padding:3px 8px;font-size:.7rem}.project-date{color:var(--text-muted);font-size:.75rem}.project-name{letter-spacing:-.01em;margin-bottom:.15rem;font-size:1.25rem;font-weight:700}.project-tagline{color:var(--text-secondary);margin-bottom:.75rem;font-size:.95rem}.project-detail-block{background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px;margin-bottom:1rem;padding:.9rem 1rem}[data-theme=light] .project-detail-block{background:#00000005;border-color:#0000000f}.project-divider{background:var(--border-color);width:32px;height:1px;margin-bottom:.75rem}.project-problem{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;line-height:1.6}.project-result{align-items:flex-start;gap:.6rem;margin-bottom:0;display:flex}.result-dot{background:var(--primary-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.result-dot svg{width:9px;height:9px}.project-result-text{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.project-video-wrapper{background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;margin-top:.85rem;padding:.75rem}.project-video-title{color:var(--text-primary);margin-bottom:.55rem;font-size:.9rem;font-weight:600}.project-video-embed{aspect-ratio:16/9;border:1px solid var(--border-color);background:#000;border-radius:10px;width:100%;display:block}@media (width>=992px){.featured-petshop .project-video-wrapper{max-width:760px;margin-top:1rem;margin-left:auto;margin-right:auto}}.project-actions{margin-top:.9rem}.project-github-btn{padding:.45rem .9rem;font-size:.85rem}.tech-item{position:relative;overflow:hidden}.project-bullets{color:var(--text-secondary);margin:0 0 1.5rem 1.2rem;padding:0}.project-bullets li{margin-bottom:.4rem;line-height:1.6}.project-bullets strong{color:var(--text-primary)}.project-img{opacity:0;transition:opacity .3s}.project-img.loaded{opacity:1}.project-img[loading=lazy]{opacity:0}.project-img[loading=lazy].loaded{opacity:1}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--background-color);color:var(--text-primary);font-family:Inter,sans-serif;font-size:16px;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}body.loading{overflow:hidden}body.loaded{overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin-bottom:1rem;font-weight:600;line-height:1.2}h1{font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:var(--text-secondary);margin-bottom:1rem}.language-selector{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);background:#0000001a;border-radius:12px;gap:4px;margin-left:auto;padding:6px;display:flex}.header-controls{align-items:center;gap:.5rem;margin-left:auto;display:flex}.header-controls .theme-toggle,.header-controls .language-selector{margin-left:0}.lang-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:8px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500}.lang-btn:hover{background:var(--primary-color);color:var(--background-color)}.lang-btn.active{background:var(--gradient-primary);color:var(--background-color)}.navbar{z-index:1000;width:100%;transition:var(--transition);background:0 0;padding:1rem 0;position:fixed;top:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-lg);background:#0000001a}[data-theme=light] .navbar.scrolled{background:#ffffffe6}.navbar-nav{gap:1rem;margin:0 auto}.nav-link{transition:var(--transition);letter-spacing:.5px;border-radius:8px;font-weight:500;position:relative;color:var(--text-secondary)!important;padding:.5rem .75rem!important}.nav-link:after{content:"";background:var(--gradient-primary);width:0;height:2px;transition:var(--transition);border-radius:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-link:hover:after,.nav-link.active:after{width:80%}.nav-link:hover{background:#0000000d;color:var(--primary-color)!important}[data-theme=light] .nav-link:hover{background:#0000001a}.navbar-toggler{border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem}.navbar-toggler-icon{filter:invert(.85)}[data-theme=light] .navbar-toggler-icon{filter:none}.navbar-toggler:focus{box-shadow:none}.navbar-toggler:focus-visible,.theme-toggle:focus-visible,.lang-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.navbar-brand{color:var(--primary-color);transition:var(--transition);align-items:center;gap:.5rem;font-size:1.2rem;font-weight:600;text-decoration:none;display:flex}.navbar-brand:hover{color:var(--secondary-color);transform:scale(1.05)}.brand-emoji{filter:grayscale(0%);transition:var(--transition);font-size:1.5rem}.navbar-brand:hover .brand-emoji{transform:scale(1.1)rotate(5deg)}.brand-text{font-family:JetBrains Mono,monospace;font-weight:600}@media (width<=991.98px){.navbar,.navbar.scrolled{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg);background:#000000eb}[data-theme=light] .navbar,[data-theme=light] .navbar.scrolled{background:#fffffff5}.navbar .container{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 .75rem;display:grid}.navbar-toggler{grid-area:1/1;justify-self:start}.header-controls{grid-area:1/2;justify-self:end;min-width:0;margin:0}.navbar-collapse{background:var(--card-background);border:1px solid var(--border-color);width:100%;max-height:calc(100vh - 80px);box-shadow:var(--shadow-lg);border-radius:12px;grid-area:2/1/auto/-1;margin-top:.65rem;padding:.5rem;overflow:hidden auto}.navbar-collapse .navbar-nav{flex-wrap:nowrap;gap:.2rem;width:100%;margin:0}.navbar-collapse .nav-item,.navbar-collapse .nav-link{width:100%}.navbar-collapse .nav-link{text-align:center;overflow-wrap:anywhere;padding:.65rem .8rem!important}}.hero-section{background:var(--background-color);justify-content:center;align-items:center;min-height:85vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-content{text-align:center;z-index:2;flex-direction:column;align-items:center;gap:.45rem;max-width:800px;margin:0 auto;display:flex;position:relative}.hero-profile{margin-bottom:.75rem;display:inline-block;position:relative}.hero-image{object-fit:cover;border:4px solid var(--primary-color);width:150px;height:150px;box-shadow:var(--shadow-lg);transition:var(--transition);opacity:0;border-radius:50%;animation:1s .3s both fadeInUp;transform:translateY(30px)}.hero-title{background:var(--gradient-primary);-webkit-text-fill-color:transparent;opacity:0;-webkit-background-clip:text;background-clip:text;margin-bottom:.35rem;font-size:4rem;font-weight:800;animation:3s ease-in-out infinite alternate titleGlow,1.5s .5s both fadeInUp;transform:translateY(30px)}@keyframes titleGlow{0%{filter:drop-shadow(0 0 20px #f5f5dc4d)}to{filter:drop-shadow(0 0 30px #e8e8d080)}}[data-theme=light] .hero-title{animation:3s ease-in-out infinite alternate titleGlowLight,1.5s .5s both fadeInUp}@keyframes titleGlowLight{0%{filter:drop-shadow(0 0 20px #2d37484d)}to{filter:drop-shadow(0 0 30px #4a556880)}}.hero-subtitle{color:var(--text-secondary);opacity:0;margin-bottom:.15rem;font-size:1.5rem;font-weight:600;animation:3s ease-in-out infinite alternate subtitleGlow,1s 1s both fadeInUp;transform:translateY(30px)}.hero-techline{color:var(--text-muted);letter-spacing:.03em;opacity:0;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.92rem;animation:1s 1.15s both fadeInUp;transform:translateY(20px)}@keyframes subtitleGlow{0%{filter:drop-shadow(0 0 10px #ffffff1a)}to{filter:drop-shadow(0 0 20px #f5f5dc33)}}[data-theme=light] .hero-subtitle{animation:3s ease-in-out infinite alternate subtitleGlowLight,1s 1s both fadeInUp}@keyframes subtitleGlowLight{0%{filter:drop-shadow(0 0 10px #0000001a)}to{filter:drop-shadow(0 0 20px #2d374833)}}.hero-buttons{opacity:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;animation:1s 1.45s both fadeInUp;display:flex;transform:translateY(30px)}.hero-social-links{opacity:0;justify-content:center;gap:1.25rem;margin-top:.55rem;animation:1s 1.6s both fadeInUp;display:flex;transform:translateY(20px)}.hero-social-links a{color:var(--text-muted);transition:var(--transition);align-items:center;gap:.4rem;font-size:.9rem;text-decoration:none;display:inline-flex}.hero-social-links a:hover{color:var(--primary-color);transform:translateY(-2px)}.btn{transition:var(--transition);cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:12px 24px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";width:100%;height:100%;transition:var(--transition);background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;top:0;left:-100%}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-primary);color:var(--background-color);box-shadow:var(--shadow)}.btn-primary:hover{box-shadow:var(--shadow-lg);color:var(--background-color);transform:translateY(-2px)}.btn-outline{color:var(--text-primary);border:2px solid var(--primary-color);background:0 0}.btn-outline:hover{background:var(--primary-color);color:var(--background-color);transform:translateY(-2px)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border-color);background:0 0}.btn-ghost:hover{color:var(--primary-color);border-color:var(--primary-color);background:#0000000d;transform:translateY(-2px)}[data-theme=light] .btn-ghost:hover{background:#0000001a}.section{background-color:var(--background-color);padding:8rem 0;position:relative}.section-title{background:var(--gradient-primary);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:2.5rem;font-weight:700;position:relative}.bg-dark{background:var(--card-background)}.about-content{font-size:1.1rem;line-height:1.8}.about-intro{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.2rem;animation:1s .5s both fadeInUp}.about-intro-layout{justify-content:center;align-items:center;min-height:1px;display:flex}.about-intro-box{background:0 0;width:100%;max-width:650px;margin:0 auto;padding:0 1.2rem}.about-intro-text{text-align:justify;font-size:1.12rem;line-height:1.8}.about-content p{margin-bottom:1.5rem;animation:1s 1s both fadeInUp}.about-content p:nth-child(2){animation-delay:1.5s}#sobre{padding:4.5rem 0 3.25rem}#sobre .section-title{margin-bottom:2rem}#sobre .about-intro-box{max-width:800px;padding:0}#sobre .about-intro-text{color:var(--text-secondary);text-align:left;margin:0;font-size:1.02rem;line-height:1.7}#sobre .about-intro-text+.about-intro-text{margin-top:1rem}.about-languages{max-width:800px;margin:1.75rem auto 0;padding-top:1.25rem}.about-languages-title{color:var(--text-primary);margin-bottom:.8rem;font-size:1rem;font-weight:700}#sobre .languages-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-width:none;margin:0 auto;display:grid}#sobre .language-item{min-width:0;transition:var(--transition);text-align:left;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.6rem .75rem;display:flex}#sobre .language-name{color:var(--text-secondary);font-size:.92rem;font-weight:600}#sobre .language-level{background:var(--primary-color);color:var(--background-color);white-space:nowrap;text-align:center;border-radius:20px;padding:.24rem .62rem;font-size:.7rem;font-weight:600}@media (width<=767px){#sobre{padding:3.5rem 0 2.5rem}}@media (width<=576px){#sobre .languages-grid{grid-template-columns:1fr}}#trajetoria{padding:4.5rem 0}#trajetoria .section-title{margin-bottom:2.25rem}.experience-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;max-width:1080px;margin:0 auto;display:grid}.experience-column{min-width:0}.experience-education{border-left:1px solid var(--border-color);padding-left:2.25rem}.experience-group-title{color:var(--text-primary);align-items:center;gap:.75rem;margin-bottom:1.25rem;font-size:1.12rem;font-weight:700;display:flex}.experience-group-title:after{content:"";background:var(--border-color);flex:1;height:1px}.experience-list{gap:1.25rem;display:grid}.experience-entry{border-left:2px solid #f59e0b73;min-width:0;padding-left:1rem}.experience-entry-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.55rem;display:flex}.experience-entry-header>div{min-width:0}.experience-entry-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:700;line-height:1.35}.experience-entry-role,.experience-entry-institution{color:var(--text-secondary);margin:.2rem 0 0;font-size:.86rem;font-weight:600;line-height:1.45}.experience-entry-period{color:var(--text-muted);white-space:nowrap;flex:none;font-family:JetBrains Mono,monospace;font-size:.7rem;line-height:1.45}.experience-entry-description{color:var(--text-secondary);margin:0;font-size:.87rem;line-height:1.55}.experience-projects{gap:.75rem;margin-top:.85rem;display:grid}.experience-project{border-top:1px solid var(--border-color);padding-top:.75rem}.experience-project-title{color:var(--text-primary);margin:0 0 .25rem;font-size:.9rem;font-weight:700;line-height:1.4}.experience-project-description{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.5}.experience-entry-technologies{color:var(--text-muted);margin:.55rem 0 0;font-size:.78rem}.experience-entry-technologies span{color:var(--text-secondary);font-weight:700}.experience-education-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;font-size:.76rem;display:flex}.experience-status{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:999px;padding:.2rem .55rem;font-weight:700}[data-theme=light] .experience-status{color:#b45309}@media (width<=991.98px){.experience-layout{grid-template-columns:1fr;gap:2.25rem}.experience-education{border-top:1px solid var(--border-color);border-left:0;padding-top:1.75rem;padding-left:0}}@media (width<=576px){#trajetoria{padding:3.5rem 0}.experience-entry-header{display:block}.experience-entry-period{margin-top:.35rem;display:inline-block}}.tech-category{margin-bottom:3rem}.tech-category-title{color:var(--primary-color);text-align:center;letter-spacing:1px;margin-bottom:1rem;font-size:1.8rem;font-weight:600;position:relative}.tech-title-with-badge{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;width:100%;display:inline-flex}.tech-focus-label{letter-spacing:.09em;border-radius:999px;justify-content:center;align-items:center;padding:.22rem .62rem;font-size:.66rem;font-weight:800;line-height:1;display:inline-flex}.focus-primary{color:#fbbf24;background:#f59e0b2e;border:1px solid #f59e0b8c}.focus-secondary{color:var(--text-secondary);background:#94a3b81f;border:1px solid #94a3b85c}.tech-category-description{text-align:center;color:var(--text-muted);max-width:540px;margin:0 auto 1.85rem;font-size:.95rem;line-height:1.5;animation:1s .3s both fadeInUp}.backend-emphasis{max-width:720px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:.15rem auto 1.35rem;padding:0}.backend-emphasis .tech-category-title{letter-spacing:.4px;margin-bottom:.7rem;font-size:1.95rem}.backend-emphasis .tech-category-description{color:var(--text-secondary);font-weight:500}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));place-items:center;gap:.9rem;max-width:640px;margin:0 auto;display:grid}.frontend-grid{gap:.7rem;max-width:500px}.backend-grid{gap:.8rem;max-width:430px}.tools-grid{gap:.7rem;max-width:400px}.database-grid{max-width:280px}.backend-grid .tech-item{max-width:105px;min-height:124px}.backend-grid .tech-icon{filter:grayscale(.05)}.backend-grid .tech-name{color:var(--text-primary);font-weight:700}.frontend-grid .tech-item{max-width:92px;min-height:108px;padding:1rem}.frontend-secondary .tech-category-title{color:var(--text-secondary);letter-spacing:.6px;font-size:1.55rem}.frontend-secondary .tech-category-description{color:var(--text-muted);max-width:500px;font-size:.9rem}.frontend-grid .tech-icon{filter:grayscale(.45)opacity(.92);width:48px;height:48px}.frontend-grid .react-icon{width:56px;height:56px}.frontend-grid .tech-name{color:var(--text-muted);font-size:.82rem;font-weight:500}.tools-grid .tech-name{font-size:.86rem}.tech-item{transition:var(--transition);opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;width:100%;max-width:112px;min-height:128px;padding:1.2rem;animation:.6s forwards slideInUp;display:flex;position:relative;transform:translateY(20px)}.tech-item:first-child{animation-delay:.1s}.tech-item:nth-child(2){animation-delay:.2s}.tech-item:nth-child(3){animation-delay:.3s}.tech-item:nth-child(4){animation-delay:.4s}.tech-item:nth-child(5){animation-delay:.5s}.tech-item:nth-child(6){animation-delay:.6s}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}.tech-icon{filter:grayscale(30%);width:50px;height:50px;transition:var(--transition);color:var(--text-secondary);object-fit:contain;font-size:50px}.tech-item:hover .tech-icon{filter:grayscale(0%);transform:scale(1.1)}.tech-name{color:var(--text-secondary);text-align:center;transition:var(--transition);word-wrap:break-word;margin-bottom:0;font-size:.9rem;font-weight:500}.tech-item:hover .tech-name{color:var(--primary-color)}#tecnologias{padding:4rem 0 3rem}#tecnologias .section-title{margin-bottom:2rem}.tech-categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.15rem;max-width:1080px;margin:0 auto;display:grid}#tecnologias .tech-category{min-width:0;margin:0;padding:1rem 1.25rem}.tech-category-header{align-items:center;gap:.65rem;min-height:30px;margin-bottom:.9rem;display:flex}#tecnologias .tech-category-title{color:var(--text-primary);letter-spacing:0;text-align:left;margin:0;font-size:1.12rem;font-weight:700;line-height:1.3}#tecnologias .tech-focus-label{padding:.2rem .55rem;font-size:.62rem}#tecnologias .tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));place-items:stretch stretch;gap:.6rem;max-width:none;margin:0;display:grid}#tecnologias .database-grid,#tecnologias .frontend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#tecnologias .tech-item{border:1px solid var(--border-color);text-align:left;background:#ffffff06;border-radius:10px;flex-direction:row;justify-content:flex-start;align-items:center;gap:.55rem;width:100%;min-width:0;max-width:none;min-height:48px;padding:.5rem .65rem;display:flex;transform:translateY(12px)}[data-theme=light] #tecnologias .tech-item{background:#00000005}#tecnologias .tech-category-primary .tech-item{border-color:#f59e0b33}#tecnologias .tech-item:hover{border-color:#f59e0b66;transform:translateY(-2px);box-shadow:0 5px 12px #0000001a}#tecnologias .tech-icon{flex:none;width:28px;height:28px;margin:0}#tecnologias .tech-font-icon{color:var(--text-secondary);filter:none;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}#tecnologias .tech-item:hover .tech-icon{transform:scale(1.06)}#tecnologias .tech-name{min-width:0;color:var(--text-secondary);text-align:left;overflow-wrap:anywhere;margin:0;font-size:.78rem;font-weight:600}#tecnologias .tech-category-primary .tech-name{color:var(--text-primary);font-weight:700}@media (width>=769px) and (width<=991.98px){#tecnologias .backend-grid,#tecnologias .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){#tecnologias{padding:3rem 0 2.25rem}.tech-categories-grid{grid-template-columns:1fr;gap:.75rem}}@media (width<=480px){#tecnologias .section-title{margin-bottom:1.5rem}#tecnologias .tech-category{padding:.9rem 1rem}#tecnologias .tech-grid,#tecnologias .database-grid,#tecnologias .frontend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#tecnologias .tech-item{padding:.48rem .58rem}}.project-card{background:var(--card-background);border:1px solid var(--border-color);transition:var(--transition);border-radius:12px;max-width:100%;height:100%;margin:0 auto;position:relative;overflow:hidden}.project-image{width:100%;height:200px;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.project-overlay{opacity:0;transition:var(--transition);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay{opacity:1}.project-links{gap:1rem;display:flex}.project-link{background:var(--primary-color);width:40px;height:40px;color:var(--background-color);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;transform:scale(0)}.project-card:hover .project-link{transform:scale(1)}.project-link:first-child{transition-delay:.1s}.project-link:nth-child(2){transition-delay:.2s}.project-link:hover{background:var(--secondary-color);transform:scale(1.1)}.project-content{padding:1.5rem}.project-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.project-header h3{color:var(--text-primary);margin-bottom:0;font-size:1.1rem}.project-type{color:var(--primary-color);font-size:.7rem;font-weight:500}.project-content p{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem;line-height:1.6}.project-tech{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.tech-tag{background:var(--primary-color);color:var(--background-color);border-radius:15px;padding:.2rem .6rem;font-size:.65rem;font-weight:500}#projetos .project-card{background:linear-gradient(160deg,#ffffff08,#ffffff03);border:0;border-radius:14px;box-shadow:0 8px 20px #0000001f}#projetos .row>[class*=col-]{display:flex}#projetos .row>[class*=col-]>.project-card{width:100%;display:flex}#projetos .project-content{flex-direction:column;width:100%;padding:1.35rem 1.35rem 1.25rem;display:flex}#projetos .project-card:before{display:none}#projetos .project-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #00000029}#projetos .project-divider{margin-bottom:.4rem}#projetos .project-detail-block{background:0 0;border:0;border-radius:0;flex-grow:1;margin-bottom:.85rem;padding:0}#projetos .project-problem{margin-bottom:.45rem}.project-info-group+.project-info-group{margin-top:.9rem}.project-info-stack{flex-direction:column;display:flex}.project-info-title{color:var(--text-primary);letter-spacing:.01em;margin-bottom:.45rem;font-size:.9rem;font-weight:700}.project-feature-list{color:var(--text-secondary);gap:.35rem;margin:0;padding-left:1rem;display:grid}.project-feature-list li{padding-left:.15rem;font-size:.9rem;line-height:1.55}.featured-petshop .project-feature-list{gap:.28rem}.featured-petshop .project-feature-list li{line-height:1.45}#projetos .project-result{gap:.5rem;margin-bottom:.28rem}#projetos .result-dot{border:1.5px solid var(--primary-color);background:0 0;border-radius:50%;width:10px;height:10px;margin-top:.38rem}#projetos .result-dot svg{display:none}#projetos .project-result-text{line-height:1.5}#projetos .project-tech{margin-top:.25rem;margin-bottom:.7rem}#projetos .project-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:auto;padding-top:.35rem;display:flex}.projects-tier-title{letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.65rem;margin-top:1.35rem;margin-bottom:.9rem;font-size:.95rem;display:flex}.projects-tier-title:after{content:"";background:var(--border-color);opacity:.7;flex:1;height:1px}.projects-tier-gap{margin-bottom:.8rem}@media (width<=768px){#projetos .row>[class*=col-]{display:block}#projetos .project-actions{align-items:stretch}}#projetos .project-card.tier-secondary{background:linear-gradient(160deg,#ffffff06,#ffffff03)}#projetos .project-card.tier-study{opacity:.92;background:linear-gradient(160deg,#ffffff05,#ffffff02);box-shadow:0 6px 16px #0000001a}[data-theme=light] #projetos .project-card.tier-study{background:linear-gradient(160deg,#00000005,#00000002)}.featured-financeiro{background-image:linear-gradient(145deg,#10b98133,#10b9810a);border:0;box-shadow:0 10px 24px #10b98129}.featured-financeiro:hover{box-shadow:0 14px 30px #10b98138}[data-theme=light] .featured-financeiro{background-image:linear-gradient(145deg,#10b98124,#10b98105)}.featured-petshop{background-image:linear-gradient(145deg,#f59e0b2e,#f59e0b08);border:0;box-shadow:0 10px 24px #f59e0b24}.featured-petshop:hover{box-shadow:0 14px 30px #f59e0b33}[data-theme=light] .featured-petshop{background-image:linear-gradient(145deg,#f59e0b29,#f59e0b00)}.project-highlight-badge{color:#fbbf24;letter-spacing:.02em;text-transform:none;background:0 0;border:0;align-items:center;gap:.35rem;max-width:100%;margin-bottom:.55rem;padding:0;font-size:.78rem;font-weight:600;line-height:1.2;display:inline-flex}#projetos .project-name{margin-bottom:.45rem;font-size:clamp(1.05rem,1vw + .85rem,1.3rem);line-height:1.35}#projetos .project-tagline{margin-bottom:.95rem;line-height:1.62}#projetos .project-tech{gap:.45rem}#projetos .tech-tag{border-radius:999px;padding:.26rem .6rem;font-size:.68rem}@media (width>=1100px){.featured-petshop .project-detail-block{grid-template-columns:minmax(0,.9fr) minmax(320px,430px);align-items:center;gap:.85rem 1.35rem;display:grid}.featured-petshop .project-video-wrapper{grid-area:1/2;max-width:none;margin:0}}.project-highlight-badge:before{content:"";opacity:.8;background:currentColor;border-radius:2px;width:18px;height:2px}[data-theme=light] .project-highlight-badge{color:#b45309}.projects-featured-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start;gap:1.25rem;margin-bottom:1.25rem;display:grid}#projetos{padding-top:4rem}#projetos .section-title{margin-bottom:2rem}@media (width>=769px){#projetos{padding-bottom:5rem}}#projetos .project-card{height:auto}#projetos .project-card-featured{border-top:2px solid #f59e0bb8;width:100%}#projetos .featured-financeiro{border-top-color:#10b981b8}#projetos .project-card-featured .project-name{font-size:clamp(1.3rem,1vw + 1rem,1.65rem)}.project-card-details{gap:.9rem;margin-top:.1rem;display:grid}.project-card-details .project-info-group+.project-info-group,.project-secondary-details .project-info-group+.project-info-group{margin-top:0}#projetos .project-card-featured .project-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .9rem;padding-left:1.05rem}#projetos .project-card-featured .project-video-wrapper{max-width:none;margin:0 0 1rem;padding:.4rem}#projetos .project-card-featured .project-video-embed{object-fit:cover;max-height:285px}#projetos .project-card-featured .project-image-embed{aspect-ratio:auto;object-fit:contain;height:auto}.project-complementary-badge{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;font-family:JetBrains Mono,monospace;font-size:.7rem;display:inline-block}#projetos .project-card-secondary{opacity:.94;border:1px solid var(--border-color);box-shadow:0 5px 14px #00000014}#projetos .project-card-secondary:hover{box-shadow:0 9px 20px #0000001f}#projetos .project-card-secondary .project-content{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr) auto;align-items:center;gap:1.25rem;padding:1.15rem 1.25rem;display:grid}.project-secondary-details{gap:.75rem;display:grid}#projetos .project-card-secondary .project-tagline,#projetos .project-card-secondary .project-tech{margin-bottom:0}#projetos .project-card-secondary .project-feature-list{gap:.2rem}#projetos .project-card-secondary .project-feature-list li{font-size:.82rem;line-height:1.4}#projetos .project-card-secondary .project-actions{flex-direction:column;align-items:stretch;padding-top:0}#projetos .project-card-secondary .project-actions a{white-space:nowrap;justify-content:center}@media (width<=1099px){.projects-featured-grid{grid-template-columns:1fr}#projetos .project-card-featured .project-video-embed{object-fit:contain;height:auto;max-height:none}#projetos .project-card-featured .project-image-embed{max-height:420px}#projetos .project-card-featured .project-content{padding:1.5rem}#projetos .project-card-secondary .project-content{grid-template-columns:minmax(0,1fr) minmax(260px,.85fr)}#projetos .project-card-secondary .project-actions{flex-direction:row;grid-column:1/-1}}@media (width<=767px){#projetos{padding-top:3.5rem}.projects-featured-grid{gap:1rem;margin-bottom:1rem}#projetos .projects-featured-grid .project-card,#projetos .project-card-secondary{margin-bottom:0}#projetos .project-card-featured .project-feature-list{grid-template-columns:1fr}#projetos .project-card-secondary .project-content{grid-template-columns:1fr;gap:.9rem}#projetos .project-card-secondary .project-actions{flex-direction:column;grid-column:auto}}.project-features{flex-direction:column;gap:.4rem;display:flex}.feature-item{color:var(--text-secondary);padding-left:1rem;font-size:.8rem;position:relative}.feature-item:before{content:"•";color:var(--primary-color);font-weight:700;position:absolute;left:0}.certificate-card{background:var(--card-background);border:1px solid var(--border-color);transition:var(--transition);opacity:0;border-radius:12px;height:100%;animation:.6s forwards slideInUp;overflow:hidden;transform:translateY(20px)}.certificate-image{width:100%;height:200px;overflow:hidden}.certificate-image img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.certificate-content{padding:1.5rem}.certificate-content h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem}.certificate-content p{color:var(--text-muted);margin-bottom:0;font-size:.9rem}.section.contact-section{padding:4rem 0 3.5rem}.contact-content{text-align:center}.contact-content .section-title{margin-bottom:.85rem}.contact-subtitle{color:var(--text-primary);margin-bottom:.65rem;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700}.contact-description{color:var(--text-secondary);max-width:600px;margin:0 auto 1.5rem;font-size:1rem;line-height:1.65}.contact-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:760px;margin:0 auto;display:grid}.contact-method{border-top:1px solid var(--border-color);flex-direction:column;align-items:center;min-width:0;padding:1.15rem .9rem;display:flex}.contact-method-icon{color:var(--primary-color);margin-bottom:.65rem;font-size:1.3rem}.contact-method-title{margin-bottom:.4rem;font-size:1rem;font-weight:700}.contact-method-value{color:var(--text-secondary);overflow-wrap:anywhere;margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.86rem}.contact-action{cursor:pointer;justify-content:center;min-width:170px;margin-top:auto;font-family:inherit}.footer{background:var(--background-color);border-top:1px solid var(--border-color);padding:2rem 0}.footer-content{text-align:center}.footer-content p{color:var(--text-muted);margin-bottom:0}.footer-link{color:var(--primary-color);transition:var(--transition);font-weight:600;text-decoration:none}.footer-link:hover{color:var(--accent-color);text-decoration:underline}.back-to-top{background:var(--gradient-primary);width:50px;height:50px;color:var(--background-color);cursor:pointer;transition:var(--transition);opacity:0;visibility:hidden;z-index:1000;border:none;border-radius:50%;font-size:1.25rem;position:fixed;bottom:2rem;right:2rem}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=1200px){.section{padding:7rem 0}}@media (width<=1024px){.container{padding:0 1.5rem}.section{padding:6rem 0}.hero-title{font-size:3rem}.section-title{font-size:2.25rem}.tech-grid{gap:1.2rem}.project-card{margin-bottom:2rem}}@media (width<=992px){.section{padding:5rem 0}}@media (width<=768px){.hero-title{font-size:2.5rem}.hero-subtitle{max-width:520px;font-size:1.2rem;line-height:1.45}.hero-techline{margin-bottom:.25rem;font-size:.82rem}.hero-image{width:120px;height:120px}.hero-buttons{flex-direction:column;align-items:center;gap:1rem;margin-top:.5rem}.btn,.btn-cta-primary,.btn-cta-secondary{justify-content:center;width:100%;max-width:280px;padding:12px 24px;font-size:.95rem}.theme-toggle{width:40px;height:40px;margin-left:0}.navbar-nav{flex-wrap:wrap;justify-content:center;gap:.5rem}.navbar-brand{font-size:1rem}.navbar{padding:.8rem 0}.nav-link{padding:.5rem .8rem;font-size:.9rem}.brand-emoji{font-size:1.2rem}.brand-text{font-size:.9rem}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:1rem}.frontend-grid{gap:1rem;max-width:450px}.backend-grid{gap:.8rem;max-width:400px}.tools-grid{gap:1rem;max-width:400px}.tech-item{max-width:96px;min-height:116px;padding:1rem}.tech-icon{width:42px;height:42px;font-size:42px}.tech-name{font-size:.8rem}.language-selector{margin-left:0}.header-controls{margin-top:0}.section{padding:4rem 0}.section-title{font-size:2rem}.project-content{padding:1.25rem}#projetos .project-actions .btn-cta-primary,#projetos .project-actions .btn-cta-secondary{width:100%;max-width:none;margin-left:0!important}.project-card{margin-bottom:1.5rem}.project-image{height:200px}.certificate-card{margin-bottom:1.5rem}.certificate-image{height:180px}.contact-content{padding:1.5rem}}@media (width<=576px){.contact-options{grid-template-columns:1fr}.hero-title{white-space:normal;font-size:2rem;line-height:1.16}.hero-image{width:100px;height:100px}.section-title{font-size:1.75rem}.hero-buttons{gap:.8rem;margin-top:.35rem}.btn,.btn-cta-primary,.btn-cta-secondary{max-width:240px;padding:10px 20px;font-size:.9rem}.container{padding:0 1rem}.hero-content{max-width:100%;padding:0 .2rem}.section{padding:3rem 0}.navbar-brand{font-size:.9rem}.brand-emoji{font-size:1.1rem}.theme-toggle{width:35px;height:35px}.back-to-top{width:45px;height:45px;font-size:1rem;bottom:1rem;right:1rem}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.frontend-grid{gap:.8rem;max-width:380px}.backend-grid{gap:.6rem;max-width:320px}.tools-grid{gap:.8rem;max-width:320px}.tech-item{max-width:105px;min-height:112px;padding:.8rem}.tech-icon{width:38px;height:38px;font-size:38px}.tech-name{font-size:.7rem}#projetos .project-content{padding:1.05rem}#projetos .project-name{font-size:1.02rem}#projetos .project-github-btn,#projetos .project-actions .btn-cta-primary,#projetos .project-actions .btn-cta-secondary{justify-content:center;width:100%;max-width:none}}@media (width<=991.98px) and (height<=600px) and (orientation:landscape){.hero-section{min-height:auto;padding-bottom:2rem;overflow:visible}}@media (width<=480px){.section.contact-section{padding:3rem 0}.contact-description{font-size:.95rem}}@media (width<=400px){.container{padding:0 .8rem}.navbar .container{column-gap:.4rem}.navbar-toggler{padding:.4rem}.header-controls{gap:.35rem}.language-selector{gap:2px;padding:3px}.lang-btn{padding:5px 7px;font-size:.75rem}.hero-title{font-size:1.8rem}.section-title{font-size:1.5rem}.hero-image{width:90px;height:90px}.btn{max-width:200px;padding:8px 16px;font-size:.85rem}.tech-item{max-width:96px;padding:.6rem}.tech-icon{width:34px;height:34px;font-size:34px}.tech-name{font-size:.65rem}.project-image{height:160px}.certificate-image{height:150px}.project-content,.certificate-content{padding:1rem}}img,video{max-width:100%}.hero-subtitle,.project-tagline,.project-problem{overflow-wrap:anywhere}@media (width<=992px){.navbar .container{row-gap:0}.language-selector{margin-left:0}#projetos .projects-tier-gap{margin-bottom:.45rem}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--background-color)}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}section[id]{scroll-margin-top:88px}[data-aos]{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;animation:none!important}[data-aos=fade-up]{transform:translateY(30px)}[data-aos=fade-in]{transform:none}[data-aos].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-aos]{opacity:1;transform:none}}
