@font-face{font-family:"Archivo";src:url("../assets/fonts/archivo-latin-wdth-normal.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:"JetBrains Mono";src:url("../assets/fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2");font-weight:100 800;font-display:swap}:root{color-scheme:dark;--bg: #060806;--ink: #eef1e8;--muted: #9ca495;--rule: #232922;--accent: #a6e36b;--on-accent: #060806;--accent-2: #7e6cf0;--on-accent-2: #060806;--contact-bg: #a6e36b;--contact-ink: #060806;--contact-muted: #2f4418;--contact-accent: #060806;--sans: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--gutter: clamp(16px, 4vw, 48px)}:root[data-theme=light]{color-scheme:light;--bg: #f2f3ee;--ink: #141811;--muted: #545c50;--rule: #c7cbbf;--accent: #1c6636;--on-accent: #f4f8ef;--accent-2: #5646c9;--on-accent-2: #ffffff;--contact-bg: #141811;--contact-ink: #f2f3ee;--contact-muted: #a9b1a2;--contact-accent: #a6e36b}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,dl,dd,ol{margin:0;padding:0}ol{list-style:none}a{color:inherit}code{font-family:var(--mono);font-size:.88em}[hidden]{display:none !important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--gutter)}.skip{position:absolute;left:8px;top:-60px;z-index:20;padding:8px 14px;background:var(--ink);color:var(--bg)}.skip:focus{top:8px}.top{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--rule)}.top nav{display:flex;gap:clamp(12px,2.4vw,28px)}.top nav a{font-family:var(--mono);font-size:.8125rem;text-decoration:none;padding-block:8px;border-bottom:2px solid rgba(0,0,0,0)}.top nav a:hover{color:var(--accent-2)}.top nav a[aria-current=true]{border-bottom-color:var(--accent-2)}@media(max-width: 600px){.top nav{gap:11px}.top nav a{font-size:.75rem}.top nav a[href="#experiencia"],.top nav a[href="#clientes"]{display:none}}@media(max-width: 360px){.top nav{margin-right:auto;gap:8px}.top .top-in{gap:4px}.top .lang{min-width:32px;margin-right:0}}.top-in{display:flex;align-items:center;gap:clamp(10px,3vw,28px);min-height:56px}.brand{font-weight:700;font-stretch:112%;text-decoration:none;margin-right:auto;white-space:nowrap}@media(max-width: 360px){.brand{display:none}}.brand-short{display:none}@media(max-width: 600px){.brand-long{display:none}.brand-short{display:inline;font-family:var(--mono);font-size:.875rem}}.theme{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-right:-13px;background:none;border:0;color:inherit;cursor:pointer}.theme:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;padding:8px 18px;font:600 .9375rem/1.2 var(--sans);color:inherit;background:rgba(0,0,0,0);border:1.5px solid currentColor;border-radius:0;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s}.btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn-solid{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.trace{--n: 4;position:relative;display:grid;grid-template-columns:repeat(var(--n), minmax(0, 1fr));border-top:2px solid var(--ink)}.trace li{position:relative;padding:18px 20px 0 0}.trace li::before{content:"";position:absolute;left:0;top:-7px;width:12px;height:12px;background:var(--bg);border:2px solid var(--ink)}.trace b{display:block;font-weight:700;font-stretch:112%;font-size:1rem;line-height:1.25}.trace span{display:block;margin-top:4px;color:var(--muted);font-size:.875rem;line-height:1.4}.trace::after{content:"";position:absolute;left:0;top:-5px;width:8px;height:8px;background:var(--accent-2);animation:travel-x 7s linear infinite}.trace.is-idle::after{animation-play-state:paused}@media(max-width: 860px){.trace{grid-template-columns:minmax(0, 1fr);border-top:0;border-left:2px solid var(--ink);margin-left:6px}.trace li{padding:0 0 20px 22px}.trace li:last-child{padding-bottom:0}.trace li::before{left:-7px;top:5px}.trace::after{left:-5px;top:0;animation-name:travel-y}}@media(prefers-reduced-motion: reduce){.trace::after{display:none}}@keyframes travel-x{from{left:0;opacity:0}4%,92%{opacity:1}to{left:calc(100% - 8px);opacity:0}}@keyframes travel-y{from{top:0;opacity:0}4%,92%{opacity:1}to{top:calc(100% - 8px);opacity:0}}.section{padding-block:clamp(56px,8vw,104px)}.section-head{display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);gap:12px clamp(24px,6vw,96px);align-items:end;margin-bottom:clamp(32px,5vw,56px)}.section-head p{color:var(--muted)}@media(max-width: 860px){.section-head{grid-template-columns:minmax(0, 1fr)}}h2{font-weight:800;font-stretch:118%;letter-spacing:-0.02em;font-size:clamp(2.25rem,6vw,4.75rem);line-height:1;letter-spacing:-0.03em}.org{color:var(--accent);font-weight:600}.lang{display:grid;place-items:center;flex:none;min-width:44px;height:44px;margin-right:-10px;font-family:var(--mono);font-size:.8125rem;font-weight:700;color:var(--accent-2);text-decoration:none}.lang:hover{color:var(--ink)}.wa-float{position:fixed;left:16px;bottom:16px;z-index:15;display:grid;place-items:center;width:56px;height:56px;background:#1f9d55;border-radius:50%;box-shadow:0 0 0 2px var(--bg);transition:transform .15s}.wa-float:hover{transform:scale(1.08)}.wa-float img{display:block}@media(prefers-reduced-motion: reduce){.wa-float{transition:none}}.hero{padding-top:clamp(48px,9vw,112px);padding-bottom:clamp(48px,7vw,88px)}.eyebrow{font-family:var(--mono);font-size:.8125rem;line-height:1.5;color:var(--accent-2);margin-bottom:20px}h1{font-size:clamp(2rem,8.7vw,7.5rem);font-weight:800;font-stretch:125%;line-height:.98;letter-spacing:-0.035em;text-wrap:balance}@media(max-width: 600px){h1{font-stretch:100%;font-size:12.4vw;letter-spacing:-0.03em}}.hero-grid{display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);gap:clamp(24px,6vw,96px);margin-top:clamp(28px,5vw,56px);align-items:start}@media(max-width: 860px){.hero-grid{grid-template-columns:minmax(0, 1fr)}}.lead{font-size:clamp(1.25rem,2.1vw,1.625rem);line-height:1.35;font-weight:500;text-wrap:pretty}.figures{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:20px;margin-bottom:20px}.figures dt{font-weight:800;font-stretch:112%;letter-spacing:-0.02em;font-size:clamp(2.5rem,4.6vw,3.75rem);line-height:1;color:var(--accent)}.figures dd{margin-top:6px;color:var(--muted);font-size:.9375rem;line-height:1.35}.now{display:flex;gap:12px;color:var(--muted)}.pulse{flex:none;width:10px;height:10px;margin-top:.45em;background:var(--accent)}.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.trace-hero{--n: 5;margin-top:clamp(48px,7vw,88px)}.about{display:grid;grid-template-columns:minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr);gap:40px clamp(24px,4vw,56px)}@media(max-width: 1100px){.about{grid-template-columns:minmax(0, 2fr) minmax(0, 3fr)}.about>:last-child{grid-column:1/-1}}@media(max-width: 600px){.about{grid-template-columns:minmax(0, 1fr)}}.about-photo{display:block;width:100%;height:auto;border:1px solid var(--rule)}@media(max-width: 600px){.about-photo{max-width:280px}}.about .pitch{margin-top:24px}.about-text{color:var(--muted);max-width:62ch}.label{font-family:var(--mono);font-size:.8125rem;line-height:1.5;font-weight:500;color:var(--muted);margin-bottom:12px}.habits{margin:0;padding:0;list-style:none}.habits li{padding-block:11px;border-top:1px solid var(--rule);color:var(--muted)}.habits b{color:var(--ink);font-weight:700}.jobs>li{display:grid;grid-template-columns:minmax(0, 3fr) minmax(0, 9fr);gap:8px clamp(24px,4vw,64px);padding-block:24px;border-top:1px solid var(--rule)}@media(max-width: 860px){.jobs>li{grid-template-columns:minmax(0, 1fr)}}.jobs h3{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;font-stretch:110%;line-height:1.2}.jobs p:not(.when):not(.org){max-width:66ch;margin-top:8px;color:var(--muted)}.edu-date{font-family:var(--mono);font-size:.8125rem;line-height:1.5;color:var(--muted)}.jobs-note{font-family:var(--mono);font-size:.8125rem;line-height:1.5;color:var(--muted);padding-top:16px;border-top:1px solid var(--rule)}.org a,.edu-date a{text-underline-offset:3px}.org a:hover,.edu-date a:hover{color:var(--accent-2)}.when{font-family:var(--mono);font-size:.8125rem;line-height:1.5;color:var(--muted);padding-top:.3em}@media(max-width: 860px){.when{padding-top:0}}.edu{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:28px clamp(24px,4vw,64px);margin-top:clamp(32px,5vw,56px);padding-top:28px;border-top:2px solid var(--ink)}.edu h3{font-family:var(--mono);font-size:.8125rem;line-height:1.5;font-weight:500;color:var(--muted);margin-bottom:12px}.edu p+p{margin-top:12px}@media(max-width: 860px){.edu{grid-template-columns:minmax(0, 1fr)}}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px}.filter{font-family:var(--mono);font-size:.8125rem;line-height:1.5;min-height:44px;padding:8px 14px;color:inherit;background:rgba(0,0,0,0);border:1px solid var(--rule);border-radius:0;cursor:pointer}.filter:hover{border-color:var(--ink)}.filter[aria-pressed=true]{background:var(--accent-2);border-color:var(--accent-2);color:var(--on-accent-2)}.filter-count{font-family:var(--mono);font-size:.8125rem;line-height:1.5;color:var(--muted);margin-left:8px}.project{display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);gap:32px clamp(24px,6vw,96px);padding-block:clamp(32px,5vw,56px);border-top:1px solid var(--rule)}.project .trace{grid-column:1/-1;margin-top:16px}.project h3{font-weight:800;font-stretch:112%;letter-spacing:-0.02em;font-size:clamp(1.75rem,3.6vw,2.75rem);line-height:1.05}@media(max-width: 860px){.project{grid-template-columns:minmax(0, 1fr)}}.status{font-family:var(--mono);font-size:.8125rem;line-height:1.5;color:var(--accent-2);margin-bottom:10px}.pitch{font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.35;font-weight:500;margin-block:14px;text-wrap:pretty}.project-main>p:not(.status):not(.pitch){max-width:62ch;color:var(--muted);margin-top:10px}.facts{align-self:end}.facts>div{padding-block:11px;border-top:1px solid var(--rule)}.facts dt{font-weight:700;font-stretch:108%}.facts dd{color:var(--muted);font-size:.9375rem}@media(max-width: 860px){.facts{align-self:auto}}.fact-link a{font-weight:600;text-underline-offset:4px}.fact-link a:hover{color:var(--accent-2)}.sub{font-weight:800;font-stretch:112%;letter-spacing:-0.02em;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.1;padding-top:clamp(32px,5vw,56px);border-top:1px solid var(--rule)}.more{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:clamp(28px,4vw,44px) clamp(24px,6vw,96px);margin-top:28px}.more h4{font-size:1.1875rem;font-weight:700;font-stretch:108%;line-height:1.25}.more h4 a{text-underline-offset:4px}.more h4 a:hover{color:var(--accent-2)}.more h4 small{font-family:var(--mono);font-size:.75rem;font-weight:400;font-stretch:100%;color:var(--muted);margin-left:6px;white-space:nowrap}.more p{color:var(--muted);margin-top:6px}.more .tech{font-family:var(--mono);font-size:.8125rem;line-height:1.5;color:var(--ink);margin-top:10px}@media(max-width: 860px){.more{grid-template-columns:minmax(0, 1fr)}}.clients{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr));gap:48px clamp(20px,3vw,40px)}.clients>.client{grid-column:span 2}.clients>.client:nth-child(-n+2){grid-column:span 3}@media(max-width: 860px){.clients{grid-template-columns:minmax(0, 1fr)}.clients>.client,.clients>.client:nth-child(-n+2){grid-column:auto}}.client img{display:block;width:100%;height:auto;border:1px solid var(--rule)}.client h3{font-size:1.1875rem;font-weight:700;font-stretch:108%;line-height:1.25}.client h3 a{text-underline-offset:4px}.client h3 a:hover{color:var(--accent-2)}.client>p:last-child{color:var(--muted);margin-top:6px}.client-sector{font-family:var(--mono);font-size:.8125rem;line-height:1.5;color:var(--accent-2);margin-top:16px;margin-bottom:4px}.tech-row{display:grid;grid-template-columns:minmax(0, 3fr) minmax(0, 9fr);gap:14px clamp(24px,4vw,64px);padding-block:22px;border-top:1px solid var(--rule)}.tech-row h3{font-weight:700;font-stretch:108%;font-size:1.0625rem;line-height:1.3;padding-top:10px}@media(max-width: 860px){.tech-row{grid-template-columns:minmax(0, 1fr)}.tech-row h3{padding-top:0}}.tech-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(176px, 1fr));gap:12px 20px;margin:0;padding:0;list-style:none}@media(max-width: 600px){.tech-list{grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px}}.tech{display:flex;align-items:center;gap:12px;font-size:.9375rem;line-height:1.25;min-width:0}.tech-tile{display:grid;place-items:center;flex:none;width:44px;height:44px;background:#eef1e8;border:1px solid var(--rule)}.tech-tile img{display:block;width:28px;height:28px}.tech-mono{font-family:var(--mono);font-size:.6875rem;font-weight:700;color:#1e2a12}.service{display:grid;grid-template-columns:minmax(0, 6fr) minmax(0, 6fr);gap:40px clamp(24px,6vw,96px);padding-top:clamp(32px,5vw,56px);border-top:2px solid var(--ink)}.service h2{font-size:clamp(2rem,4.6vw,3.75rem);text-wrap:balance}.service .pitch{margin-top:24px;max-width:34em}.service .btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}@media(max-width: 860px){.service{grid-template-columns:minmax(0, 1fr)}}.offers{margin:0;padding:0;list-style:none}.offers li{padding-block:18px;border-top:1px solid var(--rule)}.offers li:first-child{padding-top:0;border-top:0}.offers h3{font-size:1.0625rem;font-weight:700;font-stretch:108%;line-height:1.3}.offers p:last-child{color:var(--muted);margin-top:6px}.price{font-weight:800;font-stretch:112%;letter-spacing:-0.02em;margin-top:4px;font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.1;color:var(--accent)}.price-quote{color:var(--accent-2);font-size:clamp(1.25rem,2vw,1.5rem)}.contact{background:var(--contact-bg);color:var(--contact-ink);padding-block:clamp(56px,9vw,112px) 88px;overflow-wrap:anywhere}.contact h2{max-width:18ch;font-size:clamp(2rem,5.4vw,4.25rem);text-wrap:balance;overflow-wrap:normal}.contact .btn:hover{background:var(--contact-ink);color:var(--contact-bg);border-color:var(--contact-ink)}.contact :focus-visible{outline-color:var(--contact-ink)}.quote{font-family:var(--mono);font-size:.875rem;line-height:1.5;color:var(--contact-muted);margin-bottom:20px}.contact-grid{display:grid;grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);gap:40px clamp(24px,6vw,96px);margin-top:clamp(28px,4vw,44px);align-items:start}@media(max-width: 860px){.contact-grid{grid-template-columns:minmax(0, 1fr)}}.mail{display:block;width:fit-content;font-size:clamp(1.125rem,2.4vw,1.875rem);font-weight:600;line-height:1.2;color:var(--contact-accent);text-underline-offset:.18em;text-decoration-thickness:2px}.mail+.mail{margin-top:12px}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}.copied{font-family:var(--mono);font-size:.8125rem;line-height:1.5;margin-left:6px}.socials{display:flex;flex-wrap:wrap;gap:4px 20px;margin:20px 0 0;padding:0;list-style:none}.socials a{display:inline-block;padding-block:10px;font-weight:600;text-underline-offset:4px}.form{display:grid;gap:16px}.field label{display:block;font-weight:600;margin-bottom:6px}.field input,.field textarea,.field select{display:block;width:100%;padding:10px 12px;font:inherit;color:inherit;background:rgba(0,0,0,0);border:1.5px solid currentColor;border-radius:0}.field select{min-height:48px}.field option{color:#141811;background:#f2f3ee}.field textarea{resize:vertical;min-height:128px}.form-end{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.btn-send{background:var(--contact-ink);color:var(--contact-bg);border-color:var(--contact-ink)}.fine{font-family:var(--mono);font-size:.8125rem;line-height:1.5;margin-top:clamp(48px,7vw,88px);color:var(--contact-muted)}
