@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap");:root{--blue-0:#0b1220;--blue-1:#0d1b2a;--blue-2:#142d4c;--blue-3:#274c77;--blue-4:#4e79a7;--blue-5:#8ab6d6;--text-primary:#e6f1ff;--text-secondary:#b3c9e6;--muted:rgba(138,182,214,0.15)}*{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Inter,sans-serif;line-height:1.6;scroll-behavior:smooth}body{background:radial-gradient(1200px 600px at 20% 10%,rgba(78,121,167,.15),var(--blue-0) 70%),radial-gradient(800px 400px at 80% 90%,rgba(20,45,76,.25),var(--blue-0) 70%),var(--blue-0);color:var(--text-primary)}a{color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 2px;background-repeat:no-repeat;background-position:0 100%;transition:color .2s ease,background-size .2s ease}a:hover{color:var(--blue-5);background-size:100% 2px}.page{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;padding:60px 32px;border-right:1px solid var(--muted);background:linear-gradient(180deg,rgba(13,27,42,.65),rgba(11,18,32,.35));display:flex;flex-direction:column;align-items:center;text-align:center}.brand{font-size:clamp(1.9rem,3.6vw,2.3rem);font-weight:700;letter-spacing:.4px}.role{color:var(--text-secondary);margin-top:8px;font-size:15px;font-weight:300}.profile-photo{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 16px;border:2px solid var(--muted);box-shadow:0 6px 18px rgba(20,45,76,.35);max-width:100%;transition:width .25s ease,height .25s ease,margin .25s ease}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.nav-vertical{list-style:none;margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:12px}.nav-vertical li{margin:0}.nav-vertical a{display:inline-block;padding:0 .75rem;font-weight:600;font-size:15px;opacity:.9;letter-spacing:1.2px}.nav-vertical a:focus-visible{outline:2px solid var(--blue-4);outline-offset:3px}.nav-vertical a.active,.nav-vertical a:hover{opacity:1;color:var(--blue-5)}.sidebar-footer{position:absolute;left:0;right:0;bottom:24px;display:flex;justify-content:center;gap:.75rem;opacity:.95}.sidebar-footer a{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--muted);border-radius:50%;transition:transform .2s ease,border-color .2s ease;font-size:20px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;line-height:1;margin-bottom:1rem}.sidebar-footer a:hover{transform:translateY(-2px);border-color:var(--blue-4)}.content{padding:80px 60px}.section{max-width:820px;margin:0 auto 120px}.section h2{font-size:22px;letter-spacing:1.6px;margin-bottom:20px;color:var(--text-secondary)}.section .headline{font-size:42px;font-weight:700;margin-bottom:16px}.section .lead{color:var(--text-secondary);margin-bottom:24px}.mission{color:var(--text-primary);margin-bottom:24px;max-width:620px}.hero{position:relative;padding-top:clamp(2rem,8vw,4rem)}.hero .name{font-size:clamp(2.5rem,5vw,3.25rem);font-weight:700;line-height:1.1}.hero .tagline{color:var(--text-secondary);font-size:clamp(1rem,2.5vw,1.125rem);margin-top:clamp(.5rem,2vw,1rem)}.cta{display:inline-block;margin-top:clamp(1rem,3vw,1.5rem);padding:clamp(8px,2vw,10px) clamp(12px,3vw,16px);border:1px solid var(--muted);border-radius:6px;color:var(--text-primary);background:rgba(39,76,119,.2);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:background .2s ease,transform .2s ease}.cta:hover{background:rgba(78,121,167,.25);transform:translateY(-2px)}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--blue-3);opacity:.6}.timeline-item{position:relative;margin-bottom:24px;padding-left:8px}.timeline-item:before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:999px;background:var(--blue-4);box-shadow:0 0 0 3px rgba(78,121,167,.15)}.timeline-item h3{font-size:16px;font-weight:600}.timeline-item span{font-size:13px;color:var(--text-secondary);display:block;margin-bottom:6px}.timeline-item p{color:var(--text-primary);opacity:.9}.company-groups{display:grid;grid-gap:24px;gap:24px}.company-section{border:1px solid var(--muted);border-radius:8px;padding:16px;background:rgba(20,45,76,.25)}.company-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.company-header h3{margin:0;font-size:18px;font-weight:700}.company-total{color:var(--text-secondary);font-size:.95rem}.positions{display:grid;grid-gap:12px;gap:12px}.position-item{border-top:1px dashed rgba(138,182,214,.35);padding-top:10px}.position-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.position-dates{color:var(--text-secondary);font-size:.9rem}@media (max-width:768px){.company-section{padding:12px}.company-header h3{font-size:16px}}.skills-table-wrap{margin-top:12px}.skills-table{width:100%;border-collapse:collapse;border-spacing:0}.skills-table thead th{text-align:left;font-weight:700;padding:10px;border-bottom:1px solid var(--muted)}.skills-table tbody td{padding:10px;border-bottom:1px dashed rgba(138,182,214,.35)}.skills-table tbody tr{transition:background-color .2s ease,transform .1s ease}.skills-table tbody tr:hover{background:rgba(20,45,76,.25)}.skills-table tbody tr:focus{outline:2px solid var(--blue-4);transform:scale(1.01)}.skill-name{font-weight:600}.proficiency{display:flex;align-items:center;gap:8px}.prof-bar{position:relative;width:180px;height:8px;border-radius:999px;background:rgba(138,182,214,.25);overflow:hidden}.prof-bar-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--blue-4),var(--blue-3));transition:width .4s ease}.prof-label,.skills-meta{font-size:.9rem;color:var(--text-secondary)}.skills-meta{margin-top:8px}@media (max-width:640px){.skills-table thead{display:none}.skills-table tbody tr{display:grid;grid-template-columns:1fr;padding:8px 0}.skills-table tbody td{display:flex;justify-content:space-between;align-items:center}.skills-table tbody td:before{content:attr(data-label);font-weight:600;margin-right:12px;color:var(--text-secondary)}.prof-bar{width:120px}}.admin-skills{max-width:920px;margin:24px auto;padding:0 12px}.admin-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.admin-form input,.admin-form select{width:100%;padding:6px 8px;background:rgba(20,45,76,.25);border:1px solid var(--muted);border-radius:6px;color:var(--text-primary)}.admin-form button{align-self:end;padding:8px 12px}.admin-list{display:grid;grid-gap:8px;gap:8px}.admin-list li{display:flex;justify-content:space-between;align-items:center;padding:8px;border:1px dashed rgba(138,182,214,.35);border-radius:6px}.admin-versions{display:grid;grid-gap:6px;gap:6px}.admin-versions li{display:flex;justify-content:space-between;align-items:center}.card{background:rgba(20,45,76,.35);border:1px solid var(--muted);border-radius:8px;padding:18px;margin-bottom:14px;transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,45,76,.25)}.contact-form{display:flex;flex-direction:column;gap:12px;max-width:420px}.contact-form input,.contact-form textarea{background:rgba(11,18,32,.65)}.contact-form button,.contact-form input,.contact-form textarea{padding:10px;border:1px solid var(--muted);border-radius:6px;color:var(--text-primary)}.contact-form button{background:rgba(39,76,119,.35);font-weight:600;cursor:pointer;transition:background .2s ease}.contact-form button:hover{background:rgba(78,121,167,.45)}.contact-grid{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}.contact-details{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;min-width:220px}.contact-details a{text-decoration:underline;-webkit-text-decoration-color:rgba(138,182,214,.5);text-decoration-color:rgba(138,182,214,.5)}.contact-details a:hover{-webkit-text-decoration-color:var(--blue-5);text-decoration-color:var(--blue-5)}.tag-open{display:inline-block;margin-left:.5rem;padding:2px 8px;border:1px solid var(--blue-4);border-radius:999px;color:var(--text-primary);background:rgba(78,121,167,.2);font-size:.75rem;line-height:1.2;white-space:nowrap}.language-toggle{position:fixed;top:20px;right:24px;display:flex;flex-direction:row;gap:12px;z-index:60}.language-toggle button{width:32px;height:32px;border-radius:50%;border:1px solid var(--muted);background-size:cover;background-position:50%;background-repeat:no-repeat;opacity:.8;cursor:pointer;transition:all .3s ease;will-change:transform;transform:scale(1);-webkit-backface-visibility:hidden;backface-visibility:hidden}.language-toggle button.active{border-color:var(--blue-4);opacity:1}.language-toggle button:focus-visible,.language-toggle button:hover{transform:scale(1.1);opacity:1;box-shadow:0 6px 14px rgba(20,45,76,.35);outline:none}.flag-us{background-image:url(https://flagcdn.com/us.svg)}.flag-br{background-image:url(https://flagcdn.com/br.svg)}.flag-es{background-image:url(https://flagcdn.com/es.svg)}.flag-fr{background-image:url(https://flagcdn.com/fr.svg)}@media (max-width:640px){.language-toggle{top:12px;right:12px}}.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}.reveal.in{opacity:1;transform:translateY(0)}@media (max-width:960px){.page{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:none;padding:32px 24px}.profile-photo{width:96px;height:96px;margin-bottom:12px}.content{padding:40px 24px}.language-toggle{position:fixed;top:16px;right:24px}.sidebar-footer{position:static;bottom:auto;margin-top:20px}}@media (max-width:768px){.profile-photo{width:144px;height:144px;margin:32px auto 16px}.sidebar-footer{bottom:20px;gap:16px}.sidebar-footer a{width:40px;height:40px;font-size:24px;margin-bottom:1.25rem}}@media (max-width:640px){.profile-photo{width:120px;height:120px;margin:32px auto 16px}.nav-vertical{margin-top:24px}.nav-vertical li{margin-bottom:8px}.nav-vertical a{font-size:13px}.section{margin-bottom:80px}.section .headline{font-size:clamp(1.5rem,4vw,2rem)}.hero{padding-top:clamp(3rem,12vw,5rem)}.content{padding:32px 16px}.tag-open{margin-top:6px}}.cursor{position:fixed;left:0;top:0;width:640px;height:640px;border:none;border-radius:999px;pointer-events:none;transform:translate(-50%,-50%);z-index:-1;transition:width .2s ease,height .2s ease,background .2s ease,filter .2s ease,opacity .2s ease;background:radial-gradient(circle,rgba(255,255,255,.15) 0,rgba(39,76,119,.55) 55%,var(--blue-0) 100%);filter:blur(30px);opacity:.3}.cursor.active{width:1440px;height:1440px;background:radial-gradient(circle,rgba(255,255,255,.247) 0,rgba(64,103,149,.65) 60%,var(--blue-0) 100%);filter:blur(35px);opacity:.3}.lang-spinner{position:fixed;top:20px;right:24px;z-index:70}.lang-trigger{width:28px;height:28px;border-radius:50%;border:1px solid var(--muted);background-size:cover;background-position:50%;background-repeat:no-repeat;opacity:.8;cursor:pointer;transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease,border-color .3s ease;will-change:transform;transform:scale(1);-webkit-backface-visibility:hidden;backface-visibility:hidden}.lang-trigger.active{border-color:var(--blue-4);opacity:1}.lang-trigger:focus-visible,.lang-trigger:hover{transform:scale(1.06);opacity:1;box-shadow:0 6px 14px rgba(20,45,76,.35);outline:none}.lang-menu{position:absolute;top:36px;right:0;display:grid;grid-auto-flow:row;grid-gap:6px;gap:6px;padding:8px;border:1px solid var(--muted);border-radius:8px;background:rgba(13,27,42,.85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 10px 24px rgba(20,45,76,.3);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;list-style:none;margin:0}.lang-menu li{list-style:none;margin:0;padding:0}.lang-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.lang-option{width:28px;height:28px;border-radius:50%;border:1px solid var(--muted);background-size:cover;background-position:50%;background-repeat:no-repeat;opacity:.85;cursor:pointer;transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease,border-color .3s ease}.lang-option.active{border-color:var(--blue-4);opacity:1}.lang-option:focus-visible,.lang-option:hover{transform:scale(1.1);opacity:1;box-shadow:0 6px 14px rgba(20,45,76,.35);outline:none}