.language-switch[data-astro-cid-34uxj53s]{align-items:center;display:flex}a[data-astro-cid-34uxj53s]{min-width:var(--space-px-40);min-height:var(--space-px-40);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--background-deep);transition:border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex}a[data-astro-cid-34uxj53s]:hover{border-color:var(--border-interactive);background:var(--surface-hover)}a[data-astro-cid-34uxj53s]:focus-visible{outline:var(--border-width-strong) solid var(--focus-ring);outline-offset:2px}img[data-astro-cid-34uxj53s]{width:var(--space-px-24);height:var(--space-px-24)}@media (prefers-reduced-motion:reduce){a[data-astro-cid-34uxj53s]{transition-duration:var(--motion-reduced)}}.profile-link[data-astro-cid-afuuzyne]{justify-content:center;align-items:center;gap:var(--space-px-12);border-radius:var(--radius-md);width:100%;display:flex}.profile-link--footer[data-astro-cid-afuuzyne]{justify-content:flex-start}.profile-link__portrait[data-astro-cid-afuuzyne],.profile-link__chevron[data-astro-cid-afuuzyne]{flex:none;display:inline-flex;position:relative}.profile-link__portrait[data-astro-cid-afuuzyne]{width:var(--space-px-56);height:var(--space-px-56)}.profile-link__image[data-astro-cid-afuuzyne],.profile-link__chevron-image[data-astro-cid-afuuzyne]{transition:opacity var(--motion-fast) var(--ease-standard);position:absolute;inset:0}.profile-link__image--hover[data-astro-cid-afuuzyne],.profile-link__chevron-image--hover[data-astro-cid-afuuzyne],.profile-link[data-astro-cid-afuuzyne]:hover .profile-link__image--rest[data-astro-cid-afuuzyne],.profile-link[data-astro-cid-afuuzyne]:hover .profile-link__chevron-image--rest[data-astro-cid-afuuzyne]{opacity:0}.profile-link[data-astro-cid-afuuzyne]:hover .profile-link__image--hover[data-astro-cid-afuuzyne],.profile-link[data-astro-cid-afuuzyne]:hover .profile-link__chevron-image--hover[data-astro-cid-afuuzyne]{opacity:1}.profile-link__identity[data-astro-cid-afuuzyne]{justify-content:center;align-items:center;gap:var(--space-px-8);display:flex}.profile-link__copy[data-astro-cid-afuuzyne]{flex-direction:column;display:flex}.profile-link__name[data-astro-cid-afuuzyne]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-20);line-height:var(--leading-24)}.profile-link__handle[data-astro-cid-afuuzyne]{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--type-meta-size);line-height:var(--type-meta-leading)}.profile-link__chevron[data-astro-cid-afuuzyne]{width:var(--space-px-24);height:var(--space-px-24)}@media (width<=1023px){.profile-link--footer[data-astro-cid-afuuzyne]{justify-content:center}}.theme-switch[data-astro-cid-l6lhmie6]{--toggle-size:12px;--container-width:5.625em;--container-height:2.5em;--container-radius:6.25em;--container-light-bg:var(--color-scene-sky-day);--container-night-bg:var(--color-scene-sky-night);--circle-container-diameter:3.375em;--sun-moon-diameter:2.125em;--sun-bg:var(--color-scene-sun);--moon-bg:var(--color-scene-moon);--spot-color:var(--color-scene-moon-spot);--stars-color:var(--color-white);--clouds-color:var(--color-scene-cloud);--back-clouds-color:var(--color-scene-cloud-back);--circle-container-offset:calc((var(--circle-container-diameter) - var(--container-height)) / 2 * -1);--theme-switch-transition:.5s cubic-bezier(0, -.02, .4, 1.25);--theme-switch-circle-transition:.3s cubic-bezier(0, -.02, .35, 1.17);cursor:pointer;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex;position:relative}.theme-switch[data-astro-cid-l6lhmie6],.theme-switch[data-astro-cid-l6lhmie6] [data-astro-cid-l6lhmie6],.theme-switch[data-astro-cid-l6lhmie6] [data-astro-cid-l6lhmie6]:before,.theme-switch[data-astro-cid-l6lhmie6] [data-astro-cid-l6lhmie6]:after{box-sizing:border-box;font-size:var(--toggle-size);margin:0;padding:0}.theme-switch__checkbox[data-astro-cid-l6lhmie6]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.theme-switch__container[data-astro-cid-l6lhmie6]{width:var(--container-width);height:var(--container-height);border-radius:var(--container-radius);background-color:var(--container-light-bg);box-shadow:0 -.062em .062em var(--color-black-a25), 0 .062em .125em var(--color-white-a94);transition:var(--theme-switch-transition);position:relative;overflow:hidden}.theme-switch__container[data-astro-cid-l6lhmie6]:before{z-index:1;border-radius:inherit;box-shadow:inset 0 .05em .187em var(--color-black-a25), inset 0 .05em .187em var(--color-black-a25);content:"";position:absolute;inset:0}.theme-switch__circle-container[data-astro-cid-l6lhmie6]{top:var(--circle-container-offset);left:var(--circle-container-offset);width:var(--circle-container-diameter);height:var(--circle-container-diameter);border-radius:var(--container-radius);background-color:var(--color-white-a10);box-shadow:inset 0 0 0 3.375em var(--color-white-a10), inset 0 0 0 3.375em var(--color-white-a10), 0 0 0 .625em var(--color-white-a10), 0 0 0 1.25em var(--color-white-a10);pointer-events:none;transition:var(--theme-switch-circle-transition);justify-content:center;align-items:center;display:flex;position:absolute}.theme-switch__sun-moon-container[data-astro-cid-l6lhmie6]{pointer-events:auto;z-index:2;width:var(--sun-moon-diameter);height:var(--sun-moon-diameter);border-radius:var(--container-radius);background-color:var(--sun-bg);box-shadow:inset .062em .062em .062em var(--color-scene-highlight), inset 0 -.062em .062em var(--color-scene-sun-shade);filter:drop-shadow(.062em .125em .125em var(--color-black-a25)) drop-shadow(0 .062em .125em var(--color-black-a25));transition:var(--theme-switch-transition);margin:auto;position:relative;overflow:hidden}.theme-switch__moon[data-astro-cid-l6lhmie6]{border-radius:inherit;background-color:var(--moon-bg);width:100%;height:100%;box-shadow:inset .062em .062em .062em var(--color-scene-highlight), inset 0 -.062em .062em var(--color-scene-moon-shade);transition:var(--theme-switch-transition);display:block;position:relative;transform:translate(100%)}.theme-switch__spot[data-astro-cid-l6lhmie6]{border-radius:var(--container-radius);background-color:var(--spot-color);width:.75em;height:.75em;box-shadow:inset 0 .0312em .062em var(--color-black-a25);position:absolute;top:.75em;left:.312em}.theme-switch__spot[data-astro-cid-l6lhmie6]:nth-of-type(2){width:.375em;height:.375em;top:.937em;left:1.375em}.theme-switch__spot[data-astro-cid-l6lhmie6]:nth-last-of-type(3){width:.25em;height:.25em;top:.312em;left:.812em}.theme-switch__clouds[data-astro-cid-l6lhmie6]{border-radius:var(--container-radius);background-color:var(--clouds-color);width:1.25em;height:1.25em;box-shadow:.937em .312em var(--clouds-color), -.312em -.312em var(--back-clouds-color), 1.437em .375em var(--clouds-color), .5em -.125em var(--back-clouds-color), 2.187em 0 var(--clouds-color), 1.25em -.062em var(--back-clouds-color), 2.937em .312em var(--clouds-color), 2em -.312em var(--back-clouds-color), 3.625em -.062em var(--clouds-color), 2.625em 0 var(--back-clouds-color), 4.5em -.312em var(--clouds-color), 3.375em -.437em var(--back-clouds-color), 4.625em -1.75em 0 .437em var(--clouds-color), 4em -.625em var(--back-clouds-color), 4.125em -2.125em 0 .437em var(--back-clouds-color);transition:var(--theme-switch-transition);position:absolute;bottom:-.625em;left:.312em}.theme-switch__stars-container[data-astro-cid-l6lhmie6]{width:2.75em;height:auto;color:var(--stars-color);transition:var(--theme-switch-transition);position:absolute;top:-100%;left:.312em}html[data-theme=dark] .theme-switch__container[data-astro-cid-l6lhmie6],html.no-js .theme-switch__container[data-astro-cid-l6lhmie6]{background-color:var(--container-night-bg)}html[data-theme=dark] .theme-switch__circle-container[data-astro-cid-l6lhmie6],html.no-js .theme-switch__circle-container[data-astro-cid-l6lhmie6]{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter))}html[data-theme=dark] .theme-switch__moon[data-astro-cid-l6lhmie6],html.no-js .theme-switch__moon[data-astro-cid-l6lhmie6]{transform:translate(0)}html[data-theme=dark] .theme-switch__clouds[data-astro-cid-l6lhmie6],html.no-js .theme-switch__clouds[data-astro-cid-l6lhmie6]{bottom:-4.062em}html[data-theme=dark] .theme-switch__stars-container[data-astro-cid-l6lhmie6],html.no-js .theme-switch__stars-container[data-astro-cid-l6lhmie6]{top:50%;transform:translateY(-50%)}.theme-switch__circle-container[data-astro-cid-l6lhmie6]:hover{left:calc(var(--circle-container-offset) + .187em)}html[data-theme=dark] .theme-switch__circle-container[data-astro-cid-l6lhmie6]:hover,html.no-js .theme-switch__circle-container[data-astro-cid-l6lhmie6]:hover{left:calc(100% - var(--circle-container-offset) - var(--circle-container-diameter) - .187em)}.theme-switch__checkbox[data-astro-cid-l6lhmie6]:focus-visible+.theme-switch__container[data-astro-cid-l6lhmie6]{outline:var(--border-width-strong) solid var(--focus-ring);outline-offset:var(--space-px-4)}@media (width<=639px){.theme-switch[data-astro-cid-l6lhmie6]{--toggle-size:8px}}@media (prefers-reduced-motion:reduce){.theme-switch__container[data-astro-cid-l6lhmie6],.theme-switch__circle-container[data-astro-cid-l6lhmie6],.theme-switch__sun-moon-container[data-astro-cid-l6lhmie6],.theme-switch__moon[data-astro-cid-l6lhmie6],.theme-switch__clouds[data-astro-cid-l6lhmie6],.theme-switch__stars-container[data-astro-cid-l6lhmie6]{transition-duration:var(--motion-reduced)}}.navbar[data-astro-cid-l7arcky5]{z-index:var(--z-navigation);width:100%;padding:var(--space-px-8) var(--space-px-16);border-bottom:var(--border-width-strong) solid var(--color-transparent);background:var(--gradient-nav-rest);transition:padding var(--motion-base) var(--ease-standard), background var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard);position:fixed;top:0;left:0}.navbar[data-astro-cid-l7arcky5][data-scrolled=true]{border-bottom-color:var(--border-interactive);background:var(--nav-scrolled-surface);-webkit-backdrop-filter:blur(var(--nav-blur))}.navbar__inner[data-astro-cid-l7arcky5]{max-width:var(--container-content);grid-template-columns:auto 1fr;align-items:center;margin:0 auto;display:grid}.navbar__brand[data-astro-cid-l7arcky5]{z-index:1;opacity:1;width:fit-content;transition:opacity var(--motion-fast) var(--ease-standard);display:inline-flex;position:relative}.navbar__brand[data-astro-cid-l7arcky5]:hover{opacity:.8}.navbar__brand[data-astro-cid-l7arcky5] img[data-astro-cid-l7arcky5]{width:auto;height:var(--space-px-24);filter:var(--brand-mark-filter);transition:height var(--motion-base) var(--ease-standard)}.navbar__links[data-astro-cid-l7arcky5]{justify-content:flex-end;align-items:center;gap:var(--space-px-4);padding:0;list-style:none;display:flex}.navbar__link[data-astro-cid-l7arcky5]{padding:var(--space-px-8);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--type-label-size);line-height:var(--leading-32);transition:color var(--motion-base) var(--ease-standard);display:flex;position:relative}.navbar__link[data-astro-cid-l7arcky5]:after{right:var(--space-px-8);bottom:var(--space-px-4);left:var(--space-px-8);height:var(--border-width-strong);border-radius:var(--radius-pill);background:var(--text-heading);content:"";opacity:0;transform-origin:0;transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard);position:absolute;transform:scaleX(0)}.navbar__link[data-astro-cid-l7arcky5]:hover,.navbar__link[data-astro-cid-l7arcky5][aria-current=page]{color:var(--text-heading)}.navbar__link[data-astro-cid-l7arcky5]:hover:after,.navbar__link[data-astro-cid-l7arcky5][aria-current=page]:after{opacity:1;transform:scaleX(1)}.navbar__locale[data-astro-cid-l7arcky5]{margin-left:var(--space-px-4);display:flex}.navbar__theme[data-astro-cid-l7arcky5]{display:flex}.navbar__profile[data-astro-cid-l7arcky5]{display:none}@media (width<=639px){.navbar[data-astro-cid-l7arcky5]{padding-inline:var(--space-px-8)}.navbar__item--home[data-astro-cid-l7arcky5]{display:none}.navbar__brand[data-astro-cid-l7arcky5] img[data-astro-cid-l7arcky5]{height:var(--space-px-20)}.navbar__links[data-astro-cid-l7arcky5]{gap:0}.navbar__link[data-astro-cid-l7arcky5]{min-height:44px;padding:var(--space-px-4);font-size:var(--text-12);align-items:center}.navbar__locale[data-astro-cid-l7arcky5]{margin-left:0}}@media (width>=768px){.navbar[data-astro-cid-l7arcky5]{padding-right:var(--space-px-48);padding-left:var(--space-px-48)}.navbar__brand[data-astro-cid-l7arcky5] img[data-astro-cid-l7arcky5]{height:var(--space-px-32)}.navbar__link[data-astro-cid-l7arcky5]{font-size:var(--type-nav-size)}}@media (width>=1024px){.navbar[data-astro-cid-l7arcky5]{padding:var(--space-px-16) var(--space-px-56)}.navbar[data-astro-cid-l7arcky5]:not([data-scrolled=true]):hover{border-bottom-color:var(--border-interactive);background:var(--gradient-nav-hover)}.navbar[data-astro-cid-l7arcky5][data-scrolled=true]{padding-top:var(--space-px-8);padding-bottom:var(--space-px-8)}.navbar[data-astro-cid-l7arcky5][data-scrolled=true] .navbar__brand[data-astro-cid-l7arcky5] img[data-astro-cid-l7arcky5]{height:var(--space-px-24)}.navbar__inner[data-astro-cid-l7arcky5]{grid-template-columns:var(--brand-column) 1fr var(--brand-column)}.navbar__links[data-astro-cid-l7arcky5]{justify-content:center;gap:var(--space-px-8)}.navbar__link[data-astro-cid-l7arcky5]{padding:var(--space-px-16)}.navbar__link[data-astro-cid-l7arcky5]:after{right:var(--space-px-16);bottom:var(--space-px-8);left:var(--space-px-16)}.navbar__profile[data-astro-cid-l7arcky5]{width:var(--brand-column);display:flex}}@media (width>=1536px){.navbar[data-astro-cid-l7arcky5]{padding:var(--space-px-24) var(--space-px-72)}.navbar[data-astro-cid-l7arcky5][data-scrolled=true]{padding-top:var(--space-px-8);padding-bottom:var(--space-px-8)}}@media (prefers-reduced-motion:reduce){.navbar[data-astro-cid-l7arcky5],.navbar__brand[data-astro-cid-l7arcky5] img[data-astro-cid-l7arcky5]{transition-duration:var(--motion-reduced)}}:root{--color-black:#000;--color-neutral-1000:#0c0e12;--color-neutral-950:#0f1217;--color-neutral-900:#13161b;--color-neutral-850:#181d27;--color-neutral-800:#1a1d24;--color-neutral-750:#22262f;--color-neutral-650:#344054;--color-neutral-600:#373a41;--color-neutral-500:#85888e;--color-neutral-400:#94979c;--color-neutral-200:#cecfd2;--color-neutral-50:#f7f7f7;--color-white:#fff;--color-linkedin:#0077b5;--color-gray-900:#171717;--color-gray-300:#d1d5db;--color-gray-50:#fafafa;--color-slate-950:#020817;--color-slate-800:#1d283a;--color-slate-600:#5e6d82;--color-slate-500:#65758b;--color-slate-400:#94a3b8;--color-slate-200:#e1e7ef;--color-slate-100:#f1f5f9;--color-slate-50:#f8fafc;--color-slate-border:#383b42;--color-cyan-100:#b6eeff;--color-cyan-300:#2cd6ff;--color-cyan-400:#00c8ff;--color-cyan-500:#009cd4;--color-cyan-700:#007cab;--color-cyan-800:#00769d;--color-cyan-900:#065674;--color-pink-100:#ffc6d5;--color-pink-300:#ff5d8b;--color-pink-500:#ff0059;--color-pink-700:#d7004b;--color-pink-900:#990244;--color-violet-500:#625df5;--color-blue-950:#102a56;--color-blue-800:#1849a9;--color-blue-700:#065986;--color-blue-200:#84caff;--color-blue-100:#bedcfe;--color-amber-950:#542c0d;--color-amber-800:#854a0e;--color-amber-200:#fde272;--color-green-1000:#052e1c;--color-green-950:#062c41;--color-green-800:#095c37;--color-green-500:#22c55e;--color-green-400:#4ade80;--color-green-300:#73e2a3;--color-red-900:#7c1d1d;--color-red-500-hsl:#ef4343;--color-red-500:#ef4444;--color-red-400:#f87171;--color-success:#17b26a;--color-danger:var(--color-red-500);--color-danger-soft:var(--color-red-400);--color-utility-blue-50:#eff8ff;--color-utility-blue-700:#175cd3;--color-utility-blue-light-200:#b9e6fe;--color-utility-yellow-50:#fefbe8;--color-utility-yellow-200:#feee95;--color-utility-yellow-700:#a15c07;--color-utility-green-50:#edfcf2;--color-utility-green-200:#aaf0c4;--color-utility-green-700:#087443;--color-utility-gray-200:#e9eaeb;--color-utility-gray-700:#414651;--color-utility-sky-50:#f0f9ff;--color-utility-sky-200:#b2ddff;--color-google-green-dark:#188038;--color-google-green:#34a853;--color-google-blue-dark:#1967d1;--color-google-blue:#4285f3;--color-google-red:#e94335;--color-google-yellow:#fbbc05;--color-scene-sky-day:#3d7eae;--color-scene-sky-night:#1d1f2c;--color-scene-sun:#ecca2f;--color-scene-sun-shade:#a1872a;--color-scene-moon:#c4c9d1;--color-scene-moon-shade:#969696;--color-scene-moon-spot:#959db1;--color-scene-cloud:#f3fdff;--color-scene-cloud-back:#aacadf;--color-scene-highlight:#feffef9c;--color-portrait-dark-from:#3c3f44;--color-portrait-dark-to:#2e3136;--color-portrait-light-from:#d9e0e8;--color-portrait-light-to:#aab6c5;--color-transparent:#fff0;--color-black-a02:#00000005;--color-black-a06:#0000000f;--color-black-a10:#0000001a;--color-black-a12:#0000001f;--color-black-a25:#00000040;--color-black-a30:#0000004d;--color-white-a02:#ffffff05;--color-white-a06:#ffffff0f;--color-white-a10:#ffffff1a;--color-white-a12:#ffffff1f;--color-white-a25:#ffffff40;--color-white-a30:#ffffff4d;--color-white-a61:#ffffff9c;--color-white-a92:#ffffffeb;--color-white-a94:#fffffff0;--color-cyan-a00:#00c8ff00;--color-cyan-a12:#00c8ff1f;--color-cyan-a50:#00c8ff80;--color-green-500-a20:#22c55e33;--color-scheme:dark;--background:var(--color-neutral-950);--background-deep:var(--color-neutral-1000);--surface:var(--color-neutral-900);--surface-hover:var(--color-neutral-800);--surface-interactive:var(--color-white-a10);--surface-interactive-hover:var(--color-white-a25);--surface-subtle:var(--color-white-a02);--surface-inverse:var(--color-neutral-800);--text-heading:var(--color-neutral-50);--text-primary:var(--color-neutral-200);--text-secondary:var(--color-neutral-400);--text-placeholder:var(--color-neutral-500);--border-subtle:var(--color-neutral-750);--border-default:var(--color-neutral-600);--border-interactive:var(--color-white-a12);--primary:var(--color-cyan-400);--primary-ink:var(--color-cyan-400);--primary-light:var(--color-cyan-300);--primary-dark:var(--color-cyan-700);--on-primary:var(--color-neutral-1000);--on-inverse:var(--color-white);--secondary:var(--color-pink-500);--focus-ring:var(--color-cyan-300);--status-success:var(--color-success);--status-danger:var(--color-danger);--selection-fill:var(--primary-dark);--selection-ink:var(--text-heading);--elevation-highlight:var(--color-white-a10);--nav-gradient-rest:var(--color-white-a02);--nav-gradient-hover:var(--color-white-a06);--nav-scrolled-surface:#0c0e12eb;--nav-blur:12px;--pcard-cta-fill:var(--primary);--pcard-cta-mark:var(--on-primary);--pcard-cta-label:var(--text-secondary);--pcard-cta-label-active:var(--on-primary);--linkedin-flood:var(--surface-interactive-hover);--linkedin-label-active:var(--text-primary);--btt-rest-fill:var(--surface);--btt-rest-ink:var(--text-primary);--btt-halo:var(--color-cyan-a12);--btt-halo-hover:var(--btt-halo);--stack-typescript-fill:var(--color-blue-950);--stack-typescript-border:var(--color-blue-700);--stack-typescript-ink:var(--color-blue-200);--stack-javascript-fill:var(--color-amber-950);--stack-javascript-border:var(--color-amber-800);--stack-javascript-ink:var(--color-amber-200);--stack-tailwind-fill:var(--gradient-stack-tailwind);--stack-tailwind-border:var(--gradient-stack-tailwind-border);--stack-tailwind-ink:var(--color-green-300);--stack-figma-fill:var(--surface);--stack-figma-border:var(--border-default);--stack-figma-ink:var(--text-primary);--stack-python-fill:var(--gradient-stack-python);--stack-python-border:var(--gradient-stack-python-border);--stack-python-ink:var(--color-amber-200);--stack-opensource-fill:var(--color-green-1000);--stack-opensource-border:var(--color-green-800);--stack-opensource-ink:var(--color-green-300);--chip-on-mark:var(--background);--chip-on-tile:var(--background);--chip-on-glyph:var(--primary);--hero-cta-fill:var(--surface-interactive);--hero-cta-border:var(--border-interactive);--hero-cta-ink:var(--text-heading);--hero-cta-radius:var(--radius-control);--hero-cta-fill-hover:var(--surface-interactive-hover);--hero-cta-border-hover:var(--border-interactive);--hero-cta-ink-hover:var(--text-heading);--hero-card-fill:linear-gradient(to bottom left, var(--color-portrait-dark-from), var(--color-portrait-dark-to));--hero-card-back-fill:linear-gradient(to bottom right, var(--color-white-a30), var(--color-transparent));--hero-card-back-border:var(--color-white-a10);--hero-beam:var(--color-cyan-400);--brand-mark-filter:none;--decorative-art-filter:none;--contact-background:url(https://cdn.juanpablosilva.com.br/juansilva.design/logo/contact-bg.png);--contact-background-opacity:1;--font-display:"Spectral", Georgia, serif;--font-body:"Lora", Georgia, serif;--font-ui:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-meta:"Roboto", var(--font-ui);--font-logo:"Playfair Display", var(--font-display);--font-mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--text-12:.75rem;--text-14:.875rem;--text-16:1rem;--text-18:1.125rem;--text-20:1.25rem;--text-24:1.5rem;--text-28:1.75rem;--text-32:2rem;--text-36:2.25rem;--text-44:2.75rem;--text-48:3rem;--text-56:3.5rem;--text-64:4rem;--leading-14:.875rem;--leading-16:1rem;--leading-20:1.25rem;--leading-22:1.4;--leading-24:1.5rem;--leading-28:1.75rem;--leading-30:1.875rem;--leading-32:2rem;--leading-40:2.5rem;--leading-44:2.75rem;--leading-46:2.875rem;--leading-48:3rem;--leading-60:3.75rem;--leading-68:4.25rem;--leading-90:5.625rem;--type-display-size:var(--text-56);--type-display-leading:var(--leading-90);--type-display-mobile-size:var(--text-32);--type-display-mobile-leading:var(--leading-48);--type-heading-size:var(--text-48);--type-heading-leading:var(--leading-68);--type-heading-mobile-size:var(--text-32);--type-heading-mobile-leading:var(--leading-48);--type-subheading-size:var(--text-32);--type-subheading-leading:var(--leading-46);--type-body-size:var(--text-18);--type-body-leading:var(--leading-30);--type-body-mobile-size:var(--text-16);--type-body-mobile-leading:var(--leading-24);--type-nav-size:var(--text-18);--type-nav-leading:var(--leading-32);--type-label-size:var(--text-14);--type-label-leading:var(--leading-20);--type-meta-size:var(--text-12);--type-meta-leading:var(--leading-14);--space-0:0;--space-px-1:1px;--space-px-2:2px;--space-px-2-5:2.5px;--space-px-4:4px;--space-px-6:6px;--space-px-8:8px;--space-px-10:10px;--space-px-12:12px;--space-px-14:14px;--space-px-15:15px;--space-px-16:16px;--space-px-18:18px;--space-px-20:20px;--space-px-24:24px;--space-px-25:25px;--space-px-27:27px;--space-px-28:28px;--space-px-32:32px;--space-px-40:40px;--space-px-45:45px;--space-px-48:48px;--space-px-56:56px;--space-px-64:64px;--space-px-72:72px;--space-px-80:80px;--space-px-82:82px;--space-px-90:90px;--space-px-96:96px;--space-px-104:104px;--space-px-112:112px;--space-px-120:120px;--space-px-128:128px;--space-px-140:140px;--space-px-160:160px;--space-px-170:170px;--space-px-200:200px;--space-px-204:204px;--space-px-252:252px;--control-gap:var(--space-px-6);--control-padding-block:var(--space-px-12);--control-padding-inline:var(--space-px-18);--stack-gap:var(--space-px-12);--section-gap:var(--space-px-24);--section-gap-large:var(--space-px-48);--section-padding-mobile:var(--space-px-24);--section-padding-tablet:var(--space-px-48);--section-padding-desktop:var(--space-px-170);--section-padding-wide:var(--space-px-252);--radius-none:0;--radius-xs:4px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-control:8px;--radius-control-figma:9px;--radius-media:12px;--radius-panel:16px;--radius-round:56px;--radius-case:26px;--radius-pill:9999px;--border-width-none:0;--border-width:1px;--border-width-strong:2px;--shadow-dropdown:0 20px 25px -5px #0000004d, 0 8px 10px -6px #0000004d;--shadow-focus:0 0 0 3px #2cd6ff59;--motion-fast:.2s;--motion-base:.3s;--motion-decorative:2.4s;--motion-reduced:1ms;--ease-standard:ease;--ease-sweep:ease-in-out;--viewport-min:320px;--viewport-height:100dvh;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--grid-mobile-width:360px;--grid-mobile-columns:4;--grid-mobile-margin:16px;--grid-mobile-gutter:16px;--grid-desktop-width:1280px;--grid-desktop-columns:12;--grid-desktop-margin:56px;--grid-desktop-gutter:32px;--brand-column:210px;--hero-media-mobile:300px;--hero-media-tablet:400px;--hero-media-desktop:452px;--nav-glow-width:240px;--container-content:1440px;--container-production:1400px;--container-page:1920px;--content-copy:610px;--content-project:550px;--content-form:576px;--content-form-wide:570px;--content-legal:896px;--footer-column:330px;--footer-control-mobile:154px;--footer-control-tablet:224px;--control-primary-width:340px;--decorative-line-length:400px;--decorative-line-band:60%;--z-background:0;--z-content:20;--z-navigation:50;--gradient-nav-rest:linear-gradient(to bottom, var(--nav-gradient-rest), var(--color-transparent));--gradient-nav-hover:linear-gradient(to bottom, var(--nav-gradient-hover), var(--color-transparent));--gradient-line-horizontal:linear-gradient(90deg, var(--color-cyan-a00) 0%, var(--primary) 50%, var(--color-cyan-a00) 100%);--gradient-line-vertical:linear-gradient(180deg, var(--color-cyan-a00) 0%, var(--primary) 50%, var(--color-cyan-a00) 100%);--gradient-stack-tailwind:linear-gradient(90deg, var(--color-green-950) 0%, var(--color-green-1000) 100%);--gradient-stack-tailwind-border:linear-gradient(90deg, var(--color-blue-700) 0%, var(--color-green-800) 100%);--gradient-stack-python:linear-gradient(90deg, var(--color-blue-950) 0%, var(--color-amber-950) 100%);--gradient-stack-python-border:linear-gradient(90deg, var(--color-blue-800) 0%, var(--color-amber-800) 100%);--gradient-google-drive:linear-gradient(270deg, var(--color-google-green-dark) 0%, var(--color-google-green) 20%, var(--color-google-blue-dark) 40%, var(--color-google-blue) 60%, var(--color-google-red) 80%, var(--color-google-yellow) 100%)}:root[data-theme=light]{--color-scheme:light;--background:var(--color-white);--background-deep:var(--color-neutral-50);--surface:var(--color-slate-50);--surface-hover:var(--color-slate-100);--surface-interactive:var(--color-black-a06);--surface-interactive-hover:var(--color-black-a12);--surface-subtle:var(--color-black-a02);--surface-inverse:var(--color-neutral-800);--text-heading:var(--color-neutral-1000);--text-primary:var(--color-neutral-650);--text-secondary:var(--color-slate-600);--text-placeholder:var(--color-slate-600);--border-subtle:var(--color-gray-300);--border-default:var(--color-slate-400);--border-interactive:var(--color-black-a12);--primary:var(--color-cyan-700);--primary-ink:var(--color-cyan-800);--primary-light:var(--color-cyan-500);--primary-dark:var(--color-cyan-900);--on-primary:var(--color-white);--on-inverse:var(--color-white);--focus-ring:var(--color-cyan-700);--status-success:var(--color-green-800);--status-danger:var(--color-pink-700);--selection-fill:var(--color-cyan-900);--selection-ink:var(--color-white);--elevation-highlight:var(--color-black-a10);--nav-gradient-rest:var(--color-black-a02);--nav-gradient-hover:var(--color-black-a06);--nav-scrolled-surface:var(--color-white-a92);--linkedin-flood:var(--color-linkedin);--linkedin-label-active:var(--color-white);--btt-rest-fill:var(--surface);--btt-rest-ink:var(--primary-ink);--btt-halo:var(--color-cyan-a50);--btt-halo-hover:var(--primary);--stack-typescript-fill:var(--color-utility-blue-50);--stack-typescript-border:var(--color-utility-blue-light-200);--stack-typescript-ink:var(--color-utility-blue-700);--stack-javascript-fill:var(--color-utility-yellow-50);--stack-javascript-border:var(--color-utility-yellow-200);--stack-javascript-ink:var(--color-utility-yellow-700);--stack-tailwind-ink:var(--color-utility-green-700);--stack-figma-fill:var(--color-gray-50);--stack-figma-border:var(--color-utility-gray-200);--stack-figma-ink:var(--color-utility-gray-700);--stack-python-ink:var(--color-utility-yellow-700);--stack-opensource-fill:var(--color-utility-green-50);--stack-opensource-border:var(--color-utility-green-200);--stack-opensource-ink:var(--color-utility-green-700);--gradient-stack-tailwind:linear-gradient(90deg, var(--color-utility-sky-50) 0%, var(--color-utility-green-50) 100%);--gradient-stack-tailwind-border:linear-gradient(90deg, var(--color-utility-sky-200) 0%, var(--color-utility-green-200) 100%);--gradient-stack-python:linear-gradient(90deg, var(--color-utility-blue-50) 0%, var(--color-utility-yellow-50) 100%);--gradient-stack-python-border:linear-gradient(90deg, var(--color-utility-blue-light-200) 0%, var(--color-utility-yellow-200) 100%);--chip-on-tile:var(--primary);--chip-on-glyph:var(--on-primary);--hero-cta-fill:var(--primary);--hero-cta-border:var(--primary);--hero-cta-ink:var(--on-primary);--hero-cta-radius:var(--radius-pill);--hero-cta-fill-hover:var(--color-transparent);--hero-cta-border-hover:var(--primary);--hero-cta-ink-hover:var(--primary-ink);--hero-card-fill:linear-gradient(to bottom left, var(--color-portrait-light-from), var(--color-portrait-light-to));--hero-card-back-fill:linear-gradient(to bottom right, var(--color-black-a10), var(--color-transparent));--hero-card-back-border:var(--color-black-a06);--brand-mark-filter:invert(1);--decorative-art-filter:invert(1);--contact-background:url(https://cdn.juanpablosilva.com.br/juansilva.design/logo/contact-bg-light.webp);--contact-background-opacity:.75}*,:before,:after{box-sizing:border-box}html{min-width:var(--viewport-min);-webkit-text-size-adjust:100%}body,h1,h2,h3,h4,h5,h6,p,figure,ul,ol,dl,dd{margin:var(--space-0)}ul,ol{padding:var(--space-0)}button,input,textarea,select{font:inherit}button{padding:var(--space-0);border:var(--border-width-none);background:0 0}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}@font-face{font-family:Spectral;src:url(https://cdn.juanpablosilva.com.br/juansilva.design/fonts/spectral/regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Spectral;src:url(https://cdn.juanpablosilva.com.br/juansilva.design/fonts/spectral/medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Lora;src:url(https://cdn.juanpablosilva.com.br/juansilva.design/fonts/lora/regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lora;src:url(https://cdn.juanpablosilva.com.br/juansilva.design/fonts/lora/bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:var(--color-scheme);background:var(--background);color:var(--text-primary);font-family:var(--font-body)}body{min-height:var(--viewport-height);background:var(--background);color:var(--text-primary);font-family:var(--font-body);font-size:var(--type-body-size);line-height:var(--type-body-leading);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.skip-link{z-index:calc(var(--z-navigation) + 1);top:var(--space-px-8);left:var(--space-px-8);padding:var(--space-px-8) var(--space-px-12);background:var(--text-heading);color:var(--background-deep);font-family:var(--font-ui);font-weight:var(--font-weight-semibold);transform:translateY(calc(-100% - var(--space-px-16)));transition:transform var(--motion-fast) var(--ease-standard);position:fixed}.skip-link:focus{transform:translateY(0)}.visually-hidden{width:var(--space-px-1)!important;height:var(--space-px-1)!important;margin:calc(var(--space-px-1) * -1)!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;padding:0!important;position:absolute!important;overflow:hidden!important}::selection{background:var(--selection-fill);color:var(--selection-ink)}h1,h2,h3,h6{color:var(--text-heading);font-family:var(--font-display);font-weight:var(--font-weight-medium)}h1{font-size:var(--type-display-size);line-height:var(--type-display-leading)}h2{font-size:var(--type-heading-size);line-height:var(--type-heading-leading)}h3{font-size:var(--type-subheading-size);line-height:var(--type-subheading-leading)}h6{font-family:var(--font-body);font-size:var(--text-20);font-weight:var(--font-weight-regular);line-height:var(--leading-28)}p{color:var(--text-primary);font-family:var(--font-body);font-size:var(--type-body-size);font-weight:var(--font-weight-regular);line-height:var(--type-body-leading)}input,textarea,select,[contenteditable]{user-select:text}a,button,input,textarea,select{border-radius:var(--radius-control)}:focus-visible{outline:var(--border-width-strong) solid var(--focus-ring);outline-offset:var(--space-px-2)}.page-shell{min-height:var(--viewport-height);background:var(--background)}.button{justify-content:center;align-items:center;gap:var(--control-gap);padding:var(--control-padding-block) var(--control-padding-inline);border:var(--border-width-strong) solid var(--border-interactive);border-radius:var(--radius-control);background:var(--surface-interactive);color:var(--text-heading);font-family:var(--font-ui);font-weight:var(--font-weight-semibold);transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard);display:inline-flex}.button:hover{background:var(--surface-interactive-hover)}.button--secondary{border-color:var(--color-transparent);background:var(--color-transparent);color:var(--text-primary)}.button--secondary:hover{border-color:var(--surface-interactive-hover);background:var(--surface-interactive-hover)}.field{width:100%;padding:var(--space-px-16) var(--space-px-8) var(--space-px-8);border:var(--border-width-none);border-bottom:var(--border-width) solid var(--border-default);border-radius:var(--radius-none);background:var(--color-transparent);color:var(--text-heading);font-family:var(--font-body)}.field::placeholder{color:var(--text-placeholder)}.field[aria-invalid=true]{border-color:var(--status-danger)}.stack-badge{align-items:center;gap:var(--space-px-4);padding:var(--space-px-4) var(--space-px-12) var(--space-px-4) var(--space-px-10);border:var(--border-width) solid var(--stack-border,var(--border-default));border-radius:var(--radius-pill);background:var(--stack-background,var(--surface));color:var(--stack-foreground,var(--text-primary));font-family:var(--font-ui);font-size:var(--type-label-size);line-height:var(--type-label-leading);display:inline-flex}.stack-badge--typescript{--stack-background:var(--stack-typescript-fill);--stack-border:var(--stack-typescript-border);--stack-foreground:var(--stack-typescript-ink)}.stack-badge--javascript{--stack-background:var(--stack-javascript-fill);--stack-border:var(--stack-javascript-border);--stack-foreground:var(--stack-javascript-ink)}.stack-badge--tailwind{--stack-background:var(--stack-tailwind-fill);--stack-border:var(--stack-tailwind-border);--stack-foreground:var(--stack-tailwind-ink)}.stack-badge--figma{--stack-background:var(--stack-figma-fill);--stack-border:var(--stack-figma-border);--stack-foreground:var(--stack-figma-ink)}.stack-badge--python{--stack-background:var(--stack-python-fill);--stack-border:var(--stack-python-border);--stack-foreground:var(--stack-python-ink)}.stack-badge--opensource{--stack-background:var(--stack-opensource-fill);--stack-border:var(--stack-opensource-border);--stack-foreground:var(--stack-opensource-ink)}:root:not([data-theme=light]) [data-theme-art=light],:root[data-theme=light] [data-theme-art=dark]{display:none}.ls-line{position:relative;overflow:visible}.ls-line:before,.ls-line:after{content:"";pointer-events:none;position:absolute}.ls-line.horizontal{width:var(--decorative-line-length);height:var(--border-width)}.ls-line.horizontal:before{background:var(--color-cyan-a12);inset:0}.ls-line.horizontal:after{width:var(--decorative-line-band);height:var(--border-width);background:var(--gradient-line-horizontal);animation:line-sweep-horizontal var(--motion-decorative) var(--ease-sweep) infinite;will-change:transform, opacity;top:0;left:0}.ls-line.vertical{width:var(--border-width);height:var(--decorative-line-length)}.ls-line.vertical:before{background:var(--color-cyan-a12);inset:0}.ls-line.vertical:after{width:var(--border-width);height:var(--decorative-line-band);background:var(--gradient-line-vertical);animation:line-sweep-vertical var(--motion-decorative) var(--ease-sweep) infinite;will-change:transform, opacity;bottom:0;left:0}@keyframes line-sweep-horizontal{0%{opacity:0;transform:translate(-40%)}10%{opacity:1;transform:translate(-20%)}50%{opacity:1;transform:translate(100%)}90%{opacity:1;transform:translate(120%)}to{opacity:0;transform:translate(140%)}}@keyframes line-sweep-vertical{0%{opacity:0;transform:translateY(40%)}10%{opacity:1;transform:translateY(20%)}50%{opacity:1;transform:translateY(-100%)}90%{opacity:1;transform:translateY(-120%)}to{opacity:0;transform:translateY(-140%)}}@media screen and (width<=1024px){h1{font-size:var(--type-display-mobile-size);line-height:var(--type-display-mobile-leading)}h2{font-size:var(--type-heading-mobile-size);line-height:var(--type-heading-mobile-leading)}p,body{font-size:var(--type-body-mobile-size);line-height:var(--type-body-mobile-leading)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:var(--motion-reduced)!important;transition-duration:var(--motion-reduced)!important;animation-iteration-count:1!important}}.shiny-text{--shiny-base:var(--text-heading);--shiny-shine:var(--primary-light);--shiny-spread:120deg;--shiny-speed:2s}@supports (background-clip:text){.shiny-text{background-image:linear-gradient(var(--shiny-spread), var(--shiny-base) 0%, var(--shiny-base) 35%, var(--shiny-shine) 50%, var(--shiny-base) 65%, var(--shiny-base) 100%);-webkit-text-fill-color:transparent;color:#0000;box-decoration-break:clone;animation:shiny-text-sweep var(--shiny-speed) linear infinite;background-size:200%;background-clip:text}}@keyframes shiny-text-sweep{0%{background-position:150%}to{background-position:-50%}}.shiny-text:hover{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.shiny-text{background-position:150%;animation:none}}
