@font-face{font-family:Doto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Doto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/portafolio-web/_astro/doto-latin-wght-normal.DtlIPefW.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAWUAA4AAAAABvAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABRAAAABYAAAAWABEABEdQT1MAAAFcAAAAHgAAAB5EdEx1R1NVQgAAAXwAAAAnAAAAKLj8uOpPUy8yAAABpAAAAFUAAABgYo+sRGNtYXAAAAH8AAAAQgAAAFxB0OJbZ2FzcAAAAkAAAAAIAAAACAAAABBnbHlmAAACSAAAAT0AAAFaNhXKIGhlYWQAAAOIAAAANgAAADYqgLJdaGhlYQAAA8AAAAAfAAAAJBAY8MdobXR4AAAD4AAAABkAAAAiEYUB02xvY2EAAAP8AAAAFAAAABQBUAHKbWF4cAAABBAAAAAcAAAAIAAjAQBuYW1lAAAELAAAARoAAAJuNApRAXBvc3QAAAVIAAAASwAAAF2B645zAAEAAAAMAAAAAAAAAAIAAQABAAMAAQAAAAEAAAAKABwAHAABREZMVAAIAAQAAAAA//8AAAAAAAB42mNgZGBg4GJQA0ImFzefEAahnMSSPAY+BhBgARH//4NIAFpJBVUAeNotxbENQEAYhuH3/87hwhA3g1KvEANQGcAoKolJJKLR2AwJT/OQaLIFD5o1AN23jVRWgwofnF4JkAHi1zctXMS4u+NOwW0WIrYCqNQJRPIH7S0K2QAAAHjaY2BgYAJiZiAWAZKMYJqFwQNI8zFwAOXYGBQYHBkWMBxkZFLY8v8/UByF///J/wP/U/87/me8HwTUjQIAZb8SQgAAAAEAAf//AA942mJgAvQ4zXARx1H8vd8x2zx8riX/lW3btt2SzS3M7VN7t4Qte7q2ptx++sVnvy9UABBHogURyAAUCgcFUiWOxjTcMzbhnHGKaA2NZJ5O+tLJHDopA0s6GaCSqZwYJ2RE+Bz3GdfwMKozLh81XV3R+VT0wwyT6WdDtEk0gAB0T2Yywu5/ff2/Lqe1XfrB2/RG8sgJuEAQgJOC51iNSimVqXieCXd1cZYxLoovlro4uzLhvMDYEpVSw7G8oPLGVceU6KR8cYF4vK12yLbUcE7CjS2WxRlpRViAsR3J/RNiaRoeeAcJybFcWXN7pUadlJHkqYpJT4yMLA/rrXbwswNAlJACvCePIKKJwMhQ0jC4TQq2tmgKO6QUT4gOrCg6hkIQGKmUItiJlhcXy6PFhYkJhUSXlJSWmAhmxutO9wAAAAABAAAAAQLRsUtkZV8PPPUADwPoAAAAAN9+te8AAAAA3362EvlE/vcTHAOxAAAABgACAAAAAAAAeNpjYGRgYN72n42BgSnrp8t7P2EZoAgq4AAAe9wE3gB42mPKYogAYjkkzADFMgwMjKwM8wFSaARoAAAAAAAAFQAuADoARgBGAEYAiACWAK142mNgZGBg4GTIZ2Bn6GfgAvMQgIOBEQAZTQEkeNqNkQVOREEQRB/uxIPEfgR3d3d3iKHr7rvhWpyCQ3AYKpN1T6emvbvSA7TjpImG5g7gt2E3bTcw2DCcthvpbehP201s8pe2mxnnJ2238Mhb2m5llOW03SsL3MQlYWKsMyOJYSOKR5G47GnBg186RBSX8jcccylE+ZQfwEFQlVfKB4Up7hVxkVDPJ1Ge5UXNDOWxmGOaWeYkG1hms5NPEtIh3HjMLItRkqZyVVgUVphiCbvwxVjJbiu73Sranr/thSPOpOtkXuRV3nkghPk2N3PhNrl5ZoV5WY+41WGV9E/lcb4lKu1Vxma698w93ObiMXON4j9y4TEVCb6YVleIgKIpTfCkX+X4JIgrz5rBWcIikGYx9g9ueGIvAAB42mNgYgCD/3MYjIAUIwM64ARiFYaTjEwMzIzMjCyMrIxsbI5JRallqeyleZkGBo4GINrIwMmEMzG5tCQ1OT83CSxjbGAGANg9D2UA)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/portafolio-web/_astro/fragment-mono-latin-ext-400-normal.BbKYyvR9.woff2)format("woff2"),url(/portafolio-web/_astro/fragment-mono-latin-ext-400-normal.CT4YFKeK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/portafolio-web/_astro/fragment-mono-latin-400-normal.yxdJ5AmL.woff2)format("woff2"),url(/portafolio-web/_astro/fragment-mono-latin-400-normal.BYwT3kSJ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--canvas:#0c0c0b;--surface-raised:#151513;--text-primary:#f1eee6;--text-secondary:#c8c4ba;--text-muted:#aaa69d;--identity:#c8c4ba;--motion:#aaa69d;--action:#f1eee6;--action-hover:#c8c4ba;--rule:#3d3c38;--rule-strong:#5f5d58;--flow-primary:#c8c4ba;--flow-secondary:#aaa69d;--flow-structural:#5f5d58;--portrait-primary:#f1eee6;--portrait-secondary:#aaa69d;--portrait-depth:#5f5d58;--portrait-weight:400;--tool-gentle-ai:#ff4f97;--tool-engram:#ff63c2;--tool-art-weight:400;--site-header-height:76px;--anchor-clearance:12px;--content:min(1240px, calc(100vw - 48px));--display:"Doto Variable", sans-serif;--mono:"Fragment Mono", "Lucida Console", monospace;--ease-out:cubic-bezier(.16, 1, .3, 1)}html[data-theme=light]{color-scheme:light;--canvas:#e2e6eb;--surface-raised:#eef1f4;--text-primary:#121418;--text-secondary:#343942;--text-muted:#59616d;--identity:#343942;--motion:#59616d;--action:#121418;--action-hover:#343942;--rule:#75818e;--rule-strong:#585f6a;--flow-primary:#252a31;--flow-secondary:#343b45;--flow-structural:#59616d;--portrait-primary:#0b0d10;--portrait-secondary:#23272e;--portrait-depth:#404752;--portrait-weight:600;--tool-gentle-ai:#82003e;--tool-engram:#700051;--tool-art-weight:600}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas);scroll-padding-top:0;overflow-x:clip}body{min-width:320px;color:var(--text-primary);background:var(--canvas);font-family:var(--mono);text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.65}html.theme-transition,html.theme-transition body,html.theme-transition a,html.theme-transition button,html.theme-transition pre,html.theme-transition p,html.theme-transition h1,html.theme-transition h2,html.theme-transition h3,html.theme-transition li,html.theme-transition span,html.theme-transition .site-header{transition-property:color,background-color,border-color,outline-color;transition-duration:.2s;transition-timing-function:ease}::selection{color:var(--canvas);background:var(--identity)}a{color:inherit;text-underline-offset:.3em;text-decoration-thickness:1px}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--motion);outline-offset:4px}#main-content:focus-visible{outline-offset:calc(0px - var(--site-header-height) - var(--anchor-clearance) - env(safe-area-inset-top,0px))}[data-lang-content]{display:inline}html[lang=es] [data-lang-content=en],html[lang=en] [data-lang-content=es]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;display:block;position:absolute;overflow:hidden}.sr-only [data-lang-content]{white-space:nowrap;width:1px;max-width:1px;display:block;position:absolute;overflow:hidden}.skip-link{z-index:100;color:var(--canvas);background:var(--text-primary);padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;top:env(safe-area-inset-top,0px);width:var(--content);min-height:var(--site-header-height);background-color:var(--canvas);background-color:color-mix(in srgb, var(--canvas) 94%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding-bottom:9px;display:grid;position:fixed;left:50%;transform:translate(-50%)}.site-header__rail{width:100%;min-width:0;color:var(--rule);font:10px/1 var(--mono);pointer-events:none;white-space:pre;align-items:center;margin:0;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.site-header__rail-prefix{flex:0 auto;min-width:0;overflow:hidden}.ascii-dash-run{min-width:10px;color:var(--rule);white-space:nowrap;flex:auto;display:block;overflow:hidden}.ascii-rail-corner{flex:none}.site-mark{min-height:44px;color:var(--identity);align-items:center;font-weight:700;text-decoration:none;display:flex}.site-header nav{justify-content:center;gap:clamp(12px,2.3vw,34px);display:flex}.site-header nav a,.language-switch,.theme-switch{color:var(--text-muted);letter-spacing:.04em;font-size:11px;text-decoration:none}.site-preferences{justify-content:flex-end;align-items:center;gap:clamp(4px,1vw,12px);min-width:0;display:flex}.theme-switch,.language-switch{min-height:44px;color:var(--text-muted);font-family:var(--mono);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:6px 4px;display:inline-flex}.theme-switch{min-width:68px}.language-switch{min-width:44px}.language-switch__label--en,html[lang=en] .language-switch__label--es{display:none}html[lang=en] .language-switch__label--en{display:inline}.theme-switch:hover,.theme-switch:focus-visible,.language-switch:hover,.language-switch:focus-visible{color:var(--text-primary)}.theme-switch__label--light,html[data-theme=light] .theme-switch__label--dark{display:none}html[data-theme=light] .theme-switch__label--light{display:inline}.site-header nav a{align-items:center;min-height:44px;display:inline-flex}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--text-primary)}.hero{place-items:center;width:100%;min-height:100svh;margin:0 auto;padding:98px 0 24px;display:grid;position:relative;overflow:clip}.ascii-flow-field{z-index:0;pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}main,footer{z-index:1;position:relative}.hero-frame{z-index:1;width:min(1128px, var(--content));grid-template-rows:auto 1fr auto;min-width:0;display:grid;position:relative}.hero-frame__edge{min-width:0;color:var(--rule);white-space:nowrap;align-items:center;font-size:10px;line-height:1;display:flex;overflow:hidden}.hero-frame__side{z-index:2;width:1ch;color:var(--rule);font:10px/15px var(--mono);pointer-events:none;white-space:pre;margin:0;position:absolute;top:10px;bottom:10px;overflow:hidden}.hero-frame__side--start{left:0}.hero-frame__side--end{right:0}.hero-frame__interior{grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr);align-items:center;gap:clamp(30px,4vw,60px);min-width:0;padding:30px clamp(28px,3.2vw,46px) 24px;display:grid}.hero__copy{z-index:2;background-color:color-mix(in srgb, var(--canvas) 82%, transparent);min-width:0;padding:3px 4px;position:relative}.hero-name{max-width:7.6ch;color:var(--text-primary);font-family:var(--display);font-variation-settings:"wght" 650, "ROND" 0;letter-spacing:-.03em;margin:0;font-size:clamp(51px,7.2vw,96px);font-weight:650;line-height:.83}.hero-name span{display:block}.role,.ascii-heading h2,.showcase-record__body h3,.service-manifest h3,.contact__email{font-family:var(--display);font-variation-settings:"wght" 650, "ROND" 0}.role{max-width:30ch;color:var(--text-primary);letter-spacing:-.015em;margin:24px 0 0;font-size:clamp(23px,2vw,34px);font-weight:650;line-height:1.08}.hero__intro{max-width:52ch;color:var(--text-muted);margin:18px 0 0;font-size:13px}.hero__actions{flex-wrap:wrap;gap:4px 22px;margin-top:20px;display:flex}.hero-link{min-height:44px;color:var(--action);letter-spacing:.04em;transition:color .18s ease, transform .18s var(--ease-out);align-items:center;padding:9px 0;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.hero-link:hover{color:var(--action-hover);transform:translate(3px)}.hero-link--secondary{color:var(--text-muted)}.hero-link:focus-visible{text-decoration:underline}.ascii-arrow{letter-spacing:0;flex:none}.hero__portrait{z-index:1;justify-self:end;min-width:0;position:relative;transform:translate(-24px)}.wireportrait{width:min(100%,480px);margin:0}.wireportrait__stage{aspect-ratio:var(--portrait-ratio,1 / 1);position:relative;overflow:hidden}.wireportrait__fallback{height:100%;min-height:0;color:var(--identity);font:clamp(6px, .75vw, 11px)/1.18 var(--mono);font-weight:var(--portrait-weight);text-align:center;place-items:center;margin:0;padding:12px 0;transition:opacity .18s;display:grid;overflow:hidden}html[data-theme=light] .wireportrait__fallback{color:var(--portrait-primary)}.wireportrait__canvas{opacity:0;object-fit:contain;width:100%;height:100%;transition:opacity .42s var(--ease-out);display:block;position:absolute;inset:0}.wireportrait.is-ready .wireportrait__fallback{opacity:0}.wireportrait.is-ready .wireportrait__canvas{opacity:1}.ascii-rail pre,.ascii-heading__banner{color:var(--rule);font-family:var(--mono);white-space:pre;margin:0;font-weight:400}.ascii-rail__compact,.ascii-heading__banner--compact{display:none}.section-shell{width:var(--content);margin:0 auto;padding:clamp(105px,13vw,180px) 0}.section-heading{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;gap:clamp(45px,8vw,110px);margin-bottom:88px;display:grid}.work{place-items:center;min-height:100svh;display:grid}.showcase-stage{place-items:center;height:100svh;min-height:100svh;display:grid}.showcase-frame{height:80svh;min-height:0}.work-frame{width:min(1128px, var(--content));grid-template-rows:auto minmax(180px,23svh) auto minmax(0,1fr) auto;min-height:80svh;margin:0 auto;display:grid;position:relative;overflow:hidden}.work-frame__edge,.work-frame__junction,.work-frame__mobile-divider{min-width:0;color:var(--rule);font:9px/1 var(--mono);white-space:pre;align-items:center;display:flex;overflow:hidden}.work-frame__edge{z-index:2;width:100%;position:relative}.work-frame__edge .ascii-dash-run,.work-frame__junction .ascii-dash-run,.work-frame__mobile-divider .ascii-dash-run{flex:1 1 0;width:0;min-width:0;overflow:hidden}.work-frame__side,.work-frame__divider{z-index:1;width:1ch;color:var(--rule);font:9px/12px var(--mono);pointer-events:none;white-space:pre;margin:0;position:absolute;top:9px;bottom:9px;overflow:hidden}.work-frame__side--start{left:0}.work-frame__side--end{right:0}.work-intro{align-items:center;min-width:0;padding:clamp(28px,4svh,40px) clamp(30px,4vw,52px);display:grid}.showcase-header{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);align-items:center;gap:clamp(34px,6vw,84px);min-width:0;padding:clamp(20px,2.8svh,28px) clamp(28px,3.6vw,46px);display:grid}.showcase-header .ascii-heading__banner{display:none}.showcase-header .ascii-heading h2{max-width:15ch;margin:0;font-size:clamp(42px,4.8vw,62px);line-height:.95}.showcase-header>p{max-width:65ch;color:var(--text-muted);background-color:color-mix(in srgb, var(--canvas) 82%, transparent);margin:0;padding:3px 4px;font-size:11px;line-height:1.5}.work-intro .section-heading{margin-bottom:0}.work-intro .ascii-heading__banner{display:none}.work-intro .ascii-heading h2{margin-top:0}.ascii-heading{min-width:0}.ascii-heading__banner{max-width:100%;font-size:clamp(7px,.72vw,10px);line-height:1.18;overflow:hidden}.ascii-heading--source .ascii-heading__banner{color:var(--identity)}.ascii-heading--without-banner h2{margin-top:0}.ascii-heading h2{max-width:13ch;color:var(--text-primary);letter-spacing:-.025em;text-wrap:balance;margin:25px 0 0;font-size:clamp(52px,6.4vw,84px);font-weight:650;line-height:.98}.section-heading p,.oss-header p,.services__lead>p{max-width:65ch;color:var(--text-muted);margin:0}.project-ledger{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;display:grid;position:relative}.project-record{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:clamp(28px,3.8svh,38px) clamp(28px,3.4vw,44px) clamp(24px,3.2svh,34px);display:grid}@media (width>=981px){:root{--desktop-header-band:calc(var(--site-header-height) + env(safe-area-inset-top,0px))}.hero,.showcase-stage,.services.section-shell,.contact{padding:var(--desktop-header-band) 0 0}.services.section-shell,.contact{min-height:100svh}.services{align-items:center}.contact{align-content:center;display:grid}.project-record{grid-template-rows:minmax(0,1fr)}}.work-frame__divider{top:0;bottom:0;left:50%;transform:translate(-50%)}.work-frame__mobile-divider{display:none}.ascii-rail{width:100%;overflow:hidden}.ascii-rail pre{font-size:clamp(7px,.68vw,9px);line-height:1}.showcase-record__grid{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;padding:clamp(20px,2.6svh,28px) 0 0;display:grid}.showcase-record__body h3{max-width:14ch;color:var(--text-primary);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(36px,3.4vw,48px);font-weight:650;line-height:1}.showcase-record__body{background-color:color-mix(in srgb, var(--canvas) 82%, transparent);min-width:0;padding:3px 4px}.showcase-record__category{color:var(--identity);text-transform:uppercase;margin:12px 0 16px;font-size:11px}.showcase-record__summary{max-width:63ch;color:var(--text-muted);margin:0}.external-action{width:100%;min-height:48px;color:var(--text-primary);letter-spacing:.04em;align-self:end;align-items:center;gap:0;margin-top:12px;padding:14px 0;font-size:11px;font-weight:700;text-decoration:none;display:flex}.external-action__label{flex:0 auto;min-width:0}.external-action__run{width:0;min-width:12px;height:1em;color:var(--rule);letter-spacing:0;white-space:nowrap;flex:1 1 0;font-weight:400;overflow:hidden}.external-action:hover{color:var(--motion)}.open-source{place-items:center;min-height:100svh;display:grid}.oss-frame{width:min(1128px, var(--content));grid-template-rows:auto minmax(180px,23svh) auto minmax(0,1fr) auto;min-width:0;height:80svh;margin:0 auto;display:grid;position:relative;overflow:hidden}.oss-frame__edge,.oss-frame__junction,.oss-frame__mobile-divider{min-width:0;color:var(--rule);font:9px/1 var(--mono);white-space:pre;align-items:center;display:flex;overflow:hidden}.oss-frame__edge{z-index:2;width:100%;position:relative}.oss-frame__edge .ascii-dash-run,.oss-frame__junction .ascii-dash-run,.oss-frame__mobile-divider .ascii-dash-run{flex:1 1 0;width:0;min-width:0;overflow:hidden}.oss-frame__side,.oss-frame__divider{z-index:1;width:1ch;color:var(--rule);font:9px/12px var(--mono);pointer-events:none;white-space:pre;margin:0;position:absolute;top:9px;bottom:9px;overflow:hidden}.oss-frame__side--start{left:0}.oss-frame__side--end{right:0}.oss-header{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);align-items:center;gap:clamp(34px,6vw,84px);min-width:0;padding:clamp(20px,2.8svh,28px) clamp(28px,3.6vw,46px);display:grid}.oss-header .ascii-heading__banner{display:none}.oss-header .ascii-heading h2{max-width:15ch;margin:0;font-size:clamp(42px,4.8vw,62px);line-height:.95}.oss-header p{font-size:11px;line-height:1.5}.oss-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;min-height:0;display:grid;position:relative}.oss-frame__divider{top:0;bottom:0;left:50%;transform:translate(-50%)}.oss-frame__mobile-divider{display:none}.repo-block{grid-template-rows:minmax(0,1fr);align-content:start;min-width:0;min-height:0;padding:clamp(28px,3.8svh,38px) clamp(28px,3.4vw,44px) clamp(24px,3.2svh,34px);display:grid}.repo-block .showcase-record__grid{height:100%}.showcase-ascii-art{width:100%;min-width:0;max-width:100%;height:100%;min-height:0;color:var(--identity);text-align:center;place-self:stretch center;place-items:center;margin:0;padding:8px 0;display:grid;overflow:hidden}.showcase-ascii-art pre{width:max-content;max-width:none;font-family:var(--mono);white-space:pre;margin:0 auto;font-size:4.9px;font-weight:400;line-height:5.3px}.showcase-ascii-art__compact{display:none}.showcase-ascii-art--gentle-ai{color:var(--tool-gentle-ai)}.showcase-ascii-art--engram{color:var(--tool-engram)}.showcase-ascii-art--gentle-ai pre,.showcase-ascii-art--engram pre{font-weight:var(--tool-art-weight)}@media (width>=981px) and (height<=800px){.showcase-frame,.oss-frame{grid-template-rows:auto 140px auto minmax(0,1fr) auto}.showcase-header,.oss-header{padding:18px 38px}.showcase-header .ascii-heading h2,.oss-header .ascii-heading h2{font-size:44px}.project-record,.repo-block{padding:20px 30px 14px}.showcase-record__grid{padding-top:14px}.showcase-ascii-art{padding-block:6px}.showcase-ascii-art pre{font-size:4.4px;line-height:4.5px}}@media (width>=981px) and (height<=720px){.showcase-frame{grid-template-rows:auto 104px auto minmax(0,1fr) auto}.showcase-header{padding:14px 34px}.showcase-header .ascii-heading h2{font-size:40px}.project-record,.repo-block{padding:14px 24px 10px}.oss-frame{grid-template-rows:auto 104px auto minmax(0,1fr) auto}.oss-header{padding:14px 34px}.oss-header .ascii-heading h2{font-size:40px}.repo-block{padding:14px 24px 10px}}.services{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(50px,9vw,130px);display:grid}.services.section-shell,.contact{min-height:100svh}.services__lead>p,.contact>p{background-color:color-mix(in srgb, var(--canvas) 82%, transparent);padding:3px 4px}.services__lead>p{margin-top:42px}.service-manifest{min-width:0;margin:0;padding:0;list-style:none;position:relative}.service-manifest li{grid-template-columns:50px minmax(0,1fr);padding:30px 0 32px;display:grid;position:relative}.service-manifest li+li{border-top:1px dotted var(--rule)}.service-manifest__node{color:var(--identity);grid-row:1/3;font-size:12px}.service-manifest h3{color:var(--text-primary);margin:0 0 12px;font-size:clamp(28px,2.6vw,39px);font-weight:650;line-height:1.05}.service-manifest p{max-width:50ch;color:var(--text-muted);margin:0;font-size:12px}.contact{width:var(--content);min-height:700px;margin:0 auto;padding:clamp(105px,13vw,170px) 0 120px;position:relative}.contact .ascii-heading{width:min(920px,100%)}.contact .ascii-heading h2{max-width:13ch;font-size:clamp(58px,7.5vw,96px)}.contact>p{max-width:50ch;color:var(--text-muted);margin:30px 0 20px}.contact__email{max-width:100%;color:var(--action);overflow-wrap:anywhere;font-size:clamp(28px,4.2vw,58px);font-weight:650;line-height:1.1;text-decoration:none;display:inline-block}.contact__links{flex-wrap:wrap;gap:12px 28px;margin-top:40px;font-size:11px;display:flex}.contact__links a{align-items:center;min-height:44px;display:inline-flex}footer{width:var(--content);min-width:0;color:var(--text-muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;margin:0 auto;padding:28px 0;font-size:9px;display:grid}footer:before{width:100%;min-width:0;color:var(--rule);content:"+----------------------------------------------------------------------------------+";white-space:nowrap;grid-column:1/-1;overflow:hidden}footer p{margin:0}footer a{min-height:44px;color:var(--text-primary);justify-self:end;padding:12px 0;text-decoration:none}@media (width<=980px){html{scroll-padding-top:calc(var(--site-header-height) + var(--anchor-clearance) + env(safe-area-inset-top,0px))}:root{--content:min(100% - 36px, 820px)}.site-header{grid-template-columns:auto minmax(0,1fr)}.site-header nav{display:none}.site-preferences{justify-self:end}.hero{min-height:auto;padding:96px 0 44px}.hero-frame__interior{grid-template-columns:1fr;gap:12px;padding-top:28px}.hero__portrait{justify-self:center;width:min(62%,420px);transform:none}.section-heading,.services{grid-template-columns:1fr}.section-heading{gap:42px}.showcase-stage,.showcase-frame,.open-source,.oss-frame{height:auto;min-height:auto}.open-source{display:block}.oss-frame{height:auto;display:block}.oss-frame__side,.oss-frame__divider,.oss-frame__junction .oss-frame__center-corner,.oss-frame__junction .oss-frame__rail--after{display:none}.oss-header,.showcase-header{grid-template-columns:1fr;gap:32px;padding:88px 24px 64px}.oss-tool-grid{display:block}.repo-block{padding:64px 24px 72px;display:block}.repo-block .showcase-record__grid{height:auto}.showcase-ascii-art{margin:24px 0}.oss-frame__mobile-divider{margin:-65px -24px 64px;display:flex}.work-intro{padding:104px 24px 72px}.work,.work-frame,.services.section-shell,.contact{min-height:auto}.work,.work-frame{display:block}.work-frame__side,.work-frame__divider,.work-frame__junction .work-frame__center-corner,.work-frame__junction .work-frame__rail--after,.work-frame__edge--bottom .work-frame__center-corner,.work-frame__edge--bottom .work-frame__rail--after{display:none}.project-ledger{display:block}.project-record{padding:72px 24px 82px}.work-frame__mobile-divider{margin:-1px -24px 72px;display:flex}}@media (width<=640px){:root{--content:calc(100% - 28px)}body{font-size:14px}.site-header__rail{font-size:8px}.site-mark,.site-header nav a,.language-switch,.theme-switch{font-size:10px}.theme-switch{min-width:58px;padding-inline:2px}.language-switch{min-width:44px;padding-inline:2px}.hero{padding:88px 0 30px}.hero-frame__edge{font-size:8px}.hero-frame__side{font-size:8px;line-height:13px;top:8px;bottom:8px}.hero-frame__interior{gap:8px;padding:20px 18px 12px}.hero-name{font-size:clamp(51px,15vw,96px);line-height:.84}.role{max-width:25ch;margin-top:16px;font-size:clamp(23px,6.5vw,34px)}.hero__intro{margin-top:12px;font-size:12px;line-height:1.5}.hero__actions{flex-direction:column;align-items:stretch;gap:0;margin-top:10px}.hero-link{min-height:44px;padding:7px 0}.skip-link{min-height:44px}.showcase-header{padding:72px 24px 48px}.work-intro{padding:80px 24px 52px}.project-record{padding:56px 24px}.repo-block{padding:52px 24px}.work-frame__mobile-divider{margin-bottom:52px}.oss-frame__mobile-divider{margin:-53px -24px 52px}.hero__portrait{width:min(68%,240px)}.wireportrait__fallback{font-size:clamp(5px,1.45vw,8px)}.ascii-rail__wide,.ascii-heading__banner--wide{display:none}.ascii-rail__compact,.ascii-heading__banner--compact{display:block}.ascii-rail pre,.ascii-heading__banner{font-size:min(2.1vw,8px)}.section-shell{padding:80px 0}.ascii-heading h2{margin-top:22px;font-size:clamp(46px,14vw,62px)}#work-title{max-width:100%;font-size:clamp(34px,11.5vw,52px)}#work-title [data-lang-content=es]{letter-spacing:-.0265em}.section-heading{margin-bottom:72px}.showcase-record__grid{padding:24px 0 0}.showcase-record__body h3{font-size:clamp(40px,13vw,56px)}.project-record__link,.repo-block__link{margin-top:24px}.showcase-ascii-art__wide{display:none}.showcase-ascii-art__compact{display:block}.showcase-ascii-art pre{font-size:5.2px;line-height:6.2px}#oss-title{max-width:100%;font-size:clamp(34px,11.5vw,52px)}.service-manifest li{grid-template-columns:42px minmax(0,1fr)}.contact{min-height:auto;padding:80px 0 72px}.contact .ascii-heading h2{font-size:clamp(50px,15vw,66px)}.contact__email{font-size:clamp(25px,8.2vw,37px)}.contact__links{flex-direction:column;align-items:flex-start}footer{grid-template-columns:1fr auto;gap:14px}footer p:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
