@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-latin-400-normal-A6LyuA6R.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-400-normal-D89K-qEP.woff) format("woff")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-nxTgbNFE.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-600-normal-Bw0J83-2.woff) format("woff")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-latin-800-normal-J50vIsBe.woff2) format("woff2"),url(/assets/bricolage-grotesque-latin-800-normal-Br4b-5gk.woff) format("woff")}@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff")}:root{font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1a1817;background:#f4ede4;text-rendering:optimizeLegibility;color-scheme:light;--creme: #f4ede4;--creme-claro: #fbf7f1;--creme-escuro: #e8dccb;--preto: #1a1817;--preto-rgb: 26, 24, 23;--terracota: #b8573a;--terracota-rgb: 184, 87, 58;--terracota-texto: #9c4228;--bordo: #5e1f28;--bordo-rgb: 94, 31, 40;--laranja: #f07c2a;--laranja-rgb: 240, 124, 42;--bg: var(--creme);--surface: var(--creme-claro);--surface-2: var(--creme-escuro);--text: var(--preto);--muted: #554d46;--muted-soft: #675e56;--line: rgba(var(--preto-rgb), .1);--line-strong: rgba(var(--preto-rgb), .18);--display: "Bricolage Grotesque", "DM Sans", system-ui, sans-serif;--pixel: "Press Start 2P", "Courier New", monospace;--terminal: "VT323", "Courier New", monospace;--radius: 6px;--max-width: 1440px;--gutter: clamp(2rem, 8vw, 7rem)}.accent-terracota{--accent: var(--terracota);--accent-text: var(--terracota-texto);--accent-rgb: var(--terracota-rgb)}.accent-bordo{--accent: var(--bordo);--accent-text: var(--bordo);--accent-rgb: var(--bordo-rgb)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}::selection{background:var(--terracota);color:var(--creme-claro)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}svg{width:1.05rem;height:1.05rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.site-shell{overflow:hidden}:focus-visible{outline:3px solid var(--laranja);outline-offset:3px}main:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.7rem 1rem;border-radius:var(--radius);background:var(--preto);color:var(--creme);font-weight:600;transform:translateY(-200%)}.skip-link:focus{transform:none}.watermark{position:fixed;z-index:0;inset:0;pointer-events:none;background:url(/fundo-circuito.svg) repeat}main,.footer{position:relative;z-index:1}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 clamp(1rem,4vw,3.5rem);background:#f4ede4e6;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center}.brand-copy{display:flex;flex-direction:column;gap:.15rem}.brand-copy strong{font-size:.98rem;font-weight:600}.brand-copy small{color:var(--muted-soft);font-size:.72rem}.nav{display:flex;align-items:center;gap:1.8rem;color:var(--muted);font-size:.92rem}.nav a{transition:color .16s ease}.nav a:hover{color:var(--terracota-texto)}@media(hover:hover)and (min-width:821px){.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--terracota);transition:width .26s ease}.nav a:not(.nav-cta):hover:after{width:100%}}.nav-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:var(--radius);background:var(--preto);color:var(--creme)!important;transition:background .16s ease}.nav-cta:hover{background:var(--terracota-texto)}.menu-button{display:none;border:0;background:transparent;color:var(--text);cursor:pointer;padding:.5rem}.menu-button svg{width:1.5rem;height:1.5rem}.section{width:min(var(--max-width),calc(100% - var(--gutter)));margin:0 auto;padding:clamp(4rem,8vw,6.5rem) 0}.section+.section{border-top:1px solid var(--line)}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1rem;color:var(--terracota-texto);font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:22px;height:2px;background:var(--terracota)}.section-heading{max-width:960px;margin-bottom:2.8rem}.section-heading h2,.contact h2{margin:0;font-family:var(--display);font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:600;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}.section-heading--split{max-width:none;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:2.5rem;align-items:end}.section-intro{margin:0;color:var(--muted);line-height:1.75}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.8rem 1.35rem;border-radius:var(--radius);border:1px solid var(--line-strong);font-size:.94rem;font-weight:600;transition:transform .16s ease,background .16s ease,color .16s ease}.button:hover{transform:translateY(-2px)}.button--primary{color:var(--creme);background:var(--preto);border-color:transparent}.button--primary:hover{background:var(--terracota-texto)}.hero{min-height:100svh;padding-top:7.5rem;padding-bottom:3rem;display:flex;align-items:center}.hero-grid{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}.hero-name{margin:0;font-family:var(--display);font-size:clamp(2.25rem,4.9vw,4.2rem);font-weight:800;line-height:.95;letter-spacing:-.035em}.hero-title{margin:1rem 0 0;color:var(--terracota-texto);font-size:1.2rem;font-weight:600}.hero-sign{position:relative;max-width:640px;margin:1.8rem 0 0;font-family:var(--display);font-size:1.4rem;font-weight:400;line-height:1.4;color:#2f2a27}.hero-sign em{font-style:normal;font-weight:600;color:var(--bordo)}.hero-sign__ghost{visibility:hidden}.hero-sign__typed{position:absolute;top:0;left:0;right:0}.hero-sign__caret{display:inline-block;width:2px;height:1.1em;margin-left:3px;vertical-align:-.18em;background:var(--terracota)}.hero-sign__caret--blink{animation:piscar 1s steps(1) 5}@keyframes piscar{50%{opacity:0}}.hero-role{max-width:760px;margin:1.2rem 0 0;color:var(--muted);font-size:1.08rem;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:760px;margin:2.8rem 0 0;padding-top:1.6rem;border-top:1px solid var(--line-strong)}.hero-stats div{display:flex;flex-direction:column;gap:.3rem}.hero-stats dt{font-family:var(--display);font-size:2rem;font-weight:800;color:var(--terracota-texto);font-variant-numeric:tabular-nums}.hero-stats dd{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}.hero-visual{display:flex;justify-content:center}.portrait-frame{position:relative;width:min(100%,380px);aspect-ratio:4 / 5}.portrait-frame:before{content:"";position:absolute;inset:18px -18px -18px 18px;background:var(--terracota)}.portrait-photo,.portrait-placeholder{position:relative;width:100%;height:100%;object-fit:cover;background:var(--surface-2)}.portrait-placeholder{display:grid;place-items:center}.portrait-initials{font-family:var(--display);font-weight:800;font-size:6rem;color:var(--bordo)}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem)}.about-lead{margin:0;font-family:var(--display);color:var(--text);font-size:clamp(1.3rem,2.1vw,1.65rem);line-height:1.45}.about-copy{display:grid;gap:1.1rem;color:var(--muted);line-height:1.8}.about-copy p{margin:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.project-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);overflow:hidden;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}@media(hover:hover){.project-card:hover{transform:translate(-4px,-4px);border-color:var(--accent);box-shadow:8px 8px 0 var(--accent)}}.project-window{margin:1.1rem 1.1rem 0;border:1px solid var(--line-strong);border-bottom:0;background:var(--surface-2);overflow:hidden}.project-window__bar{display:flex;gap:6px;padding:.6rem .8rem;background:var(--preto)}.project-window__bar span{width:9px;height:9px;border-radius:50%;background:#f4ede44d}.project-window__bar span:first-child{background:var(--laranja)}.project-window img{width:100%;aspect-ratio:16 / 9;object-fit:cover;object-position:top left}.project-body{flex:1;display:flex;flex-direction:column;padding:1.6rem 1.7rem 1.7rem;border-top:3px solid var(--accent)}.project-eyebrow{margin:0 0 .45rem;color:var(--accent-text);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.project-body h3{margin:0;font-family:var(--display);font-size:1.75rem;font-weight:600;letter-spacing:-.015em}.project-description{margin:.7rem 0 0;color:var(--muted);line-height:1.7;font-size:.96rem}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}.tag-list span{padding:.35rem .7rem;border-radius:999px;background:rgba(var(--accent-rgb),.1);color:var(--text);font-size:.78rem}.project-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:auto;padding-top:1.5rem}.stack-list{display:flex;flex-wrap:wrap;gap:.4rem .9rem;color:var(--muted);font-size:.8rem}.stack-list span:before{content:"◆ ";color:var(--accent);font-size:.6rem;vertical-align:2px}.project-link{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:var(--radius);background:var(--preto);color:var(--creme);font-size:.86rem;font-weight:600;white-space:nowrap;transition:background .16s ease}.project-link:hover{background:var(--terracota-texto)}.project-link--muted{background:none;border:1px dashed var(--line-strong);color:var(--muted);font-weight:500}.project-link--muted:hover{background:none}.interpreter-mock{aspect-ratio:16 / 9;display:flex;flex-direction:column;justify-content:center;gap:1.4rem;padding:1.5rem 1.8rem;background:var(--preto)}.interpreter-mock__wave{display:flex;align-items:center;gap:4px;height:70px}.interpreter-mock__wave span{flex:1;height:var(--h);border-radius:2px;background:var(--terracota)}.interpreter-mock__wave span:nth-child(3n){background:var(--laranja)}.interpreter-mock__subtitle{padding:.9rem 1.1rem;background:#f4ede40f;border-left:3px solid var(--laranja)}.interpreter-mock__subtitle small{color:var(--laranja);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.interpreter-mock__subtitle p{margin:.35rem 0 0;color:var(--creme);font-size:.98rem;line-height:1.45}.skill-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.skill-card{grid-column:span 2;padding:1.5rem;border:1px solid var(--line);background:var(--surface)}.skill-card:nth-child(4),.skill-card:nth-child(5){grid-column:span 3}.skill-card h3{display:flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;font-size:.98rem;font-weight:600}.skill-card h3:before{content:"";width:10px;height:10px;background:var(--accent)}.chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.chip-list>span{padding:.42rem .75rem;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--bg);color:var(--text);font-size:.84rem}.contact-panel{width:100vw;margin-inline:calc(50% - 50vw);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,3vw,2.5rem);padding-block:clamp(1.25rem,2.5vw,1.75rem);padding-inline:max(1rem,calc((100vw - min(var(--max-width),100vw - var(--gutter)))/2));background:var(--bordo);color:var(--creme)}.contact-panel .eyebrow{color:#f2b48e}.contact-panel .eyebrow:before{background:var(--laranja)}.contact-panel .eyebrow{margin-bottom:.6rem}.contact-panel h2{font-size:clamp(1.5rem,2.2vw,2rem)}.contact-panel p:not(.eyebrow){margin:.5rem 0 0;color:#ead6cf;line-height:1.5;font-size:.95rem}.contact-panel .contact-privacy{font-size:.8rem}.contact-privacy a{color:var(--creme);text-decoration:underline;text-underline-offset:3px}.contact-list{display:grid;gap:.5rem}.contact-list a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 1rem;padding:.5rem .9rem;background:#1a181759;border:1px solid rgba(244,237,228,.12);transition:border-color .16s ease,transform .16s ease}.contact-list a:hover{border-color:var(--laranja);transform:translate(3px)}.contact-list small{grid-column:1;color:#f2b48e;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.contact-list span{grid-column:1;overflow-wrap:anywhere;font-size:.88rem}.contact-list svg{grid-column:2;grid-row:1 / span 2;color:var(--laranja)}.footer{width:min(var(--max-width),calc(100% - var(--gutter)));margin:0 auto;padding:2rem 0 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.82rem;border-top:1px solid var(--line-strong)}.footer a:hover{color:var(--terracota-texto)}.footer-id{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.2rem}.footer-id a{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.social{display:flex;gap:.7rem}.footer .social a{position:relative;isolation:isolate;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--accent);color:var(--accent-text);overflow:hidden;transition:color .3s ease}.footer .social a:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--accent);transform:translateY(100%);transition:transform .3s ease}.footer .social svg{width:20px;height:20px;transition:transform .6s ease}.footer .social a:hover{color:var(--creme)}.footer .social a:hover:before{transform:translateY(0)}.footer .social a:hover svg{transform:rotateY(360deg)}.legal{max-width:820px;padding-top:8rem}.legal h1{margin:0;font-family:var(--display);font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;line-height:1.05;letter-spacing:-.025em}.legal h2{margin:2.6rem 0 .8rem;font-family:var(--display);font-size:1.45rem;font-weight:600;color:var(--bordo)}.legal p,.legal li{color:#2f2a27;line-height:1.8}.legal p{margin:0 0 1rem}.legal ul{margin:0;padding-left:1.2rem;display:grid;gap:.5rem}.legal a{color:var(--terracota-texto);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-updated{margin-top:.8rem!important;color:var(--muted)!important;font-size:.88rem}.legal-lead{margin-top:2rem!important;font-size:1.1rem;color:var(--text)!important}@media(max-width:1050px){.hero-grid,.section-heading--split,.contact-panel{grid-template-columns:1fr}.hero-visual{order:-1}.portrait-frame{width:min(100% - 18px,300px)}.skill-card,.skill-card:nth-child(4),.skill-card:nth-child(5){grid-column:span 3}.skill-card:nth-child(5){grid-column:span 6}}@media(max-width:820px){.menu-button{display:inline-flex}.nav{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:.6rem 1.25rem 1.3rem;background:var(--creme);border-bottom:1px solid var(--line)}.nav--open{display:flex}.nav.nav--inline{position:static;display:flex;padding:0;background:none;border:0}.nav.nav--inline a{padding:0;border-bottom:0}.nav a{padding:.95rem 0;border-bottom:1px solid var(--line)}.nav-cta{justify-content:center;margin-top:.8rem;padding:.95rem 1rem!important}.about-grid,.project-grid{grid-template-columns:1fr}.skill-card,.skill-card:nth-child(4),.skill-card:nth-child(5){grid-column:span 6}}@media(max-width:620px){.section,.footer{width:calc(100% - 2rem)}.brand-copy small{display:none}.hero{padding-top:6.5rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-stats{grid-template-columns:1fr;gap:.9rem}.hero-stats div{flex-direction:row;align-items:baseline;gap:.7rem}.hero-stats dt{min-width:4.2rem;font-size:1.5rem}.portrait-frame{width:min(100% - 18px,240px)}.project-window{margin:.8rem .8rem 0}.project-body{padding:1.3rem}.interpreter-mock{padding:1rem;gap:.9rem}.interpreter-mock__wave{height:44px}.interpreter-mock__subtitle p{font-size:.85rem}.contact-panel{padding:1.5rem 1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
