{"id":503,"date":"2026-03-09T12:37:36","date_gmt":"2026-03-09T12:37:36","guid":{"rendered":"https:\/\/gabrielsilvaduartedev.com\/index.php\/profile-v2\/"},"modified":"2026-03-17T14:06:47","modified_gmt":"2026-03-17T14:06:47","slug":"profile-v2","status":"publish","type":"page","link":"https:\/\/gabrielsilvaduartedev.com\/","title":{"rendered":"Profile"},"content":{"rendered":"\n\n\n\n\n<style>\n*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }\n\n:root {\n  --bg: #000;\n  --surface: #0a0a0a;\n  --surface-2: #111;\n  --surface-3: #161616;\n  --card: rgba(10, 10, 10, 0.7);\n  --border: #1a1a1a;\n  --border-2: #252525;\n  --text: #f5f5f7;\n  --text-2: #999;\n  --text-3: #555;\n  --primary: #1fc3ff;\n  --primary-dim: rgba(31, 195, 255, 0.7);\n  --primary-soft: rgba(31, 195, 255, 0.08);\n  --primary-glow: rgba(31, 195, 255, 0.15);\n  --primary-grad: linear-gradient(135deg, #1fc3ff, #1fa0ff);\n  --font: 'Manrope', -apple-system, sans-serif;\n  --r: 16px;\n  --r-sm: 12px;\n  --sidebar-w: 72px;\n  --sidebar-w-xl: 240px;\n}\n\nhtml { scroll-behavior: smooth; }\n\nbody {\n  background: var(--bg);\n  color: var(--text);\n  font-family: var(--font);\n  font-size: 15px;\n  line-height: 1.6;\n  -webkit-font-smoothing: antialiased;\n  overflow-x: hidden;\n}\n\n::selection { background: var(--primary); color: #000; }\na { color: inherit; text-decoration: none; }\n\n\/* \u2500\u2500\u2500 SIDEBAR NAV \u2500\u2500\u2500 *\/\n.sidebar {\n  position: fixed;\n  left: 0;\n  top: 0;\n  bottom: 0;\n  width: var(--sidebar-w);\n  background: var(--surface);\n  border-right: 1px solid var(--border);\n  z-index: 100;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding: 24px 0;\n  transition: width 0.3s ease;\n}\n\n.sidebar-brand {\n  width: 40px;\n  height: 40px;\n  border-radius: 12px;\n  background: var(--primary-soft);\n  border: 1px solid rgba(31, 195, 255, 0.12);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-weight: 800;\n  font-size: 16px;\n  color: var(--primary);\n  margin-bottom: 36px;\n  flex-shrink: 0;\n}\n\n.sidebar-brand-full {\n  display: none;\n  font-size: 15px;\n  font-weight: 800;\n  letter-spacing: -0.5px;\n  white-space: nowrap;\n}\n\n.sidebar-brand-full span { color: var(--primary); }\n\n.sidebar-nav {\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  flex: 1;\n  width: 100%;\n  padding: 0 12px;\n}\n\n.sidebar-link {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 10px 12px;\n  border-radius: 10px;\n  color: var(--text-3);\n  transition: all 0.2s;\n  position: relative;\n  font-size: 13px;\n  font-weight: 500;\n}\n\n.sidebar-link:hover {\n  color: var(--text);\n  background: rgba(255, 255, 255, 0.04);\n}\n\n.sidebar-link.active {\n  color: var(--primary);\n  background: var(--primary-soft);\n}\n\n.sidebar-link svg {\n  width: 20px;\n  height: 20px;\n  flex-shrink: 0;\n}\n\n.sidebar-link-text { display: none; }\n\n.sidebar-bottom {\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  align-items: center;\n  padding: 0 12px;\n  width: 100%;\n}\n\n.sidebar-social {\n  width: 36px;\n  height: 36px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 10px;\n  color: var(--text-3);\n  transition: all 0.2s;\n}\n\n.sidebar-social:hover {\n  color: var(--primary);\n  background: var(--primary-soft);\n  transform: scale(1.1);\n}\n\n.sidebar-social svg { width: 18px; height: 18px; }\n\n\/* XL sidebar expanded *\/\n@media (min-width: 1280px) {\n  .sidebar { width: var(--sidebar-w-xl); align-items: flex-start; padding: 24px 0; }\n  .sidebar-brand { display: none; }\n  .sidebar-brand-full { display: block; padding: 0 20px; margin-bottom: 36px; }\n  .sidebar-link-text { display: inline; }\n  .sidebar-nav { padding: 0 12px; }\n  .sidebar-bottom { flex-direction: row; justify-content: center; gap: 4px; }\n}\n\n\/* \u2500\u2500\u2500 MOBILE NAV \u2500\u2500\u2500 *\/\n.mobile-nav {\n  display: none;\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  height: 56px;\n  background: rgba(0,0,0,0.8);\n  backdrop-filter: blur(20px);\n  border-bottom: 1px solid var(--border);\n  z-index: 100;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0 20px;\n}\n\n.mobile-brand {\n  font-size: 15px;\n  font-weight: 800;\n}\n\n.mobile-brand span { color: var(--primary); }\n\n.hamburger {\n  width: 40px;\n  height: 40px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: rgba(255,255,255,0.06);\n  border-radius: 10px;\n  border: none;\n  color: var(--text);\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.hamburger:hover { background: rgba(255,255,255,0.1); }\n.hamburger svg { width: 20px; height: 20px; }\n\n.mobile-overlay {\n  display: none;\n  position: fixed;\n  inset: 0;\n  background: rgba(0,0,0,0.7);\n  backdrop-filter: blur(8px);\n  z-index: 150;\n}\n\n.mobile-overlay.open { display: flex; }\n\n.mobile-menu {\n  position: fixed;\n  top: 0;\n  right: 0;\n  width: 280px;\n  height: 100%;\n  background: var(--surface);\n  border-left: 1px solid var(--border);\n  z-index: 200;\n  padding: 24px;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  transform: translateX(100%);\n  transition: transform 0.3s ease;\n}\n\n.mobile-menu.open { transform: translateX(0); }\n\n.mobile-menu-close {\n  align-self: flex-end;\n  width: 36px;\n  height: 36px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: rgba(255,255,255,0.06);\n  border-radius: 10px;\n  border: none;\n  color: var(--text);\n  cursor: pointer;\n  margin-bottom: 16px;\n}\n\n.mobile-menu a {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  padding: 12px 16px;\n  border-radius: 10px;\n  font-size: 15px;\n  font-weight: 600;\n  color: var(--text-2);\n  transition: all 0.2s;\n}\n\n.mobile-menu a:hover { color: var(--primary); background: var(--primary-soft); }\n.mobile-menu a svg { width: 20px; height: 20px; }\n\n\/* \u2500\u2500\u2500 MAIN CONTENT \u2500\u2500\u2500 *\/\n.main {\n  margin-left: var(--sidebar-w);\n  transition: margin-left 0.3s;\n}\n\n@media (min-width: 1280px) { .main { margin-left: var(--sidebar-w-xl); } }\n\n.container {\n  max-width: 1100px;\n  margin: 0 auto;\n  padding: 0 40px;\n}\n\n\/* \u2500\u2500\u2500 HERO \u2500\u2500\u2500 *\/\n.hero {\n  min-height: 100vh;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 80px 0;\n  position: relative;\n  overflow: hidden;\n}\n\n.hero-blob-1 {\n  position: absolute;\n  top: -80px;\n  right: -60px;\n  width: 400px;\n  height: 400px;\n  border-radius: 50%;\n  background: rgba(31, 195, 255, 0.04);\n  filter: blur(80px);\n  pointer-events: none;\n  animation: blobFloat 10s ease-in-out infinite;\n}\n\n.hero-blob-2 {\n  position: absolute;\n  bottom: -100px;\n  left: -80px;\n  width: 500px;\n  height: 500px;\n  border-radius: 50%;\n  background: rgba(31, 195, 255, 0.03);\n  filter: blur(100px);\n  pointer-events: none;\n  animation: blobFloat 12s ease-in-out infinite reverse;\n}\n\n@keyframes blobFloat {\n  0%, 100% { transform: translate(0, 0) scale(1); }\n  50% { transform: translate(20px, -20px) scale(1.05); }\n}\n\n.hero-content {\n  position: relative;\n  z-index: 1;\n  width: 100%;\n  max-width: 680px;\n  text-align: center;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n}\n\n.hero-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--primary);\n  background: var(--primary-soft);\n  padding: 8px 20px;\n  border-radius: 50px;\n  border: 1px solid rgba(31, 195, 255, 0.12);\n  margin-bottom: 28px;\n  opacity: 0;\n  animation: fadeUp 0.5s ease forwards 0.1s;\n}\n\n.hero-badge .pulse {\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background: var(--primary);\n  box-shadow: 0 0 8px rgba(31, 195, 255, 0.4);\n  animation: pulse 2s ease infinite;\n}\n\n@keyframes pulse {\n  0%, 100% { opacity: 1; }\n  50% { opacity: 0.4; }\n}\n\n.hero-name {\n  font-size: clamp(48px, 6vw, 80px);\n  font-weight: 800;\n  letter-spacing: -3px;\n  line-height: 1.0;\n  margin-bottom: 12px;\n  opacity: 0;\n  animation: fadeUp 0.6s ease forwards 0.15s;\n}\n\n.hero-tagline {\n  font-size: clamp(28px, 3.5vw, 48px);\n  font-weight: 700;\n  letter-spacing: -1.5px;\n  line-height: 1.15;\n  color: var(--primary);\n  text-shadow: 0 0 40px rgba(31, 195, 255, 0.15);\n  margin-bottom: 20px;\n  opacity: 0;\n  animation: fadeUp 0.6s ease forwards 0.3s;\n}\n\n.hero-desc {\n  font-size: 18px;\n  color: var(--text-2);\n  line-height: 1.65;\n  max-width: 520px;\n  margin-bottom: 36px;\n  opacity: 0;\n  animation: fadeUp 0.6s ease forwards 0.45s;\n}\n\n.hero-actions {\n  display: flex;\n  gap: 12px;\n  flex-wrap: wrap;\n  margin-bottom: 32px;\n  opacity: 0;\n  animation: fadeUp 0.6s ease forwards 0.55s;\n}\n\n.btn {\n  font-family: var(--font);\n  font-size: 14px;\n  font-weight: 700;\n  padding: 13px 32px;\n  border-radius: var(--r-sm);\n  border: none;\n  cursor: pointer;\n  transition: all 0.25s;\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n}\n\n.btn-primary {\n  background: var(--primary);\n  color: #000;\n  box-shadow: 0 4px 16px rgba(31, 195, 255, 0.2);\n}\n\n.btn-primary:hover {\n  box-shadow: 0 6px 28px rgba(31, 195, 255, 0.35);\n  transform: translateY(-2px);\n}\n\n.btn-primary .arrow {\n  transition: transform 0.2s;\n}\n\n.btn-primary:hover .arrow { transform: translateX(3px); }\n\n.btn-outline {\n  background: transparent;\n  color: var(--text-2);\n  border: 2px solid var(--border-2);\n}\n\n.btn-outline:hover {\n  border-color: var(--primary-dim);\n  color: var(--primary);\n}\n\n.hero-socials {\n  display: flex;\n  gap: 8px;\n  opacity: 0;\n  animation: fadeUp 0.6s ease forwards 0.65s;\n}\n\n.hero-social {\n  width: 40px;\n  height: 40px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 10px;\n  background: rgba(255,255,255,0.04);\n  color: var(--text-3);\n  transition: all 0.25s;\n}\n\n.hero-social:hover {\n  background: var(--primary-soft);\n  color: var(--primary);\n  transform: scale(1.1);\n}\n\n.hero-social svg { width: 18px; height: 18px; }\n\n\/* \u2500\u2500\u2500 SECTIONS \u2500\u2500\u2500 *\/\n.section {\n  padding: 100px 0;\n  position: relative;\n}\n\n.section-grad {\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(180deg, rgba(31,195,255,0.015) 0%, transparent 40%, transparent 60%, rgba(31,195,255,0.01) 100%);\n  pointer-events: none;\n}\n\n.sec-header {\n  text-align: center;\n  margin-bottom: 56px;\n  position: relative;\n}\n\n.sec-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  font-size: 12px;\n  font-weight: 700;\n  letter-spacing: 1.5px;\n  text-transform: uppercase;\n  color: var(--primary);\n  background: var(--primary-soft);\n  padding: 6px 18px;\n  border-radius: 50px;\n  border: 1px solid rgba(31, 195, 255, 0.1);\n  margin-bottom: 16px;\n}\n\n.sec-h2 {\n  font-size: clamp(32px, 3.5vw, 44px);\n  font-weight: 800;\n  letter-spacing: -1.5px;\n}\n\n.sec-p {\n  font-size: 16px;\n  color: var(--text-2);\n  margin-top: 8px;\n  max-width: 500px;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n\/* \u2500\u2500\u2500 ABOUT \u2500\u2500\u2500 *\/\n.about-grid {\n  display: grid;\n  grid-template-columns: 1.2fr 1fr;\n  gap: 56px;\n  align-items: start;\n  margin-bottom: 48px;\n}\n\n.about-journey-title {\n  font-size: 18px;\n  font-weight: 700;\n  margin-bottom: 16px;\n  letter-spacing: -0.3px;\n}\n\n.about-text {\n  font-size: 16px;\n  color: var(--text-2);\n  line-height: 1.85;\n}\n\n.about-text strong { color: var(--text); font-weight: 600; }\n.about-text .hl { color: var(--primary); font-weight: 600; }\n\n.about-checklist {\n  margin-top: 28px;\n}\n\n.about-checklist-title {\n  font-size: 15px;\n  font-weight: 700;\n  margin-bottom: 14px;\n}\n\n.about-check {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 8px 0;\n  font-size: 14px;\n  color: var(--text-2);\n}\n\n.about-check .icon {\n  width: 20px;\n  height: 20px;\n  border-radius: 50%;\n  background: var(--primary-soft);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n}\n\n.about-check .icon svg {\n  width: 12px;\n  height: 12px;\n  color: var(--primary);\n}\n\n\/* Skill cards in about *\/\n.about-skills {\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n}\n\n.about-skill-card {\n  padding: 18px 20px;\n  background: var(--card);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: var(--r-sm);\n  transition: all 0.3s;\n  display: flex;\n  align-items: center;\n  gap: 16px;\n}\n\n.about-skill-card:hover {\n  border-color: rgba(31, 195, 255, 0.15);\n  transform: translateY(-2px);\n  box-shadow: 0 8px 24px rgba(0,0,0,0.3);\n}\n\n.about-skill-icon {\n  width: 40px;\n  height: 40px;\n  border-radius: 10px;\n  background: var(--primary-soft);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  color: var(--primary);\n}\n\n.about-skill-icon svg { width: 20px; height: 20px; }\n\n.about-skill-info { flex: 1; }\n\n.about-skill-name {\n  font-size: 14px;\n  font-weight: 600;\n  margin-bottom: 6px;\n}\n\n.about-skill-bar-bg {\n  width: 100%;\n  height: 4px;\n  background: var(--surface-3);\n  border-radius: 4px;\n  overflow: hidden;\n}\n\n.about-skill-bar {\n  height: 100%;\n  border-radius: 4px;\n  background: var(--primary-grad);\n  box-shadow: 0 0 8px rgba(31, 195, 255, 0.2);\n  width: 0;\n  transition: width 1.2s cubic-bezier(0.22, 1, 0.36, 1);\n}\n\n.about-skill-card.vis .about-skill-bar { width: var(--p); }\n\n.about-skill-pct {\n  font-size: 12px;\n  font-weight: 700;\n  color: var(--primary);\n  flex-shrink: 0;\n}\n\n\/* Stats row *\/\n.stats-row {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 1px;\n  background: var(--border);\n  border-radius: var(--r);\n  overflow: hidden;\n}\n\n.stat {\n  background: var(--surface);\n  padding: 32px 24px;\n  text-align: center;\n  transition: background 0.3s;\n}\n\n.stat:hover { background: var(--surface-2); }\n\n.stat-num {\n  font-size: 36px;\n  font-weight: 800;\n  letter-spacing: -1.5px;\n  color: var(--text);\n}\n\n.stat-label {\n  font-size: 13px;\n  color: var(--text-3);\n  font-weight: 500;\n  margin-top: 4px;\n}\n\n\/* \u2500\u2500\u2500 PROJECTS \u2500\u2500\u2500 *\/\n.proj-filters {\n  display: flex;\n  justify-content: center;\n  gap: 8px;\n  margin-bottom: 36px;\n  flex-wrap: wrap;\n}\n\n.proj-filter {\n  font-family: var(--font);\n  font-size: 13px;\n  font-weight: 600;\n  padding: 8px 20px;\n  border-radius: 50px;\n  background: rgba(255,255,255,0.04);\n  color: var(--text-3);\n  border: none;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.proj-filter:hover { background: rgba(255,255,255,0.08); color: var(--text-2); }\n.proj-filter.active { background: var(--primary-soft); color: var(--primary); border: 1px solid rgba(31,195,255,0.12); }\n\n.proj-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 16px;\n}\n\n.proj-card {\n  background: var(--card);\n  backdrop-filter: blur(8px);\n  border: 2px solid var(--border);\n  border-radius: var(--r);\n  overflow: hidden;\n  transition: all 0.35s;\n  cursor: pointer;\n}\n\n.proj-card:hover {\n  border-color: rgba(31, 195, 255, 0.15);\n  box-shadow: 0 12px 40px rgba(0,0,0,0.4);\n  transform: translateY(-4px);\n}\n\n.proj-img {\n  width: 100%;\n  height: 200px;\n  background: linear-gradient(135deg, var(--surface-2), var(--surface-3));\n  position: relative;\n  overflow: hidden;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.proj-img-icon {\n  color: rgba(31, 195, 255, 0.12);\n  transition: all 0.5s;\n}\n\n.proj-img-icon svg { width: 48px; height: 48px; }\n\n.proj-card:hover .proj-img-icon {\n  color: rgba(31, 195, 255, 0.25);\n  transform: scale(1.1);\n}\n\n.proj-status {\n  position: absolute;\n  top: 12px;\n  right: 12px;\n  font-size: 10px;\n  font-weight: 700;\n  padding: 4px 12px;\n  border-radius: 50px;\n  background: rgba(31, 195, 255, 0.1);\n  backdrop-filter: blur(8px);\n  color: var(--primary);\n  border: 1px solid rgba(31, 195, 255, 0.15);\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.proj-body { padding: 24px; }\n\n.proj-tags {\n  display: flex;\n  gap: 6px;\n  flex-wrap: wrap;\n  margin-bottom: 14px;\n}\n\n.proj-tag {\n  font-size: 11px;\n  font-weight: 600;\n  padding: 4px 10px;\n  border-radius: 50px;\n  background: var(--primary-soft);\n  color: var(--primary-dim);\n  transition: all 0.25s;\n}\n\n.proj-card:hover .proj-tag { color: var(--primary); }\n\n.proj-name {\n  font-size: 20px;\n  font-weight: 700;\n  letter-spacing: -0.4px;\n  margin-bottom: 8px;\n}\n\n.proj-desc {\n  font-size: 14px;\n  color: var(--text-3);\n  line-height: 1.55;\n}\n\n.proj-links {\n  display: flex;\n  gap: 8px;\n  margin-top: 16px;\n  padding-top: 16px;\n  border-top: 1px solid var(--border);\n}\n\n.proj-link {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  font-family: var(--font);\n  font-size: 12px;\n  font-weight: 600;\n  padding: 6px 14px;\n  border-radius: 50px;\n  background: rgba(255,255,255,0.04);\n  border: 1px solid var(--border);\n  color: var(--text-2);\n  cursor: pointer;\n  transition: all 0.2s;\n  text-decoration: none;\n}\n\n.proj-link:hover {\n  background: var(--primary-soft);\n  border-color: rgba(31, 195, 255, 0.15);\n  color: var(--primary);\n}\n\n.proj-link svg { width: 14px; height: 14px; }\n\n.proj-link.primary {\n  background: var(--primary-soft);\n  border-color: rgba(31, 195, 255, 0.12);\n  color: var(--primary);\n}\n\n.proj-link.primary:hover {\n  background: var(--primary);\n  color: #000;\n}\n\n\/* \u2500\u2500\u2500 PROJECT MODAL \u2500\u2500\u2500 *\/\n.proj-modal-overlay {\n  position: fixed;\n  inset: 0;\n  background: rgba(0, 0, 0, 0.82);\n  backdrop-filter: blur(10px);\n  z-index: 1000;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 24px;\n  opacity: 0;\n  visibility: hidden;\n  transition: all 0.3s;\n}\n\n.proj-modal-overlay.active { opacity: 1; visibility: visible; }\n\n.proj-modal {\n  background: var(--surface);\n  border: 1px solid var(--border-2);\n  border-radius: 20px;\n  max-width: 720px;\n  width: 100%;\n  max-height: 85vh;\n  overflow-y: auto;\n  transform: translateY(24px) scale(0.96);\n  transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);\n}\n\n.proj-modal::-webkit-scrollbar { width: 6px; }\n.proj-modal::-webkit-scrollbar-track { background: transparent; }\n.proj-modal::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 3px; }\n\n.proj-modal-overlay.active .proj-modal {\n  transform: translateY(0) scale(1);\n}\n\n.proj-modal-header {\n  padding: 32px 32px 0;\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  gap: 16px;\n}\n\n.proj-modal-close {\n  width: 36px;\n  height: 36px;\n  border-radius: 50%;\n  background: rgba(255, 255, 255, 0.06);\n  border: 1px solid var(--border);\n  color: var(--text-2);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: all 0.2s;\n  flex-shrink: 0;\n}\n\n.proj-modal-close:hover { background: rgba(255,255,255,0.12); color: var(--text); }\n.proj-modal-close svg { width: 18px; height: 18px; }\n\n.proj-modal-title {\n  font-size: 28px;\n  font-weight: 800;\n  letter-spacing: -0.5px;\n  margin-bottom: 8px;\n}\n\n.proj-modal-status {\n  display: inline-flex;\n  font-size: 11px;\n  font-weight: 700;\n  padding: 4px 14px;\n  border-radius: 50px;\n  background: rgba(31, 195, 255, 0.1);\n  color: var(--primary);\n  border: 1px solid rgba(31, 195, 255, 0.15);\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.proj-modal-body { padding: 24px 32px 32px; }\n\n.proj-modal-desc {\n  font-size: 15px;\n  color: var(--text-2);\n  line-height: 1.7;\n  margin-bottom: 28px;\n}\n\n.proj-modal-section-title {\n  font-size: 12px;\n  font-weight: 700;\n  color: var(--primary);\n  text-transform: uppercase;\n  letter-spacing: 1.2px;\n  margin-bottom: 14px;\n}\n\n.proj-modal-features {\n  list-style: none;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 10px;\n  margin-bottom: 28px;\n}\n\n.proj-modal-features li {\n  font-size: 14px;\n  color: var(--text-2);\n  padding-left: 20px;\n  position: relative;\n  line-height: 1.5;\n}\n\n.proj-modal-features li::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 7px;\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background: var(--primary-soft);\n  border: 1.5px solid var(--primary);\n}\n\n.proj-modal-tags {\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n  margin-bottom: 28px;\n}\n\n.proj-modal-tag {\n  font-size: 12px;\n  font-weight: 600;\n  padding: 6px 14px;\n  border-radius: 50px;\n  background: var(--primary-soft);\n  color: var(--primary);\n}\n\n.proj-modal-links {\n  display: flex;\n  gap: 12px;\n  flex-wrap: wrap;\n  padding-top: 24px;\n  border-top: 1px solid var(--border);\n}\n\n.proj-modal-link {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-family: var(--font);\n  font-size: 14px;\n  font-weight: 600;\n  padding: 10px 22px;\n  border-radius: 50px;\n  transition: all 0.25s;\n  text-decoration: none;\n  cursor: pointer;\n}\n\n.proj-modal-link.github {\n  background: rgba(255, 255, 255, 0.06);\n  border: 1px solid var(--border-2);\n  color: var(--text);\n}\n\n.proj-modal-link.github:hover { background: rgba(255, 255, 255, 0.12); }\n\n.proj-modal-link.live {\n  background: var(--primary);\n  border: 1px solid var(--primary);\n  color: #000;\n  font-weight: 700;\n}\n\n.proj-modal-link.live:hover { filter: brightness(1.15); }\n\n.proj-modal-link svg { width: 18px; height: 18px; }\n\n\/* \u2500\u2500\u2500 EXPERIENCE \u2500\u2500\u2500 *\/\n.exp-timeline {\n  max-width: 680px;\n  margin: 0 auto;\n  position: relative;\n  padding-left: 28px;\n}\n\n.exp-timeline::before {\n  content: '';\n  position: absolute;\n  left: 5px;\n  top: 16px;\n  bottom: 16px;\n  width: 2px;\n  background: linear-gradient(180deg, var(--primary), rgba(31,195,255,0.3), var(--border));\n  border-radius: 2px;\n}\n\n.exp-item {\n  padding-left: 28px;\n  padding-bottom: 48px;\n  position: relative;\n  opacity: 0;\n  transform: translateY(16px);\n  transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);\n}\n\n.exp-item.vis { opacity: 1; transform: translateY(0); }\n.exp-item:last-child { padding-bottom: 0; }\n\n.exp-item::before {\n  content: '';\n  position: absolute;\n  left: -7px;\n  top: 6px;\n  width: 14px;\n  height: 14px;\n  border-radius: 50%;\n  background: var(--bg);\n  border: 3px solid var(--primary);\n  box-shadow: 0 0 10px rgba(31, 195, 255, 0.3);\n  transition: all 0.3s;\n}\n\n.exp-item:hover::before {\n  background: var(--primary);\n  box-shadow: 0 0 18px rgba(31, 195, 255, 0.5);\n}\n\n.exp-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-bottom: 4px;\n}\n\n.exp-role {\n  font-size: 18px;\n  font-weight: 700;\n  letter-spacing: -0.3px;\n}\n\n.exp-type {\n  font-size: 11px;\n  font-weight: 600;\n  padding: 4px 12px;\n  border-radius: 50px;\n  background: var(--primary-soft);\n  color: var(--primary);\n}\n\n.exp-company {\n  font-size: 14px;\n  color: var(--primary-dim);\n  font-weight: 600;\n  margin-bottom: 2px;\n}\n\n.exp-meta {\n  font-size: 12px;\n  color: var(--text-3);\n  margin-bottom: 10px;\n  display: flex;\n  gap: 16px;\n}\n\n.exp-desc {\n  font-size: 14px;\n  color: var(--text-3);\n  line-height: 1.6;\n}\n\n\/* \u2500\u2500\u2500 CONTACT \u2500\u2500\u2500 *\/\n.contact-grid {\n  display: grid;\n  grid-template-columns: 1fr 2fr;\n  gap: 24px;\n  position: relative;\n}\n\n.contact-info {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n}\n\n.contact-info-card {\n  display: flex;\n  align-items: center;\n  gap: 14px;\n  padding: 18px 20px;\n  background: var(--card);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: var(--r-sm);\n  transition: all 0.3s;\n}\n\n.contact-info-card:hover {\n  border-color: rgba(31, 195, 255, 0.12);\n  transform: translateY(-1px);\n}\n\n.contact-info-icon {\n  width: 40px;\n  height: 40px;\n  border-radius: 10px;\n  background: var(--primary-soft);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  color: var(--primary);\n}\n\n.contact-info-icon svg { width: 18px; height: 18px; }\n\n.contact-info-label {\n  font-size: 12px;\n  color: var(--text-3);\n  margin-bottom: 2px;\n}\n\n.contact-info-value {\n  font-size: 14px;\n  font-weight: 600;\n}\n\n\/* Form *\/\n.contact-form-box {\n  background: var(--card);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: var(--r);\n  padding: 36px;\n}\n\n.form-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 16px;\n  margin-bottom: 16px;\n}\n\n.form-group { display: flex; flex-direction: column; gap: 6px; }\n.form-group.full { grid-column: span 2; }\n\n.form-label {\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--text-2);\n}\n\n.form-input, .form-textarea {\n  font-family: var(--font);\n  font-size: 14px;\n  padding: 12px 16px;\n  background: rgba(255,255,255,0.03);\n  border: 1px solid var(--border);\n  border-radius: var(--r-sm);\n  color: var(--text);\n  transition: all 0.25s;\n  outline: none;\n}\n\n.form-input:focus, .form-textarea:focus {\n  border-color: var(--primary);\n  box-shadow: 0 0 0 3px rgba(31, 195, 255, 0.08);\n}\n\n.form-textarea { resize: vertical; min-height: 120px; }\n\n.form-footer {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-top: 20px;\n}\n\n.form-hint {\n  font-size: 12px;\n  color: var(--text-3);\n}\n\n\/* \u2500\u2500\u2500 FOOTER \u2500\u2500\u2500 *\/\n.footer {\n  border-top: 1px solid var(--border);\n  padding: 48px 0 32px;\n}\n\n.footer-grid {\n  display: grid;\n  grid-template-columns: 1.5fr 1fr 1fr;\n  gap: 48px;\n  margin-bottom: 32px;\n}\n\n.footer-brand {\n  font-size: 16px;\n  font-weight: 800;\n  letter-spacing: -0.5px;\n  margin-bottom: 12px;\n}\n\n.footer-brand span { color: var(--primary); }\n\n.footer-desc {\n  font-size: 14px;\n  color: var(--text-3);\n  line-height: 1.6;\n  max-width: 280px;\n}\n\n.footer-col-title {\n  font-size: 13px;\n  font-weight: 700;\n  letter-spacing: 0.5px;\n  margin-bottom: 16px;\n  color: var(--text);\n}\n\n.footer-links {\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n}\n\n.footer-links a {\n  font-size: 14px;\n  color: var(--text-3);\n  transition: color 0.2s;\n}\n\n.footer-links a:hover { color: var(--primary); }\n\n.footer-bottom {\n  padding-top: 24px;\n  border-top: 1px solid var(--border);\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  font-size: 12px;\n  color: var(--text-3);\n}\n\n.footer-bottom .hl { color: var(--primary); }\n\n.back-top {\n  font-family: var(--font);\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--primary);\n  background: var(--primary-soft);\n  border: 1px solid rgba(31,195,255,0.1);\n  padding: 6px 16px;\n  border-radius: 50px;\n  cursor: pointer;\n  transition: all 0.2s;\n}\n\n.back-top:hover { background: rgba(31,195,255,0.12); }\n\n\/* \u2500\u2500\u2500 ANIMATIONS \u2500\u2500\u2500 *\/\n@keyframes fadeLeft {\n  from { opacity: 0; transform: translateX(-20px); }\n  to { opacity: 1; transform: translateX(0); }\n}\n\n@keyframes fadeUp {\n  from { opacity: 0; transform: translateY(16px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\n.anim {\n  opacity: 0;\n  transform: translateY(20px);\n  transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);\n}\n\n.anim.vis { opacity: 1; transform: translateY(0); }\n\n\/* \u2500\u2500\u2500 RESPONSIVE \u2500\u2500\u2500 *\/\n@media (max-width: 768px) {\n  .sidebar { display: none; }\n  .mobile-nav { display: flex; }\n  .main { margin-left: 0; }\n  .container { padding: 0 20px; }\n  .hero { padding: 100px 0 60px; min-height: auto; }\n  .section { padding: 64px 0; }\n  .about-grid { grid-template-columns: 1fr; gap: 32px; }\n  .stats-row { grid-template-columns: 1fr 1fr; }\n  .proj-grid { grid-template-columns: 1fr; }\n  .proj-modal { max-height: 90vh; }\n  .proj-modal-header { padding: 24px 20px 0; }\n  .proj-modal-body { padding: 20px 20px 24px; }\n  .proj-modal-features { grid-template-columns: 1fr; }\n  .proj-modal-title { font-size: 22px; }\n  .contact-grid { grid-template-columns: 1fr; }\n  .form-grid { grid-template-columns: 1fr; }\n  .form-group.full { grid-column: span 1; }\n  .footer-grid { grid-template-columns: 1fr; gap: 28px; }\n  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }\n  .exp-timeline { padding-left: 20px; }\n  .exp-item { padding-left: 20px; }\n  .skills-grid { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); }\n}\n\n@media (max-width: 480px) {\n  .hero-actions { flex-direction: column; }\n  .hero-actions .btn { width: 100%; justify-content: center; }\n}\n\n\/* SKILLS SECTION *\/\n.skills-cat-title {\n  font-size: 13px;\n  font-weight: 700;\n  color: var(--primary);\n  text-transform: uppercase;\n  letter-spacing: 1.5px;\n  margin-bottom: 16px;\n  margin-top: 36px;\n}\n.skills-cat-title:first-of-type { margin-top: 0; }\n.skills-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\n  gap: 12px;\n}\n.skill-item {\n  background: var(--card);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: var(--r-sm);\n  padding: 20px 12px;\n  text-align: center;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 10px;\n  transition: all 0.3s;\n}\n.skill-item:hover {\n  border-color: rgba(31, 195, 255, 0.15);\n  transform: translateY(-3px);\n  box-shadow: 0 8px 24px rgba(0,0,0,0.3);\n}\n.skill-item img, .skill-item svg {\n  width: 32px;\n  height: 32px;\n  object-fit: contain;\n  background: rgba(255,255,255,0.92);\n  border-radius: 8px;\n  padding: 4px;\n}\n.skill-item-name {\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--text-2);\n}\n\/* Language toggle *\/\n.lang-toggle {\n  font-family: var(--font);\n  font-size: 11px;\n  font-weight: 700;\n  padding: 6px 14px;\n  border-radius: 50px;\n  background: var(--primary-soft);\n  border: 1px solid rgba(31, 195, 255, 0.12);\n  color: var(--primary);\n  cursor: pointer;\n  transition: all 0.2s;\n  letter-spacing: 0.5px;\n}\n.lang-toggle:hover { background: rgba(31, 195, 255, 0.15); }\n\/* Project real images *\/\n.proj-img-real {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  opacity: 0.7;\n  transition: all 0.5s;\n}\n.proj-card:hover .proj-img-real {\n  opacity: 1;\n  transform: scale(1.05);\n}\n\/* About subsection titles *\/\n.about-sub-title {\n  font-size: 15px;\n  font-weight: 700;\n  margin-top: 24px;\n  margin-bottom: 10px;\n  color: var(--text);\n}\n\n<\/style>\n\n  <!-- SIDEBAR -->\n  <aside class=\"sidebar\">\n    <div class=\"sidebar-brand\">G<\/div>\n    <div class=\"sidebar-brand-full\">Gabriel Silva Duarte<span>.<\/span><\/div>\n    <nav class=\"sidebar-nav\">\n      <a href=\"#home\" class=\"sidebar-link active\" data-section=\"home\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\/><polyline points=\"9 22 9 12 15 12 15 22\"\/><\/svg>\n        <span class=\"sidebar-link-text\">Home<\/span>\n      <\/a>\n      <a href=\"#about\" class=\"sidebar-link\" data-section=\"about\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg>\n        <span class=\"sidebar-link-text\">Sobre<\/span>\n      <\/a>\n      <a href=\"#skills\" class=\"sidebar-link\" data-section=\"skills\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2H2v10l9.29 9.29c.94.94 2.48.94 3.42 0l6.58-6.58c.94-.94.94-2.48 0-3.42L12 2Z\"\/><path d=\"M7 7h.01\"\/><\/svg>\n        <span class=\"sidebar-link-text\">Skills<\/span>\n      <\/a>\n      <a href=\"#projects\" class=\"sidebar-link\" data-section=\"projects\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"16 18 22 12 16 6\"\/><polyline points=\"8 6 2 12 8 18\"\/><\/svg>\n        <span class=\"sidebar-link-text\">Projetos<\/span>\n      <\/a>\n      <a href=\"#experience\" class=\"sidebar-link\" data-section=\"experience\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"20\" height=\"14\" x=\"2\" y=\"7\" rx=\"2\" ry=\"2\"\/><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"\/><\/svg>\n        <span class=\"sidebar-link-text\">Experiencia<\/span>\n      <\/a>\n      <a href=\"#contact\" class=\"sidebar-link\" data-section=\"contact\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\/><path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"\/><\/svg>\n        <span class=\"sidebar-link-text\">Contato<\/span>\n      <\/a>\n    <\/nav>\n    <div class=\"sidebar-bottom\">\n      <a href=\"https:\/\/github.com\/Gabriel-Duarte10\" target=\"_blank\" class=\"sidebar-social\" aria-label=\"GitHub\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"\/><path d=\"M9 18c-4.51 2-5-2-7-2\"\/><\/svg><\/a>\n      <a href=\"https:\/\/www.linkedin.com\/in\/gabriel-silva-duarte-939975191\/\" target=\"_blank\" class=\"sidebar-social\" aria-label=\"LinkedIn\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"\/><rect width=\"4\" height=\"12\" x=\"2\" y=\"9\"\/><circle cx=\"4\" cy=\"4\" r=\"2\"\/><\/svg><\/a>\n      <button class=\"lang-toggle\" onclick=\"toggleLang()\">EN<\/button>\n    <\/div>\n  <\/aside>\n\n  <!-- MOBILE NAV -->\n  <div class=\"mobile-nav\">\n    <div class=\"mobile-brand\">Gabriel Silva Duarte<span>.<\/span><\/div>\n    <div style=\"display:flex;align-items:center\">\n      <button class=\"lang-toggle\" onclick=\"toggleLang()\" style=\"margin-right:8px\">EN<\/button>\n      <button class=\"hamburger\" onclick=\"toggleMenu()\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"4\" x2=\"20\" y1=\"12\" y2=\"12\"\/><line x1=\"4\" x2=\"20\" y1=\"6\" y2=\"6\"\/><line x1=\"4\" x2=\"20\" y1=\"18\" y2=\"18\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n  <div class=\"mobile-overlay\" id=\"mobileOverlay\" onclick=\"toggleMenu()\"><\/div>\n  <div class=\"mobile-menu\" id=\"mobileMenu\">\n    <button class=\"mobile-menu-close\" onclick=\"toggleMenu()\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"\/><path d=\"m6 6 12 12\"\/><\/svg>\n    <\/button>\n    <a href=\"#home\" onclick=\"toggleMenu()\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:20px;height:20px\"><path d=\"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\/><polyline points=\"9 22 9 12 15 12 15 22\"\/><\/svg> Home<\/a>\n    <a href=\"#about\" onclick=\"toggleMenu()\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:20px;height:20px\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg> Sobre<\/a>\n    <a href=\"#skills\" onclick=\"toggleMenu()\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:20px;height:20px\"><path d=\"M12 2H2v10l9.29 9.29c.94.94 2.48.94 3.42 0l6.58-6.58c.94-.94.94-2.48 0-3.42L12 2Z\"\/><path d=\"M7 7h.01\"\/><\/svg> Skills<\/a>\n    <a href=\"#projects\" onclick=\"toggleMenu()\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:20px;height:20px\"><polyline points=\"16 18 22 12 16 6\"\/><polyline points=\"8 6 2 12 8 18\"\/><\/svg> Projetos<\/a>\n    <a href=\"#experience\" onclick=\"toggleMenu()\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:20px;height:20px\"><rect width=\"20\" height=\"14\" x=\"2\" y=\"7\" rx=\"2\" ry=\"2\"\/><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"\/><\/svg> Experiencia<\/a>\n    <a href=\"#contact\" onclick=\"toggleMenu()\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:20px;height:20px\"><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\/><path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"\/><\/svg> Contato<\/a>\n    <div style=\"margin-top:auto;display:flex;gap:8px;padding:16px 0\">\n      <a href=\"https:\/\/github.com\/Gabriel-Duarte10\" target=\"_blank\" class=\"sidebar-social\" aria-label=\"GitHub\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:18px;height:18px\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"\/><path d=\"M9 18c-4.51 2-5-2-7-2\"\/><\/svg><\/a>\n      <a href=\"https:\/\/www.linkedin.com\/in\/gabriel-silva-duarte-939975191\/\" target=\"_blank\" class=\"sidebar-social\" aria-label=\"LinkedIn\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:18px;height:18px\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"\/><rect width=\"4\" height=\"12\" x=\"2\" y=\"9\"\/><circle cx=\"4\" cy=\"4\" r=\"2\"\/><\/svg><\/a>\n    <\/div>\n  <\/div>\n\n  <!-- MAIN -->\n  <div class=\"main\">\n\n    <!-- HERO -->\n    <section class=\"hero container\" id=\"home\">\n      <div class=\"hero-blob-1\"><\/div>\n      <div class=\"hero-blob-2\"><\/div>\n      <div class=\"hero-content\">\n        <div class=\"hero-badge\"><span class=\"pulse\"><\/span> <span data-i18n=\"heroBadge\">Disponivel para projetos<\/span><\/div>\n        <h1 class=\"hero-name\">Gabriel Silva Duarte<\/h1>\n        <p class=\"hero-tagline\" data-i18n=\"heroTagline\">Dando forma a solucoes digitais com codigo limpo.<\/p>\n        <p class=\"hero-desc\" data-i18n=\"heroDesc\">Full-stack developer desde 2021, especializado em .NET e Angular. Arquitetura solida, lideranca tecnica e solucoes escalaveis.<\/p>\n        <div class=\"hero-actions\">\n          <a href=\"https:\/\/gabrielsilvaduartedev.com\/CurriculoGabriel.pdf\" target=\"_blank\" class=\"btn btn-primary\" data-i18n=\"heroBtn1\" rel=\"noopener\">Download CV <span class=\"arrow\">&rsaquo;<\/span><\/a>\n          <a href=\"#projects\" class=\"btn btn-outline\" data-i18n=\"heroBtn2\">Ver projetos<\/a>\n        <\/div>\n        <div class=\"hero-socials\">\n          <a href=\"https:\/\/github.com\/Gabriel-Duarte10\" target=\"_blank\" class=\"hero-social\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"\/><path d=\"M9 18c-4.51 2-5-2-7-2\"\/><\/svg><\/a>\n          <a href=\"https:\/\/www.linkedin.com\/in\/gabriel-silva-duarte-939975191\/\" target=\"_blank\" class=\"hero-social\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"\/><rect width=\"4\" height=\"12\" x=\"2\" y=\"9\"\/><circle cx=\"4\" cy=\"4\" r=\"2\"\/><\/svg><\/a>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- ABOUT -->\n    <section class=\"section\" id=\"about\">\n      <div class=\"section-grad\"><\/div>\n      <div class=\"container\">\n        <div class=\"sec-header anim\">\n          <div class=\"sec-badge\" data-i18n=\"aboutBadge\">Construindo solucoes digitais<\/div>\n          <h2 class=\"sec-h2\" data-i18n=\"aboutTitle\">Sobre mim<\/h2>\n          <p class=\"sec-p\" data-i18n=\"aboutSubtitle\">Minha jornada, habilidades e o que me motiva.<\/p>\n        <\/div>\n        <div class=\"about-grid anim\">\n          <div>\n            <div class=\"about-journey-title\" data-i18n=\"aboutJourneyTitle\">Minha Jornada<\/div>\n            <div class=\"about-text\">\n              <span data-i18n=\"aboutP1\">Desenvolvedor full-stack desde junho de 2021. Backend com .NET API 5+, frontend com Angular 13+, mobile com Ionic, dados com SQL Server.<\/span>\n              <br><br>\n              <span data-i18n=\"aboutCorpText\">Atuacao em software house especializada na criacao de sistemas para medias e grandes empresas, onde ja desenvolvi 6+ sistemas corporativos e participacao em dezenas. Responsavel pelo backend .NET, frontend Angular e integracao de servicos.<\/span>\n              <br><br>\n              <span data-i18n=\"aboutEduText\">Graduado em dezembro de 2023. Experiencia pratica na faculdade em projetos de games com Unity, inteligencia artificial e solucoes mobile.<\/span>\n            <\/div>\n\n            <div class=\"about-checklist\">\n              <div class=\"about-checklist-title\" data-i18n=\"aboutCheckTitle\">O que eu trago<\/div>\n              <div class=\"about-check\">\n                <span class=\"icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n                <span data-i18n=\"aboutCheck1\">Arquitetura limpa e codigo testavel<\/span>\n              <\/div>\n              <div class=\"about-check\">\n                <span class=\"icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n                <span data-i18n=\"aboutCheck2\">APIs .NET performaticas e escalaveis<\/span>\n              <\/div>\n              <div class=\"about-check\">\n                <span class=\"icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n                <span data-i18n=\"aboutCheck3\">Lideranca tecnica e gestao de equipes<\/span>\n              <\/div>\n              <div class=\"about-check\">\n                <span class=\"icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n                <span data-i18n=\"aboutCheck4\">Aplicacoes mobile com Ionic<\/span>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"about-skills\">\n            <div class=\"about-skill-card\" style=\"--p:95%\">\n              <div class=\"about-skill-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"20\" height=\"14\" x=\"2\" y=\"3\" rx=\"2\"\/><line x1=\"8\" x2=\"16\" y1=\"21\" y2=\"21\"\/><line x1=\"12\" x2=\"12\" y1=\"17\" y2=\"21\"\/><\/svg><\/div>\n              <div class=\"about-skill-info\"><div class=\"about-skill-name\">C# \/ .NET<\/div><div class=\"about-skill-bar-bg\"><div class=\"about-skill-bar\"><\/div><\/div><\/div>\n              <div class=\"about-skill-pct\">95%<\/div>\n            <\/div>\n            <div class=\"about-skill-card\" style=\"--p:90%\">\n              <div class=\"about-skill-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"16 18 22 12 16 6\"\/><polyline points=\"8 6 2 12 8 18\"\/><\/svg><\/div>\n              <div class=\"about-skill-info\"><div class=\"about-skill-name\">Angular \/ TypeScript<\/div><div class=\"about-skill-bar-bg\"><div class=\"about-skill-bar\"><\/div><\/div><\/div>\n              <div class=\"about-skill-pct\">90%<\/div>\n            <\/div>\n            <div class=\"about-skill-card\" style=\"--p:85%\">\n              <div class=\"about-skill-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><ellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\"\/><path d=\"M3 5V19A9 3 0 0 0 21 19V5\"\/><path d=\"M3 12A9 3 0 0 0 21 12\"\/><\/svg><\/div>\n              <div class=\"about-skill-info\"><div class=\"about-skill-name\">SQL Server<\/div><div class=\"about-skill-bar-bg\"><div class=\"about-skill-bar\"><\/div><\/div><\/div>\n              <div class=\"about-skill-pct\">85%<\/div>\n            <\/div>\n            <div class=\"about-skill-card\" style=\"--p:80%\">\n              <div class=\"about-skill-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\"\/><line x1=\"12\" x2=\"12.01\" y1=\"18\" y2=\"18\"\/><\/svg><\/div>\n              <div class=\"about-skill-info\"><div class=\"about-skill-name\">Ionic \/ Mobile<\/div><div class=\"about-skill-bar-bg\"><div class=\"about-skill-bar\"><\/div><\/div><\/div>\n              <div class=\"about-skill-pct\">80%<\/div>\n            <\/div>\n            <div class=\"about-skill-card\" style=\"--p:75%\">\n              <div class=\"about-skill-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"\/><path d=\"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\"\/><\/svg><\/div>\n              <div class=\"about-skill-info\"><div class=\"about-skill-name\">Python \/ IA<\/div><div class=\"about-skill-bar-bg\"><div class=\"about-skill-bar\"><\/div><\/div><\/div>\n              <div class=\"about-skill-pct\">75%<\/div>\n            <\/div>\n            <div class=\"about-skill-card\" style=\"--p:70%\">\n              <div class=\"about-skill-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z\"\/><\/svg><\/div>\n              <div class=\"about-skill-info\"><div class=\"about-skill-name\">SignalR \/ Redis<\/div><div class=\"about-skill-bar-bg\"><div class=\"about-skill-bar\"><\/div><\/div><\/div>\n              <div class=\"about-skill-pct\">70%<\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"stats-row anim\">\n          <div class=\"stat\"><div class=\"stat-num\">5+<\/div><div class=\"stat-label\" data-i18n=\"stat1Label\">Anos de exp.<\/div><\/div>\n          <div class=\"stat\"><div class=\"stat-num\">16<\/div><div class=\"stat-label\" data-i18n=\"stat2Label\">Projetos<\/div><\/div>\n          <div class=\"stat\"><div class=\"stat-num\">15+<\/div><div class=\"stat-label\" data-i18n=\"stat3Label\">Tecnologias<\/div><\/div>\n          <div class=\"stat\"><div class=\"stat-num\">24\/7<\/div><div class=\"stat-label\" data-i18n=\"stat4Label\">Aprendendo<\/div><\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- SKILLS -->\n    <section class=\"section\" id=\"skills\">\n      <div class=\"section-grad\"><\/div>\n      <div class=\"container\">\n        <div class=\"sec-header anim\">\n          <div class=\"sec-badge\" data-i18n=\"skillsBadge\">Stack Tecnica<\/div>\n          <h2 class=\"sec-h2\" data-i18n=\"skillsTitle\">Skills &amp; Ferramentas<\/h2>\n          <p class=\"sec-p\" data-i18n=\"skillsDesc\">Tecnologias que domino e utilizo no dia a dia.<\/p>\n        <\/div>\n        <div class=\"anim\">\n          <div class=\"skills-cat-title\" data-i18n=\"skillsCatLang\">Linguagens de Programacao<\/div>\n          <div class=\"skills-grid\">\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/devicons\/devicon\/icons\/csharp\/csharp-original.svg\" alt=\"C#\"><span class=\"skill-item-name\">C#<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/typescriptlang-icon.svg\" alt=\"TypeScript\"><span class=\"skill-item-name\">TypeScript<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/javascript-icon.svg\" alt=\"JavaScript\"><span class=\"skill-item-name\">JavaScript<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/python-icon.svg\" alt=\"Python\"><span class=\"skill-item-name\">Python<\/span><\/div>\n          <\/div>\n\n          <div class=\"skills-cat-title\" data-i18n=\"skillsCatMarkup\">Markup &amp; Estilo<\/div>\n          <div class=\"skills-grid\">\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/w3_html5-icon.svg\" alt=\"HTML5\"><span class=\"skill-item-name\">HTML5<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/w3_css-icon.svg\" alt=\"CSS3\"><span class=\"skill-item-name\">CSS3<\/span><\/div>\n          <\/div>\n\n          <div class=\"skills-cat-title\" data-i18n=\"skillsCatFramework\">Frameworks &amp; Plataformas<\/div>\n          <div class=\"skills-grid\">\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/dotnet-icon.svg\" alt=\".NET API\"><span class=\"skill-item-name\">.NET API<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/angular-icon.svg\" alt=\"Angular\"><span class=\"skill-item-name\">Angular<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/dotnet-icon.svg\" alt=\".NET MAUI\"><span class=\"skill-item-name\">.NET MAUI<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/ionicframework-icon.svg\" alt=\"Ionic\"><span class=\"skill-item-name\">Ionic<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/az-icons.com\/export\/icons\/a39e7fd3307ff56cc26d5a64eec7bf3f.svg\" alt=\"SignalR\"><span class=\"skill-item-name\">SignalR<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/unity-svgrepo-com.svg\" alt=\"Unity\"><span class=\"skill-item-name\">Unity<\/span><\/div>\n          <\/div>\n\n          <div class=\"skills-cat-title\" data-i18n=\"skillsCatDB\">Bancos de Dados<\/div>\n          <div class=\"skills-grid\">\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/06\/sql-server-management-studio-128.png\" alt=\"SQL Server\"><span class=\"skill-item-name\">SQL Server<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/cdn.simpleicons.org\/postgresql\/4169E1\" alt=\"PostgreSQL\"><span class=\"skill-item-name\">PostgreSQL<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/06\/icons8-redis.svg\" alt=\"Redis\"><span class=\"skill-item-name\">Redis<\/span><\/div>\n          <\/div>\n\n          <div class=\"skills-cat-title\" data-i18n=\"skillsCatTools\">IDEs &amp; Ferramentas<\/div>\n          <div class=\"skills-grid\">\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/vscode.svg\" alt=\"VS Code\"><span class=\"skill-item-name\">VS Code<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/01\/icons8-visual-studio.svg\" alt=\"Visual Studio\"><span class=\"skill-item-name\">Visual Studio<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/cdn.simpleicons.org\/cursor\/000000\" alt=\"Cursor\"><span class=\"skill-item-name\">Cursor<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/cdn.jsdelivr.net\/gh\/homarr-labs\/dashboard-icons\/svg\/claude-ai.svg\" alt=\"Claude\"><span class=\"skill-item-name\">Claude<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/06\/github-svgrepo-com.svg\" alt=\"Git\"><span class=\"skill-item-name\">Git<\/span><\/div>\n            <div class=\"skill-item\"><img decoding=\"async\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2024\/06\/azure-devops-svgrepo-com.svg\" alt=\"Azure DevOps\"><span class=\"skill-item-name\">Azure DevOps<\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- PROJECTS -->\n    <section class=\"section\" id=\"projects\">\n      <div class=\"section-grad\"><\/div>\n      <div class=\"container\">\n        <div class=\"sec-header anim\">\n          <div class=\"sec-badge\" data-i18n=\"projBadge\">Portfolio<\/div>\n          <h2 class=\"sec-h2\" data-i18n=\"projTitle\">Projetos &amp; Cases<\/h2>\n          <p class=\"sec-p\" data-i18n=\"projSubtitle\">Do conceito ao deploy &mdash; meus trabalhos recentes.<\/p>\n        <\/div>\n        <div class=\"proj-filters anim\">\n          <button class=\"proj-filter active\" data-filter=\"all\" data-i18n=\"filterAll\">Todos<\/button>\n          <button class=\"proj-filter\" data-filter=\"corporativo\" data-i18n=\"filterCorp\">Corporativo<\/button>\n          <button class=\"proj-filter\" data-filter=\"mobile\" data-i18n=\"filterMobile\">Mobile<\/button>\n          <button class=\"proj-filter\" data-filter=\"data\" data-i18n=\"filterData\">Data \/ IA<\/button>\n        <\/div>\n        <div class=\"proj-grid anim\">\n\n          <!-- 1. Tratativas -->\n          <div class=\"proj-card\" data-cat=\"corporativo\" data-proj=\"tratativas\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/thunb-tratativas.jpg\" alt=\"tratativas\" alt=\"Tratativas\">\n              <div class=\"proj-status\" data-i18n=\"projStatusConf\">Confidencial<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">.NET 6<\/span><span class=\"proj-tag\">Angular<\/span><span class=\"proj-tag\">Email Parsing<\/span><span class=\"proj-tag\">PDF Generator<\/span><\/div>\n              <div class=\"proj-name\">Tratativas<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj1Desc\">Sistema de gestao e comunicacao corporativa com extracao inteligente de dados de e-mails e geracao automatica de PDFs.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('tratativas')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 2. SSO -->\n          <div class=\"proj-card\" data-cat=\"corporativo\" data-proj=\"sso\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/sso.jpg\" alt=\"sso\" alt=\"SSO\">\n              <div class=\"proj-status\" data-i18n=\"projStatusConf\">Confidencial<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">.NET 6<\/span><span class=\"proj-tag\">Angular<\/span><span class=\"proj-tag\">Auth<\/span><span class=\"proj-tag\">SSO<\/span><\/div>\n              <div class=\"proj-name\">SSO<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj2Desc\">Single Sign-On corporativo interconectando multiplos sistemas com gestao de permissoes e perfis de acesso.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('sso')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 3. Gestor de Mudanca -->\n          <div class=\"proj-card\" data-cat=\"corporativo\" data-proj=\"gestormudanca\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/gestor-mudancas.jpg\" alt=\"gestormudanca\" alt=\"Gestor de Mudanca\">\n              <div class=\"proj-status\" data-i18n=\"projStatusConf\">Confidencial<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">.NET 6<\/span><span class=\"proj-tag\">Angular<\/span><span class=\"proj-tag\">BPM<\/span><span class=\"proj-tag\">ISO<\/span><\/div>\n              <div class=\"proj-name\">Gestor de Mudanca<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj3Desc\">Ciclo completo de mudancas organizacionais com avaliacao de impacto e conformidade ISO.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('gestormudanca')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 4. Gestor de Clausulas -->\n          <div class=\"proj-card\" data-cat=\"corporativo\" data-proj=\"gestorclausulas\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/gestor-clausulas.jpg\" alt=\"gestorclausulas\" alt=\"Gestor de Clausulas\">\n              <div class=\"proj-status\" data-i18n=\"projStatusConf\">Confidencial<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">.NET 5<\/span><span class=\"proj-tag\">Angular<\/span><span class=\"proj-tag\">Excel Import<\/span><\/div>\n              <div class=\"proj-name\">Gestor de Clausulas<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj4Desc\">Gestao e validacao de clausulas contratuais para Corporate Finance com importacao via Excel.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('gestorclausulas')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 5. APR Digital -->\n          <div class=\"proj-card\" data-cat=\"corporativo mobile\" data-proj=\"aprdigital\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/apr.jpg\" alt=\"aprdigital\">\n              <div class=\"proj-status\" data-i18n=\"projStatusConf\">Confidencial<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">Ionic<\/span><span class=\"proj-tag\">.NET 8<\/span><span class=\"proj-tag\">NR10<\/span><\/div>\n              <div class=\"proj-name\">APR Digital<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj5Desc\">App mobile para Analise Preliminar de Risco em instalacoes eletricas, conformidade NR10.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('aprdigital')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 6. Controle de Acesso -->\n          <div class=\"proj-card\" data-cat=\"corporativo\" data-proj=\"controleacesso\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/controle-acesso.jpg\" alt=\"controleacesso\">\n              <div class=\"proj-status\" data-i18n=\"projStatusConf\">Confidencial<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">.NET 5<\/span><span class=\"proj-tag\">Angular<\/span><span class=\"proj-tag\">Maps<\/span><\/div>\n              <div class=\"proj-name\">Controle de Acesso<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj6Desc\">Gestao inteligente de espacos corporativos com mapa interativo para reservas.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('controleacesso')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 7. COS Copilot -->\n          <div class=\"proj-card\" data-cat=\"corporativo\" data-proj=\"coscopilot\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/cos-copilot.jpg\" alt=\"coscopilot\">\n              <div class=\"proj-status\" data-i18n=\"projStatusConf\">Confidencial<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">.NET 8<\/span><span class=\"proj-tag\">Angular 18<\/span><span class=\"proj-tag\">AI<\/span><span class=\"proj-tag\">WebSocket<\/span><span class=\"proj-tag\">SignalR<\/span><span class=\"proj-tag\">SQL Server<\/span><\/div>\n              <div class=\"proj-name\">COS Copilot<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj12Desc\">Sistema de transcricao simultanea e assistencia por IA para centros de comando operacional.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('coscopilot')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n\n          <!-- 8. Checklist Inspecao -->\n          <div class=\"proj-card\" data-cat=\"corporativo mobile\" data-proj=\"checklistinspecao\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/checklist.jpg\" alt=\"checklistinspecao\">\n              <div class=\"proj-status\" data-i18n=\"projStatusConf\">Confidencial<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">Ionic<\/span><span class=\"proj-tag\">.NET 8<\/span><span class=\"proj-tag\">Offline-first<\/span><span class=\"proj-tag\">SQL Server<\/span><\/div>\n              <div class=\"proj-name\">Checklist Inspecao<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj16Desc\">App mobile de controladoria de checklists e inspecoes para setores de meio ambiente, eletrica e obras.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('checklistinspecao')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n          <!-- 9. NeoLeiloes - Extracao -->\n          <div class=\"proj-card\" data-cat=\"data\" data-proj=\"neoleiloesextracao\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/NeoLeiloes-extracao.jpg\" alt=\"neoleiloesextracao\">\n              <div class=\"proj-status\" data-i18n=\"projStatusDev\">Em Desenvolvimento<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">Python<\/span><span class=\"proj-tag\">.NET<\/span><span class=\"proj-tag\">AI<\/span><span class=\"proj-tag\">Web Scraping<\/span><span class=\"proj-tag\">Selenium<\/span><span class=\"proj-tag\">PostgreSQL<\/span><\/div>\n              <div class=\"proj-name\">NeoLeiloes &#8211; Extracao<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj13Desc\">Sistema de extracao automatizada de leiloes imobiliarios de grandes portais bancarios com IA para parsing.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('neoleiloesextracao')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 10. NeoLeiloes - OCR Docs -->\n          <div class=\"proj-card\" data-cat=\"data\" data-proj=\"neoleiloesocr\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/NeoLeiloes-docs.jpg\" alt=\"neoleiloesocr\">\n              <div class=\"proj-status\" data-i18n=\"projStatusDev\">Em Desenvolvimento<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">Python<\/span><span class=\"proj-tag\">.NET<\/span><span class=\"proj-tag\">Google Vision<\/span><span class=\"proj-tag\">AI<\/span><span class=\"proj-tag\">OCR<\/span><span class=\"proj-tag\">PostgreSQL<\/span><\/div>\n              <div class=\"proj-name\">NeoLeiloes &#8211; OCR Docs<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj14Desc\">Sistema de processamento inteligente de documentos de imoveis de leilao com OCR.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('neoleiloesocr')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 11. NeoLeiloes - Avaliacao -->\n          <div class=\"proj-card\" data-cat=\"data\" data-proj=\"neoleiloesavaliacao\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/neoleiloes-avaliacao.jpg\" alt=\"neoleiloesavaliacao\">\n              <div class=\"proj-status\" data-i18n=\"projStatusDev\">Em Desenvolvimento<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">Python<\/span><span class=\"proj-tag\">.NET<\/span><span class=\"proj-tag\">Selenium<\/span><span class=\"proj-tag\">PostgreSQL<\/span><span class=\"proj-tag\">AI<\/span><span class=\"proj-tag\">Pandas<\/span><\/div>\n              <div class=\"proj-name\">NeoLeiloes &#8211; Avaliacao<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj15Desc\">Plataforma de avaliacao financeira de imoveis de leilao com coleta de 4M+ imoveis.<\/div>\n              <div class=\"proj-links\">\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('neoleiloesavaliacao')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 12. MyPet -->\n          <div class=\"proj-card\" data-cat=\"mobile\" data-proj=\"mypet\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/mypet.jpg\" alt=\"mypet\" alt=\"MyPet\">\n              <div class=\"proj-status\" data-i18n=\"projStatusTCC\">TCC<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">.NET MAUI<\/span><span class=\"proj-tag\">.NET API 6<\/span><span class=\"proj-tag\">Angular<\/span><span class=\"proj-tag\">Firebase<\/span><span class=\"proj-tag\">WebSocket<\/span><\/div>\n              <div class=\"proj-name\">MyPet<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj7Desc\">App de adocao de pets com chat em tempo real, autenticacao segura e painel admin com dashboard.<\/div>\n              <div class=\"proj-links\">\n                <a href=\"https:\/\/github.com\/Gabriel-Duarte10\/tcc-mypet-app\" class=\"proj-link\" target=\"_blank\" onclick=\"event.stopPropagation()\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"\/><path d=\"M9 18c-4.51 2-5-2-7-2\"\/><\/svg> GitHub<\/a>\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('mypet')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 13. LiquiCycle -->\n          <div class=\"proj-card\" data-cat=\"mobile\" data-proj=\"liquicycle\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/liquicycle.jpg\" alt=\"liquicycle\" alt=\"LiquiCycle\">\n              <div class=\"proj-status\" data-i18n=\"projStatusAcad\">Academico<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">.NET MAUI<\/span><span class=\"proj-tag\">.NET API 6<\/span><span class=\"proj-tag\">Multi-App<\/span><\/div>\n              <div class=\"proj-name\">LiquiCycle<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj8Desc\">Plataforma de doacao de liquidos com 4 apps interconectados e sistema de creditos.<\/div>\n              <div class=\"proj-links\">\n                <a href=\"https:\/\/github.com\/Gabriel-Duarte10\/projeto-mobile-cliente-app\" class=\"proj-link\" target=\"_blank\" onclick=\"event.stopPropagation()\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"\/><path d=\"M9 18c-4.51 2-5-2-7-2\"\/><\/svg> GitHub<\/a>\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('liquicycle')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 14. Diseases Prediction -->\n          <div class=\"proj-card\" data-cat=\"data\" data-proj=\"diseases\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/Diseases-Prediction.jpg\" alt=\"diseases\">\n              <div class=\"proj-status\" data-i18n=\"projStatusAcad\">Academico<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">Python<\/span><span class=\"proj-tag\">Scikit-learn<\/span><span class=\"proj-tag\">ML<\/span><\/div>\n              <div class=\"proj-name\">Diseases Prediction<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj9Desc\">Predicao de doencas com IA &mdash; 130+ sintomas, 40 doencas, 97.62% de acuracia.<\/div>\n              <div class=\"proj-links\">\n                <a href=\"https:\/\/github.com\/Gabriel-Duarte10\/Predicao-Doenca-back\" class=\"proj-link\" target=\"_blank\" onclick=\"event.stopPropagation()\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"\/><path d=\"M9 18c-4.51 2-5-2-7-2\"\/><\/svg> GitHub<\/a>\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('diseases')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 15. Bank Churn -->\n          <div class=\"proj-card\" data-cat=\"data\" data-proj=\"bankchurn\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/Bank-Churn.jpg\" alt=\"bankchurn\">\n              <div class=\"proj-status\" data-i18n=\"projStatusAcad\">Academico<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">Python<\/span><span class=\"proj-tag\">Keras<\/span><span class=\"proj-tag\">Pandas<\/span><\/div>\n              <div class=\"proj-name\">Bank Churn<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj10Desc\">Modelagem de churn bancario com ML e 86.83% de acuracia.<\/div>\n              <div class=\"proj-links\">\n                <a href=\"https:\/\/github.com\/Gabriel-Duarte10\/Predicao-Banco-back\" class=\"proj-link\" target=\"_blank\" onclick=\"event.stopPropagation()\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"\/><path d=\"M9 18c-4.51 2-5-2-7-2\"\/><\/svg> GitHub<\/a>\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('bankchurn')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- 16. Unity 3D -->\n          <div class=\"proj-card\" data-cat=\"data\" data-proj=\"unity3d\">\n            <div class=\"proj-img\">\n              <img decoding=\"async\" class=\"proj-img-real\" src=\"https:\/\/gabrielsilvaduartedev.com\/wp-content\/uploads\/2026\/03\/Unity-3D.jpg\" alt=\"unity3d\">\n              <div class=\"proj-status\" data-i18n=\"projStatusAcad\">Academico<\/div>\n            <\/div>\n            <div class=\"proj-body\">\n              <div class=\"proj-tags\"><span class=\"proj-tag\">Unity<\/span><span class=\"proj-tag\">C#<\/span><span class=\"proj-tag\">3D<\/span><span class=\"proj-tag\">Mobile<\/span><\/div>\n              <div class=\"proj-name\">Unity 3D<\/div>\n              <div class=\"proj-desc\" data-i18n=\"proj11Desc\">Jogo 3D mobile com mundo aberto, customizacao de personagem e scoreboard competitivo.<\/div>\n              <div class=\"proj-links\">\n                <a href=\"#\" class=\"proj-link\" target=\"_blank\" onclick=\"event.stopPropagation()\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"\/><path d=\"M9 18c-4.51 2-5-2-7-2\"\/><\/svg> GitHub<\/a>\n                <button class=\"proj-link primary proj-detail-btn\" onclick=\"event.stopPropagation(); openProjectModal('unity3d')\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"m12 16 4-4-4-4\"\/><path d=\"M8 12h8\"\/><\/svg> <span data-i18n=\"projDetails\">Detalhes<\/span><\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- PROJECT MODAL -->\n    <div class=\"proj-modal-overlay\" id=\"projModal\">\n      <div class=\"proj-modal\">\n        <div class=\"proj-modal-header\">\n          <div>\n            <div class=\"proj-modal-status\" id=\"modalStatus\"><\/div>\n            <div class=\"proj-modal-title\" id=\"modalTitle\"><\/div>\n          <\/div>\n          <button class=\"proj-modal-close\" id=\"modalClose\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"\/><path d=\"m6 6 12 12\"\/><\/svg>\n          <\/button>\n        <\/div>\n        <div class=\"proj-modal-body\">\n          <div class=\"proj-modal-desc\" id=\"modalDesc\"><\/div>\n          <div class=\"proj-modal-section-title\" data-i18n=\"modalFeatures\">Funcionalidades<\/div>\n          <ul class=\"proj-modal-features\" id=\"modalFeatures\"><\/ul>\n          <div class=\"proj-modal-section-title\" data-i18n=\"modalTech\">Tecnologias<\/div>\n          <div class=\"proj-modal-tags\" id=\"modalTags\"><\/div>\n          <div class=\"proj-modal-links\" id=\"modalLinks\"><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- EXPERIENCE -->\n    <section class=\"section\" id=\"experience\">\n      <div class=\"section-grad\"><\/div>\n      <div class=\"container\">\n        <div class=\"sec-header anim\">\n          <div class=\"sec-badge\" data-i18n=\"expBadge\">Carreira<\/div>\n          <h2 class=\"sec-h2\" data-i18n=\"expTitle\">Experiencia Profissional<\/h2>\n          <p class=\"sec-p\" data-i18n=\"expSubtitle\">Uma timeline do meu crescimento na area de tecnologia.<\/p>\n        <\/div>\n        <div class=\"exp-timeline\">\n          <div class=\"exp-item\">\n            <div class=\"exp-header\">\n              <div class=\"exp-role\" data-i18n=\"exp1Role\">Full-Stack Developer<\/div>\n              <div class=\"exp-type\">Full-time<\/div>\n            <\/div>\n            <div class=\"exp-company\" data-i18n=\"exp1Company\">Software House<\/div>\n            <div class=\"exp-meta\">\n              <span data-i18n=\"exp1Date\">Jun 2021 &mdash; Atual<\/span>\n              <span>Presencial<\/span>\n            <\/div>\n            <div class=\"exp-desc\" data-i18n=\"exp1Desc\">Desenvolvimento de 6+ sistemas corporativos para medias e grandes empresas. Responsavel pelo backend .NET, frontend Angular, aplicacoes mobile e integracao de servicos.<\/div>\n          <\/div>\n          <div class=\"exp-item\">\n            <div class=\"exp-header\">\n              <div class=\"exp-role\" data-i18n=\"exp2Role\">Estagiario de Desenvolvimento<\/div>\n              <div class=\"exp-type\" data-i18n=\"exp2Type\">Estagio<\/div>\n            <\/div>\n            <div class=\"exp-company\" data-i18n=\"exp2Company\">Inicio de Carreira<\/div>\n            <div class=\"exp-meta\">\n              <span>2020 &mdash; Jun 2021<\/span>\n            <\/div>\n            <div class=\"exp-desc\" data-i18n=\"exp2Desc\">Construcao de fundamentos solidos em C#, SQL Server, Angular e metodologias ageis. Desenvolvimento do projeto de TCC MyPet &mdash; aplicativo mobile completo com .NET MAUI e .NET API 6. Projetos academicos com Unity (jogo 3D mobile) e Inteligencia Artificial (predicao de doencas e analise de churn bancario). Graduacao concluida em dezembro de 2023.<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- CONTACT -->\n    <section class=\"section\" id=\"contact\">\n      <div class=\"section-grad\"><\/div>\n      <div class=\"container\">\n        <div class=\"sec-header anim\">\n          <div class=\"sec-badge\" data-i18n=\"contactBadge\">Contato<\/div>\n          <h2 class=\"sec-h2\" data-i18n=\"contactTitle\">Vamos trabalhar juntos<\/h2>\n          <p class=\"sec-p\" data-i18n=\"contactSubtitle\">Aberto a projetos, freelance e oportunidades desafiadoras.<\/p>\n        <\/div>\n        <div class=\"contact-grid anim\">\n          <div class=\"contact-info\">\n            <a href=\"mailto:Gabriel.silvaduarte@hotmail.com\" class=\"contact-info-card\">\n              <div class=\"contact-info-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\/><path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"\/><\/svg><\/div>\n              <div><div class=\"contact-info-label\" data-i18n=\"contactEmail\">Email<\/div><div class=\"contact-info-value\">Gabriel.silvaduarte@hotmail.com<\/div><\/div>\n            <\/a>\n            <a href=\"tel:+5521965116166\" class=\"contact-info-card\">\n              <div class=\"contact-info-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"\/><\/svg><\/div>\n              <div><div class=\"contact-info-label\" data-i18n=\"contactPhone\">Telefone<\/div><div class=\"contact-info-value\">+55 (21) 96511-6166<\/div><\/div>\n            <\/a>\n            <a href=\"https:\/\/github.com\/Gabriel-Duarte10\" target=\"_blank\" class=\"contact-info-card\" rel=\"noopener\">\n              <div class=\"contact-info-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"\/><path d=\"M9 18c-4.51 2-5-2-7-2\"\/><\/svg><\/div>\n              <div><div class=\"contact-info-label\">GitHub<\/div><div class=\"contact-info-value\">github.com\/Gabriel-Duarte10<\/div><\/div>\n            <\/a>\n            <a href=\"https:\/\/www.linkedin.com\/in\/gabriel-silva-duarte-939975191\/\" target=\"_blank\" class=\"contact-info-card\" rel=\"noopener\">\n              <div class=\"contact-info-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"\/><rect width=\"4\" height=\"12\" x=\"2\" y=\"9\"\/><circle cx=\"4\" cy=\"4\" r=\"2\"\/><\/svg><\/div>\n              <div><div class=\"contact-info-label\">LinkedIn<\/div><div class=\"contact-info-value\">linkedin.com\/in\/gabriel-silva-duarte<\/div><\/div>\n            <\/a>\n          <\/div>\n          <div class=\"contact-form-box\">\n            <div class=\"form-grid\">\n              <div class=\"form-group\">\n                <label class=\"form-label\" data-i18n=\"formName\">Nome completo<\/label>\n                <input type=\"text\" class=\"form-input\" placeholder=\"Seu nome\" data-i18n-placeholder=\"formNamePh\">\n              <\/div>\n              <div class=\"form-group\">\n                <label class=\"form-label\" data-i18n=\"formEmail\">Email<\/label>\n                <input type=\"email\" class=\"form-input\" placeholder=\"seu@email.com\" data-i18n-placeholder=\"formEmailPh\">\n              <\/div>\n              <div class=\"form-group full\">\n                <label class=\"form-label\" data-i18n=\"formSubject\">Assunto<\/label>\n                <input type=\"text\" class=\"form-input\" placeholder=\"Sobre o que quer conversar?\" data-i18n-placeholder=\"formSubjectPh\">\n              <\/div>\n              <div class=\"form-group full\">\n                <label class=\"form-label\" data-i18n=\"formMessage\">Mensagem<\/label>\n                <textarea class=\"form-textarea\" placeholder=\"Conte mais sobre seu projeto...\" data-i18n-placeholder=\"formMessagePh\"><\/textarea>\n              <\/div>\n            <\/div>\n            <div class=\"form-footer\">\n              <span class=\"form-hint\" data-i18n=\"formHint\">Respondo em ate 24h<\/span>\n              <button class=\"btn btn-primary\" data-i18n=\"formSend\">Enviar <span class=\"arrow\">&rsaquo;<\/span><\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- FOOTER -->\n    <footer class=\"footer\">\n      <div class=\"container\">\n        <div class=\"footer-grid\">\n          <div>\n            <div class=\"footer-brand\">Gabriel<span>.<\/span><\/div>\n            <div class=\"footer-desc\" data-i18n=\"footerDesc\">Full-stack developer construindo solucoes digitais com .NET, Angular e Python. Codigo limpo, arquitetura solida, resultados reais.<\/div>\n          <\/div>\n          <div>\n            <div class=\"footer-col-title\" data-i18n=\"footerLinks\">Links<\/div>\n            <div class=\"footer-links\">\n              <a href=\"#about\" data-i18n=\"footerAbout\">Sobre<\/a>\n              <a href=\"#skills\" data-i18n=\"footerSkills\">Skills<\/a>\n              <a href=\"#projects\" data-i18n=\"footerProjects\">Projetos<\/a>\n              <a href=\"#experience\" data-i18n=\"footerExp\">Experiencia<\/a>\n              <a href=\"#contact\" data-i18n=\"footerContact\">Contato<\/a>\n            <\/div>\n          <\/div>\n          <div>\n            <div class=\"footer-col-title\" data-i18n=\"footerServices\">Servicos<\/div>\n            <div class=\"footer-links\">\n              <a href=\"#\" data-i18n=\"footerSvc1\">Desenvolvimento Web<\/a>\n              <a href=\"#\" data-i18n=\"footerSvc2\">APIs &amp; Backend<\/a>\n              <a href=\"#\" data-i18n=\"footerSvc3\">Mobile Apps<\/a>\n              <a href=\"#\" data-i18n=\"footerSvc4\">Consultoria<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"footer-bottom\">\n          <span data-i18n=\"footerCopy\">&copy; 2026 Gabriel <span class=\"hl\">\/<\/span> Todos os direitos reservados<\/span>\n          <button class=\"back-top\" onclick=\"window.scrollTo({top:0,behavior:'smooth'})\" data-i18n=\"footerBackTop\">Voltar ao topo<\/button>\n        <\/div>\n      <\/div>\n    <\/footer>\n\n  <\/div>\n\n  <script>\n\n    \/\/ Mobile menu\n    function toggleMenu() {\n      document.getElementById('mobileOverlay').classList.toggle('open');\n      document.getElementById('mobileMenu').classList.toggle('open');\n    }\n\n\n    \/\/ Project data for modal\n    const projectsData = {\n      tratativas: {\n        name: 'Tratativas',\n        status: 'Confidencial',\n        desc: 'Sistema de gestao e comunicacao corporativa com extracao inteligente de dados de e-mails e geracao automatica de PDFs. Plataforma completa para gerenciamento de tratativas corporativas, incluindo fluxos de trabalho automatizados, rastreamento de comunicacoes e dashboards analiticos.',\n        descEn: 'Corporate management and communication system with intelligent email data extraction and automatic PDF generation. Complete platform for corporate communications management, including automated workflows, tracking, and analytics dashboards.',\n        features: [\n          'Extracao inteligente de dados de e-mails',\n          'Geracao automatica de PDFs',\n          'Dashboard analitico completo',\n          'Fluxos de trabalho automatizados',\n          'Gestao de comunicacoes corporativas',\n          'Rastreamento de processos'\n        ],\n        featuresEn: [\n          'Intelligent email data extraction',\n          'Automatic PDF generation',\n          'Complete analytics dashboard',\n          'Automated workflows',\n          'Corporate communications management',\n          'Process tracking'\n        ],\n        tags: ['.NET 6', 'Angular', 'Email Parsing', 'PDF Generator', 'SQL Server'],\n        github: null,\n        site: null\n      },\n      sso: {\n        name: 'SSO',\n        status: 'Confidencial',\n        desc: 'Single Sign-On corporativo interconectando multiplos sistemas com gestao de permissoes e perfis de acesso. Solucao centralizada de autenticacao e autorizacao para o ecossistema de aplicacoes corporativas.',\n        descEn: 'Corporate Single Sign-On interconnecting multiple systems with permission management and access profiles. Centralized authentication and authorization solution for the enterprise application ecosystem.',\n        features: [\n          'Autenticacao centralizada multi-sistema',\n          'Gestao de permissoes granulares',\n          'Perfis de acesso configur\u00e1veis',\n          'Integracao com Active Directory',\n          'Logs de auditoria completos',\n          'Token-based authentication (JWT)'\n        ],\n        featuresEn: [\n          'Centralized multi-system authentication',\n          'Granular permission management',\n          'Configurable access profiles',\n          'Active Directory integration',\n          'Complete audit logs',\n          'Token-based authentication (JWT)'\n        ],\n        tags: ['.NET 6', 'Angular', 'Auth', 'SSO', 'JWT', 'SQL Server'],\n        github: null,\n        site: null\n      },\n      gestormudanca: {\n        name: 'Gestor de Mudanca',\n        status: 'Confidencial',\n        desc: 'Sistema para ciclo completo de mudancas organizacionais com avaliacao de impacto e conformidade ISO. Gestao de todo o processo de change management, desde a solicitacao ate a aprovacao final, com rastreabilidade completa.',\n        descEn: 'System for the complete organizational change cycle with impact assessment and ISO compliance. Management of the entire change management process, from request to final approval, with full traceability.',\n        features: [\n          'Ciclo completo de gestao de mudancas',\n          'Avaliacao de impacto organizacional',\n          'Conformidade com normas ISO',\n          'Workflow de aprovacoes multi-nivel',\n          'Rastreabilidade completa de alteracoes',\n          'Relatorios de compliance'\n        ],\n        featuresEn: [\n          'Complete change management cycle',\n          'Organizational impact assessment',\n          'ISO standards compliance',\n          'Multi-level approval workflow',\n          'Full change traceability',\n          'Compliance reports'\n        ],\n        tags: ['.NET 6', 'Angular', 'BPM', 'ISO', 'SQL Server'],\n        github: null,\n        site: null\n      },\n      gestorclausulas: {\n        name: 'Gestor de Clausulas',\n        status: 'Confidencial',\n        desc: 'Gestao e validacao de clausulas contratuais para Corporate Finance com importacao via Excel. Sistema completo para gerenciamento de clausulas, validacao automatizada e controle de versionamento de contratos.',\n        descEn: 'Management and validation of contract clauses for Corporate Finance with Excel import. Complete system for clause management, automated validation, and contract versioning.',\n        features: [\n          'Importacao de clausulas via Excel',\n          'Validacao automatizada de contratos',\n          'Versionamento de clausulas',\n          'Dashboard de Corporate Finance',\n          'Exportacao de relatorios',\n          'Gestao de aprovacoes'\n        ],\n        featuresEn: [\n          'Excel clause import',\n          'Automated contract validation',\n          'Clause versioning',\n          'Corporate Finance dashboard',\n          'Report export',\n          'Approval management'\n        ],\n        tags: ['.NET 5', 'Angular', 'Excel Import', 'SQL Server'],\n        github: null,\n        site: null\n      },\n      aprdigital: {\n        name: 'APR Digital',\n        status: 'Confidencial',\n        desc: 'Aplicativo mobile para Analise Preliminar de Risco em instalacoes eletricas com conformidade NR10. Solucao completa para equipes de campo realizarem analises de risco diretamente no dispositivo movel, com sincronizacao em tempo real.',\n        descEn: 'Mobile app for Preliminary Risk Analysis in electrical installations with NR10 compliance. Complete solution for field teams to perform risk analyses directly on mobile devices with real-time sync.',\n        features: [\n          'App mobile com Ionic',\n          'Analise de riscos conforme NR10',\n          'Checklists dinamicos por tipo de instalacao',\n          'Sincronizacao offline\/online',\n          'Assinatura digital integrada',\n          'Relatorios automaticos de conformidade'\n        ],\n        featuresEn: [\n          'Ionic mobile app',\n          'NR10-compliant risk analysis',\n          'Dynamic checklists by installation type',\n          'Offline\/online synchronization',\n          'Integrated digital signature',\n          'Automatic compliance reports'\n        ],\n        tags: ['Ionic', '.NET 8', 'NR10', 'SQL Server'],\n        github: null,\n        site: null\n      },\n      controleacesso: {\n        name: 'Controle de Acesso',\n        status: 'Confidencial',\n        desc: 'Gestao inteligente de espacos corporativos com mapa interativo para reservas. Sistema web para controle de acesso a areas corporativas, com visualizacao de disponibilidade em mapa e gestao de reservas.',\n        descEn: 'Intelligent corporate space management with interactive map for reservations. Web system for corporate area access control with availability visualization and booking management.',\n        features: [\n          'Mapa interativo de espacos corporativos',\n          'Sistema de reservas em tempo real',\n          'Controle de acesso por credenciais',\n          'Visualizacao de disponibilidade',\n          'Historico de utilizacao',\n          'Relatorios de ocupacao'\n        ],\n        featuresEn: [\n          'Interactive corporate space map',\n          'Real-time reservation system',\n          'Credential-based access control',\n          'Availability visualization',\n          'Usage history',\n          'Occupancy reports'\n        ],\n        tags: ['.NET 5', 'Angular', 'Maps', 'SQL Server'],\n        github: null,\n        site: null\n      },\n      coscopilot: {\n        name: 'COS Copilot',\n        status: 'Confidencial',\n        desc: 'Sistema de transcricao simultanea e assistencia por IA para centros de comando operacional. Desenvolvido em .NET 8 e Angular 18. Transcreve em tempo real o que esta sendo falado no ambiente, processando via IA para criacao automatica de alertas, medidas, juncao e captura de documentos relevantes.',\n        descEn: 'Real-time transcription and AI assistance system for operational command centers. Built with .NET 8 and Angular 18. Transcribes speech in real time, processing via AI for automatic creation of alerts, measures, document linking, and relevant document capture.',\n        features: [\n          'Transcricao simultanea em tempo real',\n          'Processamento por IA (BaiA)',\n          'Criacao automatica de alertas e medidas',\n          'Captura inteligente de documentos',\n          'Painel do operador e executor',\n          'Painel global para centro de comando',\n          'Autenticacao integrada via SSO'\n        ],\n        featuresEn: [\n          'Real-time simultaneous transcription',\n          'AI processing (BaiA)',\n          'Automatic alert and measure creation',\n          'Intelligent document capture',\n          'Operator and executor panel',\n          'Global panel for command center',\n          'Integrated SSO authentication'\n        ],\n        tags: ['.NET 8', 'Angular 18', 'AI', 'WebSocket', 'SignalR', 'SQL Server'],\n        github: null,\n        site: null\n      },\n      checklistinspecao: {\n        name: 'Checklist Inspecao',\n        status: 'Confidencial',\n        desc: 'Aplicativo mobile de controladoria de checklists e inspecoes corporativas para setores de meio ambiente, eletrica, obras e canteiros. Desenvolvido em Ionic com .NET 8. Formularios dinamicos criados e atualizados via web, com relacionamentos complexos entre inspecoes. Funcionamento totalmente offline com sincronizacao automatica ao conectar. Autenticacao integrada via SSO.',\n        descEn: 'Mobile app for corporate checklist and inspection management across environmental, electrical, construction, and worksite sectors. Built with Ionic and .NET 8. Dynamic forms created and updated via web, with complex relationships between inspections. Fully offline operation with automatic sync when connected. Integrated SSO authentication.',\n        features: [\n          'App mobile Ionic com .NET 8',\n          'Formularios dinamicos criados via web',\n          'Relacionamento complexo entre inspecoes',\n          'Funcionamento 100%% offline',\n          'Sincronizacao automatica ao conectar',\n          'Setores: meio ambiente, eletrica, obras',\n          'Autenticacao integrada via SSO'\n        ],\n        featuresEn: [\n          'Ionic mobile app with .NET 8',\n          'Dynamic forms created via web',\n          'Complex inspection relationships',\n          '100%% offline operation',\n          'Automatic sync when connected',\n          'Sectors: environmental, electrical, construction',\n          'Integrated SSO authentication'\n        ],\n        tags: ['Ionic', '.NET 8', 'Offline-first', 'SQL Server', 'SSO'],\n        github: null,\n        site: null\n      },\n      neoleiloesextracao: {\n        name: 'NeoLeiloes - Extracao',\n        status: 'Em Desenvolvimento',\n        desc: 'Sistema de extracao automatizada de leiloes imobiliarios de grandes portais bancarios. Originalmente desenvolvido em Python e refatorado para .NET. Utiliza IA para captura e parsing de CSS\/HTML, adaptando-se automaticamente a mudancas nos sites. Processamento de anuncios via IA para retorno de dados estruturados.',\n        descEn: 'Automated extraction system for real estate auctions from major banking portals. Originally built in Python and refactored to .NET. Uses AI for CSS\/HTML capture and parsing, automatically adapting to site changes. Ad processing via AI for structured data return.',\n        features: [\n          'Extracao de 300+ leiloeiros e 40mil+ anuncios',\n          'IA para parsing de CSS\/HTML',\n          'Adaptacao automatica a mudancas de layout',\n          'Processamento de anuncios via IA',\n          'Dados estruturados por IA (BaiA)',\n          'Integracao com portais bancarios'\n        ],\n        featuresEn: [\n          'Extraction from 300+ auctioneers and 40k+ listings',\n          'AI for CSS\/HTML parsing',\n          'Automatic adaptation to layout changes',\n          'Ad processing via AI',\n          'Structured data via AI (BaiA)',\n          'Banking portal integration'\n        ],\n        tags: ['Python', '.NET', 'AI', 'Web Scraping', 'Selenium', 'PostgreSQL'],\n        github: null,\n        site: null\n      },\n      neoleiloesocr: {\n        name: 'NeoLeiloes - OCR Docs',\n        status: 'Em Desenvolvimento',\n        desc: 'Sistema de processamento inteligente de documentos de imoveis de leilao. Originalmente desenvolvido em Python e refatorado para .NET. Processa diversos tipos de documentos imobiliarios, extraindo informacoes relevantes de forma automatizada.',\n        descEn: 'Intelligent document processing system for auction real estate. Originally built in Python and refactored to .NET. Processes various types of real estate documents, extracting relevant information automatically.',\n        features: [\n          'Processamento de multiplos tipos de documentos',\n          'OCR inteligente',\n          'Extracao automatizada de dados',\n          'Classificacao de documentos',\n          'Integracao com pipeline de leiloes',\n          'Armazenamento estruturado'\n        ],\n        featuresEn: [\n          'Multi-document type processing',\n          'Intelligent OCR',\n          'Automated data extraction',\n          'Document classification',\n          'Auction pipeline integration',\n          'Structured storage'\n        ],\n        tags: ['Python', '.NET', 'Google Vision', 'AI', 'OCR', 'PostgreSQL'],\n        github: null,\n        site: null\n      },\n      neoleiloesavaliacao: {\n        name: 'NeoLeiloes - Avaliacao',\n        status: 'Em Desenvolvimento',\n        desc: 'Plataforma de avaliacao financeira de imoveis de leilao. Originalmente desenvolvido em Python e refatorado para .NET. Coleta de 4M+ imoveis de um dos maiores portais de compra e venda do Brasil, com 2M+ ja processados. Busca por coordenadas os imoveis mais proximos na mesma categoria, aplica analise de DMA (Desvio Medio Absoluto) para selecao coerente, e gera relatorios Excel e PDF com avaliacao por metro quadrado minimo e maximo.',\n        descEn: 'Financial valuation platform for auction properties. Originally built in Python and refactored to .NET. Collection of 4M+ properties from one of Brazil\\'s largest real estate portals, with 2M+ already processed. Searches by coordinates for nearest properties in the same category, applies MAD (Mean Absolute Deviation) analysis for coherent selection, and generates Excel and PDF reports with minimum and maximum price per square meter valuation.',\n        features: [\n          'Coleta de 4M+ imoveis via web scraping',\n          'Busca por coordenadas geograficas',\n          'Analise de DMA para selecao coerente',\n          'Avaliacao por metro quadrado (min\/max)',\n          'Relatorio PDF e Excel detalhado',\n          'Justificativa de inclusao\/exclusao de comparaveis'\n        ],\n        featuresEn: [\n          '4M+ property collection via web scraping',\n          'Geographic coordinate search',\n          'MAD analysis for coherent selection',\n          'Per square meter valuation (min\/max)',\n          'Detailed PDF and Excel reports',\n          'Comparable inclusion\/exclusion justification'\n        ],\n        tags: ['Python', '.NET', 'Selenium', 'PostgreSQL', 'AI', 'Pandas'],\n        github: null,\n        site: null\n      },\n      mypet: {\n        name: 'MyPet',\n        status: 'TCC',\n        desc: 'Aplicativo completo de adocao de pets com chat em tempo real via WebSocket, autenticacao segura com Firebase e painel administrativo com dashboard. Projeto de TCC com arquitetura multi-camadas \u2014 app mobile em .NET MAUI, backend em .NET API 6 e painel web em Angular.',\n        descEn: 'Complete pet adoption app with real-time chat via WebSocket, secure Firebase authentication, and admin panel with dashboard. Graduation project with multi-layer architecture \u2014 .NET MAUI mobile app, .NET API 6 backend, and Angular web panel.',\n        features: [\n          'App mobile com .NET MAUI',\n          'Chat em tempo real via WebSocket',\n          'Autenticacao Firebase',\n          'Painel admin com Angular',\n          'Dashboard analitico',\n          'Perfis de pets com fotos'\n        ],\n        featuresEn: [\n          '.NET MAUI mobile app',\n          'Real-time WebSocket chat',\n          'Firebase authentication',\n          'Angular admin panel',\n          'Analytics dashboard',\n          'Pet profiles with photos'\n        ],\n        tags: ['.NET MAUI', '.NET API 6', 'Angular', 'Firebase', 'WebSocket', 'SQL Server'],\n        github: 'https:\/\/github.com\/Gabriel-Duarte10\/tcc-mypet-app',\n        site: null\n      },\n      liquicycle: {\n        name: 'LiquiCycle',\n        status: 'Academico',\n        desc: 'Plataforma completa de doacao de liquidos com 4 aplicativos interconectados e sistema de creditos. Ecossistema multi-app com .NET MAUI para os apps mobile e .NET API 6 para o backend centralizado.',\n        descEn: 'Complete liquid donation platform with 4 interconnected apps and credit system. Multi-app ecosystem with .NET MAUI for mobile apps and .NET API 6 for the centralized backend.',\n        features: [\n          '4 apps interconectados',\n          'Sistema de creditos de doacao',\n          'Backend API centralizado',\n          'Gestao de pontos de coleta',\n          'Rastreamento de doacoes',\n          'Ranking de doadores'\n        ],\n        featuresEn: [\n          '4 interconnected apps',\n          'Donation credit system',\n          'Centralized API backend',\n          'Collection point management',\n          'Donation tracking',\n          'Donor ranking'\n        ],\n        tags: ['.NET MAUI', '.NET API 6', 'Multi-App', 'SQL Server'],\n        github: 'https:\/\/github.com\/Gabriel-Duarte10\/projeto-mobile-cliente-app',\n        site: null\n      },\n      diseases: {\n        name: 'Diseases Prediction',\n        status: 'Academico',\n        desc: 'Sistema de predicao de doencas utilizando inteligencia artificial com 130+ sintomas e 40 doencas mapeadas. Modelo de machine learning treinado com Scikit-learn alcancando 97.62% de acuracia na classificacao.',\n        descEn: 'Disease prediction system using artificial intelligence with 130+ symptoms and 40 mapped diseases. Machine learning model trained with Scikit-learn achieving 97.62% classification accuracy.',\n        features: [\n          '130+ sintomas mapeados',\n          '40 doencas classificadas',\n          '97.62% de acuracia',\n          'Pipeline de ML com Scikit-learn',\n          'Interface para input de sintomas',\n          'Visualizacao de resultados'\n        ],\n        featuresEn: [\n          '130+ mapped symptoms',\n          '40 classified diseases',\n          '97.62% accuracy',\n          'Scikit-learn ML pipeline',\n          'Symptom input interface',\n          'Results visualization'\n        ],\n        tags: ['Python', 'Scikit-learn', 'ML', 'Pandas', 'NumPy'],\n        github: 'https:\/\/github.com\/Gabriel-Duarte10\/Predicao-Doenca-back',\n        site: null\n      },\n      bankchurn: {\n        name: 'Bank Churn',\n        status: 'Academico',\n        desc: 'Modelagem preditiva de churn bancario utilizando redes neurais com Keras e analise de dados com Pandas. Modelo de deep learning treinado para prever rotatividade de clientes com 86.83% de acuracia.',\n        descEn: 'Predictive bank churn modeling using neural networks with Keras and data analysis with Pandas. Deep learning model trained to predict customer churn with 86.83% accuracy.',\n        features: [\n          'Rede neural com Keras',\n          '86.83% de acuracia',\n          'Analise exploratoria com Pandas',\n          'Feature engineering',\n          'Visualizacao de metricas',\n          'Comparacao de modelos'\n        ],\n        featuresEn: [\n          'Keras neural network',\n          '86.83% accuracy',\n          'Exploratory analysis with Pandas',\n          'Feature engineering',\n          'Metrics visualization',\n          'Model comparison'\n        ],\n        tags: ['Python', 'Keras', 'Pandas', 'TensorFlow', 'NumPy'],\n        github: 'https:\/\/github.com\/Gabriel-Duarte10\/Predicao-Banco-back',\n        site: null\n      },\n      unity3d: {\n        name: 'Unity 3D',\n        status: 'Academico',\n        desc: 'Jogo 3D mobile desenvolvido com Unity e C#, com mundo aberto exploravel, sistema de customizacao de personagem e scoreboard competitivo online.',\n        descEn: '3D mobile game developed with Unity and C#, featuring an explorable open world, character customization system, and competitive online scoreboard.',\n        features: [\n          'Mundo aberto 3D exploravel',\n          'Customizacao de personagem',\n          'Scoreboard competitivo',\n          'Controles touch otimizados',\n          'Sistema de pontuacao',\n          'Fisica realista'\n        ],\n        featuresEn: [\n          'Explorable 3D open world',\n          'Character customization',\n          'Competitive scoreboard',\n          'Optimized touch controls',\n          'Scoring system',\n          'Realistic physics'\n        ],\n        tags: ['Unity', 'C#', '3D', 'Mobile'],\n        github: '#',\n        site: null\n      }\n    };\n\n    \/\/ Modal logic\n    const modalOverlay = document.getElementById('projModal');\n    const modalClose = document.getElementById('modalClose');\n\n    function openProjectModal(projKey) {\n      const proj = projectsData[projKey];\n      if (!proj) return;\n\n      var statusText = proj.status;\n      if (currentLang === 'en') {\n        if (proj.status === 'Confidencial') statusText = 'Confidential';\n        else if (proj.status === 'TCC') statusText = 'Graduation';\n        else if (proj.status === 'Academico') statusText = 'Academic';\n        else if (proj.status === 'Em Desenvolvimento') statusText = 'In Development';\n      }\n      document.getElementById('modalStatus').textContent = statusText;\n      document.getElementById('modalTitle').textContent = proj.name;\n      document.getElementById('modalDesc').textContent = currentLang === 'en' && proj.descEn ? proj.descEn : proj.desc;\n\n      const featuresEl = document.getElementById('modalFeatures');\n      var feats = currentLang === 'en' && proj.featuresEn ? proj.featuresEn : proj.features;\n      featuresEl.innerHTML = feats.map(function(f){ return '\\x3cli\\x3e' + f + '\\x3c\/li\\x3e'; }).join('');\n\n      const tagsEl = document.getElementById('modalTags');\n      tagsEl.innerHTML = proj.tags.map(function(t){ return '\\x3cspan class=\"proj-modal-tag\"\\x3e' + t + '\\x3c\/span\\x3e'; }).join('');\n\n      const linksEl = document.getElementById('modalLinks');\n      let linksHTML = '';\n      if (proj.github) {\n        linksHTML += '\\x3ca href=\"' + proj.github + '\" target=\"_blank\" class=\"proj-modal-link github\"\\x3e\\x3csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" width=\"16\" height=\"16\"\\x3e\\x3cpath d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"\\x3e\\x3c\/path\\x3e\\x3c\/svg\\x3e GitHub\\x3c\/a\\x3e';\n      }\n      if (proj.site) {\n        linksHTML += '\\x3ca href=\"' + proj.site + '\" target=\"_blank\" class=\"proj-modal-link live\"\\x3e\\x3csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" width=\"16\" height=\"16\"\\x3e\\x3cpath d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6M15 3h6v6M10 14L21 3\"\\x3e\\x3c\/path\\x3e\\x3c\/svg\\x3e Live\\x3c\/a\\x3e';\n      }\n      linksEl.innerHTML = linksHTML;\n\n      modalOverlay.classList.add('active');\n      document.body.style.overflow = 'hidden';\n    }\n\n    function closeProjectModal() {\n      modalOverlay.classList.remove('active');\n      document.body.style.overflow = '';\n    }\n\n    modalClose.addEventListener('click', closeProjectModal);\n    modalOverlay.addEventListener('click', (e) => {\n      if (e.target === modalOverlay) closeProjectModal();\n    });\n    document.addEventListener('keydown', (e) => {\n      if (e.key === 'Escape') closeProjectModal();\n    });\n\n\n\/\/ =============================================\n\/\/ TRANSLATIONS SYSTEM\n\/\/ =============================================\nconst translations = {\n  pt: {\n    \/\/ Nav\n    navHome: \"Home\",\n    navAbout: \"Sobre\",\n    navSkills: \"Skills\",\n    navProjects: \"Projetos\",\n    navExperience: \"Experi\\u00eancia\",\n    navContact: \"Contato\",\n\n    \/\/ Hero\n    heroBadge: \"Dispon\\u00edvel para projetos\",\n    heroTagline: \"Dando forma a solu\\u00e7\\u00f5es digitais com c\\u00f3digo limpo.\",\n    heroDesc: \"Full-stack developer desde 2021, especializado em .NET e Angular. Arquitetura s\\u00f3lida, lideran\\u00e7a t\\u00e9cnica e solu\\u00e7\\u00f5es escal\\u00e1veis.\",\n    heroBtn1: \"Download CV \\u203a\",\n    heroBtn2: \"Ver projetos\",\n\n    \/\/ About\n    aboutBadge: \"Construindo solu\\u00e7\\u00f5es digitais\",\n    aboutTitle: \"Sobre mim\",\n    aboutSubtitle: \"Minha jornada, habilidades e o que me motiva.\",\n    aboutJourneyTitle: \"Minha Jornada\",\n    aboutP1: \"Desenvolvedor full-stack atuando na \\u00e1rea desde junho de 2021. Especializado em backend com .NET API (vers\\u00e3o 5+) e frontend com Angular 13+. Experi\\u00eancia s\\u00f3lida em Ionic para desenvolvimento mobile, utilizando SQL Server para gest\\u00e3o de dados robusta, segura e escal\\u00e1vel.\",\n    aboutLeaderTitle: \"Lideran\\u00e7a & Gest\\u00e3o\",\n    aboutLeaderText: \"Gest\\u00e3o de equipes em projetos de desenvolvimento, incluindo distribui\\u00e7\\u00e3o de pap\\u00e9is, supervis\\u00e3o e suporte, al\\u00e9m da execu\\u00e7\\u00e3o das pr\\u00f3prias atividades de desenvolvimento. Envolvimento no processo de contrata\\u00e7\\u00e3o de novos estagi\\u00e1rios, cobrindo a cria\\u00e7\\u00e3o e corre\\u00e7\\u00e3o de testes, bem como condu\\u00e7\\u00e3o de entrevistas t\\u00e9cnicas.\",\n    aboutEduTitle: \"Forma\\u00e7\\u00e3o & Desenvolvimento\",\n    aboutEduText: \"Graduado em dezembro de 2023. Experi\\u00eancia pr\\u00e1tica na faculdade em projetos de games com Unity, intelig\\u00eancia artificial e solu\\u00e7\\u00f5es mobile.\",\n    aboutCorpTitle: \"Atua\\u00e7\\u00e3o Corporativa\",\n    aboutCorpText: \"Atua\\u00e7\\u00e3o em software house especializada na cria\\u00e7\\u00e3o de sistemas para m\\u00e9dias e grandes empresas, onde j\\u00e1 desenvolvi 6+ sistemas corporativos e participa\\u00e7\\u00e3o em dezenas. Respons\\u00e1vel pelo backend .NET, frontend Angular e integra\\u00e7\\u00e3o de servi\\u00e7os.\",\n    aboutCheckTitle: \"O que eu trago\",\n    aboutCheck1: \"Arquitetura limpa e c\\u00f3digo test\\u00e1vel\",\n    aboutCheck2: \"APIs .NET perform\\u00e1ticas e escal\\u00e1veis\",\n    aboutCheck3: \"Lideran\\u00e7a t\\u00e9cnica e gest\\u00e3o de equipes\",\n    aboutCheck4: \"Aplica\\u00e7\\u00f5es mobile com Ionic\",\n    stat1Label: \"Anos de exp.\",\n    stat2Label: \"Projetos\",\n    stat3Label: \"Tecnologias\",\n    stat4Label: \"Aprendendo\",\n\n    \/\/ Skills\n    skillsBadge: \"Stack T\\u00e9cnica\",\n    skillsTitle: \"Skills & Ferramentas\",\n    skillsDesc: \"Tecnologias que domino e utilizo no dia a dia.\",\n    skillsCatLang: \"Linguagens de Programa\\u00e7\\u00e3o\",\n    skillsCatMarkup: \"Markup & Estilo\",\n    skillsCatFramework: \"Frameworks & Plataformas\",\n    skillsCatDB: \"Bancos de Dados\",\n    skillsCatTools: \"IDEs & Ferramentas\",\n\n    \/\/ Projects\n    projBadge: \"Portf\\u00f3lio\",\n    projTitle: \"Projetos & Cases\",\n    projSubtitle: \"Do conceito ao deploy \\u2014 meus trabalhos.\",\n    filterAll: \"Todos\",\n    filterCorp: \"Corporativo\",\n    filterMobile: \"Mobile\",\n    filterData: \"Data \/ IA\",\n    projStatusConf: \"Confidencial\",\n    projStatusTCC: \"TCC\",\n    projStatusAcad: \"Acad\\u00eamico\",\n    projDetails: \"Detalhes\",\n    proj1Desc: \"Sistema de gest\\u00e3o e comunica\\u00e7\\u00e3o para o setor de distribui\\u00e7\\u00e3o de energia com extra\\u00e7\\u00e3o inteligente de dados de e-mails e gera\\u00e7\\u00e3o autom\\u00e1tica de PDFs.\",\n    proj2Desc: \"Single Sign-On corporativo interconectando m\\u00faltiplos sistemas com gest\\u00e3o de permiss\\u00f5es e perfis de acesso.\",\n    proj3Desc: \"Ciclo completo de mudan\\u00e7as organizacionais com avalia\\u00e7\\u00e3o de impacto e conformidade ISO.\",\n    proj4Desc: \"Gest\\u00e3o e valida\\u00e7\\u00e3o de cl\\u00e1usulas contratuais para Corporate Finance com importa\\u00e7\\u00e3o via Excel.\",\n    proj5Desc: \"App mobile para An\\u00e1lise Preliminar de Risco em instala\\u00e7\\u00f5es el\\u00e9tricas, conformidade NR10.\",\n    proj6Desc: \"Gest\\u00e3o inteligente de espa\\u00e7os corporativos com mapa interativo para reservas.\",\n    proj7Desc: \"App de ado\\u00e7\\u00e3o de pets com chat em tempo real, autentica\\u00e7\\u00e3o segura e painel admin com dashboard.\",\n    proj8Desc: \"Plataforma de doa\\u00e7\\u00e3o de l\\u00edquidos com 4 apps interconectados e sistema de cr\\u00e9ditos.\",\n    proj9Desc: \"Predi\\u00e7\\u00e3o de doen\\u00e7as com IA \\u2014 130+ sintomas, 40 doen\\u00e7as, 97.62% de acur\\u00e1cia.\",\n    proj10Desc: \"Modelagem de churn banc\\u00e1rio com ML e 86.83% de acur\\u00e1cia.\",\n    proj11Desc: \"Jogo 3D mobile com mundo aberto, customiza\\u00e7\\u00e3o de personagem e scoreboard competitivo.\",\n    proj12Desc: \"Sistema de transcri\\u00e7\\u00e3o simult\\u00e2nea e assist\\u00eancia por IA para centros de comando operacional.\",\n    proj13Desc: \"Sistema de extra\\u00e7\\u00e3o automatizada de leil\\u00f5es imobili\\u00e1rios de grandes portais banc\\u00e1rios com IA para parsing.\",\n    proj14Desc: \"Sistema de processamento inteligente de documentos de im\\u00f3veis de leil\\u00e3o com OCR.\",\n    proj15Desc: \"Plataforma de avalia\\u00e7\\u00e3o financeira de im\\u00f3veis de leil\\u00e3o com coleta de 4M+ im\\u00f3veis.\",\n    projStatusDev: \"Em Desenvolvimento\",\n\n    \/\/ Modal\n    modalFeatures: \"Funcionalidades\",\n    modalTech: \"Tecnologias\",\n\n    \/\/ Experience\n    expBadge: \"Carreira\",\n    expTitle: \"Experi\\u00eancia Profissional\",\n    expSubtitle: \"Uma timeline do meu crescimento na \\u00e1rea de tecnologia.\",\n    exp1Role: \"Full-Stack Developer\",\n    exp1Company: \"Software House\",\n    exp1Desc: \"Desenvolvimento de 6+ sistemas corporativos para m\\u00e9dias e grandes empresas. Respons\\u00e1vel pelo backend .NET, frontend Angular, aplica\\u00e7\\u00f5es mobile e integra\\u00e7\\u00e3o de servi\\u00e7os.\",\n    exp1Date: \"Jun 2021 \\u2014 Atual\",\n    exp2Role: \"Estagi\\u00e1rio de Desenvolvimento\",\n    exp2Type: \"Est\\u00e1gio\",\n    exp2Company: \"In\\u00edcio de Carreira\",\n    exp2Desc: \"Constru\\u00e7\\u00e3o de fundamentos s\\u00f3lidos em C#, SQL Server, Angular e metodologias \\u00e1geis. Desenvolvimento do projeto de TCC MyPet \\u2014 aplicativo mobile completo com .NET MAUI e .NET API 6. Projetos acad\\u00eamicos com Unity (jogo 3D mobile) e Intelig\\u00eancia Artificial (predi\\u00e7\\u00e3o de doen\\u00e7as e an\\u00e1lise de churn banc\\u00e1rio). Gradua\\u00e7\\u00e3o conclu\\u00edda em dezembro de 2023.\",\n\n    \/\/ Contact\n    contactBadge: \"Contato\",\n    contactTitle: \"Vamos trabalhar juntos\",\n    contactSubtitle: \"Aberto a projetos, freelance e oportunidades desafiadoras.\",\n    contactEmail: \"Email\",\n    contactPhone: \"Telefone\",\n    contactGithub: \"GitHub\",\n    contactLinkedin: \"LinkedIn\",\n    formName: \"Nome completo\",\n    formNamePh: \"Seu nome\",\n    formEmail: \"Email\",\n    formEmailPh: \"seu@email.com\",\n    formSubject: \"Assunto\",\n    formSubjectPh: \"Sobre o que quer conversar?\",\n    formMessage: \"Mensagem\",\n    formMessagePh: \"Conte mais sobre seu projeto...\",\n    formHint: \"Respondo em at\\u00e9 24h\",\n    formSend: \"Enviar \\u203a\",\n\n    \/\/ Footer\n    footerDesc: \"Full-stack developer construindo solu\\u00e7\\u00f5es digitais com .NET, Angular e Python. C\\u00f3digo limpo, arquitetura s\\u00f3lida, resultados reais.\",\n    footerLinks: \"Links\",\n    footerAbout: \"Sobre\",\n    footerSkills: \"Skills\",\n    footerProjects: \"Projetos\",\n    footerExp: \"Experi\\u00eancia\",\n    footerContact: \"Contato\",\n    footerServices: \"Servi\\u00e7os\",\n    footerSvc1: \"Desenvolvimento Web\",\n    footerSvc2: \"APIs & Backend\",\n    footerSvc3: \"Automa\\u00e7\\u00e3o & IA\",\n    footerSvc4: \"Consultoria\",\n    footerCopy: \"\\u00a9 2026 Gabriel \/ Todos os direitos reservados\",\n    footerBackTop: \"Voltar ao topo\",\n  },\n  en: {\n    navHome: \"Home\",\n    navAbout: \"About\",\n    navSkills: \"Skills\",\n    navProjects: \"Projects\",\n    navExperience: \"Experience\",\n    navContact: \"Contact\",\n\n    heroBadge: \"Available for projects\",\n    heroTagline: \"Shaping digital solutions with clean code.\",\n    heroDesc: \"Full-stack developer since 2021, specialized in .NET and Angular. Solid architecture, technical leadership, and scalable solutions.\",\n    heroBtn1: \"Download CV \\u203a\",\n    heroBtn2: \"View projects\",\n\n    aboutBadge: \"Building digital solutions\",\n    aboutTitle: \"About me\",\n    aboutSubtitle: \"My journey, skills, and what drives me.\",\n    aboutJourneyTitle: \"My Journey\",\n    aboutP1: \"Full-stack developer working in the field since June 2021. Specialized in backend with .NET API (version 5+) and frontend with Angular 13+. Solid experience in Ionic for mobile development, using SQL Server for robust, secure, and scalable data management.\",\n    aboutLeaderTitle: \"Leadership & Management\",\n    aboutLeaderText: \"Team management in development projects, including role distribution, supervision, and support, in addition to performing development activities. Involved in the hiring process of new interns, covering test creation and correction, as well as conducting technical interviews.\",\n    aboutEduTitle: \"Education & Development\",\n    aboutEduText: \"Graduated in December 2023. Practical experience during college in game projects with Unity, artificial intelligence, and mobile solutions.\",\n    aboutCorpTitle: \"Corporate Experience\",\n    aboutCorpText: \"Worked at a software house specialized in building systems for medium and large companies, where I developed 6+ corporate systems and participated in dozens. Responsible for .NET backend, Angular frontend, and service integration.\",\n    aboutCheckTitle: \"What I bring\",\n    aboutCheck1: \"Clean architecture and testable code\",\n    aboutCheck2: \"High-performance and scalable .NET APIs\",\n    aboutCheck3: \"Technical leadership and team management\",\n    aboutCheck4: \"Mobile applications with Ionic\",\n    stat1Label: \"Years of exp.\",\n    stat2Label: \"Projects\",\n    stat3Label: \"Technologies\",\n    stat4Label: \"Learning\",\n\n    skillsBadge: \"Tech Stack\",\n    skillsTitle: \"Skills & Tools\",\n    skillsDesc: \"Technologies I master and use daily.\",\n    skillsCatLang: \"Programming Languages\",\n    skillsCatMarkup: \"Markup & Styling\",\n    skillsCatFramework: \"Frameworks & Platforms\",\n    skillsCatDB: \"Databases\",\n    skillsCatTools: \"IDEs & Tools\",\n\n    projBadge: \"Portfolio\",\n    projTitle: \"Projects & Cases\",\n    projSubtitle: \"From concept to deploy \\u2014 my work.\",\n    filterAll: \"All\",\n    filterCorp: \"Corporate\",\n    filterMobile: \"Mobile\",\n    filterData: \"Data \/ AI\",\n    projStatusConf: \"Confidential\",\n    projStatusTCC: \"Thesis\",\n    projStatusAcad: \"Academic\",\n    projDetails: \"Details\",\n    proj1Desc: \"Corporate management and communication system with intelligent email data extraction and automatic PDF generation.\",\n    proj2Desc: \"Corporate Single Sign-On interconnecting multiple systems with permissions and access profile management.\",\n    proj3Desc: \"Complete organizational change cycle with impact assessment and ISO compliance.\",\n    proj4Desc: \"Contract clause management and validation for Corporate Finance with Excel import.\",\n    proj5Desc: \"Mobile app for Preliminary Risk Analysis in electrical installations, NR10 compliance.\",\n    proj6Desc: \"Intelligent corporate space management with interactive map for workspace reservations.\",\n    proj7Desc: \"Pet adoption app with real-time chat, secure authentication, and admin dashboard.\",\n    proj8Desc: \"Liquid donation platform with 4 interconnected apps and credit system.\",\n    proj9Desc: \"Disease prediction with AI \\u2014 130+ symptoms, 40 diseases, 97.62% accuracy.\",\n    proj10Desc: \"Banking churn modeling with ML and 86.83% accuracy.\",\n    proj11Desc: \"3D mobile game with open world, character customization, and competitive scoreboard.\",\n    proj12Desc: \"Real-time transcription and AI assistance system for operational command centers.\",\n    proj13Desc: \"Automated extraction system for real estate auctions from major banking portals with AI parsing.\",\n    proj14Desc: \"Intelligent document processing system for auction real estate with OCR.\",\n    proj16Desc: \"Mobile app for checklist and inspection management across environmental, electrical, and construction sectors.\",\n    proj15Desc: \"Financial valuation platform for auction properties with 4M+ property collection.\",\n    projStatusDev: \"In Development\",\n\n    modalFeatures: \"Features\",\n    modalTech: \"Technologies\",\n\n    expBadge: \"Career\",\n    expTitle: \"Professional Experience\",\n    expSubtitle: \"A timeline of my growth in the technology field.\",\n    exp1Role: \"Full-Stack Developer\",\n    exp1Company: \"Software House\",\n    exp1Desc: \"Development of 6+ corporate systems for medium and large companies. Responsible for .NET backend, Angular frontend, mobile applications, and service integration.\",\n    exp1Date: \"Jun 2021 \\u2014 Present\",\n    exp2Role: \"Development Intern\",\n    exp2Type: \"Internship\",\n    exp2Company: \"Career Start\",\n    exp2Desc: \"Building solid foundations in C#, SQL Server, Angular, and agile methodologies. Development of the MyPet thesis project \\u2014 complete mobile app with .NET MAUI and .NET API 6. Academic projects with Unity (3D mobile game) and Artificial Intelligence (disease prediction and banking churn analysis). Graduated in December 2023.\",\n\n    contactBadge: \"Contact\",\n    contactTitle: \"Let's work together\",\n    contactSubtitle: \"Open to projects, freelance, and challenging opportunities.\",\n    contactEmail: \"Email\",\n    contactPhone: \"Phone\",\n    contactGithub: \"GitHub\",\n    contactLinkedin: \"LinkedIn\",\n    formName: \"Full name\",\n    formNamePh: \"Your name\",\n    formEmail: \"Email\",\n    formEmailPh: \"your@email.com\",\n    formSubject: \"Subject\",\n    formSubjectPh: \"What would you like to talk about?\",\n    formMessage: \"Message\",\n    formMessagePh: \"Tell me more about your project...\",\n    formHint: \"I respond within 24h\",\n    formSend: \"Send \\u203a\",\n\n    footerDesc: \"Full-stack developer building digital solutions with .NET, Angular, and Python. Clean code, solid architecture, real results.\",\n    footerLinks: \"Links\",\n    footerAbout: \"About\",\n    footerSkills: \"Skills\",\n    footerProjects: \"Projects\",\n    footerExp: \"Experience\",\n    footerContact: \"Contact\",\n    footerServices: \"Services\",\n    footerSvc1: \"Web Development\",\n    footerSvc2: \"APIs & Backend\",\n    footerSvc3: \"Automation & AI\",\n    footerSvc4: \"Consulting\",\n    footerCopy: \"\\u00a9 2026 Gabriel \/ All rights reserved\",\n    footerBackTop: \"Back to top\",\n  }\n};\n\n\/\/ =============================================\n\/\/ LANGUAGE TOGGLE\n\/\/ =============================================\nlet currentLang = localStorage.getItem('profileLang') || 'pt';\n\nfunction applyLang(lang) {\n  currentLang = lang;\n  localStorage.setItem('profileLang', lang);\n\n  \/\/ Update all data-i18n elements\n  document.querySelectorAll('[data-i18n]').forEach(function(el) {\n    var key = el.getAttribute('data-i18n');\n    if (translations[lang] && translations[lang][key]) {\n      el.textContent = translations[lang][key];\n    }\n  });\n\n  \/\/ Update placeholders\n  document.querySelectorAll('[data-i18n-placeholder]').forEach(function(el) {\n    var key = el.getAttribute('data-i18n-placeholder');\n    if (translations[lang] && translations[lang][key]) {\n      el.placeholder = translations[lang][key];\n    }\n  });\n\n  \/\/ Update toggle buttons\n  document.querySelectorAll('.lang-toggle').forEach(function(btn) {\n    btn.textContent = lang === 'pt' ? 'EN' : 'PT';\n  });\n}\n\nfunction toggleLang() {\n  applyLang(currentLang === 'pt' ? 'en' : 'pt');\n}\n\n\/\/ =============================================\n\/\/ PROJECT DATA FOR MODAL\n\/\/ =============================================\n\n\n\/\/ =============================================\n\/\/ MOBILE MENU\n\/\/ =============================================\n\n\n\/\/ =============================================\n\/\/ SCROLL REVEAL\n\/\/ =============================================\nvar obs = new IntersectionObserver(function(entries) {\n  entries.forEach(function(e) { if (e.isIntersecting) e.target.classList.add('vis'); });\n}, { threshold: 0.08 });\n\ndocument.querySelectorAll('.anim, .about-skill-card, .exp-item').forEach(function(el) { obs.observe(el); });\n\n\/\/ =============================================\n\/\/ ACTIVE SIDEBAR LINK ON SCROLL\n\/\/ =============================================\nvar sections = document.querySelectorAll('section[id]');\nvar sidebarLinks = document.querySelectorAll('.sidebar-link');\n\nwindow.addEventListener('scroll', function() {\n  var current = '';\n  sections.forEach(function(sec) {\n    var top = sec.offsetTop - 120;\n    if (window.scrollY >= top) current = sec.getAttribute('id');\n  });\n  sidebarLinks.forEach(function(link) {\n    link.classList.remove('active');\n    if (link.dataset.section === current) link.classList.add('active');\n  });\n});\n\n\/\/ =============================================\n\/\/ SMOOTH SCROLL FOR ANCHOR LINKS\n\/\/ =============================================\ndocument.querySelectorAll('a[href^=\"#\"]').forEach(function(a) {\n  a.addEventListener('click', function(e) {\n    e.preventDefault();\n    var target = document.querySelector(a.getAttribute('href'));\n    if (target) target.scrollIntoView({ behavior: 'smooth' });\n  });\n});\n\n\/\/ =============================================\n\/\/ PROJECT FILTERS\n\/\/ =============================================\ndocument.querySelectorAll('.proj-filter').forEach(function(btn) {\n  btn.addEventListener('click', function() {\n    document.querySelectorAll('.proj-filter').forEach(function(b) { b.classList.remove('active'); });\n    btn.classList.add('active');\n    var filter = btn.dataset.filter;\n    document.querySelectorAll('.proj-card').forEach(function(card) {\n      if (filter === 'all' || card.dataset.cat.includes(filter)) {\n        card.style.display = '';\n      } else {\n        card.style.display = 'none';\n      }\n    });\n  });\n});\n\n\n\/\/ Card click opens modal\ndocument.querySelectorAll('.proj-card').forEach(function(card) {\n  card.addEventListener('click', function() {\n    var projKey = card.dataset.proj;\n    if (projKey) openProjectModal(projKey);\n  });\n});\n\n\/\/ =============================================\n\/\/ FORM MAILTO\n\/\/ =============================================\ndocument.addEventListener('DOMContentLoaded', function() {\n  var formBtn = document.querySelector('.contact-form-box .btn-primary');\n  if (formBtn) {\n    formBtn.addEventListener('click', function(e) {\n      e.preventDefault();\n      var inputs = document.querySelectorAll('.contact-form-box .form-input');\n      var name = inputs[0] ? inputs[0].value : '';\n      var email = inputs[1] ? inputs[1].value : '';\n      var subject = inputs[2] ? inputs[2].value : '';\n      var message = document.querySelector('.contact-form-box .form-textarea');\n      var msg = message ? message.value : '';\n      var mailto = 'mailto:Gabriel.silvaduarte@hotmail.com?subject=' + encodeURIComponent(subject || 'Contato via Portfolio') + '&body=' + encodeURIComponent('Nome: ' + name + '\\nEmail: ' + email + '\\n\\n' + msg);\n      window.location.href = mailto;\n    });\n  }\n});\n\n\/\/ =============================================\n\/\/ APPLY LANGUAGE ON LOAD\n\/\/ =============================================\ndocument.addEventListener('DOMContentLoaded', function() {\n  if (currentLang !== 'pt') applyLang(currentLang);\n});\n\n\n<\/script>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>G Gabriel Silva Duarte. Home Sobre Skills Projetos Experiencia Contato EN Gabriel Silva Duarte. EN Home Sobre Skills Projetos Experiencia Contato Disponivel para projetos Gabriel Silva Duarte Dando forma a solucoes digitais com codigo limpo. Full-stack developer desde 2021, especializado em .NET e Angular. Arquitetura solida, lideranca tecnica e solucoes escalaveis. Download CV &rsaquo; Ver [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"acf":[],"_links":{"self":[{"href":"https:\/\/gabrielsilvaduartedev.com\/index.php\/wp-json\/wp\/v2\/pages\/503"}],"collection":[{"href":"https:\/\/gabrielsilvaduartedev.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gabrielsilvaduartedev.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gabrielsilvaduartedev.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gabrielsilvaduartedev.com\/index.php\/wp-json\/wp\/v2\/comments?post=503"}],"version-history":[{"count":25,"href":"https:\/\/gabrielsilvaduartedev.com\/index.php\/wp-json\/wp\/v2\/pages\/503\/revisions"}],"predecessor-version":[{"id":561,"href":"https:\/\/gabrielsilvaduartedev.com\/index.php\/wp-json\/wp\/v2\/pages\/503\/revisions\/561"}],"wp:attachment":[{"href":"https:\/\/gabrielsilvaduartedev.com\/index.php\/wp-json\/wp\/v2\/media?parent=503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}