:root{--ink:#0a0a0a;--paper:#fafaf7;--hi:#ffd60a;--line:#1a1a1a;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--display:"Archivo Black","Archivo","Neue Haas Grotesk Display",system-ui,sans-serif;--head-h:56px;--gut:20px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv01"}body{font-family:var(--mono);font-size:15px;line-height:1.55}body,html{overflow-x:hidden}.page,html,main{max-width:100vw}.page,main{overflow-x:clip}a{text-decoration:none}a,button{color:inherit}button{font:inherit;background:none;border:0;cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--hi);color:var(--ink)}.d{font-family:var(--display);font-weight:900;letter-spacing:-.025em;line-height:.92;text-transform:uppercase}.d-black{font-weight:700;letter-spacing:-.03em}.m{font-family:var(--mono)}.up{text-transform:uppercase;letter-spacing:.02em}.sm{font-size:13px}.xs{font-size:11px;letter-spacing:.06em;text-transform:uppercase}.dim{color:#666}.hi{background:var(--ink);padding:0 .2em}.hi,.hi-text{color:var(--hi)}.rule{border:0;border-top:1px solid var(--line)}.rule-b{border-bottom:1px solid var(--line)}.rule-t{border-top:1px solid var(--line)}.rule-r{border-right:1px solid var(--line)}.rule-l{border-left:1px solid var(--line)}.shell{min-height:100vh;display:flex;flex-direction:column}.hdr{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--head-h);background:var(--paper);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:24px;gap:24px;padding:0 var(--gut);font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.brand{display:flex;min-width:0}.brand,.brand .logo{align-items:center;gap:10px}.brand .logo{display:inline-flex;padding:0;background:transparent;color:var(--ink);font-family:var(--mono);font-weight:700;letter-spacing:.04em;min-height:44px}.brand .tag{color:#666;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:1100px){.brand .tag{display:none}}@media (max-width:960px){.hdr .mid{display:none}}.hdr .mid{font-family:var(--mono);color:#666;font-weight:400;text-align:center;font-size:11px;letter-spacing:.2em}.nav{display:flex;gap:0;justify-content:flex-end;align-items:center}.nav a{padding:6px 8px;position:relative}.nav a+a:before{content:"/";color:#999;margin-right:8px;pointer-events:none;position:absolute;left:-5px}.nav a.active,.nav a:hover{background:var(--hi);color:var(--ink)}.nav .clock{margin-left:10px;padding-left:10px;border-left:1px solid var(--line);color:#666;font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nav .search-btn{font-size:16px;padding:4px 8px;margin-left:4px;line-height:1}.nav .search-btn:before{display:none}@media (max-width:1100px){.nav{gap:0;font-size:12px}.nav a{padding:6px}}.menu-btn{display:none;padding:0 12px;border:1px solid var(--line);min-height:36px;min-width:44px;align-items:center;justify-content:center;font-size:18px;line-height:1}.menu-btn:hover{background:var(--ink);color:var(--paper)}.hdr-mobile-actions{display:none;align-items:center;gap:0;justify-self:end}.hdr-mobile-actions .search-btn{font-size:18px;line-height:1}.hdr-mobile-actions .search-btn,.hdr-mobile-actions .theme-toggle{padding:0 10px;min-height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;margin-left:0}.hdr-mobile-actions .theme-toggle{font-size:13px}.overlay-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:700;letter-spacing:.04em}.overlay{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:100;display:none;flex-direction:column;padding:var(--gut)}.overlay.open{display:flex}.overlay .top{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:13px;text-transform:uppercase}.overlay .close{padding:6px 10px;border:1px solid var(--paper)}.overlay ul{list-style:none;margin-top:48px;display:flex;flex-direction:column;gap:18px}.overlay ul a{font-family:var(--display);font-weight:700;font-size:clamp(32px,9vw,88px);letter-spacing:-.04em;line-height:.9;text-transform:uppercase;display:block}.overlay ul a:hover{color:var(--hi)}.overlay .foot{margin-top:auto;font-family:var(--mono);font-size:12px;color:#999;text-transform:uppercase;display:flex;flex-direction:column;gap:4px}main{flex:1 1}.page{animation:pop .2s cubic-bezier(.87,0,.13,1)}@keyframes pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ftr{border-top:1px solid var(--line);background:var(--paper);font-family:var(--mono);font-size:13px;color:var(--ink)}.ftr a{color:inherit}.ftr a:hover{background:var(--hi);padding:0 2px;color:var(--ink)}.ftr-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--line)}.ftr-col,.ftr-mark-col{padding:32px var(--gut) 32px var(--gut);border-right:1px solid var(--line)}.ftr-grid>div:last-child{border-right:0}.ftr-mark{display:inline-flex;align-items:center}.ftr-mark:hover{background:transparent;padding:0}.ftr-tag{color:#666;font-size:12px;letter-spacing:.08em;margin:14px 0 0;text-transform:uppercase}.ftr-blurb{color:#444;font-size:13px;margin:14px 0 18px;line-height:1.55;max-width:38ch}.ftr-email{font-family:var(--display);font-weight:700;font-size:clamp(18px,1.8vw,22px);letter-spacing:-.02em;color:var(--ink);text-transform:uppercase;word-break:break-word}.ftr-email:hover{background:var(--hi);padding:0 4px}.ftr-col h4{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.14em;color:#666;text-transform:uppercase;margin:0 0 14px}.ftr-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ftr-col a{font-size:13px;color:var(--ink);text-decoration:none}.ftr-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px var(--gut);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px;font-size:12px;color:#666;letter-spacing:.04em}.ftr-bottom a{color:var(--ink);text-decoration:none}.ftr-bottom-l,.ftr-bottom-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ftr-bottom-r a{font-weight:700}.ftr-deploy{padding:12px var(--gut) 18px;font-size:11px;color:#999;letter-spacing:.12em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:960px){.ftr-grid{grid-template-columns:1fr 1fr}.ftr-col,.ftr-mark-col{border-right:0;border-bottom:1px solid var(--line)}.ftr-mark-col{grid-column:1/-1}}@media (max-width:600px){.ftr-grid{grid-template-columns:1fr}.ftr-bottom{flex-direction:column;align-items:flex-start}}.hero{padding:40px var(--gut) 40px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0;gap:0}.hero .meta{font-size:11px;letter-spacing:.15em;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:28px}.hero .meta,.hero .serie{grid-column:1/-1;display:flex;justify-content:space-between;font-family:var(--mono);text-transform:uppercase;color:#666;flex-wrap:wrap;gap:12px}.hero .serie{align-items:baseline;font-size:12px;letter-spacing:.14em;margin-bottom:16px}.hero .serie b{color:var(--ink);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero .serie .big{font-family:var(--display);font-weight:900;font-size:clamp(40px,6vw,80px);letter-spacing:-.03em;color:var(--ink);line-height:.9}.hero .serie .big .dim{color:#999}.hero h1{grid-column:1/-1;font-family:var(--display);font-weight:900;letter-spacing:-.04em;line-height:.84;text-transform:uppercase;font-size:clamp(56px,13.5vw,200px);text-wrap:balance;overflow-wrap:break-word}.hero h1 .yb{background:var(--hi);padding:0 .05em;margin-left:-.02em}.hero h1 .slash{color:var(--hi);-webkit-text-stroke:0}.hero h1 .sub{display:block}.hero h1 .sub.s2{font-size:.72em}.hero h1 .sub.s3{font-size:.56em;color:#666}.sello{position:absolute;right:6%;top:-34px;border:2px solid var(--ink);padding:10px 16px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink);background:var(--hi);transform:rotate(-8deg);transform-origin:center;line-height:1.3;z-index:3;display:flex;flex-direction:column;gap:3px;min-width:168px;box-shadow:4px 4px 0 var(--ink)}.sello b{font-weight:900;font-family:var(--display);font-size:18px;letter-spacing:.04em;line-height:1}.sello .s-line{border-top:1px solid var(--ink);margin:3px 0}.hero,.hero .manifesto{position:relative}@media (max-width:960px){.sello{display:none}}.hero .caret{display:inline-block;width:.08em;height:.7em;background:var(--ink);vertical-align:-6%;margin-left:.04em;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.hero .manifesto{grid-column:1/-1;margin-top:32px;display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0;gap:0;border-top:1px solid var(--line);padding-top:24px}.hero .manifesto p{grid-column:1/span 8;font-family:var(--mono);font-size:17px;line-height:1.55;color:var(--ink);margin:0}.hero .manifesto p b{background:var(--hi);padding:0 4px;font-weight:500}.hero .manifesto .cta-row{grid-column:1/-1;margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}.hero .manifesto .cta{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;padding:12px 18px;border:1px solid var(--line);color:var(--ink);text-decoration:none}.hero .manifesto .cta:hover{background:var(--hi)}.hero .manifesto .cta.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero .manifesto .cta.primary:hover{background:var(--hi);color:var(--ink);border-color:var(--line)}@media (max-width:860px){.hero .manifesto p{grid-column:1/-1;font-size:15px}}.dash{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:720px}.dash-projects{grid-column:1;grid-row:1/span 2;padding:28px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px;min-height:0}.dash-projects>header{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.dash-projects .dash-title{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:.9;text-transform:uppercase;font-size:clamp(48px,6vw,88px);color:var(--ink);text-decoration:none;margin:4px 0 0}.dash-projects .dash-title span{color:var(--ink)}.dash-projects .dash-title:hover{background:var(--hi);padding:0 .05em;margin:8px -.05em 0}.dash-projects .dash-lede{font-family:var(--mono);font-size:13px;color:#666;max-width:52ch;margin:0 0 8px}.dash-projects .proj-list-mini{list-style:none;border-top:1px solid var(--line);margin:0;padding:0}.dash-projects .proj-list-mini li{border-bottom:1px solid var(--line)}.dash-projects .proj-list-mini{flex:1 1;display:flex;flex-direction:column}.dash-projects .proj-list-mini li{flex:1 1;min-height:0}.dash-projects .proj-list-mini a{display:grid;grid-template-columns:44px 100px minmax(0,1fr) 110px 24px;grid-gap:14px;gap:14px;align-items:center;padding:16px 0;color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.04em;height:100%}.dash-projects .proj-list-mini .mark{display:flex;align-items:center;justify-content:center}.dash-projects .proj-list-mini a:hover{background:var(--ink);color:var(--paper);padding-left:12px;padding-right:12px;margin:0 -12px}.dash-projects .proj-list-mini .code{color:#666;text-transform:uppercase;padding-top:6px}.dash-projects .proj-list-mini a:hover .code{color:#999}.dash-projects .proj-list-mini .body{display:flex;flex-direction:column;gap:4px;min-width:0}.dash-projects .proj-list-mini .name{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:.98;text-transform:uppercase;font-size:clamp(22px,2.4vw,32px)}.dash-projects .proj-list-mini .desc{font-family:var(--mono);font-size:12px;color:#666;line-height:1.45;max-width:60ch}.dash-projects .proj-list-mini a:hover .desc{color:#aaa}.dash-projects .proj-list-mini .meta{display:flex;gap:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#888;flex-wrap:wrap;margin-top:2px}.dash-projects .proj-list-mini a:hover .meta{color:#999}.dash-projects .proj-list-mini .status{font-size:10px;letter-spacing:.12em;color:#444;text-transform:uppercase;padding-top:6px;align-self:start}.dash-projects .proj-list-mini .status .dot{display:inline-block;width:7px;height:7px;background:var(--hi);margin-right:7px;vertical-align:middle}.dash-projects .proj-list-mini .status.pausado .dot{background:#999}.dash-projects .proj-list-mini .status.vivo .dot{background:var(--ink)}.dash-projects .proj-list-mini .status.archivado .dot{background:#ccc}.dash-projects .proj-list-mini a:hover .status .dot{background:var(--hi)}.dash-projects .proj-list-mini .arrow{text-align:right;color:#888;padding-top:6px}.dash-projects .proj-list-mini a:hover .arrow{color:var(--hi)}.dash-projects .proj-list-mini li+li a{border-top:1px solid var(--line)}.dash-card{grid-column:2;padding:20px 24px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px;color:var(--ink);text-decoration:none;min-height:0;position:relative;overflow:hidden}.dash-card:last-child{border-bottom:0}.dash-card:hover{background:var(--ink);color:var(--paper)}.dash-card>header{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#666}.dash-card:hover>header{color:#888}.dash-card .dash-card-title{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:.92;text-transform:uppercase;font-size:clamp(28px,3.4vw,44px)}.dash-card .dash-card-title span{color:var(--ink)}.dash-card:hover .dash-card-title span{color:var(--hi)}.dash-card .dash-teaser{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px}.dash-card:hover .dash-teaser{border-top-color:#444}.dash-card .teaser-meta{color:#666;letter-spacing:.1em;text-transform:uppercase;font-size:10px}.dash-card:hover .teaser-meta{color:#999}.dash-card .teaser-title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase;font-size:clamp(16px,1.6vw,20px);margin-top:6px}.dash-card .teaser-title-sm{font-size:14px;line-height:1.2;font-family:var(--mono);font-weight:500;letter-spacing:0;text-transform:none}.dash-card .teaser-tags{color:#888;letter-spacing:.08em;font-size:10px;text-transform:uppercase;margin-top:6px}.dash-card:hover .teaser-tags{color:#999}.dash-card.dash-exp .dash-thumb-wrap{aspect-ratio:16/7;border:1px solid var(--line);margin-top:4px;position:relative;overflow:hidden}.dash-card .teaser-excerpt{font-family:var(--mono);font-size:12px;color:#666;line-height:1.45;margin:6px 0 0;max-width:50ch}.dash-card:hover .teaser-excerpt{color:#aaa}.dash-card.dash-notas{cursor:default}.dash-card.dash-notas:hover{background:var(--paper);color:var(--ink)}.dash-card.dash-notas:hover>header{color:#666}.dash-card.dash-notas:hover .dash-card-title span{color:var(--ink)}.dash-notas .dash-card-title-link{color:inherit;text-decoration:none;display:inline-block}.dash-notas .dash-card-title-link:hover .dash-card-title{background:var(--hi);padding:0 .05em;margin:0 -.05em}.dash-notas-list{list-style:none;padding:14px 0 0;margin:0;flex:1 1;display:flex;flex-direction:column;border-top:1px solid var(--line)}.dash-notas-list li{flex:1 1;display:flex;min-height:0}.dash-notas-list li+li{border-top:1px solid var(--line)}.dash-notas-list a{display:flex;flex-direction:column;justify-content:center;gap:5px;flex:1 1;color:var(--ink);text-decoration:none;padding:12px 8px;margin:0 -8px;min-width:0}.dash-notas-list a:hover{background:var(--hi);color:var(--ink)}.dash-notas-list .teaser-meta{font-family:var(--mono);font-size:10px;color:#666;letter-spacing:.12em;text-transform:uppercase}.dash-notas-list a:hover .teaser-meta{color:var(--ink)}.dash-notas-list .teaser-title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.05;text-transform:uppercase;font-size:clamp(16px,1.7vw,22px)}.dash-notas-list .teaser-tags{font-family:var(--mono);font-size:10px;color:#888;letter-spacing:.08em;text-transform:uppercase}.dash-notas-list a:hover .teaser-tags{color:var(--ink)}.dash-card.dash-exp:hover .dash-thumb-wrap{border-color:#444}.dash-card.dash-exp .dash-thumb-wrap>div,.dash-card.dash-exp .dash-thumb-wrap>pre{width:100%;height:100%}@media (max-width:860px){.dash{grid-template-columns:1fr}.dash-projects{grid-column:1;grid-row:auto;border-right:0;border-bottom:1px solid var(--line);padding:24px var(--gut)}.dash-card{grid-column:1}.dash-projects .dash-title{font-size:clamp(40px,11vw,72px);line-height:.95;max-width:100%}.dash-projects .proj-list-mini a{grid-template-columns:36px 1fr 18px;gap:10px;padding:14px 0}.dash-projects .proj-list-mini .code,.dash-projects .proj-list-mini .status{display:none}}.home-close{display:grid;grid-template-columns:2fr 1fr;border-bottom:1px solid var(--line);align-items:stretch}.home-close .stats{grid-column:1;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:1fr;border-right:1px solid var(--line);height:100%}.home-close .stats>div{padding:18px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:10px}.home-close .stats>div:last-child{border-right:0}.home-close .stats b{font-family:var(--display);font-weight:900;font-size:clamp(48px,6vw,88px);line-height:.9;letter-spacing:-.04em;display:block}.home-close .stats span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#666;text-transform:uppercase}.home-close .contact{grid-column:2;padding:18px var(--gut);display:flex;flex-direction:column;gap:12px;justify-content:center}.home-close .contact p{font-family:var(--mono);font-size:12px;color:#666;letter-spacing:.04em;margin:0}.home-close .contact .email-cta{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(20px,2.4vw,28px);color:var(--ink);text-decoration:none;text-transform:uppercase;word-break:break-word}.home-close .contact .email-cta:hover{background:var(--hi);padding:0 .05em;margin:0 -.05em}@media (max-width:860px){.home-close{grid-template-columns:1fr}.home-close .stats{grid-column:1;grid-template-columns:repeat(2,1fr);border-right:0}.home-close .stats,.home-close .stats>div{border-bottom:1px solid var(--line)}.home-close .stats>div:nth-child(2n){border-right:0}.home-close .stats>div:nth-child(5):last-child{grid-column:1/-1;border-right:0}.home-close .contact{grid-column:1}}.dash-novedades,.dash-novedades .dn-head{border-bottom:1px solid var(--line)}.dash-novedades .dn-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:24px;gap:24px;padding:36px var(--gut) 28px}.dash-novedades .dn-head-l{display:flex;flex-direction:column;gap:8px}.dash-novedades .dn-head .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.dash-novedades .dn-title{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:.9;text-transform:uppercase;font-size:clamp(56px,8vw,120px);color:var(--ink);text-decoration:none;margin:4px 0 0;display:inline-block}.dash-novedades .dn-title:hover{background:var(--hi);padding:0 .05em;margin:4px -.05em 0}.dash-novedades .dn-title span{color:var(--ink)}.dash-novedades .dn-lede{font-family:var(--mono);font-size:13px;color:#666;max-width:60ch;margin:4px 0 0}.dash-novedades .dn-cta{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;padding:10px 16px;border:1px solid var(--line);color:var(--ink);text-decoration:none;align-self:end}.dash-novedades .dn-cta:hover{background:var(--hi)}@media (max-width:860px){.dash-novedades .dn-head{grid-template-columns:1fr;padding:24px var(--gut) 20px}.dash-novedades .dn-cta{justify-self:start}.dash-novedades .dn-title{font-size:clamp(40px,11vw,72px);line-height:.95;max-width:100%;word-break:break-word}}.mini-log>header{display:flex;justify-content:space-between;align-items:baseline;padding:14px var(--gut);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666;border-bottom:1px solid var(--line)}.mini-log>header a{color:var(--ink)}.mini-log>header a:hover{background:var(--hi);padding:0 4px}.mini-log .row{display:grid;grid-template-columns:130px 160px 1fr;padding:12px var(--gut);border-top:1px solid var(--line);font-family:var(--mono);font-size:13px;align-items:baseline;color:var(--ink)}.mini-log .row:first-child{border-top:0}.mini-log a.row:hover{background:var(--ink);color:var(--paper)}.mini-log a.row:hover .date{color:#999}.mini-log .row .date{color:#666;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em}.mini-log .row .tag{text-transform:uppercase;letter-spacing:.1em}@media (max-width:860px){.mini-log .row{grid-template-columns:1fr;gap:2px;padding:12px var(--gut)}}.shead{padding:48px var(--gut) 28px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0;gap:0;position:relative}.shead .sello{top:36px;right:6%;transform:rotate(8deg);box-shadow:-4px 4px 0 var(--ink)}@media (max-width:860px){.shead .sello{top:16px;right:var(--gut);transform:rotate(6deg);box-shadow:-3px 3px 0 var(--ink)}}.shead .idx{grid-column:1/span 3;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#666}.shead .idx,.shead h1{text-transform:uppercase}.shead h1{grid-column:1/-1;margin-top:14px;font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:.9;font-size:clamp(56px,11vw,168px)}.shead.shead-tag h1{font-size:clamp(32px,6vw,80px);letter-spacing:-.02em}.shead .sub{grid-column:1/span 6;font-size:14px;color:#333}.shead .facts,.shead .sub{margin-top:18px;font-family:var(--mono)}.shead .facts{grid-column:8/span 5;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#666;display:flex;flex-direction:column;gap:4px}.shead .facts span{color:var(--ink)}.pmark{display:inline-flex;align-items:center;justify-content:center;border:1px solid;box-sizing:border-box;flex-shrink:0;color:inherit;background:transparent;overflow:hidden}.pmark img{width:70%;height:70%;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.92;transition:filter .12s ease,opacity .12s ease}.pmark .pmark-mono{font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:1;color:inherit;text-transform:uppercase}.pmark-sm{width:36px;height:36px}.pmark-sm .pmark-mono{font-size:16px}.pmark-md{width:52px;height:52px}.pmark-md .pmark-mono{font-size:22px}.pmark-lg{width:88px;height:88px}.pmark-lg .pmark-mono{font-size:38px}.dash-projects .proj-list-mini a:hover .pmark img,.projrow:hover .pmark img,:hover>.pmark img{filter:grayscale(1) brightness(0) invert(1)}.projlist{border-bottom:1px solid var(--line)}.projrow{display:grid;grid-template-columns:92px 130px 1fr 160px 130px 40px;grid-gap:0;gap:0;align-items:stretch;border-top:1px solid var(--line);padding:0;cursor:pointer}.projrow:first-child{border-top:0}.projrow>*{padding:22px 14px;align-self:center;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.projrow .mark{display:flex;align-items:center;justify-content:center;padding:14px}.projrow .code,.projrow .mark{border-right:1px solid var(--line)}.projrow .code{color:#666;font-weight:500}.projrow .name{padding:14px;font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:.95;text-transform:uppercase;font-size:clamp(28px,3.2vw,44px)}.projrow .name em{font-style:normal;font-size:13px;letter-spacing:0;text-transform:none;display:block;margin-top:6px;max-width:52ch}.projrow .name .rowmeta,.projrow .name em{color:#888;font-family:var(--mono);font-weight:400}.projrow .name .rowmeta{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}.projrow .name .rowmeta-pulse{color:#444}.projrow .year{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.projrow .status,.projrow .year{border-left:1px solid var(--line);color:#444}.projrow .status .dot{display:inline-block;width:7px;height:7px;background:var(--hi);margin-right:7px;vertical-align:middle}.projrow .status.pausado .dot{background:#999}.projrow .status.vivo .dot{background:var(--ink)}.projrow .status.archivado .dot{background:#ccc}.projrow .arrow{border-left:1px solid var(--line);text-align:center;font-size:14px;color:#888}.projrow:hover{background:var(--ink);color:var(--paper)}.projrow:hover .arrow,.projrow:hover .code,.projrow:hover .name em,.projrow:hover .status,.projrow:hover .year{color:#999}.projrow:hover .name .rowmeta{color:#888}.projrow:hover .arrow,.projrow:hover .name .rowmeta-pulse{color:var(--hi)}.projrow:hover .status .dot{background:var(--hi)}@media (max-width:860px){.projrow{grid-template-columns:60px 1fr 90px 30px}.projrow .code,.projrow .year{display:none}.projrow .name{font-size:24px}.projrow .mark{padding:10px}.pmark-md{width:38px;height:38px}.pmark-md .pmark-mono{font-size:16px}}.proj-close{display:grid;grid-template-columns:2fr 1fr;border-bottom:1px solid var(--line);align-items:stretch}.proj-close .proj-close-l{border-right:1px solid var(--line)}.proj-close .proj-close-l,.proj-close .proj-close-r{padding:32px var(--gut);display:flex;flex-direction:column;gap:10px;justify-content:center}.proj-close .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.proj-close p{font-family:var(--mono);font-size:13px;color:#333;max-width:60ch;margin:0;line-height:1.55}.proj-close .proj-close-cta{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(28px,3.2vw,44px);color:var(--ink);text-decoration:none;text-transform:uppercase;line-height:.95}.proj-close .proj-close-cta:hover{background:var(--hi);padding:0 .05em;margin:0 -.05em}.proj-close .proj-close-mail{font-family:var(--mono);font-size:12px;color:#666;text-decoration:none;letter-spacing:.04em}.proj-close .proj-close-mail:hover{color:var(--ink);background:var(--hi);padding:0 3px}@media (max-width:860px){.proj-close{grid-template-columns:1fr}.proj-close .proj-close-l{border-right:0;border-bottom:1px solid var(--line)}}.leg{display:grid;grid-template-columns:92px 130px 1fr 160px 130px 40px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink);font-weight:500}.leg>span{padding:12px 14px;align-self:center}.leg .leg-mark{padding:12px 14px;text-align:center}.leg .leg-code,.leg .leg-mark{border-right:1px solid var(--line)}.leg .leg-name{padding-left:14px}.leg .leg-arrow,.leg .leg-status,.leg .leg-year{border-left:1px solid var(--line)}.leg .leg-arrow{text-align:center;color:#aaa}@media (max-width:860px){.leg{grid-template-columns:60px 1fr 90px 30px}.leg .leg-code,.leg .leg-year{display:none}}.proj-head{padding:48px var(--gut) 32px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0;gap:0;position:relative}.proj-head .sello{top:28px;right:6%;transform:rotate(8deg);box-shadow:-4px 4px 0 var(--ink)}@media (max-width:860px){.proj-head .sello{top:16px;right:var(--gut);transform:rotate(6deg);box-shadow:-3px 3px 0 var(--ink)}}.proj-head .proj-head-row{grid-column:1/-1;display:flex;align-items:center;gap:18px}.proj-head .code{font-family:var(--mono);font-size:clamp(24px,3vw,40px);letter-spacing:.02em;color:#666}.proj-head h1{grid-column:1/-1;margin-top:14px;font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:.88;text-transform:uppercase;font-size:clamp(72px,13vw,192px)}.proj-head .lede{grid-column:1/span 8;margin:22px 0 0;font-family:var(--mono);font-size:15px;line-height:1.55}.proj-head .proj-head-actions{grid-column:1/-1;margin-top:22px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.proj-head .proj-status-pill{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;padding:6px 10px;border:1px solid var(--ink);color:var(--ink);display:inline-flex;align-items:center}.proj-head .proj-status-pill.activo{background:var(--hi)}.proj-head .proj-status-pill.vivo{background:var(--ink);color:var(--paper);border-color:var(--ink)}.proj-head .proj-status-pill.pausado{background:#f0f0f0;color:#555;border-color:#ccc}.proj-head .proj-status-pill.archivado{background:transparent;color:#888;border-color:#ccc}.proj-head .proj-status-pill .dot{display:inline-block;width:7px;height:7px;background:var(--ink);margin-right:7px;vertical-align:middle}.proj-head .proj-status-pill.vivo .dot{background:var(--hi)}.proj-head .proj-status-pill.pausado .dot{background:#999}.proj-head .proj-status-pill.archivado .dot{background:#ccc}.proj-head .proj-head-url{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);text-decoration:none;padding:6px 10px;border:1px solid var(--line)}.proj-head .proj-head-url:hover{background:var(--hi);border-color:var(--ink)}.proj-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border-bottom:1px solid var(--line)}.proj-stats[data-cells="3"]{grid-template-columns:repeat(3,1fr)}.proj-stats[data-cells="4"]{grid-template-columns:repeat(4,1fr)}.proj-stats[data-cells="5"]{grid-template-columns:repeat(5,1fr)}.proj-stats[data-cells="6"]{grid-template-columns:repeat(6,1fr)}.proj-stats>div{padding:22px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:130px}.proj-stats>div:last-child{border-right:0}.proj-stats b{font-family:var(--display);font-weight:900;font-size:clamp(26px,3.2vw,48px);line-height:.9;letter-spacing:-.04em;display:block;word-break:break-word}.proj-stats span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#666;text-transform:uppercase}@media (max-width:860px){.proj-stats,.proj-stats[data-cells="3"],.proj-stats[data-cells="4"],.proj-stats[data-cells="5"],.proj-stats[data-cells="6"]{grid-template-columns:repeat(2,1fr)}.proj-stats>div{border-right:0;border-bottom:1px solid var(--line)}.proj-stats>div:nth-child(2n){border-right:0}.proj-stats>div:last-child{border-bottom:0}.proj-stats b{font-size:26px}}.proj-state-banner{display:grid;grid-template-columns:2fr 1fr;border-bottom:1px solid var(--line);align-items:stretch}.proj-state-banner .proj-state-l{border-right:1px solid var(--line)}.proj-state-banner .proj-state-l,.proj-state-banner .proj-state-r{padding:24px var(--gut);display:flex;flex-direction:column;gap:6px;justify-content:center}.proj-state-banner .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:inherit;opacity:.7}.proj-state-banner strong{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:.95;text-transform:uppercase;font-size:clamp(22px,3vw,38px);color:inherit}.proj-state-banner .proj-state-date{font-family:var(--mono);font-size:14px;color:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em}.proj-state-banner.is-pausado{background:#f5f5f0;color:#333}.proj-state-banner.is-archivado{background:#ebebeb;color:#555}@media (max-width:860px){.proj-state-banner{grid-template-columns:1fr}.proj-state-banner .proj-state-l{border-right:0;border-bottom:1px solid var(--line)}}.proj-pulse{display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;padding:22px var(--gut);border-bottom:1px solid var(--line);align-items:center;background:var(--paper)}.proj-pulse .proj-pulse-l{display:flex;flex-direction:column;gap:8px;min-width:0}.proj-pulse .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.proj-pulse .proj-pulse-msg{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.proj-pulse .proj-pulse-msg time{font-family:var(--mono);font-size:13px;color:#666;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em}.proj-pulse .proj-pulse-msg span{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(18px,2.2vw,26px);color:var(--ink);line-height:1.15;text-transform:uppercase}.proj-pulse .proj-pulse-cta{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;padding:10px 14px;border:1px solid var(--line);color:var(--ink);text-decoration:none;white-space:nowrap}.proj-pulse .proj-pulse-cta:hover{background:var(--hi);border-color:var(--ink)}@media (max-width:860px){.proj-pulse{grid-template-columns:1fr}.proj-pulse .proj-pulse-cta{justify-self:start}}.proj-body{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0;gap:0;border-bottom:1px solid var(--line)}.proj-body .sidenote{grid-column:1/span 3;padding:32px 16px 32px var(--gut);border-right:1px solid var(--line);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#666;position:-webkit-sticky;position:sticky;top:var(--head-h);align-self:flex-start;height:max-content}.proj-body .sidenote h4{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:18px;color:var(--ink);margin-bottom:12px;text-transform:uppercase}.proj-body article{grid-column:4/span 9;padding:32px 40px 48px var(--gut);font-family:var(--mono);font-size:15px;line-height:1.65}.proj-body article>blockquote,.proj-body article>ol,.proj-body article>p,.proj-body article>ul{max-width:90ch}.proj-body article h2{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:.95;text-transform:uppercase;font-size:clamp(40px,5vw,72px);margin:40px 0 16px}.proj-body article h2:first-child{margin-top:0}.proj-body article h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase;font-size:22px;margin:28px 0 10px}.proj-body article p{margin-bottom:18px}.proj-body article p b,.proj-body article strong{font-weight:700;background:var(--hi);padding:0 2px}.proj-body article blockquote{border-left:4px solid var(--hi);padding:2px 0 2px 16px;margin:20px 0;color:#222;font-size:15px}.proj-body article pre{background:var(--ink);color:var(--hi);padding:16px;font-family:var(--mono);font-size:13px;line-height:1.5;margin:20px 0;overflow:auto}.proj-body article ul{margin:10px 0 20px 18px}.proj-body article li{margin-bottom:6px}.proj-body article hr{border:0;border-top:1px solid var(--line);margin:28px 0}.proj-body article a{background:var(--hi);padding:0 2px}.proj-body article a:hover{background:var(--ink);color:var(--hi)}.proj-body .ficha .ficha-toc .toc{display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line);padding-left:10px}.proj-body .ficha .ficha-toc .toc a{display:block;padding:4px 8px;margin-left:-1px;color:#777;text-decoration:none;line-height:1.35;border-left:2px solid transparent;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:none;transition:color .12s,border-color .12s,background .12s}.proj-body .ficha .ficha-toc .toc a:hover{color:var(--ink)}.proj-body .ficha .ficha-toc .toc .toc-l3{padding-left:18px;font-size:10.5px;color:#999}.proj-body .ficha .ficha-toc .toc a.is-active{color:var(--ink);border-left-color:var(--ink);background:var(--hi)}@media (max-width:860px){.proj-body{grid-template-columns:1fr}.proj-body .sidenote{grid-column:1;position:static;border-right:0;border-bottom:1px solid var(--line);padding:24px var(--gut)}.proj-body article{grid-column:1;padding:24px var(--gut) 36px;max-width:none}}.proj-body .ficha .ficha-block{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}.proj-body .ficha .ficha-block:last-child{border-bottom:0;padding-bottom:0}.proj-body .ficha dl{display:flex;flex-direction:column;gap:10px;margin:0}.proj-body .ficha dl>div{display:grid;grid-template-columns:90px 1fr;align-items:baseline;grid-gap:8px;gap:8px}.proj-body .ficha dt{font-size:10px;letter-spacing:.14em;color:#888}.proj-body .ficha dd,.proj-body .ficha dt{font-family:var(--mono);text-transform:uppercase}.proj-body .ficha dd{font-size:12px;color:var(--ink);letter-spacing:.06em;margin:0;word-break:break-word}.proj-body .ficha dd.status{display:inline-flex;align-items:center}.proj-body .ficha dd.status .dot{display:inline-block;width:6px;height:6px;background:var(--hi);margin-right:6px}.proj-body .ficha dd.status.pausado .dot{background:#999}.proj-body .ficha dd.status.vivo .dot{background:var(--ink)}.proj-body .ficha dd.status.archivado .dot{background:#ccc}.proj-body .ficha dd a{color:inherit;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:#ccc;text-decoration-color:#ccc}.proj-body .ficha dd a:hover{background:var(--hi)}.proj-body .ficha .ficha-link{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink);text-decoration:none;padding:6px 0}.proj-body .ficha .ficha-link:hover{background:var(--hi);padding:6px 4px;margin:0 -4px}.proj-log{border-bottom:1px solid var(--line)}.proj-log header,.proj-related header{display:flex;justify-content:space-between;align-items:baseline;padding:18px var(--gut);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666;border-bottom:1px solid var(--line)}.proj-log header .proj-log-cta,.proj-related header .proj-log-cta{color:var(--ink);text-decoration:none}.proj-log header .proj-log-cta:hover,.proj-related header .proj-log-cta:hover{background:var(--hi);padding:0 4px}.proj-log .proj-log-year{display:flex;flex-direction:column}.proj-log .proj-log-year+.proj-log-year{border-top:1px solid var(--line)}.proj-log .proj-log-year-tag{display:flex;align-items:baseline;gap:14px;padding:16px var(--gut) 8px;font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.02em;line-height:1;color:var(--ink)}.proj-log .proj-log-year-tag:after{content:"";flex:1 1;border-bottom:1px dashed #ddd;transform:translateY(-4px)}.proj-log .proj-log-year-rows{display:flex;flex-direction:column}.proj-log .proj-log-year-rows .row{display:grid;grid-template-columns:130px 160px 1fr;padding:10px var(--gut);font-family:var(--mono);font-size:13px;align-items:baseline;color:var(--ink);text-decoration:none}.proj-log .proj-log-year-rows a.row:hover{background:var(--ink);color:var(--paper)}.proj-log .proj-log-year-rows a.row:hover .date{color:#999}.proj-log .proj-log-year-rows .row .date{color:#666;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em}.proj-log .proj-log-year-rows .row .tag{text-transform:uppercase;letter-spacing:.1em}.proj-log .proj-log-year:last-child .proj-log-year-rows .row:last-child{padding-bottom:16px}@media (max-width:860px){.proj-log .proj-log-year-rows .row{grid-template-columns:1fr;gap:2px;padding:10px var(--gut)}}.proj-cta{display:grid;grid-template-columns:2fr 1fr;border-bottom:1px solid var(--line);align-items:stretch}.proj-cta .proj-cta-l{padding:32px var(--gut);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px;justify-content:center}.proj-cta .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.proj-cta p{font-family:var(--mono);font-size:13px;color:#333;max-width:60ch;margin:0;line-height:1.55}.proj-cta .proj-cta-mail{padding:32px var(--gut);display:flex;align-items:center;justify-content:flex-start;font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(20px,2.4vw,30px);color:var(--ink);text-decoration:none;text-transform:uppercase;word-break:break-word}.proj-cta .proj-cta-mail:hover{background:var(--hi)}@media (max-width:860px){.proj-cta{grid-template-columns:1fr}.proj-cta .proj-cta-l{border-right:0;border-bottom:1px solid var(--line)}}.proj-related{border-bottom:1px solid var(--line)}.proj-related .proj-related-empty{padding:22px var(--gut);font-family:var(--mono);font-size:13px;color:#666;line-height:1.55}.proj-related .proj-related-empty code{font-family:var(--mono);background:var(--hi);padding:1px 6px;color:var(--ink);letter-spacing:.04em}.proj-related-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid transparent}.proj-related-list[data-cards="1"]{grid-template-columns:1fr}.proj-related-list[data-cards="2"]{grid-template-columns:repeat(2,1fr)}.proj-related-card{display:flex;flex-direction:column;gap:8px;padding:22px var(--gut);border-right:1px solid var(--line);text-decoration:none;color:var(--ink)}.proj-related-card:last-child{border-right:0}.proj-related-card .kicker{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#888}.proj-related-card .title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase;font-size:22px}.proj-related-card .ex{font-family:var(--mono);font-size:12px;color:#444;line-height:1.5;max-width:40ch}.proj-related-card:hover{background:var(--ink);color:var(--paper)}.proj-related-card:hover .kicker{color:#999}.proj-related-card:hover .ex{color:#aaa}@media (max-width:860px){.proj-related-list{grid-template-columns:1fr}.proj-related-card{border-right:0;border-bottom:1px solid var(--line)}.proj-related-card:last-child{border-bottom:0}}.proj-nav{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.proj-nav a{padding:26px var(--gut);font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;display:flex;flex-direction:column;gap:6px;text-decoration:none}.proj-nav a+a{border-left:1px solid var(--line);align-items:flex-end;text-align:right}.proj-nav a:hover{background:var(--ink);color:var(--paper)}.proj-nav a:hover .n{color:var(--hi)}.proj-nav a:hover .proj-nav-status{color:#999}.proj-nav a:hover .proj-nav-status .dot{background:var(--hi)}.proj-nav a .k{color:#666;font-size:11px;letter-spacing:.12em}.proj-nav a .n{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(28px,4vw,56px);line-height:.95;text-transform:uppercase;color:var(--ink)}.proj-nav a .proj-nav-status{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#666;display:inline-flex;align-items:center}.proj-nav a .proj-nav-status .dot{display:inline-block;width:6px;height:6px;background:var(--hi);margin-right:6px}.proj-nav a .proj-nav-status.pausado .dot{background:#999}.proj-nav a .proj-nav-status.vivo .dot{background:var(--ink)}.proj-nav a .proj-nav-status.archivado .dot{background:#ccc}.proj-nav-notes a .n{font-size:clamp(20px,2.4vw,32px);line-height:1.15;max-width:36ch}.postlist{border-bottom:1px solid var(--line)}.post-row{display:grid;grid-template-columns:160px 1fr 120px;border-top:1px solid var(--line);padding:28px var(--gut);grid-gap:20px;gap:20px;cursor:pointer}.post-row:first-child{border-top:0}.post-row .date{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#666;padding-top:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.post-row .body h3{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:.95;text-transform:uppercase;font-size:clamp(28px,3.6vw,56px)}.post-row .body p{margin-top:10px;font-family:var(--mono);font-size:14px;max-width:72ch;color:#222}.post-row .body .tags{margin-top:12px;display:flex;gap:14px;font-size:11px;letter-spacing:.12em;color:#666;flex-wrap:wrap}.post-row .body .tags,.post-row .cta{font-family:var(--mono);text-transform:uppercase}.post-row .cta{text-align:right;font-size:13px;letter-spacing:.08em;padding-top:16px;align-self:flex-start}.post-row:hover{background:var(--ink);color:var(--paper)}.post-row:hover .body .tags,.post-row:hover .body p,.post-row:hover .date{color:#999}.post-row:hover .cta{color:var(--hi)}.post-head{padding:48px clamp(20px,4vw,48px) 28px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0;gap:0;position:relative}.post-head .date{font-family:var(--mono);font-size:13px;letter-spacing:.15em;color:#666}.post-head .date,.post-head h1{grid-column:1/-1;text-transform:uppercase}.post-head h1{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:.95;font-size:clamp(40px,6vw,88px);margin-top:12px}.post-head .lede{grid-column:1/span 9;font-family:var(--mono);font-size:16px;line-height:1.55;color:#333;margin:18px 0 0;max-width:70ch}.post-head .ldr{grid-column:1/-1;margin-top:22px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#666;display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding:14px 0 0}.post-head .ldr .ldr-tag{background:var(--hi);padding:0 4px;color:var(--ink);text-decoration:none}.post-head .ldr .ldr-tag:hover{background:var(--ink);color:var(--hi)}.reading-body{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0;gap:0;border-bottom:1px solid var(--line)}.reading-body .sidenote{grid-column:1/span 3;padding:32px 16px 32px var(--gut);border-right:1px solid var(--line);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#666;position:-webkit-sticky;position:sticky;top:var(--head-h);align-self:flex-start;height:max-content}.reading-body .sidenote h4{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:18px;color:var(--ink);margin-bottom:12px;text-transform:uppercase}.reading-body .sidenote .ficha-block{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}.reading-body .sidenote .ficha-block:last-child{border-bottom:0;padding-bottom:0}.reading-body .sidenote dl{display:flex;flex-direction:column;gap:10px;margin:0}.reading-body .sidenote dl>div{display:grid;grid-template-columns:80px 1fr;align-items:baseline;grid-gap:8px;gap:8px}.reading-body .sidenote dt{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#888;text-transform:uppercase}.reading-body .sidenote dd{font-family:var(--mono);font-size:12px;color:var(--ink);text-transform:uppercase;letter-spacing:.06em;margin:0;word-break:break-word}.reading-body .sidenote dd.ficha-tags{display:flex;flex-wrap:wrap;gap:4px}.reading-body .sidenote .ficha-tag-chip{display:inline-block;background:var(--hi);padding:1px 5px;color:var(--ink);text-decoration:none;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.reading-body .sidenote .ficha-tag-chip:hover{background:var(--ink);color:var(--hi)}.reading-body .sidenote .ficha-toc .toc{display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line);padding-left:10px}.reading-body .sidenote .ficha-toc .toc a{display:block;padding:4px 8px;margin-left:-1px;color:#777;text-decoration:none;line-height:1.35;border-left:2px solid transparent;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:none;transition:color .12s,border-color .12s,background .12s}.reading-body .sidenote .ficha-toc .toc a:hover{color:var(--ink)}.reading-body .sidenote .ficha-toc .toc .toc-l3{padding-left:18px;font-size:10.5px;color:#999}.reading-body .sidenote .ficha-toc .toc a.is-active{color:var(--ink);border-left-color:var(--ink);background:var(--hi)}.proj-body .ficha .share .share-label,.reading-body .sidenote .share .share-label{display:none}.reading-body article{grid-column:4/span 9;padding:40px 40px 56px clamp(28px,3.5vw,56px);font-family:var(--mono);font-size:16px;line-height:1.7}.reading-body article>blockquote,.reading-body article>ol,.reading-body article>p,.reading-body article>ul{max-width:90ch}.reading-body article p{margin-bottom:18px}.reading-body article h2{letter-spacing:-.025em;line-height:.95;font-size:clamp(32px,4.5vw,48px);margin:40px 0 14px}.reading-body article h2,.reading-body article h3{font-family:var(--display);font-weight:700;text-transform:uppercase}.reading-body article h3{letter-spacing:-.02em;line-height:1;font-size:22px;margin:28px 0 10px}.reading-body article blockquote{border-left:4px solid var(--hi);padding:2px 0 2px 16px;margin:22px 0;color:#111}.reading-body article pre{background:var(--ink);color:var(--hi);padding:16px;font-size:13px;line-height:1.5;margin:22px 0;overflow:auto}.reading-body article a{background:var(--hi);padding:0 2px}.reading-body article a:hover{background:var(--ink);color:var(--hi)}.reading-body article ul{margin:0 0 20px 18px}.reading-body article li{margin-bottom:6px}.reading-body article b,.reading-body article strong{font-weight:700;background:var(--hi);padding:0 2px}.reading-body article hr{border:0;border-top:1px solid var(--line);margin:32px 0}.reading-body .rail{display:none}@media (max-width:860px){.reading-body{grid-template-columns:1fr}.reading-body .sidenote{grid-column:1;position:static;border-right:0;border-bottom:1px solid var(--line);padding:24px var(--gut)}.reading-body article{grid-column:1;padding:24px var(--gut) 36px}}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:18px var(--gut);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px}.tag-cloud-label{color:#666;text-transform:uppercase;letter-spacing:.14em;font-size:11px;margin-right:8px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--line);color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:12px;line-height:1.2;transition:background .12s,color .12s}.tag-chip:hover{background:var(--ink);color:var(--paper)}.tag-chip .tag-count{color:#999;font-size:10px;letter-spacing:.1em}.tag-chip:hover .tag-count{color:var(--hi)}.post-projects{padding:18px var(--gut);border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:#fafaf5}.post-projects .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.post-projects .post-projects-list{display:flex;gap:10px;flex-wrap:wrap;flex:1 1}.post-project-link{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;transition:background .12s,color .12s}.post-project-link:hover{background:var(--ink);color:var(--paper)}.post-project-link .post-project-name{font-weight:500}.post-project-link .post-project-arrow{color:#888}.post-project-link:hover .post-project-arrow{color:var(--hi)}.postlist .postlist-year{display:flex;flex-direction:column}.postlist .postlist-year+.postlist-year{border-top:1px solid var(--line)}.postlist .postlist-year-tag{display:flex;align-items:baseline;gap:14px;padding:16px var(--gut) 8px;font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.02em;line-height:1;color:var(--ink)}.postlist .postlist-year-tag:after{content:"";flex:1 1;border-bottom:1px dashed #ddd;transform:translateY(-4px)}.tag-toolbar{padding:14px var(--gut);border-bottom:1px solid var(--line)}.tag-back{background:var(--hi);padding:0 4px;color:var(--ink);text-decoration:none}.tag-back:hover{background:var(--ink);color:var(--hi)}.tag-cooccur{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:14px var(--gut);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px}.tag-cooccur-label{color:#666;text-transform:uppercase;letter-spacing:.14em;font-size:11px;margin-right:8px}.editor .md-btn{font-family:var(--mono);font-size:11px;font-weight:700;padding:2px 8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;letter-spacing:.06em}.editor .md-btn:hover{background:var(--hi)}.editor .md-btn:disabled{opacity:.4;cursor:not-allowed}.editor .md-btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.editor .md-link-picker{padding:12px;border-top:1px solid var(--line);background:#fafaf5;display:flex;flex-direction:column;gap:10px}.editor .md-link-picker input{font-family:var(--mono);font-size:13px;padding:8px 10px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.editor .md-link-row{display:flex;gap:8px;align-items:center}.editor .md-link-search{display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:1px dashed #ddd}.editor .md-link-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#888;text-transform:uppercase}.editor .md-link-results{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto;border:1px solid var(--line)}.editor .md-link-empty{font-family:var(--mono);font-size:12px;color:#888;padding:8px}.editor .md-link-item{display:grid;grid-template-columns:90px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 10px;background:var(--paper);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;font-family:var(--mono);font-size:12px;color:var(--ink)}.editor .md-link-item:last-child{border-bottom:0}.editor .md-link-item:hover{background:var(--ink);color:var(--paper)}.editor .md-link-kind{font-size:10px;letter-spacing:.14em;color:#666;padding:2px 6px;border:1px solid var(--line)}.editor .md-link-item:hover .md-link-kind{color:var(--hi);border-color:var(--hi)}.editor .md-link-kind-proyecto{background:var(--hi);color:var(--ink);border-color:var(--ink)}.editor .md-link-title{font-weight:500}.editor .md-link-url{color:#888;font-size:11px}.editor .md-link-item:hover .md-link-url{color:#aaa}html[data-theme=dark] .editor .md-link-picker{background:#161616}html[data-theme=dark] .editor .md-link-search{border-top-color:#2a2a2a}html[data-theme=dark] .editor .md-link-kind-proyecto{color:#0a0a0a}html[data-theme=dark] .editor .md-link-item:hover .md-link-kind-proyecto{color:var(--hi)}.search-btn{padding:6px 10px;position:relative;margin-left:4px;font-weight:700}.search-btn.active,.search-btn:hover{background:var(--hi);color:var(--ink)}.theme-toggle{padding:6px 10px;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.04em;background:transparent;border:0;color:var(--ink);cursor:pointer;margin-left:4px}.theme-toggle:hover{background:var(--hi);color:var(--ink)}.search-input-wrap{padding:16px var(--gut);border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.search-input{flex:1 1;min-width:0;font-family:var(--display);font-weight:700;font-size:clamp(20px,3vw,36px);letter-spacing:-.02em;background:transparent;border:0;border-bottom:2px solid var(--ink);padding:10px 0;color:var(--ink);text-transform:uppercase;outline:none;width:100%}.search-input::placeholder{color:#999}.search-input:focus{border-bottom-color:var(--hi)}.search-count{font-family:var(--mono);font-size:12px;color:#666;letter-spacing:.1em;text-transform:uppercase}.search-results{border-bottom:1px solid var(--line)}.search-hit{display:grid;grid-template-columns:130px 1fr 40px;grid-gap:20px;gap:20px;align-items:baseline;padding:20px var(--gut);border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.search-hit:first-child{border-top:0}.search-hit:hover{background:var(--ink);color:var(--paper)}.search-hit:hover .search-kind{color:var(--hi);border-color:var(--hi)}.search-hit:hover .search-meta,.search-hit:hover .search-url,.search-hit:hover p{color:#999}.search-hit .search-kind{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#666;border:1px solid var(--line);padding:4px 8px;align-self:start;white-space:nowrap}.search-hit .search-body h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;text-transform:uppercase;font-size:clamp(20px,2.2vw,28px);line-height:.95;margin-bottom:6px}.search-hit .search-body p{font-family:var(--mono);font-size:13px;color:#333;margin:0;max-width:72ch}.search-hit .search-body .search-meta{margin-top:6px;display:flex;gap:14px;font-family:var(--mono);font-size:11px;color:#666;letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap}.search-hit .search-body .search-url{text-transform:none;letter-spacing:0;color:#888}.search-hit .search-arrow{font-family:var(--mono);font-size:18px;align-self:center;text-align:right;color:#888}.search-hit:hover .search-arrow{color:var(--hi)}@media (max-width:860px){.search-hit{grid-template-columns:1fr;gap:6px}.search-hit .search-arrow{display:none}}.reading-progress{position:fixed;top:0;left:0;height:3px;background:var(--hi);z-index:50;transition:width .08s linear;pointer-events:none}.share{font-family:var(--mono)}.share .share-label{font-size:11px;letter-spacing:.14em;color:#666;text-transform:uppercase;margin-bottom:8px}.share .share-btns{display:flex;gap:4px;flex-wrap:wrap}.share .share-btns a,.share .share-btns button{font-family:var(--mono);font-size:11px;padding:4px 8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.share .share-btns a:hover,.share .share-btns button:hover{background:var(--ink);color:var(--paper)}.share--sidenote{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.share--inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 0}.share--inline .share-label{margin-bottom:0}.toc{font-family:var(--mono);font-size:12px}.toc-inline{width:100%;padding:0}.toc h5{font-size:10px;letter-spacing:.16em;color:#666;margin-bottom:10px;text-transform:uppercase;font-weight:500;color:var(--ink)}.toc ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto}.toc li{line-height:1.3;text-transform:none;letter-spacing:0}.toc li.lvl-3{padding-left:12px;color:#888;font-size:11px}.toc li a{color:#666;text-decoration:none;display:inline-block}.toc li a:hover,.toc li.active a{color:var(--ink);background:var(--hi);padding:0 2px}.toc li.active a{font-weight:500}@media (max-width:960px){.post-head .lede{grid-column:1/-1}}.exp-head{padding:40px clamp(20px,4vw,48px) 28px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.exp-head .exp-kicker{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#666;flex-wrap:wrap}.exp-head .exp-kicker .exp-code{color:var(--ink);font-weight:500}.exp-head .exp-kicker .exp-sep{color:#ccc}.exp-head .exp-tag-pill{padding:2px 6px;border:1px solid var(--ink);color:var(--ink)}.exp-head .exp-tag-pill.exp-tag-ai{background:var(--hi)}.exp-head .exp-tag-pill.exp-tag-proto{border-style:dashed;border-color:#aaa;color:#666}.exp-head h1{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:.95;text-transform:uppercase;font-size:clamp(40px,7vw,96px);margin:6px 0 0}.exp-head .exp-lede{font-family:var(--mono);font-size:16px;line-height:1.55;color:#333;max-width:70ch;margin:6px 0 0}.exp-head .exp-head-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:6px}.exp-head .exp-status-pill{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;padding:6px 10px;border:1px solid var(--ink)}.exp-head .exp-status-pill.is-vivo{background:var(--ink);color:var(--paper)}.exp-head .exp-status-pill.is-archivado{background:#ebebeb;color:#555;border-color:#ccc}.exp-head .exp-status-pill.is-prototipo{background:transparent;color:#555;border-color:#aaa;border-style:dashed}.exp-head .exp-proj-link{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;transition:background .12s,color .12s}.exp-head .exp-proj-link:hover{background:var(--ink);color:var(--paper)}.exp-head .exp-head-url{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);text-decoration:none;padding:6px 10px;border:1px solid var(--line)}.exp-head .exp-head-url:hover{background:var(--hi);border-color:var(--ink)}.exp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border-bottom:1px solid var(--line)}.exp-stats[data-cells="3"]{grid-template-columns:repeat(3,1fr)}.exp-stats[data-cells="4"]{grid-template-columns:repeat(4,1fr)}.exp-stats[data-cells="5"]{grid-template-columns:repeat(5,1fr)}.exp-stats[data-cells="6"]{grid-template-columns:repeat(6,1fr)}.exp-stats>div{padding:20px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:110px}.exp-stats>div:last-child{border-right:0}.exp-stats b{font-family:var(--display);font-weight:900;font-size:clamp(22px,2.6vw,38px);line-height:.9;letter-spacing:-.04em;display:block;word-break:break-word}.exp-stats span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#666;text-transform:uppercase}@media (max-width:860px){.exp-stats,.exp-stats[data-cells="3"],.exp-stats[data-cells="4"],.exp-stats[data-cells="5"],.exp-stats[data-cells="6"]{grid-template-columns:repeat(2,1fr)}.exp-stats>div{border-right:0;border-bottom:1px solid var(--line)}.exp-stats>div:nth-child(2n){border-right:0}}.exp-body{display:grid;grid-template-columns:1fr 2fr;border-bottom:1px solid var(--line)}.exp-body .exp-sidenote{padding:32px 16px 32px clamp(20px,4vw,48px);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:22px}.exp-body .exp-thumb-large{aspect-ratio:4/3;border:1px solid var(--line);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.exp-body .exp-thumb-large>*{width:100%;height:100%}.exp-body .exp-share .share .share-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#888}.exp-body article{padding:32px clamp(28px,3.5vw,56px) 48px;font-family:var(--mono);font-size:15px;line-height:1.7}.exp-body article>p{margin-bottom:14px;max-width:78ch}.exp-body article>h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase;font-size:clamp(28px,3.4vw,44px);margin:28px 0 12px}.exp-body article>ul{margin:12px 0 18px 18px}.exp-body article>li{margin-bottom:6px}.exp-body article a{background:var(--hi);padding:0 2px}.exp-body article a:hover{background:var(--ink);color:var(--hi)}.exp-body .exp-empty{color:#999;font-style:italic}@media (max-width:860px){.exp-body{grid-template-columns:1fr}.exp-body .exp-sidenote{border-right:0;border-bottom:1px solid var(--line);padding:24px var(--gut)}.exp-body article{padding:24px var(--gut) 36px}}.proj-experiments,.proj-experiments header{border-bottom:1px solid var(--line)}.proj-experiments header{display:flex;justify-content:space-between;align-items:baseline;padding:18px var(--gut);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.proj-experiments header .proj-log-cta{color:var(--ink);text-decoration:none}.proj-experiments header .proj-log-cta:hover{background:var(--hi);padding:0 4px}.proj-experiments-list{display:grid;grid-template-columns:repeat(3,1fr)}.proj-experiments-list[data-cards="1"]{grid-template-columns:1fr}.proj-experiments-list[data-cards="2"]{grid-template-columns:repeat(2,1fr)}.proj-experiments-card{display:flex;flex-direction:column;gap:8px;padding:22px var(--gut);border-right:1px solid var(--line);text-decoration:none;color:var(--ink);position:relative}.proj-experiments-card:last-child{border-right:0}.proj-experiments-card .kicker{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#888}.proj-experiments-card .title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase;font-size:22px}.proj-experiments-card .ex{font-family:var(--mono);font-size:12px;color:#444;line-height:1.5;max-width:40ch}.proj-experiments-card .proj-exp-status{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#666;margin-top:auto;padding-top:6px}.proj-experiments-card:hover{background:var(--ink);color:var(--paper)}.proj-experiments-card:hover .ex,.proj-experiments-card:hover .kicker,.proj-experiments-card:hover .proj-exp-status{color:#999}@media (max-width:860px){.proj-experiments-list,.proj-experiments-list[data-cards="2"]{grid-template-columns:1fr}.proj-experiments-card{border-right:0;border-bottom:1px solid var(--line)}.proj-experiments-card:last-child{border-bottom:0}}.exp-list{border-bottom:1px solid var(--line)}.exp-list .exp-year+.exp-year{border-top:1px solid var(--line)}.exp-list .exp-year-tag{display:flex;align-items:baseline;gap:14px;padding:16px var(--gut) 8px;font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.02em;line-height:1;color:var(--ink)}.exp-list .exp-year-tag:after{content:"";flex:1 1;border-bottom:1px dashed #ddd;transform:translateY(-4px)}.exp{display:grid;grid-template-columns:repeat(3,1fr)}.exp .e{border-right:1px solid var(--line);border-top:1px solid var(--line);padding:0;cursor:pointer;display:flex;flex-direction:column;background:var(--paper);position:relative}.exp .e:nth-child(3n){border-right:0}.exp .e:hover{background:var(--ink);color:var(--paper)}.exp .e:hover .tag{color:var(--hi);border-color:var(--hi)}.exp .e:hover .e-code,.exp .e:hover .e-desc,.exp .e:hover .e-proj-chip,.exp .e:hover .e-status{color:#999}.exp .e:hover .e-proj-chip{border-color:#555}.exp .e.is-archived{background:#f5f5f0}.exp .e.is-archived h3{color:#555}.exp .e.is-archived:hover{background:var(--ink)}.exp .e.is-archived:hover h3{color:var(--paper)}.exp .e .thumb{aspect-ratio:4/3;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.exp .e:hover .thumb{border-bottom-color:#333}.exp .e .thumb .inner{position:absolute;inset:0;display:grid;place-items:center}.exp .e .body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1 1}.exp .e h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:.95;text-transform:uppercase;font-size:22px;margin:0}.exp .e .e-meta-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.exp .e .e-code{font-size:11px}.exp .e .e-code,.exp .e .e-proj-chip{font-family:var(--mono);color:#666;letter-spacing:.12em;text-transform:uppercase}.exp .e .e-proj-chip{font-size:10px;padding:2px 6px;border:1px solid var(--line)}.exp .e .e-desc{font-family:var(--mono);font-size:12px;color:#333;line-height:1.5;max-width:36ch;margin:0}.exp .e .row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#666}.exp .e .tag{display:inline-block;border:1px solid var(--line);padding:2px 6px}.exp .e .tag-ai{background:var(--hi)}.exp .e .tag-ai,.exp .e .tag-tool{border-color:var(--ink);color:var(--ink)}.exp .e .tag-proto{border-color:#aaa;color:#666;border-style:dashed}.exp .e:hover .tag-ai{background:var(--hi);color:var(--ink);border-color:var(--hi)}.exp .e .e-status{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#666}.exp-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:18px var(--gut);border-bottom:1px solid var(--line)}.exp-filters .exp-filters-label{color:#666;text-transform:uppercase;letter-spacing:.14em;font-size:11px;margin-right:8px;font-family:var(--mono)}.exp-filter-chip{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:6px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;transition:background .12s,color .12s}.exp-filter-chip:hover{background:#f5f5f0}.exp-filter-chip.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.exp-filter-chip-ai.is-active{background:var(--hi);color:var(--ink);border-color:var(--ink)}@media (max-width:860px){.exp{grid-template-columns:1fr}.exp .e{border-right:0}}.th-type{background:var(--ink);color:var(--paper);font-family:var(--display);font-weight:700;font-size:clamp(32px,5vw,64px);letter-spacing:-.04em;line-height:.85;padding:16px;display:flex;align-items:flex-end;text-transform:uppercase;width:100%;height:100%}.th-type .acc{color:var(--hi)}.th-grid{background:linear-gradient(#1a1a1a 1px,transparent 1px) 0 0/100% 20px,linear-gradient(90deg,#1a1a1a 1px,transparent 1px) 0 0/20px 100%,var(--paper);width:100%;height:100%;position:relative}.th-grid:after{content:"";position:absolute;left:30%;top:30%;width:30%;height:40%;background:var(--hi);border:1px solid var(--ink)}.th-halftone{background:radial-gradient(circle at 2px 2px,#0a0a0a 1.3px,transparent 1.6px) 0 0/5px 5px,linear-gradient(180deg,#ccc,#333);width:100%;height:100%}.th-ascii{color:var(--ink);font-family:var(--mono);font-size:10px;line-height:1.05;padding:14px;white-space:pre;overflow:hidden}.th-ascii,.th-bars{background:var(--paper);width:100%;height:100%}.th-bars{display:flex;align-items:flex-end;gap:4px;padding:16px}.th-bars span{display:block;width:18%;background:var(--ink)}.th-inv{background:var(--hi);color:var(--ink);justify-content:center;width:100%;height:100%;font-family:var(--display);font-weight:700;font-size:clamp(40px,6vw,88px);letter-spacing:-.05em}.nov-toolbar,.th-inv{display:flex;align-items:center}.nov-toolbar{justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.nov-toolbar .nov-filters{border-bottom:0;flex:1 1;min-width:0}.nov-toolbar .nov-rss{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink);text-decoration:none;padding:6px 12px;border:1px solid var(--line);margin-right:var(--gut)}.nov-toolbar .nov-rss:hover{background:var(--hi);border-color:var(--ink)}.nov-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:18px var(--gut);border-bottom:1px solid var(--line)}.nov-filters .nov-filters-label{color:#666;text-transform:uppercase;letter-spacing:.14em;font-size:11px;margin-right:8px;font-family:var(--mono)}.nov-filter-chip{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:6px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;transition:background .12s,color .12s}.nov-filter-chip:hover{background:#f5f5f0}.nov-filter-chip.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.log{border-bottom:1px solid var(--line)}.log .nov-year{display:flex;flex-direction:column}.log .nov-year+.nov-year{border-top:1px solid var(--line)}.log .nov-year-tag{display:flex;align-items:baseline;gap:14px;padding:16px var(--gut) 8px;font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.02em;line-height:1;color:var(--ink)}.log .nov-year-tag:after{content:"";flex:1 1;border-bottom:1px dashed #ddd;transform:translateY(-4px)}.log .nov-year-rows{display:flex;flex-direction:column}.log .entry{display:grid;grid-template-columns:130px 150px 1fr 130px;grid-gap:0;gap:0;padding:12px var(--gut);border-top:1px solid var(--line);font-family:var(--mono);font-size:13px;align-items:baseline;color:var(--ink)}.log .nov-year-rows .entry:first-child{border-top:0}.log .entry .ref{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log .entry .date{color:#666;letter-spacing:.08em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.log .entry .tag{text-transform:uppercase;letter-spacing:.1em}.log .entry .msg{padding-right:20px}.log .entry .ref{text-align:right;color:#999;font-size:11px;letter-spacing:.08em}.log .entry.link{cursor:pointer}.log .entry.link:hover{background:var(--ink);color:var(--paper)}.log .entry.link:hover .date,.log .entry.link:hover .ref{color:#aaa}.log .entry.link:hover .ref{color:var(--hi)}.log .entry.dead{color:#777}.manifiesto .mani-mast{padding:56px clamp(20px,4vw,48px) 32px;border-bottom:1px solid var(--line);position:relative}.manifiesto .mani-mast .sello{top:36px;right:6%;transform:rotate(8deg);box-shadow:-4px 4px 0 var(--ink)}@media (max-width:860px){.manifiesto .mani-mast .sello{top:16px;right:var(--gut);transform:rotate(6deg);box-shadow:-3px 3px 0 var(--ink)}}.manifiesto .mani-kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.manifiesto .mani-mast h1{margin-top:14px;font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:.92;text-transform:uppercase;font-size:clamp(48px,9vw,132px);max-width:14ch}.manifiesto .mani-hi{background:var(--hi);padding:0 .05em}.manifiesto .mani-mast-footer{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}.manifiesto .mani-mast .mani-lede{font-family:var(--mono);font-size:16px;line-height:1.65;color:#333;max-width:64ch;margin:0}.manifiesto section>header{padding:18px clamp(20px,4vw,48px);border-bottom:1px solid var(--line)}.manifiesto section>header .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.manifiesto .mani-secciones{border-bottom:1px solid var(--line)}.manifiesto .mani-secciones-grid{display:grid;grid-template-columns:repeat(4,1fr)}.manifiesto .mani-seccion-card{display:flex;flex-direction:column;gap:12px;padding:26px clamp(20px,4vw,48px);border-right:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:220px;position:relative}.manifiesto .mani-seccion-card:last-child{border-right:0}.manifiesto .mani-seccion-n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#888}.manifiesto .mani-seccion-label{font-family:var(--display);font-weight:900;font-size:clamp(28px,3.6vw,44px);letter-spacing:-.03em;line-height:.9;text-transform:uppercase}.manifiesto .mani-seccion-desc{font-family:var(--mono);font-size:13px;color:#444;line-height:1.55;flex:1 1}.manifiesto .mani-seccion-arrow{font-family:var(--mono);font-size:20px;color:#888;align-self:flex-end}.manifiesto .mani-seccion-card:hover{background:var(--ink);color:var(--paper)}.manifiesto .mani-seccion-card:hover .mani-seccion-desc,.manifiesto .mani-seccion-card:hover .mani-seccion-n{color:#999}.manifiesto .mani-seccion-card:hover .mani-seccion-arrow{color:var(--hi)}.manifiesto .mani-reglas{border-bottom:1px solid var(--line)}.manifiesto .mani-reglas-list{list-style:none;margin:0;padding:0}.manifiesto .mani-regla{display:grid;grid-template-columns:100px 1fr;grid-gap:24px;gap:24px;padding:28px clamp(20px,4vw,48px);border-top:1px solid var(--line)}.manifiesto .mani-regla:first-child{border-top:0}.manifiesto .mani-regla-n{font-family:var(--display);font-weight:900;font-size:clamp(40px,5vw,72px);letter-spacing:-.04em;line-height:.9;color:var(--ink)}.manifiesto .mani-regla-body h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase;font-size:clamp(22px,3vw,38px);margin:6px 0 10px}.manifiesto .mani-regla-body p{font-family:var(--mono);font-size:14px;line-height:1.65;color:#333;max-width:70ch;margin:0}.manifiesto .mani-noes{border-bottom:1px solid var(--line);padding-bottom:36px}.manifiesto .mani-negaciones{padding:28px clamp(20px,4vw,48px) 16px;font-family:var(--display);font-weight:900;font-size:clamp(28px,4vw,56px);letter-spacing:-.025em;line-height:1.15;text-transform:uppercase;color:#333}.manifiesto .mani-negaciones span{position:relative;display:inline-block;margin-right:.5em;padding:0 .1em}.manifiesto .mani-negaciones span:after{content:"";position:absolute;left:-2%;right:-2%;top:52%;height:6px;background:var(--ink);transform:rotate(-2deg);pointer-events:none}.manifiesto .mani-negaciones span:nth-child(2n):after{transform:rotate(1.5deg)}.manifiesto .mani-afirm{padding:0 clamp(20px,4vw,48px);font-family:var(--display);font-weight:900;font-size:clamp(36px,6vw,88px);letter-spacing:-.03em;line-height:1;text-transform:uppercase;margin:0}.manifiesto .mani-evidencia{border-bottom:1px solid var(--line)}.manifiesto .mani-stats{display:grid;grid-template-columns:repeat(5,1fr)}.manifiesto .mani-stats>div{padding:24px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:180px}.manifiesto .mani-stats>div:last-child{border-right:0}.manifiesto .mani-stats b{font-family:var(--display);font-weight:900;font-size:clamp(48px,6vw,88px);line-height:.9;letter-spacing:-.04em;display:block}.manifiesto .mani-stats span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#666;text-transform:uppercase}.manifiesto .mani-meta{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.manifiesto .mani-meta-block{padding:28px clamp(20px,4vw,48px);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.manifiesto .mani-meta-block:last-child{border-right:0}.manifiesto .mani-meta-block .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.manifiesto .mani-meta-block p{font-family:var(--mono);font-size:14px;line-height:1.6;color:#333;max-width:60ch;margin:0}.manifiesto .mani-meta-link{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);text-decoration:none;padding:6px 10px;border:1px solid var(--line);align-self:flex-start}.manifiesto .mani-meta-link:hover{background:var(--hi);border-color:var(--ink)}.manifiesto .mani-meta-links{display:flex;gap:10px;flex-wrap:wrap}.manifiesto .mani-meta-links a{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);text-decoration:none;padding:6px 10px;border:1px solid var(--line)}.manifiesto .mani-meta-links a:hover{background:var(--hi);border-color:var(--ink)}@media (max-width:860px){.manifiesto .mani-secciones-grid{grid-template-columns:1fr}.manifiesto .mani-seccion-card{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.manifiesto .mani-seccion-card:last-child{border-bottom:0}.manifiesto .mani-regla{grid-template-columns:1fr;gap:8px}.manifiesto .mani-stats{grid-template-columns:repeat(2,1fr)}.manifiesto .mani-stats>div{border-right:0;border-bottom:1px solid var(--line);min-height:130px}.manifiesto .mani-stats>div:nth-child(2n){border-right:0}.manifiesto .mani-meta{grid-template-columns:1fr}.manifiesto .mani-meta-block{border-right:0;border-bottom:1px solid var(--line)}.manifiesto .mani-meta-block:last-child{border-bottom:0}}.manifiesto .mani-mvv,.manifiesto .mani-mvv-row{border-bottom:1px solid var(--line)}.manifiesto .mani-mvv-row{display:grid;grid-template-columns:1fr 1fr}.manifiesto .mani-mvv-block{padding:28px clamp(20px,4vw,48px);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px;min-height:180px}.manifiesto .mani-mvv-block:last-child{border-right:0}.manifiesto .mani-mvv-block .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.manifiesto .mani-mvv-block p{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.15;text-transform:none;font-size:clamp(20px,2.4vw,32px);color:var(--ink);margin:0;max-width:36ch}.manifiesto .mani-mvv-valores>header{padding:18px clamp(20px,4vw,48px);border-bottom:1px solid var(--line)}.manifiesto .mani-mvv-valores>header .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.manifiesto .mani-mvv-valores-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr)}.manifiesto .mani-mvv-valor{padding:22px clamp(16px,2.4vw,28px);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.manifiesto .mani-mvv-valor:last-child{border-right:0}.manifiesto .mani-mvv-valor-n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#888}.manifiesto .mani-mvv-valor-body h3{font-family:var(--display);font-weight:900;letter-spacing:-.02em;line-height:1;text-transform:uppercase;font-size:clamp(20px,2.2vw,26px);margin:0 0 8px}.manifiesto .mani-mvv-valor-body p{font-family:var(--mono);font-size:12px;line-height:1.55;color:#333;margin:0}@media (max-width:860px){.manifiesto .mani-mvv-row{grid-template-columns:1fr}.manifiesto .mani-mvv-block{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.manifiesto .mani-mvv-block:last-child{border-bottom:0}.manifiesto .mani-mvv-valores-list{grid-template-columns:1fr}.manifiesto .mani-mvv-valor{border-right:0;border-bottom:1px solid var(--line)}.manifiesto .mani-mvv-valor:last-child{border-bottom:0}}.manifiesto .mani-persona,.manifiesto .mani-persona>header{border-bottom:1px solid var(--line)}.manifiesto .mani-persona>header{padding:18px clamp(20px,4vw,48px)}.manifiesto .mani-persona>header .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.manifiesto .mani-persona-card{display:grid;grid-template-columns:120px 1fr;grid-gap:28px;gap:28px;align-items:start;padding:32px clamp(20px,4vw,48px)}.manifiesto .mani-persona-mark{display:flex;align-items:flex-start;justify-content:flex-start}.manifiesto .mani-persona-text{display:flex;flex-direction:column;gap:6px}.manifiesto .mani-persona-initials{font-family:var(--display);font-weight:900;letter-spacing:-.04em;font-size:clamp(36px,4vw,56px);line-height:.9;color:var(--ink);text-transform:uppercase}.manifiesto .mani-persona-name{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.manifiesto .mani-persona-intro{font-family:var(--mono);font-size:14px;line-height:1.6;color:#333;max-width:60ch;margin:8px 0 12px}.manifiesto .mani-persona-cta{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;padding:6px 12px;border:1px solid var(--line);color:var(--ink);text-decoration:none;align-self:flex-start}.manifiesto .mani-persona-cta:hover{background:var(--hi);border-color:var(--ink)}@media (max-width:860px){.manifiesto .mani-persona-card{grid-template-columns:1fr;gap:16px}}.quien{padding:56px var(--gut) 72px;border-bottom:1px solid var(--line)}.quien .mast{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:.92;text-transform:uppercase;font-size:clamp(48px,9vw,132px);max-width:14ch}.quien .mast .n{background:var(--hi);padding:0 .05em}.quien .body{max-width:680px;margin-top:44px;font-family:var(--mono);font-size:15px;line-height:1.75}.quien .body p{margin-bottom:18px}.quien .body h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:.95;text-transform:uppercase;font-size:28px;margin:36px 0 10px}.quien .body .hidden-line{color:#666;font-size:13px;margin-top:44px;padding-top:18px;border-top:1px solid var(--line)}.quien .body .hidden-line a{background:var(--hi);color:var(--ink);padding:0 3px}.quien .body .negaciones{margin:18px 0 24px;font-family:var(--display);font-weight:900;font-size:clamp(22px,3vw,36px);letter-spacing:-.02em;line-height:1.15;text-transform:uppercase;color:#333}.quien .body .negaciones span{position:relative;display:inline-block;margin-right:.5em;padding:0 .12em}.quien .body .negaciones span:after{content:"";position:absolute;left:-2%;right:-2%;top:52%;height:8px;background:var(--ink);transform:rotate(-2deg);pointer-events:none}.quien .body .negaciones span:nth-child(2n):after{transform:rotate(1.5deg)}.quien .body .afirm{font-family:var(--display);font-weight:900;font-size:clamp(28px,4vw,48px);letter-spacing:-.025em;line-height:1.05;text-transform:uppercase;margin:20px 0 10px}.quien .body .afirm .hiblock{background:var(--hi);padding:0 .1em}.quien .body ul{margin:6px 0 18px 18px}.quien .body li{margin-bottom:4px}.e404{min-height:calc(100vh - var(--head-h) - 140px);display:flex;flex-direction:column;justify-content:center;padding:48px var(--gut)}.e404 .code{font-family:var(--mono);font-size:15px;letter-spacing:.2em;color:#666}.e404 h1{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:.9;text-transform:uppercase;font-size:clamp(80px,14vw,220px);margin-top:16px}.e404-suggestions{list-style:none;padding:0;margin:32px 0 0;max-width:720px;border-top:1px solid var(--line)}.e404-suggestions li{border-bottom:1px solid var(--line)}.e404-suggestions a{display:grid;grid-template-columns:130px 1fr 40px;align-items:baseline;grid-gap:16px;gap:16px;padding:14px 0;font-family:var(--mono);font-size:14px;color:var(--ink)}.e404-suggestions a:hover{background:var(--ink);color:var(--paper);padding-left:12px;padding-right:12px;margin:0 -12px}.e404-suggestions .kind{font-size:10px;letter-spacing:.14em;color:#666;border:1px solid var(--line);padding:2px 6px;align-self:start;text-align:center}.e404-suggestions a:hover .kind{color:var(--hi);border-color:var(--hi)}.e404-suggestions .title{font-family:var(--display);font-size:clamp(18px,2vw,22px);text-transform:uppercase;letter-spacing:-.02em;line-height:1.05}.e404-suggestions .arrow{color:#888;text-align:right}.e404-suggestions a:hover .arrow{color:var(--hi)}.e404-cta{display:flex;gap:8px;margin-top:32px;flex-wrap:wrap}.e404-cta a{display:inline-block;font-family:var(--mono);font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:var(--hi);background:var(--ink);padding:12px 18px;text-decoration:none}.e404-cta a:hover{background:var(--hi);color:var(--ink)}.e404-cta a.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.e404-cta a.secondary:hover{background:var(--ink);color:var(--paper)}.empty{padding:80px var(--gut);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:#666;line-height:1.9}.contacto .contacto-invitacion{padding:32px clamp(20px,4vw,48px);border-bottom:1px solid var(--line)}.contacto .contacto-invitacion p{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.25;font-size:clamp(20px,2.4vw,32px);color:var(--ink);margin:0;max-width:56ch}.contacto .contacto-body{display:grid;grid-template-columns:2fr 1fr;border-bottom:1px solid var(--line)}.contacto .contacto-form-wrap{padding:28px clamp(20px,4vw,48px);border-right:1px solid var(--line)}.contacto .contacto-form-wrap>header{margin-bottom:18px}.contacto .contacto-form-wrap>header .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.contacto-form{display:flex;flex-direction:column;gap:14px}.contacto-form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.contacto-form label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#666;display:flex;flex-direction:column;gap:6px}.contacto-form input,.contacto-form select,.contacto-form textarea{font-family:var(--mono);font-size:14px;background:var(--paper);border:1px solid var(--line);padding:10px 12px;color:var(--ink);border-radius:0}.contacto-form input:focus,.contacto-form select:focus,.contacto-form textarea:focus{outline:2px solid var(--hi);outline-offset:-1px}.contacto-form textarea{resize:vertical;min-height:180px;line-height:1.55}.contacto-form .contacto-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.contacto-form .contacto-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}.contacto-form button{background:var(--ink);color:var(--paper);padding:14px 24px;font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.14em;border:0;cursor:pointer}.contacto-form button:hover{background:var(--hi);color:var(--ink)}.contacto-form button:disabled{opacity:.4;cursor:not-allowed}.contacto-err{font-family:var(--mono);font-size:13px;padding:8px 12px;border:1px solid #a00;background:#ffe1e1;color:#a00}.contacto-ok{padding:32px;border:2px solid var(--ink);background:var(--hi);display:flex;flex-direction:column;gap:12px;align-items:flex-start}.contacto-ok .contacto-ok-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--ink);text-transform:uppercase}.contacto-ok .contacto-ok-title{font-family:var(--display);font-weight:900;letter-spacing:-.03em;line-height:.9;text-transform:uppercase;font-size:clamp(40px,5vw,64px);margin:0;color:var(--ink)}.contacto-ok .contacto-ok-msg{font-family:var(--mono);font-size:14px;line-height:1.55;color:var(--ink);margin:0;max-width:56ch}.contacto-ok .contacto-ok-cta{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;padding:10px 16px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}.contacto-ok .contacto-ok-cta:hover{background:var(--ink);color:var(--hi)}.contacto .contacto-canales{padding:28px clamp(20px,4vw,48px);display:flex;flex-direction:column;gap:16px}.contacto .contacto-canales>header .kicker{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.contacto .contacto-canales-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}.contacto .contacto-canal{display:grid;grid-template-columns:90px 1fr 24px;align-items:center;grid-gap:12px;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-family:var(--mono)}.contacto .contacto-canal:hover{padding:14px 12px;background:var(--ink);color:var(--paper);margin:0 -12px;border-bottom-color:var(--ink)}.contacto .contacto-canal-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#888}.contacto .contacto-canal:hover .contacto-canal-label{color:#999}.contacto .contacto-canal-value{font-size:13px;letter-spacing:.04em;word-break:break-word}.contacto .contacto-canal-arrow{color:#888;text-align:right}.contacto .contacto-canal:hover .contacto-canal-arrow{color:var(--hi)}.contacto .contacto-canal-email .contacto-canal-value{color:var(--ink);font-weight:500}@media (max-width:860px){.contacto .contacto-filtro{grid-template-columns:1fr}.contacto .contacto-filtro-block{border-right:0;border-bottom:1px solid var(--line)}.contacto .contacto-filtro-block:last-child{border-bottom:0}.contacto .contacto-compromiso{grid-template-columns:1fr}.contacto .contacto-compromiso>div{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.contacto .contacto-compromiso>div:last-child{border-bottom:0}.contacto .contacto-body{grid-template-columns:1fr}.contacto .contacto-form-wrap{border-right:0;border-bottom:1px solid var(--line)}.contacto-form-row-2{grid-template-columns:1fr}.contacto-form input,.contacto-form select,.contacto-form textarea,.login-card input,.news-inline input{font-size:16px}}.news-inline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px var(--gut);display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.news-inline .k{color:#666}.news-inline form{display:flex;gap:8px;flex:1 1;min-width:240px}.news-inline input{flex:1 1;border:1px solid var(--line);padding:8px 10px;font-family:var(--mono);font-size:13px;background:var(--paper)}.news-inline button{background:var(--ink);color:var(--paper);padding:8px 14px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.news-inline button:hover{background:var(--hi);color:var(--ink)}.news-inline .msg{color:var(--ink)}@media (max-width:860px){:root{--gut:20px;--head-h:48px}.nav:not(.mobile){display:none}.hdr-mobile-actions,.menu-btn{display:inline-flex}.hdr{grid-template-columns:1fr auto}.hdr .mid{display:none}.dash{min-height:auto}.hero{padding:28px var(--gut)}.exp-filter-chip,.nov-filter-chip,.tag-chip{min-height:36px;padding:8px 12px;display:inline-flex;align-items:center}.contacto-form button{padding:16px 24px;min-height:48px}.ftr-bottom a,.ftr-col a{padding:4px 0;display:inline-block}.quad{grid-template-columns:1fr}.quad .b{aspect-ratio:auto;min-height:220px;border-right:0}.proj-body{grid-template-columns:1fr}.proj-body .sidenote{border-bottom:1px solid var(--line)}.proj-body .sidenote,.proj-body article{grid-column:1;border-right:0;padding:24px var(--gut)}.proj-body .rail{display:none}.post-row{grid-template-columns:1fr;gap:8px;padding:22px var(--gut)}.post-row .cta{text-align:left;padding-top:4px}.post-row .date{padding-top:0}.projrow{grid-template-columns:1fr;gap:2px;padding:18px var(--gut)}.projrow>*{padding:2px 0;border:0!important}.projrow .name{padding:4px 0}.log .entry{grid-template-columns:1fr;gap:2px;padding:14px var(--gut)}.log .entry .ref{text-align:left}.hero h1{font-size:clamp(56px,15vw,120px)}.shead h1{font-size:clamp(56px,16vw,120px)}.proj-head h1{font-size:clamp(56px,15vw,120px)}.post h1{font-size:clamp(48px,13vw,96px)}.quien .mast{font-size:clamp(44px,13vw,96px)}.e404 h1{font-size:clamp(64px,18vw,132px)}.contact{grid-template-columns:1fr}.contact aside,.contact form{grid-column:1}.contact aside{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px;margin-top:24px}.post-head .ldr,.post-head .lede,.proj-head .lede,.shead .facts,.shead .idx,.shead .sub{grid-column:1/-1}}.just{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.legal-page .legal-body{max-width:760px;padding:32px var(--gut) 64px;font-family:var(--mono);font-size:15px;line-height:1.7}.legal-page .legal-body h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:.95;text-transform:uppercase;font-size:clamp(22px,2.6vw,30px);margin:32px 0 12px}.legal-page .legal-body h2:first-child{margin-top:0}.legal-page .legal-body p{margin-bottom:14px}.legal-page .legal-body p b,.legal-page .legal-body strong{background:var(--hi);padding:0 2px;font-weight:700}.legal-page .legal-body ul{margin:6px 0 18px 18px}.legal-page .legal-body li{margin-bottom:6px}.legal-page .legal-body a{background:var(--hi);padding:0 2px}.legal-page .legal-body a:hover{background:var(--ink);color:var(--hi)}.legal-page .legal-body code{font-family:var(--mono);font-size:13px;background:#eee;padding:1px 6px}.legal-page .legal-body hr{border:0;border-top:1px solid var(--line);margin:32px 0 18px}html[data-theme=dark]{--ink:#fafaf7;--paper:#0a0a0a;--line:#2a2a2a}html[data-theme=dark] .sello,html[data-theme=dark] .sello b,html[data-theme=dark] .sello span{background:var(--hi);color:#0a0a0a;border-color:#0a0a0a}html[data-theme=dark] .dash-notas .dash-card-title-link:hover .dash-card-title,html[data-theme=dark] .dash-notas-list a:hover,html[data-theme=dark] .dash-novedades .dn-cta:hover,html[data-theme=dark] .dash-novedades .dn-title:hover,html[data-theme=dark] .dash-projects .dash-title:hover,html[data-theme=dark] .ftr a:hover,html[data-theme=dark] .ftr-email:hover,html[data-theme=dark] .hero .manifesto .cta.primary:hover,html[data-theme=dark] .hero .manifesto .cta:hover,html[data-theme=dark] .hero .manifesto p b,html[data-theme=dark] .hero h1 .yb,html[data-theme=dark] .home-close .contact .email-cta:hover,html[data-theme=dark] .mini-log>header a:hover,html[data-theme=dark] .nav a.active,html[data-theme=dark] .nav a:hover,html[data-theme=dark] .proj-close .proj-close-cta:hover,html[data-theme=dark] .proj-close .proj-close-mail:hover{color:#0a0a0a}html[data-theme=dark] .proj-head .proj-head-url:hover,html[data-theme=dark] .proj-head .proj-status-pill.activo,html[data-theme=dark] .proj-pulse .proj-pulse-cta:hover{color:#0a0a0a;border-color:#0a0a0a}html[data-theme=dark] .proj-body article a,html[data-theme=dark] .proj-body article p b,html[data-theme=dark] .proj-body article strong,html[data-theme=dark] .reading-body article b,html[data-theme=dark] .reading-body article strong{color:#0a0a0a}html[data-theme=dark] .proj-body article a:hover{background:var(--ink);color:var(--hi)}html[data-theme=dark] .post-head .ldr .ldr-tag,html[data-theme=dark] .proj-body .ficha .ficha-link:hover,html[data-theme=dark] .proj-body .ficha .ficha-toc .toc a.is-active,html[data-theme=dark] .proj-body .ficha dd a:hover,html[data-theme=dark] .proj-cta .proj-cta-mail:hover,html[data-theme=dark] .proj-log header .proj-log-cta:hover,html[data-theme=dark] .proj-related .proj-related-empty code,html[data-theme=dark] .proj-related header .proj-log-cta:hover,html[data-theme=dark] .reading-body .sidenote .ficha-tag-chip,html[data-theme=dark] .reading-body .sidenote .ficha-toc .toc a.is-active,html[data-theme=dark] .reading-body article a{color:#0a0a0a}html[data-theme=dark] .reading-body article a:hover{background:var(--ink);color:var(--hi)}html[data-theme=dark] .tag-chip:hover .tag-count{color:var(--hi)}html[data-theme=dark] .tag-back{color:#0a0a0a}html[data-theme=dark] .tag-back:hover{color:var(--hi)}html[data-theme=dark] .exp .e .tag-ai,html[data-theme=dark] .exp-filter-chip-ai.is-active,html[data-theme=dark] .exp-head .exp-tag-pill.exp-tag-ai,html[data-theme=dark] .nov-toolbar .nov-rss:hover{color:#0a0a0a}html[data-theme=dark] .log .entry.link:hover .ref{color:var(--hi)}html[data-theme=dark] .contacto-form button:hover,html[data-theme=dark] .manifiesto .mani-afirm .mani-hi,html[data-theme=dark] .manifiesto .mani-hi,html[data-theme=dark] .manifiesto .mani-meta-link:hover,html[data-theme=dark] .manifiesto .mani-meta-links a:hover,html[data-theme=dark] .manifiesto .mani-persona-cta:hover{color:#0a0a0a}html[data-theme=dark] .contacto-ok,html[data-theme=dark] .contacto-ok .contacto-ok-cta,html[data-theme=dark] .contacto-ok .contacto-ok-kicker,html[data-theme=dark] .contacto-ok .contacto-ok-msg,html[data-theme=dark] .contacto-ok .contacto-ok-title{color:#0a0a0a;border-color:#0a0a0a}html[data-theme=dark] .contacto-ok .contacto-ok-cta:hover{background:#0a0a0a;color:var(--hi)}html[data-theme=dark] .legal-page .legal-body a{color:#0a0a0a}html[data-theme=dark] .post-projects{background:#1a1a1a}html[data-theme=dark] .proj-state-banner.is-pausado{background:#1a1a1a;color:#ccc}html[data-theme=dark] .proj-state-banner.is-archivado{background:#222;color:#aaa}html[data-theme=dark] .proj-head .proj-status-pill.pausado{background:#1f1f1f;color:#aaa;border-color:#444}html[data-theme=dark] .proj-head .proj-status-pill.archivado{color:#aaa;border-color:#444}html[data-theme=dark] .exp-head .exp-status-pill.is-archivado{background:#1f1f1f;color:#aaa;border-color:#444}html[data-theme=dark] .exp-head .exp-status-pill.is-prototipo{color:#aaa;border-color:#444}html[data-theme=dark] .exp .e.is-archived{background:#161616}html[data-theme=dark] .exp .e.is-archived h3{color:#aaa}html[data-theme=dark] .exp-filter-chip:hover,html[data-theme=dark] .nov-filter-chip:hover{background:#1a1a1a}html[data-theme=dark] .post article blockquote,html[data-theme=dark] .post-row .body p,html[data-theme=dark] .proj-body article blockquote,html[data-theme=dark] .reading-body article blockquote{color:#ccc}html[data-theme=dark] .post article pre,html[data-theme=dark] .reading-body article pre{background:#1a1a1a}html[data-theme=dark] .legal-page .legal-body code{background:#1f1f1f;color:#eee}html[data-theme=dark] .cmdk-badge{background:#1f1f1f;color:#999}html[data-theme=dark] .editor .preview code{background:#1f1f1f;color:#eee}html[data-theme=dark] .pmark img{filter:grayscale(1) brightness(0) invert(1)}html[data-theme=dark] .dash-projects .proj-list-mini a:hover .pmark img,html[data-theme=dark] .projrow:hover .pmark img,html[data-theme=dark] :hover>.pmark img{filter:grayscale(1) brightness(0)}html[data-theme=dark] .exp-list .exp-year-tag:after,html[data-theme=dark] .nov-year-tag:after,html[data-theme=dark] .postlist .postlist-year-tag:after,html[data-theme=dark] .proj-log .proj-log-year-tag:after{border-bottom-color:#2a2a2a}html[data-theme=dark] .proj-experiments-card{border-color:var(--line)}html[data-theme=dark] .manifiesto .mani-persona-criterio li,html[data-theme=dark] .manifiesto .mani-persona-tr li{border-bottom-color:#2a2a2a}html[data-theme=dark] .contacto-err,html[data-theme=dark] .form .status.err,html[data-theme=dark] .login-card .err{background:#3a1414;border-color:#aa3a3a;color:#f99}html[data-theme=dark] .table td .pill.pausado{background:#2a2a2a;color:#aaa}html[data-theme=dark] .quad .b:hover{background:var(--ink);color:var(--paper)}html[data-theme=dark] .admin-side .brand small{background:var(--paper);color:#0a0a0a}html[data-theme=dark] .contacto .contacto-invitacion p{color:var(--ink)}@media (max-width:720px){.exp-head,.post-head,.proj-head,.shead{padding-top:28px}.legal-page .legal-body{padding-bottom:32px}.hero h1 .sub.s3{font-size:.5em}.shead h1{font-size:clamp(36px,9vw,56px)}.shead.shead-tag h1{font-size:clamp(28px,7vw,40px)}.post-head h1{font-size:clamp(28px,7vw,44px)}.proj-head h1{font-size:clamp(40px,11vw,64px)}.exp-head h1{font-size:clamp(28px,7vw,44px)}.manifiesto .mani-mast h1{font-size:clamp(36px,13vw,80px)}.hero h1{font-size:clamp(40px,16vw,96px)}.home-close .stats b{font-size:clamp(32px,9vw,48px)}.exp-head .exp-lede,.post-head .lede,.proj-head .lede,.shead .sub{max-width:100%}.leg{display:none}.projrow{grid-template-columns:56px 1fr 88px;grid-template-rows:auto auto;column-gap:8px;row-gap:4px;padding:12px var(--gut)}.projrow>*{padding:0!important;border:0!important;align-self:center}.projrow .mark{grid-row:1/span 2}.projrow .name{grid-column:2;grid-row:1;font-size:22px;padding:0!important}.projrow .name em{font-size:12px;margin-top:4px}.projrow .name .rowmeta{font-size:10px;gap:8px;margin-top:6px}.projrow .code,.projrow .year{display:none}.projrow .status{grid-column:3;grid-row:1;font-size:10px;text-align:right}.projrow .arrow{display:none}.dash-projects .proj-list-mini a{grid-template-columns:36px 1fr;column-gap:10px;row-gap:4px;align-items:start}.dash-projects .proj-list-mini .mark{grid-row:1/span 2}.dash-projects .proj-list-mini .code{grid-column:2;grid-row:1;padding-top:0;font-size:10px}.dash-projects .proj-list-mini .body{grid-column:2;grid-row:2}.dash-projects .proj-list-mini .arrow,.dash-projects .proj-list-mini .status{display:none}.dash-projects .proj-list-mini .name{font-size:20px}.log .entry,.proj-log .proj-log-year-rows .row{gap:4px;padding:12px var(--gut)}.log .entry .ref{display:none}.contacto .contacto-canales{padding:24px var(--gut)}.contacto .contacto-canal{grid-template-columns:70px 1fr 18px;padding:12px 0}.manifiesto .mani-regla{padding:22px var(--gut)}.manifiesto .mani-regla-n{font-size:36px}.manifiesto .mani-mvv-block{padding:22px var(--gut)}.manifiesto .mani-mvv-block p{font-size:clamp(18px,5vw,24px)}.manifiesto .mani-mvv-valor{padding:18px var(--gut)}.nov-toolbar{flex-direction:column;align-items:flex-start;gap:0}.nov-toolbar .nov-rss{margin:12px var(--gut);align-self:flex-end}.exp-filters{padding:14px var(--gut)}.proj-cta{grid-template-columns:1fr}.proj-cta .proj-cta-mail{padding:22px var(--gut);font-size:22px}.home-close .stats>div{min-height:0;padding:16px 14px}.home-close .stats b{font-size:32px}.home-close,.search-hit{grid-template-columns:1fr}.search-hit{gap:4px;padding:16px var(--gut)}.search-hit .search-arrow{display:none}.search-hit .search-body p{font-size:12px}}@media (max-width:480px){.shead h1{font-size:clamp(28px,8vw,40px)}.shead.shead-tag h1{font-size:clamp(24px,6vw,32px)}.proj-head h1{font-size:clamp(36px,10vw,56px)}.post-head h1{font-size:clamp(24px,6vw,36px)}.exp-head h1{font-size:clamp(24px,7vw,40px)}.manifiesto .mani-mast h1{font-size:clamp(32px,10vw,56px)}.hero h1{font-size:clamp(32px,12vw,64px)}.exp-stats b,.proj-stats b{font-size:clamp(22px,7vw,30px)}.contacto .contacto-canal{padding:10px 0}.manifiesto .mani-persona-card{padding:22px var(--gut)}.manifiesto .mani-persona-initials{font-size:32px}.tag-chip{font-size:11px;padding:3px 6px}.tag-chip[data-weight="2"]{font-size:12px;padding:4px 8px}.tag-chip[data-weight="3"]{font-size:13px;padding:5px 10px}}html[data-theme=dark] .exp .e .e-desc,html[data-theme=dark] .exp-body article,html[data-theme=dark] .exp-head .exp-lede,html[data-theme=dark] .ftr-blurb,html[data-theme=dark] .manifiesto .mani-mast .mani-lede,html[data-theme=dark] .manifiesto .mani-meta-block p,html[data-theme=dark] .manifiesto .mani-mvv-valor-body p,html[data-theme=dark] .manifiesto .mani-negaciones,html[data-theme=dark] .manifiesto .mani-persona-criterio p,html[data-theme=dark] .manifiesto .mani-persona-intro,html[data-theme=dark] .manifiesto .mani-persona-position,html[data-theme=dark] .manifiesto .mani-persona-tr p,html[data-theme=dark] .manifiesto .mani-regla-body p,html[data-theme=dark] .manifiesto .mani-seccion-desc,html[data-theme=dark] .post-head .lede,html[data-theme=dark] .post-project-link,html[data-theme=dark] .post-row .body p,html[data-theme=dark] .proj-body article,html[data-theme=dark] .proj-close p,html[data-theme=dark] .proj-cta p,html[data-theme=dark] .proj-experiments-card .ex,html[data-theme=dark] .proj-pulse .proj-pulse-msg time,html[data-theme=dark] .proj-related-card .ex,html[data-theme=dark] .reading-body article,html[data-theme=dark] .search-hit .search-body p,html[data-theme=dark] .shead .sub{color:#ccc}html[data-theme=dark] .dash-projects .proj-list-mini .status,html[data-theme=dark] .projrow .name .rowmeta-pulse,html[data-theme=dark] .projrow .status,html[data-theme=dark] .projrow .year{color:#aaa}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#777}html[data-theme=dark] .projrow .name .rowmeta-pulse{color:#aaa}html[data-theme=dark] .proj-body .ficha dd a{-webkit-text-decoration-color:#444;text-decoration-color:#444}@media print{.ftr,.hdr,.menu-btn,.news-inline,.overlay,.proj-nav,.reading-body .sidenote,.reading-progress,.related,.share,.toc{display:none!important}.reading-body{display:block!important}.reading-body article{grid-column:auto!important;padding:0!important;max-width:100%!important;border:0!important}.post-head{padding:0!important;border-bottom:1px solid #000!important;page-break-after:avoid}.post-head h1{font-size:32pt!important}.reading-body article h2{font-size:18pt!important;page-break-after:avoid}.reading-body article h3{font-size:14pt!important;page-break-after:avoid}.reading-body article blockquote,.reading-body article p,.reading-body article ul{font-size:11pt!important;line-height:1.5}body{background:#fff!important}a,body{color:#000!important}a{text-decoration:underline}pre{background:#f5f5f5!important;color:#000!important;border:1px solid #ccc}}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:var(--paper)}.admin-side{border-right:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-side .brand{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--line)}.admin-side .brand small{color:var(--hi);background:var(--ink);padding:1px 4px;font-size:10px;letter-spacing:.14em}.admin-side .group{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#999;margin:16px 0 4px}.admin-side a,.admin-side button{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-family:var(--mono);font-size:13px;color:var(--ink);text-transform:uppercase;letter-spacing:.04em;border:0;background:transparent;width:100%;text-align:left;cursor:pointer}.admin-side a:hover,.admin-side button:hover{background:var(--hi)}.admin-side a.active{background:var(--ink);color:var(--paper)}.admin-side a.active:hover{background:var(--ink);color:var(--hi)}.admin-side .count{color:#999;font-size:11px}.admin-side a.active .count{color:#888}.admin-side .foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:#666}.admin-side .foot a{padding:4px 0;display:inline;background:transparent;text-transform:none;letter-spacing:0}.admin-side .foot a:hover{background:var(--hi);padding:0 2px}.admin-main{padding:0;min-width:0}.admin-hdr{border-bottom:1px solid var(--line);padding:20px 32px;display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;background:var(--paper);position:-webkit-sticky;position:sticky;top:0;z-index:20}.admin-hdr h1{font-family:var(--display);font-weight:700;letter-spacing:-.025em;font-size:clamp(28px,4vw,48px);text-transform:uppercase;line-height:.95}.admin-hdr .crumbs{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666;margin-bottom:6px}.admin-hdr .crumbs a:hover{background:var(--hi);padding:0 2px}.admin-hdr .actions{display:flex;gap:8px;flex-wrap:wrap}.admin-hdr .actions a,.admin-hdr .actions button{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:8px 14px;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:var(--paper)}.admin-hdr .actions .primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.admin-hdr .actions a:hover,.admin-hdr .actions button:hover{background:var(--hi);color:var(--ink);border-color:var(--line)}.admin-hdr .actions .danger:hover{background:#a00;color:#fff;border-color:#a00}.admin-body{padding:24px 32px 48px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:0;gap:0;border:1px solid var(--line);margin-bottom:32px}.stats .s{padding:16px 20px;border-right:1px solid var(--line)}.stats .s:last-child{border-right:0}.stats .s .k{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#666}.stats .s .v{font-family:var(--display);font-weight:900;font-size:clamp(36px,5vw,56px);letter-spacing:-.03em;line-height:1;margin-top:6px}.stats .s a{color:inherit}.stats .s a:hover .v{color:var(--ink);background:var(--hi);padding:0 4px}.admin-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:24px;gap:24px}@media (max-width:900px){.admin-grid,.admin-shell{grid-template-columns:1fr}.admin-side{position:static;height:auto}}.panel{border:1px solid var(--line);margin-bottom:24px}.panel>header{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;color:#666}.panel>header,.panel>header h2{font-family:var(--mono);font-size:11px;letter-spacing:.14em}.panel>header h2{color:var(--ink);font-weight:500}.panel .empty-state{padding:40px 16px;text-align:center;color:#999;font-family:var(--mono);font-size:12px}.table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13px}.table td,.table th{padding:10px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#666;background:var(--paper);font-weight:500}.table tbody tr:hover{background:var(--hi)}.table tbody tr:hover a{color:var(--ink)}.table td.right{text-align:right}.table td .pill{display:inline-block;padding:1px 6px;border:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}.table td .pill.activo{background:var(--hi)}.table td .pill.pausado{background:#eee}.table td .pill.vivo{background:var(--ink);color:var(--paper)}.table td .pill.archivado{color:#999}.table .actions{white-space:nowrap;display:flex;gap:4px;justify-content:flex-end}.table .actions a,.table .actions button{font-size:11px;padding:4px 8px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);color:var(--ink);background:var(--paper);cursor:pointer}.table .actions a:hover{background:var(--ink);color:var(--paper)}.table .actions .danger:hover{background:#a00;color:#fff;border-color:#a00}.form{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 20px;gap:14px 20px;max-width:1000px}.form .full{grid-column:1/-1}.form label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#666}.form label .hint{font-size:10px;color:#999;text-transform:none;letter-spacing:0;margin-top:2px}.form input,.form select,.form textarea{font-family:var(--mono);font-size:14px;background:var(--paper);border:1px solid var(--line);padding:10px 12px;color:var(--ink);border-radius:0}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--hi);outline-offset:-1px}.form textarea{min-height:420px;line-height:1.55;resize:vertical;font-size:14px}.form .row-actions{grid-column:1/-1;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line);margin-top:8px}.form .row-actions,.form .row-actions .left,.form .row-actions .right{display:flex;gap:8px}.form .btn{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;padding:10px 18px;border:1px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink)}.form .btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.form .btn.primary:hover{background:var(--hi);color:var(--ink);border-color:var(--line)}.form .btn.danger{color:#a00}.form .btn.danger:hover{background:#a00;color:#fff;border-color:#a00}.form .btn:disabled{opacity:.4;cursor:not-allowed}.form .status{grid-column:1/-1;padding:10px 12px;border:1px solid var(--line);font-size:13px}.form .status.ok{background:var(--hi)}.form .status.err{background:#ffe1e1;border-color:#a00;color:#a00}.form .xref-fieldset{grid-column:1/-1;border:1px solid var(--line);padding:12px 14px}.form .xref-fieldset legend{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#666;text-transform:uppercase;padding:0 6px}.form .xref-list{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 6px}.form .xref-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);background:var(--paper);cursor:pointer;font-family:var(--mono);font-size:12px;text-transform:none;letter-spacing:.04em;transition:background .12s,border-color .12s}.form .xref-chip input{display:none}.form .xref-chip:hover{border-color:var(--ink)}.form .xref-chip.is-selected{background:var(--hi);border-color:var(--ink)}.form .xref-chip-code{color:#666;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.form .xref-chip-title,.form .xref-chip.is-selected .xref-chip-code{color:var(--ink)}.xref-backlinks{margin-top:24px}.xref-backlinks>header h2{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#666;margin:0;padding:14px 16px;border-bottom:1px solid var(--line)}.xref-back-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0}.xref-back-grid-3{grid-template-columns:1fr 1fr 1fr}.xref-back-col{padding:16px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.xref-back-col:last-child{border-right:0}.xref-back-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#888;text-transform:uppercase}.xref-back-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.xref-back-list li{font-family:var(--mono);font-size:12px;line-height:1.45;color:var(--ink);display:flex;flex-direction:column;gap:2px;padding-bottom:6px;border-bottom:1px dashed #eee}.xref-back-list li:last-child{border-bottom:0}.xref-back-list li a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:#ccc;text-decoration-color:#ccc}.xref-back-list li a:hover{background:var(--hi);padding:0 2px}.xref-back-meta{font-size:10px;color:#888;letter-spacing:.1em;text-transform:uppercase}@media (max-width:860px){.xref-back-grid,.xref-back-grid-3{grid-template-columns:1fr}.xref-back-col{border-right:0;border-bottom:1px solid var(--line)}.xref-back-col:last-child{border-bottom:0}}html[data-theme=dark] .xref-back-list li{border-bottom-color:#2a2a2a}html[data-theme=dark] .form .xref-chip.is-selected .xref-chip-code,html[data-theme=dark] .form .xref-chip.is-selected .xref-chip-title{color:#0a0a0a}.admin-list-search{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line)}.admin-list-search input{flex:1 1;max-width:360px;font-family:var(--mono);font-size:13px;padding:8px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.admin-list-search input:focus{outline:2px solid var(--hi);outline-offset:-1px}.admin-list-search-counter{color:#888;letter-spacing:.12em}.admin-list-search-counter,.duplicate-btn{font-family:var(--mono);font-size:11px;text-transform:uppercase}.duplicate-btn{letter-spacing:.08em;padding:2px 6px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}.duplicate-btn:hover{background:var(--hi);border-color:var(--ink)}.duplicate-btn:disabled{opacity:.4;cursor:not-allowed}.editor{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;border:1px solid var(--line);min-height:520px}.editor>.pane{display:flex;flex-direction:column}.editor>.pane:first-child{border-right:1px solid var(--line)}.editor>.pane>header{padding:8px 12px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#666;display:flex;justify-content:space-between;align-items:center}.editor textarea{border:0;font-size:13px;line-height:1.6;resize:none;outline:0;background:var(--paper)}.editor .preview,.editor textarea{flex:1 1;padding:16px;font-family:var(--mono)}.editor .preview{overflow:auto;font-size:14px;line-height:1.65}.editor .preview h1,.editor .preview h2,.editor .preview h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;text-transform:uppercase;line-height:.95;margin:18px 0 8px}.editor .preview h1{font-size:32px}.editor .preview h2{font-size:24px}.editor .preview h3{font-size:18px}.editor .preview p{margin-bottom:14px}.editor .preview strong{background:var(--hi);padding:0 2px}.editor .preview blockquote{border-left:4px solid var(--hi);padding:2px 0 2px 14px;margin:14px 0;color:#222}.editor .preview pre{background:var(--ink);color:var(--hi);padding:12px;font-size:12px;margin:14px 0;overflow:auto}.editor .preview code{font-family:var(--mono);font-size:12px;background:#eee;padding:0 4px}.editor .preview pre code{background:transparent;padding:0;color:inherit}.editor .preview ul{margin:0 0 14px 18px}.editor .preview a{color:var(--ink);text-decoration:underline}.editor .preview hr{border:0;border-top:1px solid var(--line);margin:20px 0}@media (max-width:900px){.editor{grid-template-columns:1fr}.editor>.pane:first-child{border-right:0;border-bottom:1px solid var(--line)}.form{grid-template-columns:1fr}}.cmdk-backdrop{position:fixed;inset:0;background:hsla(0,0%,4%,.5);z-index:200;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}.cmdk{width:100%;max-width:680px;background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:70vh}.cmdk-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.cmdk-prompt{font-family:var(--display);font-weight:700;color:var(--hi);background:var(--ink);padding:0 8px;font-size:18px;line-height:1}.cmdk-head input{flex:1 1;border:0;outline:0;background:transparent;font-family:var(--mono);font-size:16px;color:var(--ink)}.cmdk-head input::placeholder{color:#999}.cmdk-hint{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#666;border:1px solid var(--line);padding:1px 6px;text-transform:uppercase}.cmdk-list{flex:1 1;overflow-y:auto}.cmdk-empty{padding:20px 16px;color:#999}.cmdk-empty,.cmdk-row{font-family:var(--mono);font-size:13px}.cmdk-row{display:grid;grid-template-columns:90px 1fr auto auto;grid-gap:12px;gap:12px;align-items:baseline;padding:10px 16px;width:100%;text-align:left;border:0;background:transparent;cursor:pointer;border-top:1px solid #eee;color:var(--ink)}.cmdk-row:first-child{border-top:0}.cmdk-row.active{background:var(--ink);color:var(--paper)}.cmdk-row.active .cmdk-kind{color:var(--hi);border-color:var(--hi)}.cmdk-row.active .cmdk-meta{color:#999}.cmdk-kind{font-size:10px;letter-spacing:.12em;color:#666;border:1px solid var(--line);padding:1px 6px;text-transform:uppercase;text-align:center}.cmdk-title{font-family:var(--mono);font-size:13px}.cmdk-badge{font-size:9px;letter-spacing:.14em;background:#eee;color:#666;padding:1px 6px;text-transform:uppercase}.cmdk-row.active .cmdk-badge{background:#444;color:var(--hi)}.cmdk-meta{font-size:11px;color:#999;letter-spacing:.04em;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}.login-card{width:100%;max-width:420px;border:1px solid var(--line);padding:28px;background:var(--paper)}.login-card .logo{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;letter-spacing:.04em}.login-card .logo,.login-card h1{font-weight:700;text-transform:uppercase}.login-card h1{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(44px,6vw,64px);line-height:.95;margin-top:18px}.login-card p{font-family:var(--mono);font-size:13px;color:#666;margin-top:8px;margin-bottom:24px}.login-card form{display:flex;flex-direction:column;gap:10px}.login-card input{font-family:var(--mono);font-size:14px;padding:10px 12px;border:1px solid var(--line);background:var(--paper)}.login-card input:focus{outline:2px solid var(--hi);outline-offset:-1px}.login-card button{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.12em;padding:12px 16px;background:var(--ink);color:var(--paper);border:0;cursor:pointer}.login-card button:hover{background:var(--hi);color:var(--ink)}.login-card .err{margin-top:10px;padding:8px 10px;border:1px solid #a00;background:#ffe1e1;color:#a00;font-family:var(--mono);font-size:12px}.seo-fieldset{border:1px solid var(--line);padding:0;margin:16px 0 0;background:var(--paper)}.seo-fieldset legend{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;padding:10px 14px;cursor:pointer;background:var(--paper);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;box-sizing:border-box}.seo-fieldset legend .seo-preview-inline{color:#666;font-size:10px;letter-spacing:.08em;text-transform:none;font-weight:400;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seo-fieldset .seo-body{padding:16px;display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 20px;gap:14px 20px}.seo-fieldset .seo-body>label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#666}.seo-fieldset .seo-body>label .hint{font-size:10px;color:#999;text-transform:none;letter-spacing:0;font-weight:400}.seo-fieldset .seo-body>label input,.seo-fieldset .seo-body>label textarea{font-family:var(--mono);font-size:14px;background:var(--paper);border:1px solid var(--line);padding:10px 12px;color:var(--ink);border-radius:0}.seo-fieldset .seo-body>label input:focus,.seo-fieldset .seo-body>label textarea:focus{outline:2px solid var(--hi);outline-offset:-1px}.seo-fieldset .seo-body>label.seo-check,.seo-fieldset .seo-body>label:nth-child(2){grid-column:1/-1}.seo-fieldset .seo-body>label.seo-check{flex-direction:row;align-items:center;gap:8px;text-transform:uppercase;color:var(--ink);cursor:pointer;padding:8px 10px;border:1px solid var(--line);max-width:max-content}.seo-fieldset .seo-body>label.seo-check input{width:auto}.seo-fieldset .seo-serp{grid-column:1/-1;padding:12px 14px;background:#fafaf5;border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.seo-fieldset .seo-serp-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#888;text-transform:uppercase}.seo-fieldset .seo-serp-card{background:var(--paper);padding:12px 14px;border:1px solid var(--line);display:flex;flex-direction:column;gap:4px;max-width:580px}.seo-fieldset .seo-serp-url{font-family:Arial,sans-serif;font-size:13px;color:#006621}.seo-fieldset .seo-serp-title{font-family:Arial,sans-serif;font-size:18px;color:#1a0dab;line-height:1.3;cursor:pointer}.seo-fieldset .seo-serp-desc{font-family:Arial,sans-serif;font-size:13px;color:#545454;line-height:1.5}html[data-theme=dark] .seo-fieldset .seo-serp{background:#161616}html[data-theme=dark] .seo-fieldset .seo-serp-url{color:#4dab5e}html[data-theme=dark] .seo-fieldset .seo-serp-title{color:#8ab4f8}html[data-theme=dark] .seo-fieldset .seo-serp-desc{color:#bbb}@media (max-width:900px){.seo-fieldset .seo-body{grid-template-columns:1fr}}.stats.stats-ai .s .v{font-size:clamp(20px,2.4vw,28px);letter-spacing:-.01em;word-break:break-word}.stats.stats-ai{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.ai-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}.ai-modal{background:var(--paper);border:1px solid var(--line);width:100%;max-width:760px;display:flex;flex-direction:column;box-shadow:0 12px 40px rgba(0,0,0,.25)}.ai-modal-hdr{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line)}.ai-modal-hdr h2{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0;font-weight:500}.ai-modal-close{background:transparent;border:0;color:var(--ink);font-size:16px;cursor:pointer;padding:4px 8px;line-height:1}.ai-modal-close:hover{background:var(--hi)}.ai-modal-body{padding:20px;display:grid;grid-gap:14px;gap:14px;max-height:70vh;overflow-y:auto}.ai-modal-body label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#666}.ai-modal-body input,.ai-modal-body textarea{font-family:var(--mono);font-size:14px;background:var(--paper);border:1px solid var(--line);padding:10px 12px;color:var(--ink);border-radius:0}.ai-modal-body input:focus,.ai-modal-body textarea:focus{outline:2px solid var(--hi);outline-offset:-1px}.ai-modal-body textarea{resize:vertical;line-height:1.5}.ai-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}.ai-modal-foot .btn{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;padding:10px 18px;border:1px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink)}.ai-modal-foot .btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ai-modal-foot .btn.primary:hover{background:var(--hi);color:var(--ink);border-color:var(--line)}.ai-modal-foot .btn:disabled{opacity:.4;cursor:not-allowed}.ai-preview{display:grid;grid-gap:12px;gap:12px}.ai-preview-row{border:1px solid var(--line);padding:12px;background:var(--paper)}.ai-preview-key{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#999;text-transform:uppercase;display:block;margin-bottom:6px}.ai-preview-val{font-size:14px;line-height:1.5;color:var(--ink)}.ai-preview-body{font-family:var(--mono);font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto;margin:0;padding:8px;background:rgba(0,0,0,.03);border:1px solid var(--line)}html[data-theme=dark] .ai-preview-body{background:hsla(0,0%,100%,.04)}.ai-cost-line{color:#666;letter-spacing:.04em;padding:8px 12px;background:var(--hi)}.ai-cost-line,.ai-gen-btn{font-family:var(--mono);font-size:11px;border:1px dashed var(--line)}.ai-gen-btn{text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;background:var(--paper);cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.ai-gen-btn:hover{background:var(--hi);border-style:solid}