.hero{flex-direction:column;justify-content:center;height:100vh;min-height:660px;display:flex;position:relative;overflow:hidden}.hero video,.hero .bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero .scrim{background:linear-gradient(180deg,#12131fdb 0%,#12131f1f 28%,#12131fa8 70%,var(--ink) 100%), linear-gradient(90deg,#12131fdb 0%,#12131f59 42%,transparent 68%), radial-gradient(90% 70% at 80% 6%,#4d7cff2e,transparent 62%);position:absolute;inset:0}.hero .inner{z-index:5;width:100%;position:relative}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--dim);text-shadow:0 1px 12px #12131fcc;margin:0 0 22px;font-size:11px}.eyebrow b{color:var(--blue);font-weight:400}.hero h1{letter-spacing:-.036em;max-width:23ch;margin:0;font-size:clamp(34px,5.2vw,76px);font-weight:700;line-height:.94}.hero h1 em{color:var(--dim);font-style:normal}.credits{color:var(--dim-2);letter-spacing:-.01em;text-wrap:balance;margin:24px 0 0;font-size:clamp(17px,1.55vw,22px);font-weight:500;line-height:1.45}.credits b{color:var(--paper);font-weight:600}.slash{color:var(--blue);margin:18px 0 0;font-size:13px}.slash s{color:var(--dim-2);margin-right:10px;text-decoration:none}.actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px;display:flex}.actions .btn.g .ic{background:#e8e9f21f}.actions .btn.g .ic:after{border-left-color:var(--paper)}.navreel{align-items:center;gap:10px;display:flex}.navreel .btn{gap:9px;padding:6px 16px 6px 6px;font-size:13px}.navreel .btn .ic{width:24px;height:24px}.navreel .btn .ic:after{border-top-width:5px;border-bottom-width:5px;border-left-width:8px;margin-left:2px}.navreel .btn.g .ic{background:#e8e9f21f}.navreel .btn.g .ic:after{border-left-color:var(--paper)}@media (width<=860px){.navreel .btn{padding:6px}.navreel .btn>span:not(.ic){display:none}}.bar{z-index:6;border-top:1px solid var(--line);background:linear-gradient(#0000,#12131fb8);position:absolute;bottom:0;left:0;right:0}.bar .wrap{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:24px;padding-top:15px;padding-bottom:15px;display:flex}.bar .tc{letter-spacing:.16em;text-transform:uppercase;color:var(--dim-2);font-size:10.5px}.bar .tc b{color:var(--paper);font-weight:400}.cue{z-index:6;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:86px;left:50%;transform:translate(-50%)}.cue .t{letter-spacing:.26em;text-transform:uppercase;color:var(--dim);font-size:9.5px}.cue .rail{background:#e8e9f233;width:1px;height:52px;position:relative;overflow:hidden}.cue .rail i{background:var(--blue);width:1px;height:20px;animation:1.9s cubic-bezier(.5,0,.5,1) infinite drop;position:absolute;left:0;box-shadow:0 0 10px #4d7cff}@keyframes drop{0%{top:-22px}to{top:52px}}.sec{padding:clamp(70px,8vw,112px) 0}section[id]{scroll-margin-top:76px}.sec.first{padding-top:clamp(34px,4vw,52px)}.filters{gap:20px;display:flex}.filters button{letter-spacing:.16em;text-transform:uppercase;color:var(--dim-2);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:Plex Mono,monospace;font-size:11px;transition:color .2s;position:relative}.filters button:hover{color:var(--paper)}.filters button.on{color:var(--blue)}.filters button.on:after{content:"";background:var(--blue);height:1px;position:absolute;bottom:-3px;left:0;right:0}.tools{flex-wrap:wrap;align-items:center;gap:26px;display:flex}.vsw{background:var(--surface-2);border:1px solid var(--line-2);border-radius:999px;padding:3px;display:flex;position:relative}.vsw i{background:var(--blue);border-radius:999px;width:calc(50% - 3px);height:calc(100% - 6px);transition:transform .28s cubic-bezier(.2,.7,.2,1);position:absolute;top:3px;left:3px}.vsw.list i{transform:translate(100%)}.vsw button{z-index:2;cursor:pointer;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-family:Plex Mono,monospace;font-size:10.5px;transition:color .22s;display:flex;position:relative}.vsw button.on{color:var(--blue-ink)}.vsw svg{fill:currentColor;width:12px;height:12px}.grid{grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.3vw,18px);display:grid}.card{background:var(--surface-2);border-radius:4px;grid-column:span 4;height:290px;display:block;position:relative;overflow:hidden}.card .ph{background-position:50%;background-size:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.card:hover .ph{transform:scale(1.05)}.card .veil{background:linear-gradient(#0000 34%,#12131feb 100%);position:absolute;inset:0}.card .cap{z-index:3;justify-content:space-between;align-items:flex-end;gap:14px;padding:20px;display:flex;position:absolute;bottom:0;left:0;right:0}.card h3{letter-spacing:-.022em;margin:0;font-size:clamp(18px,1.6vw,24px);font-weight:600;line-height:1.1;transition:transform .3s}.card:hover h3{transform:translateY(-2px)}.card .cli{color:#e8e9f2bd;margin-top:6px;font-size:12px}.card .yr{letter-spacing:.12em;color:#e8e9f2ad;white-space:nowrap;font-size:11px}.card .tag{z-index:3;letter-spacing:.2em;text-transform:uppercase;color:#fff;backdrop-filter:blur(6px);background:#12131f80;border-radius:3px;padding:5px 9px;font-size:9.5px;position:absolute;top:16px;left:16px}.card.noimg{background:linear-gradient(150deg,var(--surface),var(--ink))}.card.noimg .ph{background:radial-gradient(120% 90% at 76% 10%,#4d7cff26,#0000 60%)}.card .code{text-align:center;letter-spacing:-.045em;color:#e8e9f212;justify-content:center;align-items:center;padding:0 16px;font-size:clamp(34px,5.2vw,80px);font-weight:700;line-height:1;transition:color .4s;display:flex;position:absolute;inset:0}.card .code[data-largo]{font-size:clamp(24px,3.2vw,48px)}.card:hover .code{color:#4d7cff4d}.idx{border-top:1px solid var(--line)}.row{border-bottom:1px solid var(--line-2);grid-template-columns:44px 74px 1fr 230px 112px 84px;align-items:center;gap:18px;padding:19px 6px;transition:background .2s,padding-left .25s;display:grid;position:relative}.row:hover{background:#2326458c;padding-left:16px}.row:before{content:"";background:var(--blue);border-radius:2px;width:2px;transition:transform .22s cubic-bezier(.2,.7,.2,1);position:absolute;top:12px;bottom:12px;left:0;transform:scaleY(0)}.row:hover:before{transform:scaleY(1)}.row .n{letter-spacing:.1em;color:var(--dim-2);font-size:11px;transition:color .2s}.row .t{letter-spacing:-.028em;font-size:clamp(20px,2vw,28px);font-weight:600;line-height:1.1;transition:color .2s}.row .c{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.row .k{letter-spacing:.15em;text-transform:uppercase;color:var(--dim-2);font-size:11px;transition:color .2s}.row .y{color:var(--dim-2);text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px}.row:hover .n,.row:hover .k{color:var(--blue)}.row:hover .t{color:#fff}.thumb{aspect-ratio:16/10;background:var(--surface-2) center/cover no-repeat;outline:1px solid var(--line-2);outline-offset:-1px;border-radius:3px;width:74px;transition:outline-color .2s;position:relative;overflow:hidden}.thumb.noimg{background:linear-gradient(150deg,var(--surface),var(--ink))}.thumb .code{letter-spacing:-.02em;color:#e8e9f247;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}.row:hover .thumb{outline-color:var(--blue)}.empty{text-align:center;color:var(--dim-2);letter-spacing:.16em;text-transform:uppercase;padding:60px 0;font-size:13px}[hidden]{display:none!important}.allworks{letter-spacing:.18em;text-transform:uppercase;color:var(--blue);border-bottom:1px solid #4d7cff73;align-items:center;gap:10px;margin-top:32px;padding-bottom:6px;font-family:Plex Mono,monospace;font-size:11.5px;display:inline-flex}.allworks span{transition:transform .2s;display:inline-block}.allworks:hover span{transform:translate(4px)}.soft{background:var(--ink-2);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.soft .row{grid-template-columns:44px 1fr 330px 84px}.soft .row .d{color:var(--dim);font-size:13.5px;line-height:1.5}.soft .row .t{font-size:clamp(22px,2.2vw,32px);font-weight:700}.pill{letter-spacing:.16em;text-transform:uppercase;color:var(--blue-ink);background:var(--blue);vertical-align:5px;border-radius:3px;margin-left:13px;padding:3px 8px;font-family:Plex Mono,monospace;font-size:9.5px;display:inline-block}.about{grid-template-columns:1fr 1.15fr;align-items:start;gap:clamp(30px,6vw,90px);display:grid}.about h3{letter-spacing:-.032em;white-space:pre-line;margin:0;font-size:clamp(28px,3.4vw,46px);font-weight:700;line-height:1.02}.about p{color:var(--dim);margin:0;font-size:16px;line-height:1.7}.about .bio p{margin:0 0 1.05em}.about .bio>:last-child{margin-bottom:0}.about .bio strong{color:var(--paper);font-weight:600}.about .bio em{font-style:italic}.about .bio h4{color:var(--paper);letter-spacing:.01em;margin:1.7em 0 .5em;font-size:16px;font-weight:600}.about .bio h4:first-child{margin-top:0}.about .bio ul{flex-direction:column;gap:.3em;margin:0 0 1.05em;padding-left:1.15em;display:flex}.about .bio a{color:var(--blue);text-underline-offset:2px;text-decoration:underline}.about .bio a:hover{color:var(--blue-hi)}.contact{border-top:1px solid var(--line)}.contact .big{letter-spacing:-.038em;max-width:16ch;margin:0;font-size:clamp(34px,5vw,72px);font-weight:700;line-height:1}.clist{border-top:1px solid var(--line);max-width:900px;margin-top:44px}.clist a{border-bottom:1px solid var(--line-2);letter-spacing:-.02em;justify-content:space-between;align-items:center;gap:16px;padding:26px 0;font-size:clamp(20px,3vw,34px);font-weight:600;transition:color .2s,padding-left .2s;display:flex}.clist a:hover{color:var(--blue-hi);padding-left:8px}.clist a span{color:var(--blue);transition:transform .2s}.clist a:hover span{transform:translate(6px)}.contact .nota{color:var(--dim-2);margin:26px 0 0;font-size:12px}.modal{z-index:70;justify-content:center;align-items:center;padding:clamp(14px,4vh,44px) 0;display:flex;position:fixed;inset:0}.modal[hidden]{display:none}.modal .fondo{backdrop-filter:blur(10px);background:#0a0b14db;animation:.22s fadeIn;position:absolute;inset:0}.modal .panel{z-index:2;background:var(--ink);border:1px solid var(--line);border-radius:10px;flex-direction:column;width:min(1240px,100% - 200px);max-height:100%;animation:.3s cubic-bezier(.2,.7,.2,1) subir;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 90px #000000b3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes subir{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.modal .top{border-bottom:1px solid var(--line-2);backdrop-filter:blur(12px);background:#12131fe6;flex:none;align-items:center;gap:10px;padding:14px clamp(20px,4vw,40px);display:flex}.modal .top .sep{flex:1}.mbtn{background:var(--surface-2);border:1px solid var(--line-2);min-width:38px;height:38px;color:var(--dim);cursor:pointer;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-family:Plex Mono,monospace;font-size:11px;transition:all .18s;display:inline-flex}.mbtn:hover:not(:disabled){color:var(--paper);border-color:var(--line)}.mbtn:disabled{opacity:.32;cursor:default}.mcount{letter-spacing:.16em;color:var(--dim-2);white-space:nowrap;font-family:Plex Mono,monospace;font-size:11px}.matajo{letter-spacing:.14em;text-transform:uppercase;color:var(--dim-2);white-space:nowrap;margin-left:6px;font-size:10px}.matajo b{color:var(--dim);border:1px solid var(--line-2);border-radius:4px;margin:0 1px;padding:1px 5px;font-weight:400}@media (width<=900px){.matajo{display:none}}.matajo b,.mbtn{transition:all .2s}.matajo.avisar{color:var(--paper)}.matajo.avisar .esc{background:var(--blue);color:var(--blue-ink);border-color:var(--blue);box-shadow:0 0 0 4px #4d7cff38}.mbtn.avisar{background:var(--blue);border-color:var(--blue);color:var(--blue-ink);animation:.6s ease-out 2 pulso}@keyframes pulso{0%{box-shadow:0 0 #4d7cff8c}to{box-shadow:0 0 0 12px #4d7cff00}}.modal .panel:focus,.modal .panel:focus-visible{outline:none}.modal .cuerpo{overscroll-behavior:contain;scrollbar-gutter:stable;padding:clamp(28px,4vw,48px) clamp(20px,4vw,40px) clamp(32px,5vw,56px);overflow-y:auto}@supports not selector(::-webkit-scrollbar){.modal .cuerpo{scrollbar-width:thin;scrollbar-color:#e8e9f238 transparent}}@supports selector(::-webkit-scrollbar){.modal .cuerpo::-webkit-scrollbar{width:12px}.modal .cuerpo::-webkit-scrollbar-track{background:0 0}.modal .cuerpo::-webkit-scrollbar-button{width:0;height:0;display:none}.modal .cuerpo::-webkit-scrollbar-corner{background:0 0}.modal .cuerpo::-webkit-scrollbar-thumb{background:#e8e9f233 padding-box content-box;border:4px solid #0000;border-radius:99px}.modal .cuerpo::-webkit-scrollbar-thumb:hover{background:#4d7cffcc padding-box content-box}}.modal .cuerpo #detalle .volver{display:none}.modal .cargando{text-align:center;color:var(--dim-2);letter-spacing:.2em;text-transform:uppercase;padding:60px 0;font-family:Plex Mono,monospace;font-size:11px}.mside{z-index:4;cursor:pointer;width:56px;height:56px;color:var(--paper);backdrop-filter:blur(8px);border:1px solid var(--line);background:#232645d1;border-radius:50%;place-items:center;font-size:19px;transition:all .18s;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.mside.prev{left:clamp(10px,2.4vw,34px)}.mside.next{right:clamp(10px,2.4vw,34px)}.mside:hover:not(:disabled){background:var(--blue);border-color:var(--blue);color:var(--blue-ink);transform:translateY(-50%)scale(1.06)}.mside:disabled{opacity:.25;cursor:default}body.modal-abierto{overflow:hidden}@media (width<=1140px){.modal .panel{width:100%}.mside{background:#12131fb8;width:44px;height:44px;font-size:16px}}@media (width<=640px){.mbtn .txt{display:none}}.js-reveal .reveal{opacity:0;transform:translateY(18px)}.js-reveal .reveal.in{opacity:1;transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1);transform:none}@media (width<=900px){.hero{height:auto;min-height:0;padding:120px 0 0}.bar{background:0 0;margin-top:44px;position:static}.cue{display:none}.row{grid-template-columns:38px 58px 1fr 74px}.row .c,.row .k{display:none}.soft .row{grid-template-columns:38px 1fr 74px}.soft .row .d{display:none}.about{grid-template-columns:1fr}.card{grid-column:span 6!important}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
