*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100svh;margin:0}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:50;color:#000;background:#fff;padding:10px 14px;font:600 14px/1 system-ui;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.row{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;display:flex;overflow-x:auto}.cover{scroll-snap-align:start;flex:none;position:relative}.cover>a{display:block;position:relative}.exhibit{flex-direction:column;display:flex}.timeline{z-index:5;position:sticky;bottom:0}.timeline ol{display:flex}.timeline li{flex:1 1 0;min-width:0}.menu{position:relative}.menu summary{cursor:pointer;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu ul{z-index:20;min-width:190px;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.menu li a{padding:9px 12px;display:block}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (width<=640px){.timeline{position:static}.timeline ol{flex-wrap:wrap;overflow:visible}.timeline li{flex:33%;min-width:0!important}.timeline li.star,.timeline li:last-child{flex:50%}.timeline li:before{display:none!important}}@font-face{font-family:Archivo;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin-wdth-normal.woff2)format("woff2")}:root{color-scheme:light;--wall:#e7e8ea;--wall-2:#dcdde0;--shelf:#fbfbfb;--ink:#121317;--ink-2:#4b4e57;--text:#121317;--text-2:#4b4e57;--btn:#121317;--btn-text:#fff;--bar:#121317;--scrim:#e7e8ea8c;--focus:#2746ff;--plank-shadow:#00000047;--night:#0e0f12;--crate:#17191e;--bone:#ecece8;--on-night:#f1f1ee;--on-night-2:#b9b5aa;--red:#ff4b2b;--blue:#2746ff;--yellow:#f4e04d;--mint:#3ee0b0;--gut:clamp(20px,3.2vw,48px);--top-h:112px;--h:clamp(172px,21svh,250px);--ease:cubic-bezier(.2,.8,.2,1)}[data-theme=dark]{color-scheme:dark;--wall:#121316;--wall-2:#1d1f25;--shelf:#24262e;--text:#f1f1ee;--text-2:#aeb1bb;--btn:#f1f1ee;--btn-text:#121317;--bar:#050506;--scrim:#0a0b0d9e;--focus:#9bb0ff;--plank-shadow:#000000b3}html{background:var(--wall)}body{background:var(--wall);color:var(--text);font:400 1.0625rem/1.5 Archivo,system-ui,sans-serif}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.top{padding:22px var(--gut) 18px;min-height:var(--top-h);justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.name{font-variation-settings:"wdth" 125;letter-spacing:-.02em;font:900 clamp(2.1rem,4.4vw,3.8rem)/.95 Archivo,sans-serif}.pos{max-width:62ch;color:var(--text-2);margin-top:10px;font-size:1.125rem}.actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn,.menu summary,.lang{background:var(--btn);min-height:44px;color:var(--btn-text);transition:transform .18s var(--ease),background-color .18s;border-radius:999px;align-items:center;padding:0 18px;font:700 .9375rem/1 Archivo,sans-serif;display:inline-flex}.btn-main{background:var(--yellow);color:var(--ink)}.btn-main:hover{background:#ead942}.btn:hover,.menu summary:hover,.lang:hover{transform:translateY(-2px)}.lang{padding:0 14px}.menu ul{background:var(--shelf);color:var(--text);border-radius:14px;box-shadow:0 14px 30px -10px #0000004d}.menu li a{border-radius:8px;font-weight:600}.menu li a:hover{background:var(--wall)}.exhibit{min-height:calc(100svh - var(--top-h))}.wall{padding:0 var(--gut) 40px;flex:1}.shelf{margin-top:6px;position:relative}.shelf-head{align-items:baseline;gap:16px;padding:0 4px 2px;display:flex}.shelf-head h2{font-variation-settings:"wdth" 112;text-transform:uppercase;letter-spacing:.04em;font:800 1rem/1 Archivo,sans-serif}.shelf-note{color:var(--text-2);font-size:.9375rem}.exhibit{overflow-x:clip}.scroller{margin-inline:calc(var(--gut) * -1);position:relative}.scroller.inset{margin-inline:0}.row{padding:30px var(--gut) 0;perspective:1100px;scroll-padding-inline:var(--gut);gap:clamp(14px,2vw,28px)}.arrow{z-index:6;top:calc(30px + var(--h) / 2 - 28px);background:var(--btn);width:56px;height:56px;color:var(--btn-text);cursor:pointer;transition:transform .2s var(--ease),opacity .2s;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 10px 24px -6px #00000073}.arrow:hover{transform:scale(1.08)}.arrow[hidden]{display:none}.arrow.prev{left:max(12px,calc(var(--gut) - 28px))}.arrow.next{right:max(12px,calc(var(--gut) - 28px))}.arrow svg{width:24px;height:24px}.arrow.prev svg{transform:scaleX(-1)}.scroller.inset .arrow{top:calc(50% - 28px)}.scroller.inset .arrow.prev{left:-12px}.scroller.inset .arrow.next{right:-12px}.row:focus-visible{outline-offset:-3px}.shelf:after{content:"";height:14px;margin:0 calc(var(--gut) * -1);background:var(--shelf);box-shadow:0 1px 0 #0000000d,0 22px 26px -12px var(--plank-shadow),0 4px 8px -2px #0000001a;border-radius:2px;display:block}.cover{isolation:isolate;padding-bottom:0}.cv{--rx:0deg;--ry:0deg;outline-offset:6px;display:block;position:relative}.cv:before{content:"";z-index:-1;filter:blur(13px);transition:transform .3s var(--ease),filter .3s,opacity .3s;opacity:.8;background:#00000057;position:absolute;inset:8% -3% 0 7%;transform:translate(10px,4px)}.cv:hover:before,.cv:focus-visible:before{filter:blur(18px);opacity:.95;transform:translate(18px,10px)}.sleeve{width:var(--h);height:var(--h);background:var(--bg,var(--bone));color:var(--fg,var(--ink));transform-origin:50% 100%;transform:rotateX(calc(3deg + var(--rx))) rotateY(var(--ry));transition:transform .35s var(--ease);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;position:relative;overflow:hidden}.cv:hover .sleeve,.cv:focus-visible .sleeve{transform:translateY(-8px) scale(1.035) rotateX(calc(1deg + var(--rx))) rotateY(var(--ry))}.s-title{font:900 clamp(.9375rem,calc(var(--h)*.088),1.5rem)/.98 Archivo,sans-serif;font-variation-settings:"wdth" 100;text-transform:uppercase;letter-spacing:-.015em;position:absolute;top:10px;left:11px;right:16%}.cover[data-status=en-curso] .s-title{right:27%}.motif{stroke-width:5px;width:48%;height:48%;position:absolute;bottom:-6%;right:-7%}.s-fact{max-width:56%;font:700 .8125rem/1.2 Archivo,sans-serif;position:absolute;bottom:10px;left:11px}.s-hint{color:#fff;opacity:0;transition:opacity .22s,transform .3s var(--ease);white-space:nowrap;pointer-events:none;background:#121317;border-radius:999px;padding:7px 13px;font:700 .8125rem/1 Archivo,sans-serif;position:absolute;top:50%;left:50%;transform:translate(-50%,-30%)}.cv:hover .s-hint,.cv:focus-visible .s-hint{opacity:1;transform:translate(-50%,-50%)}.sticker{z-index:2;background:var(--yellow);width:62px;height:62px;color:var(--ink);text-align:center;border-radius:50%;place-items:center;padding:0 8px;font:900 .8125rem/1 Archivo,sans-serif;display:grid;position:absolute;top:-16px;right:-16px;transform:rotate(12deg);box-shadow:0 6px 12px -4px #00000059}[data-slug=termostato]{--bg:var(--red);--fg:var(--ink)}[data-slug=wargame]{--bg:var(--blue);--fg:#fff}[data-slug=metadata-analyzer]{--bg:var(--mint);--fg:var(--ink)}[data-slug=volcado-procesos]{--bg:var(--bone);--fg:var(--ink)}[data-slug=ctfs]{--bg:var(--yellow);--fg:var(--ink)}[data-slug=geoalarm]{--bg:var(--blue);--fg:#fff}[data-slug=rootjar]{--bg:var(--mint);--fg:var(--ink)}[data-slug=garagepad]{--bg:var(--red);--fg:var(--ink)}[data-slug=updown]{--bg:var(--yellow);--fg:var(--ink)}[data-slug=broker]{--bg:var(--bone);--fg:var(--ink)}[data-slug=builder]{--bg:var(--blue);--fg:#fff}.more-tile a{width:calc(var(--h)*.62);height:var(--h);background:var(--wall-2);color:var(--text);font-variation-settings:"wdth" 112;text-align:center;text-transform:uppercase;transition:background-color .2s,transform .3s var(--ease);place-items:center;padding:12px;font:800 1rem/1.15 Archivo,sans-serif;display:grid}.more-tile a:hover{background:color-mix(in srgb,var(--wall-2) 85%,var(--text));transform:translateY(-6px)}.more-tile span:after{content:" →"}.timeline{background:var(--bar);color:#fff}.timeline ol{padding:0 var(--gut);overflow-x:auto}.timeline li{min-width:136px}.timeline a{flex-direction:column;justify-content:center;gap:1px;height:100%;min-height:64px;padding:9px 14px;transition:background-color .18s;display:flex}.timeline a:hover{background:#262830}.timeline .when{color:#b9bbc4;font-size:.8125rem;font-weight:600}.timeline .what{font-variation-settings:"wdth" 108;font:800 1rem/1.1 Archivo,sans-serif}.timeline .star{background:var(--yellow);min-width:190px;color:var(--ink);flex:1.5 1 0}.timeline .star a:hover{background:#e8d23a}.timeline .star .what{font-variation-settings:"wdth" 125;font-size:1.25rem;font-weight:900}.timeline .star .when{color:var(--ink)}.qv{z-index:100;perspective:1500px;place-items:center;display:grid;position:fixed;inset:0}.qv-scrim{background:var(--scrim);-webkit-backdrop-filter:blur(14px);position:absolute;inset:0}.qv-card{margin:calc(var(--h)/-2) 0 0 calc(var(--h)/-2);width:var(--h);height:var(--h);transform-style:preserve-3d;will-change:transform;position:fixed;top:50%;left:50%}.qv-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;inset:0}.qv-front .sleeve{width:100%;height:100%;transform:none;box-shadow:0 30px 60px -20px #00000080}.qv-front .s-hint{display:none}.qv-back{gap:calc(var(--h)*.025);padding:calc(var(--h)*.065);background:var(--bg,var(--bone));color:var(--fg,var(--ink));flex-direction:column;display:flex;overflow:auto;transform:rotateY(180deg);box-shadow:0 30px 60px -20px #00000080}.qv-back h3{font:900 clamp(1.1rem,calc(var(--h)*.062),1.6rem)/1.02 Archivo,sans-serif;text-transform:uppercase;letter-spacing:-.015em}.qv-status{background:var(--fg,var(--ink));color:var(--bg,var(--bone));border-radius:999px;align-self:flex-start;padding:4px 10px;font:800 .8125rem/1 Archivo,sans-serif}.qv-blurb{font-size:max(.9375rem,calc(var(--h)*.036));line-height:1.35}.qv-fact{font:800 max(.9375rem,calc(var(--h)*.038))/1.2 Archivo,sans-serif}.qv-tags{flex-wrap:wrap;gap:6px;display:flex}.qv-tags li{background:color-mix(in srgb,var(--fg,var(--ink)) 14%,transparent);border-radius:999px;padding:3px 9px;font:600 .8125rem/1.3 Archivo,sans-serif}.qv-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.qv-actions a,.qv-actions button{cursor:pointer;min-height:44px;transition:transform .18s var(--ease);border:0;border-radius:999px;align-items:center;padding:0 16px;font:700 .9375rem/1 Archivo,sans-serif;display:inline-flex}.qv-actions a:hover,.qv-actions button:hover{transform:translateY(-2px)}.qv-main{background:var(--fg,var(--ink));color:var(--bg,var(--bone))}.qv-main:after{content:" →";margin-left:6px}.qv-sec{background:color-mix(in srgb,var(--fg,var(--ink)) 14%,transparent);color:var(--fg,var(--ink))}.qv-close{color:var(--fg,var(--ink));text-underline-offset:3px;background:0 0;text-decoration:underline;padding:0 8px!important}body.qv-open{overflow:hidden}.sum{padding:clamp(52px,7vw,96px) var(--gut);background:var(--night);color:var(--on-night);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;column-gap:24px;display:grid}.sum>h2{font-variation-settings:"wdth" 125;letter-spacing:-.02em;grid-column:1/6;font:900 clamp(2rem,4.2vw,3.6rem)/.95 Archivo,sans-serif}.sum>:not(h2){grid-column:6/-1}.sum p{max-width:60ch;color:var(--on-night-2)}.sum-about p{color:var(--on-night);font-size:1.375rem;line-height:1.45}.more{color:var(--yellow);margin-top:22px;font-weight:700;display:inline-block}.more:after{content:" →"}.more:hover{text-underline-offset:4px;text-decoration:underline}.exp{gap:26px;display:grid}.exp h3{font-variation-settings:"wdth" 112;font:800 1.4rem/1.15 Archivo,sans-serif}.exp .org{color:var(--yellow);font-weight:600}.sum-certs{background:var(--crate)}.sum-certs>.gatefold{grid-column:1/-1;margin-top:28px}.sum-certs>h2{grid-column:1/-1}.gatefold{border-radius:6px;grid-template-columns:3fr 2fr;display:grid;overflow:hidden}.panel{flex-direction:column;min-height:clamp(260px,34vw,420px);padding:clamp(22px,3.2vw,44px);display:flex}.panel p{color:inherit;max-width:30ch;margin:10px 0 18px;font-weight:500}.verify{background:var(--bone);min-height:44px;color:var(--ink);transition:transform .18s var(--ease);border-radius:999px;align-self:flex-start;align-items:center;padding:0 18px;font-weight:700;display:inline-flex}.verify:hover{transform:translateY(-2px)}.sum-certs .other-cert,.sum-certs .more{grid-column:1/-1}.sum-certs .other-cert{margin-top:20px}.sum-contact{background:var(--yellow);color:var(--ink)}.sum-contact p{color:var(--ink)}.sum-contact .ct{font-variation-settings:"wdth" 112;flex-wrap:wrap;gap:10px 28px;margin-top:18px;font:800 1.375rem/1.2 Archivo,sans-serif;display:flex}.sum-contact .ct a:hover{text-underline-offset:4px;text-decoration:underline}.sum-contact .more{color:var(--ink)}.foot{padding:26px var(--gut) 40px;background:var(--night);color:var(--on-night-2);flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:.9375rem;display:flex}.foot ul{flex-wrap:wrap;gap:8px 24px;display:flex}.foot a{padding:4px 0;display:inline-block}.foot a:hover{color:var(--on-night);text-decoration:underline}@keyframes place{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.cover{animation:place .5s var(--ease) both;animation-delay:calc(var(--i,0)*50ms + 80ms)}@media (width<=900px){:root{--top-h:auto;--h:clamp(176px,42vw,240px)}.top{flex-direction:column;gap:14px}.actions{flex-wrap:wrap;width:100%}.sum{display:block}.sum>h2{margin-bottom:18px}.shelf-note{display:none}}@media (width<=640px){.gatefold{grid-template-columns:1fr}.panel-oscp-plus{border-bottom:6px solid #0c1250;border-right:0}.panel{min-height:240px}.sum-contact .ct{font-size:1.125rem}}@media (hover:none){.s-hint{display:none}}@media (prefers-reduced-motion:reduce){.cover{animation:none}.sleeve,.cv:before,.s-hint{transition:none}.cv:hover .sleeve,.cv:focus-visible .sleeve{transform:rotateX(3deg)}}.subtop{padding:18px var(--gut);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.brand{font-variation-settings:"wdth" 125;letter-spacing:-.02em;font:900 1.25rem/1 Archivo,sans-serif}.subnav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.subnav ul{flex-wrap:wrap;gap:4px;display:flex}.subnav li a{border-radius:999px;align-items:center;min-height:44px;padding:0 14px;font-weight:600;transition:background-color .18s;display:inline-flex}.subnav li a:hover{background:var(--wall-2)}.subnav li a[aria-current=page]{background:var(--btn);color:var(--btn-text)}.page{padding:clamp(24px,5vw,64px) var(--gut) clamp(48px,7vw,96px);max-width:1200px;margin:0 auto}.page h1{font-variation-settings:"wdth" 125;letter-spacing:-.025em;max-width:18ch;font:900 clamp(2.2rem,6vw,4.6rem)/.95 Archivo,sans-serif}.page .lead{max-width:68ch;color:var(--text-2);margin-top:20px;font-size:1.25rem;line-height:1.5}.page .actions-row{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.block{margin-top:clamp(40px,6vw,72px)}.block>h2{font-variation-settings:"wdth" 118;letter-spacing:-.02em;margin-bottom:20px;font:900 clamp(1.5rem,3vw,2.2rem)/1 Archivo,sans-serif}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{background:var(--shelf);border-radius:999px;padding:7px 13px;font:600 .9375rem/1.2 Archivo,sans-serif}.card{background:var(--shelf);border-radius:6px;gap:8px;padding:clamp(18px,2.4vw,28px);display:grid}.cards{gap:14px;display:grid}.card h3{font-variation-settings:"wdth" 108;font:800 1.3rem/1.15 Archivo,sans-serif}.card .meta{color:var(--text-2);font-weight:600}.card ul.bullets{gap:6px;margin-top:6px;padding-left:1.1em;list-style:outside;display:grid}.badge{background:var(--yellow);border-radius:999px;justify-self:start;padding:4px 11px;font:800 .8125rem/1 Archivo,sans-serif}.pair{border-radius:6px;grid-template-columns:3fr 2fr;display:grid;overflow:hidden}.pair .panel{min-height:clamp(240px,28vw,360px)}.panel-oscp-plus{background:var(--blue);color:#fff;border-right:6px solid #0c1250}.panel-oscp{background:var(--red);color:var(--ink)}.panel{flex-direction:column;padding:clamp(22px,3vw,40px);display:flex}.panel h3{font-variation-settings:"wdth" 125;letter-spacing:-.04em;margin-top:auto;font:900 clamp(3rem,8vw,7rem)/.82 Archivo,sans-serif}.panel p{max-width:34ch;margin:10px 0 18px;font-weight:500}.panel .verify{background:var(--bone);min-height:44px;color:var(--ink);border-radius:999px;align-self:flex-start;align-items:center;padding:0 18px;font-weight:700;display:inline-flex}.tools{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.tools li{background:var(--shelf);border-radius:6px;padding:14px 16px;font-weight:600}.wlist{gap:10px;display:grid}.wlist a,.wlist .locked{background:var(--shelf);font-variation-settings:"wdth" 108;transition:transform .18s var(--ease);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font:800 1.35rem/1.1 Archivo,sans-serif;display:flex}.wlist a:hover{transform:translate(4px)}.wlist .locked{opacity:.6}.wlist .info{align-items:center;gap:10px;font:700 .9375rem/1 Archivo,sans-serif;display:flex}.pill{color:var(--ink);border-radius:999px;padding:5px 11px;font:700 .875rem/1 Archivo,sans-serif}.d-easy{background:var(--mint)}.d-medium{background:var(--yellow)}.d-hard{background:var(--red)}.d-insane{background:var(--ink);color:#fff}.contact-list{font-variation-settings:"wdth" 112;gap:10px;margin-top:28px;font:800 clamp(1.25rem,3vw,2rem)/1.2 Archivo,sans-serif;display:grid}.contact-list a:hover{text-underline-offset:5px;text-decoration:underline}@media (width<=640px){.pair{grid-template-columns:1fr}.panel-oscp-plus{border-bottom:6px solid #0c1250;border-right:0}}.wmeta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:18px;font-weight:700;display:flex}.prose{max-width:820px;margin-top:36px;font-size:1.0625rem;line-height:1.7}.prose h2{font-variation-settings:"wdth" 118;letter-spacing:-.02em;margin:2.2em 0 .6em;font:900 1.8rem/1.1 Archivo,sans-serif}.prose h3{font-variation-settings:"wdth" 108;margin:1.8em 0 .5em;font:800 1.3rem/1.2 Archivo,sans-serif}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose ul{padding-left:1.3em;list-style:outside}.prose ol{padding-left:1.4em;list-style:decimal}.prose a{text-underline-offset:3px;text-decoration:underline}.prose code{background:var(--wall-2);border-radius:4px;padding:.1em .35em;font:500 .9em ui-monospace,SFMono-Regular,Menlo,monospace}.prose pre{border-radius:6px;max-width:100%;margin:0 0 1.2em;padding:18px 20px;font-size:.875rem;line-height:1.6;position:relative;overflow:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose img{border-radius:4px;max-width:100%;height:auto;margin:.6em 0}.prose table{border-collapse:collapse;margin:0 0 1.2em;display:block;overflow:auto}.prose th,.prose td{text-align:left;background:var(--shelf);border-bottom:2px solid var(--wall);padding:8px 12px}.prose blockquote{background:var(--shelf);border-radius:6px;margin:0 0 1em;padding:12px 18px}.copy{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;min-height:32px;padding:0 12px;font:700 .8125rem/1 Archivo,sans-serif;position:absolute;top:8px;right:8px}.copy:hover{background:#ffffff38}.page .more{color:var(--text);font-weight:800}.callout{--c:#2746ff;background:color-mix(in srgb,var(--c) 11%,var(--shelf));border-radius:6px;margin:0 0 1.2em;padding:14px 18px}.callout>:last-child{margin-bottom:0}.callout-title{color:color-mix(in srgb,var(--c) 70%,var(--text));align-items:center;gap:8px;font:800 .9375rem/1.2 Archivo,sans-serif;display:flex;margin:0 0 .4em!important}.callout-title:before{content:"";background:var(--c);border-radius:50%;width:10px;height:10px}.callout-tip,.callout-success,.callout-check,.callout-done{--c:#0f9e74}.callout-warning,.callout-caution{--c:#c77700}.callout-important,.callout-danger,.callout-bug,.callout-failure{--c:#d2302b}.callout-quote{--c:#6a6d76}.grid-covers{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:28px 22px;padding-top:10px;display:grid}.grid-covers .sleeve{aspect-ratio:1;width:100%;height:auto;transform:none}.grid-covers .cv:hover .sleeve{transform:translateY(-6px)}.grid-covers .s-title{font-size:clamp(.9375rem,1.4vw,1.25rem)}.phero{background:var(--bg,var(--bone));color:var(--fg,var(--ink));border-radius:6px;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-top:16px;padding:clamp(24px,4vw,56px);display:grid;position:relative;overflow:hidden}.phero h1{max-width:20ch;font-size:clamp(2rem,5vw,4rem)}.plead{max-width:62ch;margin-top:18px;font-size:1.2rem;font-weight:500;line-height:1.5}.phero-motif{stroke-width:4px;opacity:.95;width:clamp(110px,20vw,240px);height:auto;margin:-8px -12px -12px 0}.pstatus{background:var(--fg,var(--ink));color:var(--bg,var(--bone));border-radius:999px;margin-bottom:14px;padding:5px 12px;font:800 .8125rem/1 Archivo,sans-serif;display:inline-block}.steps{gap:12px;max-width:72ch;padding-left:1.2em;font-size:1.0625rem;line-height:1.6;list-style:decimal;display:grid}.pvideo video{background:#000;border-radius:6px;max-width:min(100%,340px);height:auto;display:block}.pvideo figcaption{color:var(--text-2);margin-top:10px;font-size:.9375rem}.gallery{scroll-snap-type:x proximity;gap:14px;padding-bottom:10px;display:flex;overflow-x:auto}.gallery li{scroll-snap-align:start;flex:none}.gallery img{border-radius:6px;width:clamp(180px,22vw,260px);height:auto}@media (width<=640px){.phero{grid-template-columns:1fr}.phero-motif{display:none}}.steps.plain{list-style:outside}.card .tag{background:var(--wall)}.fold summary{cursor:pointer;background:var(--shelf);border-radius:999px;align-items:center;min-height:44px;padding:0 18px;font:800 1rem/1 Archivo,sans-serif;list-style:none;display:inline-flex}.fold summary::-webkit-details-marker{display:none}.fold summary:after{content:"+";margin-left:10px;font-size:1.2em}.fold[open] summary:after{content:"−"}.fold .steps{margin-top:16px}[data-slug=gestor-espacios]{--bg:var(--yellow);--fg:var(--ink)}[data-slug=web-peliculas]{--bg:var(--red);--fg:var(--ink)}[data-slug=simulador-cache]{--bg:var(--bone);--fg:var(--ink)}[data-slug=modelos-ia]{--bg:var(--blue);--fg:#fff}.theme-toggle{background:var(--btn);width:44px;height:44px;color:var(--btn-text);cursor:pointer;transition:transform .18s var(--ease);border:0;border-radius:50%;place-items:center;display:inline-grid}.theme-toggle:hover{transform:translateY(-2px)}.theme-toggle svg{width:20px;height:20px}.theme-toggle .i-sun{display:none}[data-theme=dark] .theme-toggle .i-sun{display:block}[data-theme=dark] .theme-toggle .i-moon{display:none}[data-theme=dark] .sticker{box-shadow:0 6px 12px -4px #000000b3}[data-theme=dark] .cv:before{background:#000000b3}.badge{color:var(--ink)}@media (width<=640px){.btn,.menu summary{padding:0 14px}.actions{gap:6px}.arrow{width:44px;height:44px;top:calc(30px + var(--h) / 2 - 22px)}.arrow svg{width:20px;height:20px}}.thumb{cursor:zoom-in;transition:transform .2s var(--ease);background:0 0;border:0;border-radius:6px;padding:0;display:block}.thumb:hover{transform:translateY(-4px)}.lightbox{background:0 0;border:0;max-width:min(92vw,520px);max-height:92svh;padding:0;overflow:visible}.lightbox::backdrop{background:var(--scrim);backdrop-filter:blur(10px)}.lightbox img{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:88svh;display:block}.lb-close{background:var(--btn);width:44px;height:44px;color:var(--btn-text);cursor:pointer;border:0;border-radius:50%;font:700 1.5rem/1 Archivo,sans-serif;position:absolute;top:-14px;right:-14px}[hidden]{display:none!important}.lang-switch{gap:6px;display:inline-flex}.lang-switch .lang{cursor:pointer;border:0}.lang-switch .lang[aria-pressed=true]{background:var(--yellow);color:var(--ink)}.page.legal{max-width:860px}.legal .back-link{align-items:center;gap:8px;min-height:44px;font-weight:700;display:inline-flex}.legal .back-link:hover{text-underline-offset:4px;text-decoration:underline}.legal .page-hero{margin-top:12px}.legal .page-badge{background:var(--yellow);color:var(--ink);border-radius:999px;margin-bottom:16px;padding:6px 14px;font:800 .875rem/1 Archivo,sans-serif;display:inline-block}.legal .page-hero h1{max-width:20ch}.legal .page-hero-sub{max-width:60ch;color:var(--text-2);margin-top:18px;font-size:1.25rem;line-height:1.5}.legal .doc-nav{z-index:8;background:var(--wall);flex-wrap:wrap;gap:8px;margin:28px 0 8px;padding:10px 0;display:flex;position:sticky;top:10px}.legal .doc-nav a{background:var(--shelf);border-radius:999px;align-items:center;min-height:44px;padding:0 18px;font-weight:700;transition:background-color .18s;display:inline-flex}.legal .doc-nav a:hover{background:var(--wall-2)}.legal .doc-block{margin-top:clamp(36px,5vw,64px)}.legal .doc-label{align-items:center;margin-bottom:6px;display:flex}.legal .doc-label-text{font-variation-settings:"wdth" 118;letter-spacing:-.02em;font:900 clamp(1.7rem,3.4vw,2.5rem)/1 Archivo,sans-serif}.legal .doc-label-line,.legal .doc-separator{display:none}.legal .doc-meta{color:var(--text-2);margin:0 0 22px;font-weight:600}.legal .doc-section{grid-template-columns:8px 1fr;gap:20px;margin-bottom:26px;display:grid}.legal .section-rail{background:var(--yellow);border-radius:2px}.legal .section-body h2{font-variation-settings:"wdth" 108;letter-spacing:-.01em;margin-bottom:10px;font:800 1.3rem/1.2 Archivo,sans-serif}.legal .section-body p,.legal .section-body li{font-size:1.0625rem;line-height:1.7}.legal .section-body p+p{margin-top:.8em}.legal .section-body ul{gap:6px;margin:.8em 0;padding-left:1.3em;list-style:outside;display:grid}.legal a:not(.back-link):not(.skip):not(.brand):not(.btn):not(.lang):not(.doc-nav a){text-underline-offset:3px;text-decoration:underline}.legal .doc-nav a,.legal .back-link{text-decoration:none}.legal .app-intro-card,.legal .support-intro-card,.legal .doc-highlight-card,.legal .doc-disclaimer-note,.legal .faq-card{background:var(--shelf);border-radius:6px;padding:clamp(18px,2.4vw,28px)}.legal .app-intro-card{gap:12px;margin-top:20px;display:grid}.legal .app-intro-card p,.legal .support-intro-card,.legal .doc-highlight-card{font-size:1.0625rem;line-height:1.7}.legal .app-intro-links{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;font-weight:700;display:flex}.legal .support-intro-card,.legal .doc-highlight-card,.legal .doc-disclaimer-note{margin:0 0 24px}.legal .doc-disclaimer-note{color:var(--text-2);font-style:italic}.legal .faq-container{gap:12px;margin-top:18px;display:grid}.legal .faq-question{font-variation-settings:"wdth" 104;margin-bottom:8px;font:800 1.1rem/1.3 Archivo,sans-serif}.legal .faq-answer{color:var(--text-2);line-height:1.7}.legal .contact-link{font-weight:700}
