@import "https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&family=Manrope:wght@500;600;700;800&display=swap";.passport-hud[data-v-d418e492]{z-index:100;background:var(--bg-surface-glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);width:100%;transition:all var(--transition-smooth);position:sticky;top:0}.hud-container[data-v-d418e492]{justify-content:space-between;align-items:center;gap:16px;max-width:1280px;margin:0 auto;padding:10px 24px;display:flex}.hud-brand[data-v-d418e492]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity var(--transition-fast);flex-shrink:0;align-items:center;gap:12px;display:flex}.hud-brand[data-v-d418e492]:hover{opacity:.85}.biometric-pulse[data-v-d418e492]{border-radius:var(--radius-full);background:var(--accent-primary);width:10px;height:10px;box-shadow:0 0 10px var(--accent-primary);animation:2s infinite pulse-d418e492}@keyframes pulse-d418e492{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.brand-text[data-v-d418e492]{flex-direction:column;line-height:1.2;display:flex}.brand-sub[data-v-d418e492]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);font-size:.65rem;font-weight:700}.brand-name[data-v-d418e492]{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.01em;font-size:.95rem;font-weight:800}.hud-nav-links[data-v-d418e492]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);align-items:center;gap:4px;padding:4px 6px;display:flex}.hud-nav-item[data-v-d418e492]{border-radius:var(--radius-full);font-family:var(--font-heading);letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;align-items:center;padding:6px 14px;font-size:.78rem;font-weight:800;display:inline-flex}.hud-nav-item[data-v-d418e492]:hover{color:var(--text-primary);background:var(--bg-badge)}.hud-nav-item.active[data-v-d418e492]{color:#fff;background:var(--grad-blue-hero);border:1px solid #a6d4f866;box-shadow:0 2px 8px #0d459680}.hud-actions[data-v-d418e492]{flex-shrink:0;align-items:center;gap:10px;display:flex}.lang-switcher[data-v-d418e492]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);align-items:center;gap:2px;padding:2px;display:flex}.lang-btn[data-v-d418e492]{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);border-radius:var(--radius-full);transition:all var(--transition-fast);padding:5px 10px;font-size:.75rem;font-weight:800}.lang-btn[data-v-d418e492]:hover{color:var(--text-primary)}.lang-btn.active[data-v-d418e492]{background:var(--grad-blue-hero);color:#fff;box-shadow:0 2px 6px #0d459666}.theme-toggle-btn[data-v-d418e492]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);width:34px;height:34px;color:var(--text-primary);transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;font-size:.95rem;display:flex}.theme-toggle-btn[data-v-d418e492]:hover{border-color:var(--border-active);transform:translateY(-1px)}@media (width<=1024px){.hud-nav-links[data-v-d418e492]{display:none}}@media (width<=768px){.brand-sub[data-v-d418e492]{display:none}.hud-container[data-v-d418e492]{padding:8px 16px}.lang-btn[data-v-d418e492]{padding:4px 8px;font-size:.72rem}.theme-toggle-btn[data-v-d418e492]{width:32px;height:32px;font-size:.85rem}}.identity-section[data-v-87fbde76]{width:100%;padding:32px 0 24px}.identity-bento[data-v-87fbde76]{grid-template-columns:2fr 1fr;gap:24px;display:grid}.card-hero[data-v-87fbde76],.card-sidebar[data-v-87fbde76]{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);transition:border-color var(--transition-smooth), transform var(--transition-smooth);padding:32px;position:relative;overflow:hidden}.card-hero[data-v-87fbde76]:hover,.card-sidebar[data-v-87fbde76]:hover{border-color:var(--border-active)}.hero-top-badge[data-v-87fbde76]{background:var(--grad-badge-highlight);border:1px solid var(--border-accent);border-bottom:2.5px solid var(--border-red);box-shadow:0 4px 14px var(--c-accent-glow);border-radius:4px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 16px;display:inline-flex;transform:skew(-12deg)}.hero-top-badge[data-v-87fbde76]>*{transform:skew(12deg)}.badge-dot[data-v-87fbde76]{border-radius:var(--radius-full);background:var(--c-blanco-warm);width:8px;height:8px}.badge-text[data-v-87fbde76]{font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;color:var(--text-on-badge-highlight);font-size:.78rem;font-style:italic;font-weight:900}.hero-main-content[data-v-87fbde76]{align-items:flex-start;gap:32px;display:flex}.avatar-container[data-v-87fbde76]{flex-direction:column;flex-shrink:0;align-items:center;gap:12px;display:flex}.avatar-frame[data-v-87fbde76]{border-radius:var(--radius-md);border:2px solid var(--c-azul-light);background:var(--grad-avatar);width:140px;height:165px;box-shadow:var(--shadow-blue-btn);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.avatar-photo[data-v-87fbde76]{object-fit:cover;object-position:center 20%;width:100%;height:100%;display:block}.biometric-scanline[data-v-87fbde76]{background:var(--c-azul-light);width:100%;height:2px;box-shadow:0 0 8px var(--c-azul-light);animation:3s ease-in-out infinite scan-87fbde76;position:absolute;top:0;left:0}@keyframes scan-87fbde76{0%{top:0}50%{top:100%}to{top:0}}.origin-flag-badge[data-v-87fbde76]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-family:var(--font-mono);color:var(--text-primary);text-align:center;white-space:nowrap;justify-content:center;align-items:center;padding:5px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.hero-text-block[data-v-87fbde76]{flex-direction:column;flex:1;gap:12px;display:flex}.hero-name[data-v-87fbde76]{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-size:2.3rem;font-weight:800;line-height:1.1}.hero-headline[data-v-87fbde76]{font-family:var(--font-mono);color:var(--accent-primary);font-size:.95rem;font-weight:700;line-height:1.4}.hero-tagline[data-v-87fbde76]{color:var(--text-secondary);font-size:1.02rem;line-height:1.5}.academic-badges[data-v-87fbde76]{flex-direction:column;gap:8px;margin-top:4px;display:flex}.degree-badge[data-v-87fbde76]{color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all var(--transition-fast);align-items:center;gap:12px;padding:8px 14px;font-size:.88rem;font-weight:700;display:flex}.degree-badge[data-v-87fbde76]:hover{border-color:var(--border-active);background:var(--bg-surface-hover);transform:translate(4px)}.degree-bullet[data-v-87fbde76]{border-radius:var(--radius-full);background:var(--accent-primary);flex-shrink:0;width:6px;height:6px}.hero-action-row[data-v-87fbde76]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;width:100%;margin-top:14px;display:flex}.social-icons-group[data-v-87fbde76]{align-items:center;gap:8px;display:flex}.social-icon-btn[data-v-87fbde76]{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);width:40px;height:40px;color:var(--text-primary);transition:all var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.social-icon-btn[data-v-87fbde76]:hover{color:#fff;border-color:var(--border-active);transform:translateY(-2px);box-shadow:0 4px 12px #00000059}.social-icon-btn.linkedin[data-v-87fbde76]:hover{background:#0a66c2;border-color:#0a66c2;box-shadow:0 4px 14px #0a66c273}.social-icon-btn.github[data-v-87fbde76]:hover{background:#161b22;border-color:#ffffff4d;box-shadow:0 4px 14px #0006}.social-icon-btn.email[data-v-87fbde76]:hover{background:#4285f41f;border-color:#4285f4;box-shadow:0 4px 14px #4285f459}.main-cta-group[data-v-87fbde76]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-primary[data-v-87fbde76],.btn-ghost[data-v-87fbde76]{text-align:center;font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;transition:all var(--transition-fast);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:10px 18px;font-size:.86rem;font-style:italic;font-weight:900;display:inline-flex;transform:skew(-12deg)}.btn-primary[data-v-87fbde76]>*,.btn-ghost[data-v-87fbde76]>*{white-space:nowrap;transform:skew(12deg)}.btn-primary[data-v-87fbde76]{background:var(--grad-accent-primary);border:1px solid var(--border-accent);border-bottom:3px solid var(--border-red);color:var(--btn-primary-text);box-shadow:var(--shadow-accent-btn)}.btn-primary[data-v-87fbde76]:hover{background:var(--grad-accent-glow);box-shadow:0 10px 24px -2px var(--c-accent-glow);transform:skew(-12deg)translateY(-2px)}.btn-ghost[data-v-87fbde76]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-bottom:3px solid var(--border-active);color:var(--text-primary);box-shadow:0 4px 12px #00000040}.btn-ghost[data-v-87fbde76]:hover{background:var(--bg-badge);border-color:var(--accent-primary);transform:skew(-12deg)translateY(-2px);box-shadow:0 8px 20px #0d459666}.sidebar-header[data-v-87fbde76]{margin-bottom:18px}.card-sub[data-v-87fbde76]{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:800}.sidebar-header h3[data-v-87fbde76]{font-family:var(--font-heading);color:var(--text-primary);margin-top:4px;font-size:1.35rem;font-weight:800}.facts-list[data-v-87fbde76]{flex-direction:column;gap:10px;display:flex}.fact-item[data-v-87fbde76]{border-bottom:1px dashed var(--border-subtle);flex-direction:column;gap:2px;padding-bottom:6px;display:flex}.fact-label[data-v-87fbde76]{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.fact-val[data-v-87fbde76]{color:var(--text-primary);font-size:.86rem;font-weight:700}.fact-val.highlight[data-v-87fbde76]{color:var(--accent-primary)}.fact-val.highlight-status[data-v-87fbde76]{color:var(--accent-highlight);border-radius:var(--radius-sm);background:#0ea5e91f;border:1px solid #0ea5e947;width:fit-content;margin-top:3px;padding:4px 10px;font-size:.82rem;font-weight:700;line-height:1.4;display:inline-block}.focus-summary-box[data-v-87fbde76]{justify-content:center;margin-top:20px;display:flex}.focus-inner[data-v-87fbde76]{border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:center;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-surface);flex-direction:column;align-items:center;width:100%;padding:12px 16px;font-size:.72rem;display:flex}.focus-label[data-v-87fbde76]{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem}.focus-title[data-v-87fbde76]{font-family:var(--font-heading);letter-spacing:.02em;color:#fff;margin:2px 0;font-size:.95rem}.focus-sub[data-v-87fbde76]{color:var(--text-secondary);font-size:.72rem}@media (width<=960px){.identity-bento[data-v-87fbde76]{grid-template-columns:1fr}}@media (width<=640px){.card-hero[data-v-87fbde76],.card-sidebar[data-v-87fbde76]{padding:20px 16px}.hero-main-content[data-v-87fbde76]{text-align:center;flex-direction:column;align-items:center;gap:20px}.hero-name[data-v-87fbde76]{font-size:1.8rem}.hero-headline[data-v-87fbde76]{font-size:.88rem}.academic-badges[data-v-87fbde76]{text-align:left;align-items:stretch}.hero-action-row[data-v-87fbde76]{flex-direction:column;align-items:center;gap:12px}.main-cta-group[data-v-87fbde76]{flex-direction:column;gap:8px;width:100%}.btn-primary[data-v-87fbde76],.btn-ghost[data-v-87fbde76]{width:100%;padding:10px 14px;font-size:.82rem}}.education-section[data-v-f4389d3a]{width:100%;padding:48px 0 24px}.section-header[data-v-f4389d3a]{margin-bottom:24px}.header-badge[data-v-f4389d3a]{background:var(--bg-badge);border:1px solid var(--border-subtle);color:var(--text-on-badge);font-family:var(--font-mono);border-radius:var(--radius-full);align-items:center;gap:8px;margin-bottom:12px;padding:8px 16px;font-size:.78rem;font-weight:800;display:inline-flex}.section-title[data-v-f4389d3a]{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:2rem;font-weight:800}.section-desc[data-v-f4389d3a]{color:var(--text-secondary);max-width:820px;font-size:1rem;line-height:1.6}.institution-banner[data-v-f4389d3a]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--accent-primary);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:14px 20px;display:flex}.banner-badge[data-v-f4389d3a]{font-family:var(--font-heading);color:var(--text-primary);align-items:center;gap:10px;font-size:.92rem;font-weight:800;display:flex}.unmsm-icon[data-v-f4389d3a]{color:var(--accent-primary);flex-shrink:0}.banner-note[data-v-f4389d3a]{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;font-size:.75rem;font-weight:700}.degrees-grid[data-v-f4389d3a]{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.degree-card[data-v-f4389d3a]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-normal);flex-direction:column;padding:24px;display:flex;position:relative;overflow:hidden}.degree-card[data-v-f4389d3a]:before{content:"";height:2px;transition:background var(--transition-fast);background:0 0;position:absolute;top:0;left:0;right:0}.degree-card[data-v-f4389d3a]:hover{border-color:var(--border-active);background:var(--bg-surface-hover);transform:translateY(-2px);box-shadow:0 10px 24px #00000040}.degree-card[data-v-f4389d3a]:hover:before{background:var(--grad-accent-primary)}.card-top-row[data-v-f4389d3a]{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.degree-institution[data-v-f4389d3a]{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:800}.degree-period[data-v-f4389d3a]{font-family:var(--font-mono);color:var(--accent-primary);border-radius:var(--radius-full);white-space:nowrap;background:#0ea5e91f;border:1px solid #0ea5e940;padding:3px 10px;font-size:.75rem;font-weight:800}.degree-title[data-v-f4389d3a]{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:10px;font-size:1.15rem;font-weight:800;line-height:1.35}.degree-desc[data-v-f4389d3a]{color:var(--text-secondary);flex-grow:1;margin-bottom:16px;font-size:.88rem;line-height:1.55}.degree-tags[data-v-f4389d3a]{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px;display:flex}.topic-pill[data-v-f4389d3a]{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-badge);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:3px 8px;font-size:.7rem;font-weight:700}.degree-card:hover .topic-pill[data-v-f4389d3a]{color:var(--text-primary);border-color:#0ea5e940}@media (width<=860px){.degrees-grid[data-v-f4389d3a]{grid-template-columns:1fr}}.experience-section[data-v-68cc6e75]{width:100%;padding:48px 0 24px}.section-header[data-v-68cc6e75]{margin-bottom:32px}.header-badge[data-v-68cc6e75]{background:var(--bg-badge);border:1px solid var(--border-subtle);color:var(--text-on-badge);font-family:var(--font-mono);border-radius:var(--radius-full);align-items:center;gap:8px;margin-bottom:12px;padding:8px 16px;font-size:.78rem;font-weight:800;display:inline-flex}.section-title[data-v-68cc6e75]{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:2rem;font-weight:800}.section-desc[data-v-68cc6e75]{color:var(--text-secondary);max-width:820px;font-size:1rem;line-height:1.6}.timeline-container[data-v-68cc6e75]{flex-direction:column;gap:20px;display:flex}.job-card[data-v-68cc6e75]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-normal);gap:20px;padding:24px;display:flex;position:relative}.job-card.active[data-v-68cc6e75]{background:linear-gradient(135deg, var(--bg-surface) 0%, #0ea5e90a 100%);border-color:#0ea5e966;box-shadow:0 4px 20px #00000040}.job-card[data-v-68cc6e75]:hover{border-color:var(--border-active);transform:translate(4px)}.job-indicator-col[data-v-68cc6e75]{flex-direction:column;flex-shrink:0;align-items:center;padding-top:4px;display:flex}.job-dot[data-v-68cc6e75]{border-radius:var(--radius-full);background:var(--bg-surface-hover);border:2px solid var(--border-active);width:14px;height:14px;transition:all var(--transition-fast);flex-shrink:0}.job-card.active .job-dot[data-v-68cc6e75]{background:var(--accent-primary);box-shadow:0 0 12px var(--c-accent-glow);border-color:#fff}.job-line[data-v-68cc6e75]{background:var(--border-subtle);flex-grow:1;width:2px;margin-top:8px}.job-content[data-v-68cc6e75]{flex-grow:1;min-width:0}.job-header[data-v-68cc6e75]{margin-bottom:12px}.job-title-row[data-v-68cc6e75]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.job-role[data-v-68cc6e75]{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.01em;font-size:1.25rem;font-weight:800}.active-badge[data-v-68cc6e75]{color:var(--accent-primary);font-family:var(--font-mono);border-radius:var(--radius-full);letter-spacing:.04em;background:#0ea5e91f;border:1px solid #0ea5e959;align-items:center;gap:7px;padding:4px 10px;font-size:.68rem;font-weight:800;display:inline-flex}.active-ping[data-v-68cc6e75]{border-radius:var(--radius-full);background:var(--accent-primary);width:7px;height:7px;box-shadow:0 0 8px var(--accent-primary);animation:2s ease-in-out infinite beacon-pulse-68cc6e75}@keyframes beacon-pulse-68cc6e75{0%{opacity:1;transform:scale(.9)}50%{opacity:.6;transform:scale(1.3)}to{opacity:1;transform:scale(.9)}}.job-meta[data-v-68cc6e75]{font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;display:flex}.job-company[data-v-68cc6e75]{color:var(--text-primary);font-weight:800}.meta-separator[data-v-68cc6e75],.job-period[data-v-68cc6e75]{color:var(--text-muted)}.job-desc[data-v-68cc6e75]{color:var(--text-secondary);margin-bottom:16px;font-size:.92rem;line-height:1.6}.job-tags[data-v-68cc6e75]{flex-wrap:wrap;gap:6px;display:flex}.job-tag-pill[data-v-68cc6e75]{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-badge);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:3px 10px;font-size:.72rem;font-weight:700}.job-card:hover .job-tag-pill[data-v-68cc6e75]{color:var(--text-primary);border-color:#0ea5e94d}@media (width<=640px){.job-card[data-v-68cc6e75]{gap:14px;padding:18px}}.skills-section[data-v-73a92146]{width:100%;padding:48px 0 24px}.section-header[data-v-73a92146]{margin-bottom:32px}.header-badge[data-v-73a92146]{background:var(--bg-badge);border:1px solid var(--border-subtle);color:var(--text-on-badge);font-family:var(--font-mono);border-radius:var(--radius-full);align-items:center;gap:8px;margin-bottom:12px;padding:8px 16px;font-size:.78rem;font-weight:800;display:inline-flex}.section-title[data-v-73a92146]{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:2rem;font-weight:800}.section-desc[data-v-73a92146]{color:var(--text-secondary);max-width:820px;font-size:1rem;line-height:1.6}.skills-grid[data-v-73a92146]{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.skill-pillar-card[data-v-73a92146]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-normal);flex-direction:column;padding:24px;display:flex;position:relative;overflow:hidden}.skill-pillar-card[data-v-73a92146]:before{content:"";height:2px;transition:background var(--transition-fast);background:0 0;position:absolute;top:0;left:0;right:0}.skill-pillar-card[data-v-73a92146]:hover{border-color:var(--border-active);background:var(--bg-surface-hover);transform:translateY(-3px);box-shadow:0 12px 28px #0000004d}.skill-pillar-card[data-v-73a92146]:hover:before{background:var(--grad-accent-primary)}.pillar-header[data-v-73a92146]{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.pillar-icon-box[data-v-73a92146]{border-radius:var(--radius-sm);background:var(--bg-badge);border:1px solid var(--border-subtle);width:40px;height:40px;color:var(--accent-primary);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.skill-pillar-card:hover .pillar-icon-box[data-v-73a92146]{border-color:var(--accent-primary);box-shadow:0 0 12px var(--c-accent-glow);background:#0ea5e91f}.pillar-title-block[data-v-73a92146]{min-width:0}.pillar-name[data-v-73a92146]{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:4px;font-size:1.08rem;font-weight:800;line-height:1.3}.pillar-desc[data-v-73a92146]{color:var(--text-muted);font-size:.8rem;line-height:1.45}.pillar-pills[data-v-73a92146]{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px;display:flex}.tech-tag[data-v-73a92146]{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-badge);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:5px 11px;font-size:.76rem;font-weight:700}.skill-pillar-card:hover .tech-tag[data-v-73a92146]{color:var(--text-primary);border-color:#0ea5e940}.tech-tag[data-v-73a92146]:hover{transform:translateY(-1px);color:#fff!important;border-color:var(--accent-primary)!important;background:#0ea5e926!important}@media (width<=1024px){.skills-grid[data-v-73a92146]{grid-template-columns:1fr}}.projects-section[data-v-b257aa91]{width:100%;padding:48px 0 24px}.section-header[data-v-b257aa91]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.header-left[data-v-b257aa91]{max-width:760px}.header-badge[data-v-b257aa91]{background:var(--bg-badge);border:1px solid var(--border-subtle);color:var(--text-on-badge);font-family:var(--font-mono);border-radius:var(--radius-full);align-items:center;gap:8px;margin-bottom:12px;padding:8px 16px;font-size:.78rem;font-weight:800;display:inline-flex}.section-title[data-v-b257aa91]{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-size:2rem;font-weight:800}.section-desc[data-v-b257aa91]{color:var(--text-secondary);margin-top:8px;font-size:1.05rem;line-height:1.6}.github-profile-btn[data-v-b257aa91]{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;color:var(--btn-primary-text);background:var(--grad-accent-primary);border:1px solid var(--border-accent);border-bottom:2.5px solid var(--border-red);box-shadow:0 4px 14px var(--c-accent-glow);transition:all var(--transition-fast);white-space:nowrap;border-radius:4px;align-items:center;gap:10px;padding:10px 18px;font-size:.85rem;font-style:italic;font-weight:900;text-decoration:none;display:inline-flex;transform:skew(-12deg)}.github-profile-btn[data-v-b257aa91]>*{transform:skew(12deg)}.github-profile-btn[data-v-b257aa91]:hover{background:var(--grad-accent-glow);box-shadow:0 8px 20px var(--c-accent-glow);transform:skew(-12deg)translateY(-2px)}.projects-grid[data-v-b257aa91]{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.project-card[data-v-b257aa91]{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);transition:all var(--transition-smooth);flex-direction:column;justify-content:space-between;gap:16px;padding:28px;display:flex}.project-card[data-v-b257aa91]:hover{border-color:var(--border-active);transform:translateY(-3px);box-shadow:0 12px 30px #0006}.project-header[data-v-b257aa91]{flex-direction:column;gap:4px;display:flex}.project-title-row[data-v-b257aa91]{align-items:center;gap:12px;display:flex}.project-name[data-v-b257aa91]{font-family:var(--font-heading);color:var(--text-primary);font-size:1.35rem;font-weight:800}.live-pill[data-v-b257aa91]{font-family:var(--font-mono);color:#fff;background:var(--grad-accent-primary);border-radius:var(--radius-full);letter-spacing:.05em;padding:2px 8px;font-size:.65rem;font-weight:900;animation:2s infinite pulse-cyan-b257aa91;box-shadow:0 0 10px #0ea5e999}@keyframes pulse-cyan-b257aa91{0%,to{opacity:1}50%{opacity:.7}}.project-tagline[data-v-b257aa91]{font-family:var(--font-heading);color:var(--accent-primary);font-size:.92rem;font-weight:700}.project-desc[data-v-b257aa91]{color:var(--text-secondary);flex:1;font-size:.88rem;line-height:1.5}.project-footer[data-v-b257aa91]{border-top:1px solid var(--border-subtle);flex-direction:column;gap:14px;padding-top:14px;display:flex}.project-tags[data-v-b257aa91]{flex-wrap:wrap;gap:6px;display:flex}.tag-pill[data-v-b257aa91]{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-tag);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:3px 8px;font-size:.7rem}.project-actions[data-v-b257aa91]{align-items:center;gap:10px;display:flex}.action-btn[data-v-b257aa91]{font-family:var(--font-mono);border-radius:var(--radius-sm);transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:.75rem;font-weight:800;text-decoration:none;display:inline-flex}.action-btn.docs[data-v-b257aa91]{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary)}.action-btn.docs[data-v-b257aa91]:hover{color:var(--text-primary);border-color:var(--border-active)}.action-btn.primary[data-v-b257aa91]{background:var(--grad-blue-hero);color:#fff;box-shadow:var(--shadow-blue-btn);border:1px solid #a6d4f859}.action-btn.primary[data-v-b257aa91]:hover{border-color:var(--border-active);transform:translateY(-1px);box-shadow:0 6px 18px #0d45968c}@media (width<=960px){.projects-grid[data-v-b257aa91]{grid-template-columns:1fr}.section-header[data-v-b257aa91]{flex-direction:column;align-items:flex-start}}@media (width<=640px){.project-card[data-v-b257aa91]{padding:20px 16px}.project-name[data-v-b257aa91]{font-size:1.15rem}.project-actions[data-v-b257aa91]{justify-content:flex-start;width:100%}}.contact-section[data-v-e60af673]{width:100%;padding:48px 0 32px}.closing-banner-card[data-v-e60af673]{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition-normal);padding:44px 36px;position:relative;overflow:hidden;box-shadow:0 16px 36px #00000040}.closing-banner-card[data-v-e60af673]:hover{border-color:var(--border-active)}.banner-glow-effect[data-v-e60af673]{pointer-events:none;background:radial-gradient(circle,#0ea5e91f 0%,#0000 70%);width:320px;height:320px;position:absolute;top:-120px;right:-120px}.banner-content[data-v-e60af673]{z-index:1;text-align:center;flex-direction:column;align-items:center;max-width:860px;margin:0 auto;display:flex;position:relative}.banner-badge[data-v-e60af673]{background:var(--bg-badge);border:1px solid var(--border-subtle);color:var(--text-on-badge);font-family:var(--font-mono);border-radius:var(--radius-full);align-items:center;margin-bottom:16px;padding:6px 14px;font-size:.76rem;font-weight:800;display:inline-flex}.banner-title[data-v-e60af673]{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:10px;font-size:2.1rem;font-weight:800;line-height:1.25}.banner-desc[data-v-e60af673]{color:var(--text-secondary);max-width:680px;margin-bottom:32px;font-size:1.05rem;line-height:1.6}.actions-row[data-v-e60af673]{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;width:100%;margin-bottom:24px;display:flex}.email-pill-box[data-v-e60af673]{background:var(--bg-surface-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;display:inline-flex}.email-pill-box[data-v-e60af673]:hover{border-color:var(--border-active);background:var(--bg-surface-hover)}.email-icon[data-v-e60af673]{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.email-address[data-v-e60af673]{font-family:var(--font-mono);color:var(--text-primary);transition:color var(--transition-fast);font-size:.95rem;font-weight:800;text-decoration:none}.email-address[data-v-e60af673]:hover{color:var(--accent-primary)}.email-button-group[data-v-e60af673]{align-items:center;gap:8px;display:flex}.btn-action[data-v-e60af673]{font-family:var(--font-mono);border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:7px 12px;font-size:.76rem;font-weight:800;text-decoration:none;display:inline-flex}.btn-action.copy[data-v-e60af673]{background:var(--bg-badge);border:1px solid var(--border-subtle);color:var(--text-primary)}.btn-action.copy[data-v-e60af673]:hover{border-color:var(--border-active)}.btn-action.copy.copied[data-v-e60af673]{border-color:var(--accent-primary);color:var(--accent-primary);background:#0ea5e926}.btn-action.compose[data-v-e60af673]{background:var(--grad-accent-primary);border:1px solid var(--border-accent);color:#fff;box-shadow:var(--shadow-accent-btn)}.btn-action.compose[data-v-e60af673]:hover{background:var(--grad-accent-glow);transform:translateY(-1px)}.btn-inner[data-v-e60af673]{align-items:center;gap:6px;display:inline-flex}.icon-svg[data-v-e60af673]{flex-shrink:0}.icon-svg.check[data-v-e60af673]{color:var(--accent-primary)}.row-separator[data-v-e60af673]{background:var(--border-subtle);width:1px;height:32px}.social-quick-links[data-v-e60af673]{align-items:center;gap:10px;display:flex}.social-btn[data-v-e60af673]{background:var(--bg-surface-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;gap:8px;padding:8px 14px;text-decoration:none;display:inline-flex}.social-label[data-v-e60af673]{font-family:var(--font-heading);color:var(--text-primary);font-size:.88rem;font-weight:800}.social-btn[data-v-e60af673]:hover{border-color:var(--border-active);background:var(--bg-surface-hover);transform:translateY(-2px)}.social-btn.linkedin[data-v-e60af673]:hover{border-color:#0a66c2;box-shadow:0 4px 14px #0a66c266}.social-btn.github[data-v-e60af673]:hover{border-color:#ffffff4d;box-shadow:0 4px 14px #0006}.banner-footer-info[data-v-e60af673]{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:flex}.location-dot[data-v-e60af673]{border-radius:var(--radius-full);background:var(--accent-primary);width:6px;height:6px}@media (width<=768px){.closing-banner-card[data-v-e60af673]{padding:32px 20px}.banner-title[data-v-e60af673]{font-size:1.6rem}.actions-row[data-v-e60af673]{flex-direction:column;gap:14px}.row-separator[data-v-e60af673]{display:none}.email-pill-box[data-v-e60af673]{justify-content:center;width:100%}}.passport-app[data-v-d9273494]{flex-direction:column;min-height:100vh;display:flex;position:relative}.passport-main[data-v-d9273494]{flex:1;width:100%}.content-wrapper[data-v-d9273494]{max-width:1280px;margin:0 auto;padding:0 24px}.fab-back-to-top[data-v-d9273494]{z-index:90;background:var(--bg-surface);border:1px solid var(--border-active);color:var(--text-primary);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(12px);font-family:var(--font-heading);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:10px 18px;font-size:.85rem;font-weight:800;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 10px 30px #0006,0 0 16px #0d45964d}.fab-arrow[data-v-d9273494]{border-radius:var(--radius-full);background:var(--grad-accent-primary);color:#fff;width:24px;height:24px;transition:transform var(--transition-fast);justify-content:center;align-items:center;font-size:.95rem;font-weight:900;display:flex}.fab-back-to-top[data-v-d9273494]:hover{border-color:var(--border-accent);box-shadow:0 14px 36px #00000080, 0 0 20px var(--c-accent-glow);transform:translateY(-4px)}.fab-back-to-top:hover .fab-arrow[data-v-d9273494]{transform:translateY(-2px)}.fab-slide-enter-active[data-v-d9273494],.fab-slide-leave-active[data-v-d9273494]{transition:all .3s cubic-bezier(.16,1,.3,1)}.fab-slide-enter-from[data-v-d9273494],.fab-slide-leave-to[data-v-d9273494]{opacity:0;transform:translateY(20px)scale(.9)}.passport-footer[data-v-d9273494]{border-top:1px solid var(--border-subtle);background:var(--bg-surface-glass);margin-top:48px;padding:32px 24px}.footer-content[data-v-d9273494]{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:1280px;margin:0 auto;display:flex}.footer-copy[data-v-d9273494]{font-family:var(--font-heading);color:var(--text-primary);font-size:.9rem;font-weight:700}.footer-tech[data-v-d9273494]{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}@media (width<=768px){.fab-back-to-top[data-v-d9273494]{padding:10px 12px;bottom:20px;right:20px}.fab-text[data-v-d9273494]{display:none}}@media (width<=640px){.content-wrapper[data-v-d9273494]{padding:0 16px}}:root,[data-theme=dark]{--c-accent-1:#0ea5e9;--c-accent-2:#0284c7;--c-accent-border:#0369a1;--c-accent-glow:#0ea5e973;--c-rojo-1:#0ea5e9;--c-rojo-2:#0284c7;--c-rojo-border:#0369a1;--c-azul-dark:#093775;--c-azul-navy:#0b3a80;--c-azul-vivid:#0d4596;--c-azul-light:#a6d4f8;--c-blanco:#fff;--c-blanco-warm:#f8fafc;--c-negro:#010103;--c-azul:#093775;--c-gris:#a6d4f8;--c-verde:#0d4596;--grad-accent-primary:linear-gradient(180deg, #0ea5e9 0%, #0284c7 55%, #0369a1 100%);--grad-accent-glow:linear-gradient(180deg, #38bdf8 0%, #0ea5e9 50%, #0284c7 100%);--grad-accent-banner:linear-gradient(180deg, #0ea5e9 0%, #0284c7 60%, #0369a1 100%);--grad-red-primary:var(--grad-accent-primary);--grad-red-glow:var(--grad-accent-glow);--grad-red-banner:var(--grad-accent-banner);--grad-blue-hero:linear-gradient(135deg, #093775 0%, #0b3a80 50%, #0d4596 100%);--grad-card:linear-gradient(145deg, #0b3a8073 0%, #061733d9 100%);--grad-surface:linear-gradient(135deg, #0d45964d 0%, #09377526 100%);--grad-surface-hover:linear-gradient(135deg, #0d459680 0%, #0937754d 100%);--grad-badge-neutral:linear-gradient(135deg, #0d459666 0%, #09377599 100%);--grad-badge-highlight:var(--grad-accent-primary);--grad-avatar:linear-gradient(145deg, #093775 0%, #0d4596 70%, #0b3a80 100%);--font-heading:"Manrope", "Golos Text", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Golos Text", "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-main:#071f48;--bg-pattern-dot:#a6d4f829;--bg-surface:#0d459652;--bg-surface-hover:#0d45968c;--bg-surface-glass:#071f48eb;--bg-card:linear-gradient(145deg, #0d459673 0%, #071f48d9 100%);--bg-badge:linear-gradient(135deg, #0d459680 0%, #093775b3 100%);--bg-tag:#a6d4f826;--border-subtle:#a6d4f847;--border-card:#a6d4f852;--border-active:#fff;--border-accent:#0ea5e9;--border-red:#0369a1;--shadow-card:0 16px 40px -10px #020c1ebf;--shadow-accent-btn:0 8px 24px -4px #0ea5e973;--shadow-red-btn:var(--shadow-accent-btn);--shadow-blue-btn:0 8px 24px -4px #0d459680;--text-primary:#fff;--text-secondary:#d6ecff;--text-muted:#a6d4f8;--text-on-badge:#d6ecff;--text-on-badge-highlight:#fff;--text-watermark:#a6d4f817;--btn-primary-bg:var(--grad-accent-primary);--btn-primary-text:#fff;--btn-primary-border:#0369a1;--btn-secondary-bg:var(--grad-blue-hero);--btn-secondary-text:#fff;--btn-secondary-border:#a6d4f880;--accent-primary:#38bdf8;--accent-secondary:#0ea5e9;--accent-highlight:#a6d4f8;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.18s ease;--transition-smooth:.3s cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--c-accent-1:#0284c7;--c-accent-2:#0369a1;--c-accent-border:#075985;--c-accent-glow:#0284c759;--c-rojo-1:#0284c7;--c-rojo-2:#0369a1;--c-rojo-border:#075985;--c-azul-dark:#093775;--c-azul-navy:#0b3a80;--c-azul-vivid:#0d4596;--c-azul-light:#a6d4f8;--c-blanco:#fff;--c-blanco-warm:#f8fafc;--c-negro:#010103;--c-azul:#0b3a80;--c-gris:#093775;--c-verde:#0d4596;--grad-accent-primary:linear-gradient(180deg, #0284c7 0%, #0369a1 55%, #075985 100%);--grad-accent-glow:linear-gradient(180deg, #0ea5e9 0%, #0284c7 50%, #0369a1 100%);--grad-accent-banner:linear-gradient(180deg, #0284c7 0%, #0369a1 60%, #075985 100%);--grad-red-primary:var(--grad-accent-primary);--grad-red-glow:var(--grad-accent-glow);--grad-red-banner:var(--grad-accent-banner);--grad-blue-hero:linear-gradient(135deg, #093775 0%, #0b3a80 50%, #0d4596 100%);--grad-card:linear-gradient(145deg, #fff 0%, #f4f8fd 100%);--grad-surface:linear-gradient(135deg, #fff 0%, #f1f7fd 100%);--grad-surface-hover:linear-gradient(135deg, #edf5fd 0%, #e1effc 100%);--grad-badge-neutral:linear-gradient(135deg, #e6f1fc 0%, #d8ebfa 100%);--grad-badge-highlight:var(--grad-accent-primary);--grad-avatar:linear-gradient(145deg, #093775 0%, #0d4596 70%, #0b3a80 100%);--bg-main:#f3f8fd;--bg-pattern-dot:#0b3a801f;--bg-surface:#fff;--bg-surface-hover:#eaf4fd;--bg-surface-glass:#fffffff0;--bg-card:var(--grad-card);--bg-badge:var(--grad-badge-neutral);--bg-tag:#0b3a8014;--border-subtle:#0b3a8026;--border-card:#0d459629;--border-active:#0d4596;--border-accent:#0284c7;--border-red:#075985;--shadow-card:0 12px 32px -8px #0b3a801a;--shadow-accent-btn:0 8px 24px -4px #0284c759;--shadow-red-btn:var(--shadow-accent-btn);--shadow-blue-btn:0 8px 24px -4px #0d459633;--text-primary:#010103;--text-secondary:#093775;--text-muted:#4d688b;--text-on-badge:#093775;--text-on-badge-highlight:#fff;--text-watermark:#0b3a800f;--btn-primary-bg:var(--grad-accent-primary);--btn-primary-text:#fff;--btn-primary-border:#075985;--btn-secondary-bg:#fff;--btn-secondary-text:#0b3a80;--btn-secondary-border:#0d4596;--accent-primary:#0284c7;--accent-secondary:#0369a1;--accent-highlight:#38bdf8}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);background-color:var(--bg-main);color:var(--text-primary);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scroll-padding-top:76px}body{background-color:var(--bg-main);background-image:radial-gradient(var(--bg-pattern-dot) 1.2px, transparent 1.2px), radial-gradient(ellipse at 85% 15%, #0d459659 0%, transparent 65%), radial-gradient(ellipse at 15% 85%, #0b3a804d 0%, transparent 60%);min-height:100vh;transition:background-color var(--transition-smooth), color var(--transition-smooth);background-size:24px 24px,100% 100%,100% 100%;background-attachment:fixed;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}
