html{font-size:100%!important}
[hidden]{display:none!important}
body{margin:0!important}
.elementor-template-canvas{background:var(--paper)}
#ast-scroll-top{display:none!important}
@media(min-width:783px){.admin-bar .bar{top:32px}}
@media(min-width:601px) and (max-width:782px){.admin-bar .bar{top:46px}}
.wpcf7-form-control-wrap{display:block}
.campo input,.campo select,.campo textarea{border-radius:0!important;box-sizing:border-box}
.wpcf7 .enviar{
width:100%;cursor:pointer;margin-top:6px;border-radius:0!important;
background:var(--amarillo)!important;color:#131313!important;border:var(--bw) solid #131313!important;
font-family:"IBM Plex Mono",monospace!important;font-size:.92rem!important;font-weight:600!important;
text-transform:uppercase;letter-spacing:.14em;padding:16px 18px!important;
box-shadow:6px 6px 0 #131313;transition:transform .12s steps(2),box-shadow .12s steps(2);
}
.wpcf7 .enviar:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 #131313}
.wpcf7-not-valid-tip{display:block;margin-top:5px;color:var(--senal);
font-family:"IBM Plex Mono",monospace;font-size:.72rem;font-weight:600}
.wpcf7 form .wpcf7-response-output{margin:6px 0 0!important;padding:12px 14px!important;
border:var(--bw) solid var(--line)!important;background:var(--panel);color:var(--ink);
font-family:"IBM Plex Mono",monospace;font-size:.78rem;line-height:1.55}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--verde)!important;box-shadow:5px 5px 0 var(--verde)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output{border-color:var(--senal)!important;box-shadow:5px 5px 0 var(--senal)}
.wpcf7-spinner{margin:10px auto 0}
:root{
--ink:#131313;
--paper:#EDE9E0;
--panel:#F7F4EB;
--agua:#00A6C4;
--senal:#FF5A1F;
--amarillo:#FFD400;
--vr:#6C4CF5;
--on-vr:#F7F4EB;
--verde:#5FE3A1;
--lila:#C7C0FB;
--lima:#00A6C4;
--agua-pal:#CFE9EE;
--line:#131313;
--shadow:#131313;
--on-accent:#131313;
--muted:#4A4A44;
--bw:3px;
}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){
--ink:#EDE9E0;
--paper:#121211;
--panel:#1C1C1A;
--agua:#22C9E8;
--senal:#FF7A45;
--amarillo:#FFE04D;
--vr:#9B84FF;
--on-vr:#121211;
--on-vr:#121211;
--verde:#4FD494;
--lila:#241E45;
--lima:#22C9E8;
--agua-pal:#14282D;
--lima:#22C9E8;
--agua-pal:#14282D;
--line:#EDE9E0;
--shadow:#EDE9E0;
--on-accent:#121211;
--muted:#A9A69D;
}
}
:root[data-theme="dark"]{
--ink:#EDE9E0;
--paper:#121211;
--panel:#1C1C1A;
--agua:#22C9E8;
--senal:#FF7A45;
--amarillo:#FFE04D;
--vr:#9B84FF;
--verde:#4FD494;
--lila:#241E45;
--line:#EDE9E0;
--shadow:#EDE9E0;
--on-accent:#121211;
--muted:#A9A69D;
}

*{box-sizing:border-box}
img{max-width:100%;height:auto}
body{
background:var(--paper);
color:var(--ink);
font-family:"Archivo","Helvetica Neue",Arial,sans-serif;
font-size:16px;
line-height:1.55;
margin:0;
overflow-x:hidden;
}
a{color:inherit}
h1,h2,h3,h4{color:inherit}
h1,h2,h3{font-family:"Archivo Black","Archivo Black Fallback",Impact,sans-serif;font-weight:400;margin:0;text-wrap:balance;letter-spacing:-0.02em;line-height:0.92}
p{margin:0}

.mono{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
.eyebrow{
font-family:"IBM Plex Mono",ui-monospace,monospace;
font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;
}

.saltar{
position:absolute;left:-9999px;top:0;z-index:99;
background:var(--amarillo);color:#131313;
border:var(--bw) solid var(--line);padding:10px 16px;
font-family:"IBM Plex Mono",monospace;font-size:0.8rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.1em;text-decoration:none;
}
.saltar:focus{left:12px;top:12px}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.bar{
position:sticky;top:env(safe-area-inset-top,0px);z-index:50;
display:flex;align-items:center;gap:16px;flex-wrap:wrap;
background:var(--ink);color:var(--paper);
border-bottom:var(--bw) solid var(--line);
padding:10px 16px;
}
.bar .sig{text-decoration:none;font-family:"Archivo Black",Impact,sans-serif;font-size:1rem;letter-spacing:-0.01em;line-height:1.1}
.bar .sig:hover em{color:var(--amarillo)}
.bar .sig em{
display:block;font-style:normal;font-family:"IBM Plex Mono",monospace;
font-size:0.62rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
color:color-mix(in srgb,var(--paper) 62%,transparent);margin-top:3px;
}
.bar nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
.bar nav a{
font-family:"IBM Plex Mono",monospace;font-size:0.75rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.08em;text-decoration:none;
padding:5px 9px;border:2px solid transparent;
}
.bar nav a:hover,.bar nav a:focus-visible{border-color:var(--paper);background:var(--amarillo);color:var(--ink)}
.bar nav a.activo{background:var(--lima);color:#131313;border-color:var(--lima)}

.wrap{max-width:1120px;margin:0 auto;padding-inline:16px}
section{padding-block:clamp(48px,7vw,84px);position:relative}


.g-rayas{
background:repeating-linear-gradient(135deg,transparent 0 22px,
color-mix(in srgb,var(--ink) 7%,transparent) 22px 24px);
}
.g-puntos{
background-color:var(--paper);
background-image:radial-gradient(color-mix(in srgb,var(--ink) 11%,transparent) 1.2px,transparent 1.2px);
background-size:20px 20px;
}
.g-cuadricula{
background-color:var(--ink);color:var(--paper);
background-image:
linear-gradient(color-mix(in srgb,var(--paper) 14%,transparent) 1px,transparent 1px),
linear-gradient(90deg,color-mix(in srgb,var(--paper) 14%,transparent) 1px,transparent 1px);
background-size:44px 44px;
border-block:var(--bw) solid var(--line);
}
.g-cuadricula .head{border-bottom-color:var(--paper)}
.g-cuadricula .head .eyebrow{color:var(--amarillo)}
.g-renglones{
background-color:var(--agua-pal);
border-block:var(--bw) solid var(--line);
background-image:repeating-linear-gradient(
to bottom,
transparent 0 31px,
color-mix(in srgb,var(--ink) 13%,transparent) 31px 32px
);
}
.g-franjas{
background:var(--paper);
background-image:linear-gradient(90deg,color-mix(in srgb,var(--ink) 6%,transparent) 50%,transparent 50%);
background-size:14px 100%;
}


.reel{
position:relative;isolation:isolate;overflow:hidden;
background:#131313;color:#F7F4EB;
border-block:var(--bw) solid var(--line);
min-height:clamp(340px,40vw,500px);
display:flex;align-items:flex-end;
}
.reel-fondo{position:absolute;inset:0;z-index:0}
.reel-fondo video,.reel-fondo img{
position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;
object-position:center 45%;
filter:saturate(0.92) contrast(1.06);
}
.reel-fondo video{opacity:0;transition:opacity .6s ease}
.reel-fondo video.listo{opacity:1}
.reel-fondo::after{
content:"";position:absolute;inset:0;pointer-events:none;
background:linear-gradient(to top,
rgba(19,19,19,0.92) 0%,rgba(19,19,19,0.72) 38%,rgba(19,19,19,0.25) 70%,rgba(19,19,19,0.15) 100%);
}
.reel > .wrap{
position:relative;z-index:1;width:100%;
padding-block:clamp(26px,4vw,44px);
display:flex;flex-direction:column;align-items:flex-start;gap:14px;
}
.reel .eyebrow{color:var(--amarillo)}
.reel h2{
font-size:clamp(2.2rem,7vw,4.6rem);text-transform:uppercase;letter-spacing:-0.04em;line-height:0.95;
}
.reel p{max-width:46ch;font-size:clamp(0.96rem,1.6vw,1.08rem)}
.reel .ficha-reel{
font-family:"IBM Plex Mono",monospace;font-size:0.72rem;line-height:1.7;
text-transform:uppercase;letter-spacing:0.1em;color:rgba(247,244,235,0.72);
border-left:2px solid #F7F4EB;padding-left:13px;
}
.reel-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.reel-acciones a,.reel-acciones button{
cursor:pointer;text-decoration:none;
font-family:"IBM Plex Mono",monospace;font-size:0.78rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;
border:var(--bw) solid #F7F4EB;padding:13px 17px;
transition:transform .12s steps(2),box-shadow .12s steps(2);
}
.reel-acciones .sonido{background:var(--amarillo);color:#131313;box-shadow:6px 6px 0 #F7F4EB}
.reel-acciones .sonido:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 #F7F4EB}
.reel-acciones .yt{background:transparent;color:#F7F4EB}
.reel-acciones .yt:hover{background:#F7F4EB;color:#131313}
@media(prefers-reduced-motion:reduce){.reel-fondo video{display:none}}


.banda{
margin:0;position:relative;border-block:var(--bw) solid var(--line);
background:#131313;line-height:0;
}
.banda img{
display:block;width:100%;height:clamp(300px,42vw,520px)!important;
object-fit:cover;object-position:center 55%;
}
.banda .sobre{
position:absolute;left:0;right:0;bottom:0;
padding:clamp(18px,3vw,34px) 16px;line-height:1.2;
background:linear-gradient(to top,rgba(19,19,19,0.88) 0%,rgba(19,19,19,0.55) 55%,transparent 100%);
}
.banda .sobre .wrap{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.banda .frase{
color:#F7F4EB;font-family:"Archivo Black",Impact,sans-serif;
font-size:clamp(1.3rem,3.6vw,2.6rem);letter-spacing:-0.025em;line-height:1.05;
max-width:22ch;text-wrap:balance;
}
.banda .pie{
display:inline-block;background:var(--amarillo);color:#131313;
border:2px solid #131313;padding:7px 12px;
font-family:"IBM Plex Mono",monospace;font-size:0.7rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;line-height:1.4;
}


.marquesina{
background:var(--amarillo);color:#131313;
border-block:var(--bw) solid var(--line);
overflow:hidden;padding-block:9px;
}
.marquesina div{display:flex;width:max-content;animation:correr 26s linear infinite}
.marquesina span{
font-family:"Archivo Black",Impact,sans-serif;font-size:1.05rem;text-transform:uppercase;
padding-inline:18px;white-space:nowrap;letter-spacing:0.01em;
}
@keyframes correr{from{transform:translateX(0)}to{transform:translateX(-50%)}}




.js .rv:not(.visto){transform:translateY(18px)}
.js .rv.entrando{transition:transform .5s cubic-bezier(.19,1,.22,1)}


.js .proj:not(.visto){transform:translate(-9px,-9px) rotate(-0.8deg)}
.js .proj.entrando{transition:transform .42s cubic-bezier(.3,1.45,.55,1)}


.js .lb:not(.visto){transform:translateX(-56px)}
.js .lb.entrando{transition:transform .7s cubic-bezier(.16,1,.3,1)}


.js .sw:not(.visto){transform:translateY(40px) scale(.95)}
.js .sw.entrando{transition:transform .6s cubic-bezier(.2,1.1,.3,1)}


.js .anio-fila:not(.visto){transform:none}
.js .anio-fila:not(.visto) > *{clip-path:inset(0 100% 0 0)}
.js .anio-fila.entrando > *{transition:clip-path .45s steps(8)}
.js .anio-fila.entrando > ul{transition-delay:.08s}


.js .bio:not(.visto){transform:none}
.js .bio:not(.visto) .bio-txt{transform:translateX(-36px)}
.js .bio:not(.visto) .ficha{transform:translateY(-34px) rotate(2deg)}
.js .bio.entrando .bio-txt{transition:transform .7s cubic-bezier(.16,1,.3,1)}
.js .bio.entrando .ficha{transition:transform .6s cubic-bezier(.3,1.4,.5,1) .15s}
.js .rv.entrando:nth-child(2){transition-delay:.07s}
.js .rv.entrando:nth-child(3){transition-delay:.14s}
.js .rv.entrando:nth-child(4){transition-delay:.21s}
.js .rv.entrando:nth-child(5){transition-delay:.28s}
.js .rv.entrando:nth-child(6){transition-delay:.35s}



.pr-grupo-head{position:relative;overflow:hidden}
.pr-grupo-head::after{
content:"";position:absolute;inset:0;pointer-events:none;
background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.42) 50%,transparent 62%);
transform:translateX(-110%);
}
.pr-grupo-head h3 .w{display:inline-block;overflow:hidden;vertical-align:top;
padding-top:.14em;margin-top:-.14em}
.pr-grupo-head h3 .l{display:inline-block}

.js .pr-grupo:not(.visto) .pr-grupo-head{clip-path:inset(0 100% -20px 0);box-shadow:0 0 0 transparent}
.js .pr-grupo:not(.visto) .pr-grupo-head h3 .l{transform:translateY(115%)}
.js .pr-grupo:not(.visto) .pr-grupo-head .eyebrow{transform:translateX(-24px)}
.js .pr-grupo:not(.visto) .pr-grupo-head .num{transform:translateX(24px)}

.js .pr-grupo.visto .pr-grupo-head{
clip-path:inset(0 -20px -20px 0);
transition:clip-path .55s cubic-bezier(.7,0,.2,1),
box-shadow .2s steps(3) .62s,
transform .12s steps(2);
}
.js .pr-grupo.visto .pr-grupo-head h3 .l{
transition:transform .7s cubic-bezier(.19,1,.22,1);
transition-delay:calc(.3s + var(--i) * 28ms);
}
.js .pr-grupo.visto .pr-grupo-head .eyebrow{transition:transform .6s cubic-bezier(.19,1,.22,1) .42s}
.js .pr-grupo.visto .pr-grupo-head .num{transition:transform .6s cubic-bezier(.19,1,.22,1) .55s}
.js .pr-grupo.visto .pr-grupo-head::after{animation:destello 1.1s cubic-bezier(.4,0,.2,1) .95s forwards}
@keyframes destello{to{transform:translateX(110%)}}


.pr-grupo-head:hover{transform:translate(-3px,-3px)}


.marquesina:hover div{animation-play-state:paused}

@media(prefers-reduced-motion:reduce){
.js .ofrezco li:not(.visto){transform:none}
.js .rv:not(.visto),.js .bio:not(.visto) .bio-txt,.js .bio:not(.visto) .ficha{transform:none}
.js .anio-fila:not(.visto) > *{clip-path:none}
.js .pr-grupo:not(.visto) .pr-grupo-head{clip-path:none}
.js .pr-grupo:not(.visto) .pr-grupo-head h3 .l,
.js .pr-grupo:not(.visto) .pr-grupo-head .eyebrow,
.js .pr-grupo:not(.visto) .pr-grupo-head .num{transform:none}
.js .pr-grupo.visto .pr-grupo-head::after{animation:none}
.marquesina div{animation:none}
}


.hero{
border-bottom:var(--bw) solid var(--line);
padding-block:clamp(36px,6vw,64px) clamp(44px,7vw,80px);
}

.hero h1 > span{display:block}


.js .hero h1 > span{overflow:hidden;padding-top:.16em;margin-top:-.16em}
.js .hero h1 .l{
display:inline-block;transform:translateY(112%);
animation:sube .8s cubic-bezier(.19,1,.22,1) forwards;
animation-delay:calc(var(--i) * 42ms + var(--d, 150ms));
}
.js .hero h1 .out .l{--d:420ms}
@keyframes sube{to{transform:none}}

.js .hero .tagline{transform-origin:left center;animation:perfora .4s steps(5) both}
@keyframes perfora{from{transform:scaleX(0)}to{transform:none}}

.js .hero .lede{animation:destapa .7s cubic-bezier(.19,1,.22,1) .75s both}
@keyframes destapa{from{clip-path:inset(0 0 100% 0);transform:translateY(12px)}
to{clip-path:inset(0 0 -10% 0);transform:none}}

.js .hero .roles span{animation:ficha .42s cubic-bezier(.3,1.5,.55,1) both;
animation-delay:calc(1s + var(--i) * 65ms)}
@keyframes ficha{from{transform:translate(-6px,-10px) rotate(-4deg) scale(.85)}to{transform:none}}

.js .hero .destacado img{animation:posa .75s cubic-bezier(.2,.9,.2,1) .45s both}
@keyframes posa{from{transform:translate(-16px,-16px);box-shadow:0 0 0 var(--shadow)}
to{transform:none;box-shadow:11px 11px 0 var(--shadow)}}
.js .hero .destacado figcaption{animation:destapa .6s cubic-bezier(.19,1,.22,1) 1.05s both}


.hero h1 .out .l{transition:color .18s steps(2),-webkit-text-stroke-color .18s steps(2)}
.hero h1 .out .l:hover{color:var(--amarillo)}
.hero h1 > span:first-child .l{transition:color .18s steps(2)}
.hero h1 > span:first-child .l:hover{color:var(--agua)}

@media(prefers-reduced-motion:reduce){
.js .hero h1 .l,.js .hero .tagline,.js .hero .lede,.js .hero .roles span,
.js .hero .destacado img,.js .hero .destacado figcaption{animation:none;transform:none}
}
.hero h1{
font-size:clamp(3.2rem,11vw,7.6rem);
line-height:0.95;
text-transform:uppercase;
letter-spacing:-0.045em;
}
.hero h1 .out{
color:transparent;
-webkit-text-stroke:2px var(--ink);
display:block;
}
.hero-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:start}
@media(min-width:980px){.hero-grid{grid-template-columns:1fr 330px;gap:40px}}
.hero-col{display:flex;flex-direction:column;align-items:flex-start}

.lede{
font-size:clamp(1.02rem,1.9vw,1.2rem);max-width:54ch;font-weight:600;margin-top:26px;
}
.tagline{
display:inline-block;background:var(--agua);color:var(--on-accent);
border:var(--bw) solid var(--line);box-shadow:6px 6px 0 var(--shadow);
padding:6px 12px;margin-bottom:18px;
}
.roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.roles span{
border:2px solid var(--line);padding:4px 9px;background:var(--panel);
font-family:"IBM Plex Mono",monospace;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;
}

.destacado{margin:0}
.destacado img{
display:block;width:100%;height:405px!important;object-fit:cover;object-position:top center;
border:var(--bw) solid var(--line);box-shadow:11px 11px 0 var(--shadow);
}
.destacado figcaption{
margin-top:17px;border-top:var(--bw) solid var(--line);padding-top:9px;
display:flex;align-items:baseline;justify-content:space-between;gap:10px;
font-family:"IBM Plex Mono",monospace;font-size:0.7rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;
}
.destacado figcaption b{font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.destacado .obra{
display:block;font-family:"Archivo Black",Impact,sans-serif;
font-size:1.15rem;letter-spacing:-0.01em;text-transform:none;margin-bottom:6px;
}

.seccion-corta{padding-block:clamp(40px,5vw,60px)}


.head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:28px;border-bottom:var(--bw) solid var(--line);padding-bottom:10px}
.head h2{font-size:clamp(1.9rem,5.5vw,3.2rem);text-transform:uppercase}
.head .eyebrow{color:var(--muted)}


.bio{display:grid;grid-template-columns:1fr;gap:26px;align-items:start}
@media(min-width:900px){.bio{grid-template-columns:1fr 300px;gap:40px}}
.bio-txt{
border-left:8px solid var(--senal);
background:var(--paper);
padding:clamp(16px,2vw,22px) clamp(16px,2.5vw,26px);
}
.bio-lead{
font-size:clamp(1.22rem,2.4vw,1.62rem);line-height:1.35;font-weight:600;
max-width:32ch;text-wrap:balance;
}
.bio-lead em{font-style:normal;background:var(--senal);color:var(--on-accent);padding:0 6px}
.bio-txt p{font-size:1rem;max-width:66ch}
.bio-txt p + p{margin-top:14px}
.bio-txt .filete{margin-block:18px}

.lineas{
margin-top:26px;display:grid;grid-template-columns:1fr;gap:0;
border-top:var(--bw) solid var(--line);
}
@media(min-width:640px){.lineas{grid-template-columns:repeat(2,1fr)}}
.lineas a{
display:block;text-decoration:none;
border-bottom:var(--bw) solid var(--line);padding:13px 4px 13px 0;
}
@media(min-width:640px){
.lineas a:nth-child(odd){border-right:var(--bw) solid var(--line);padding-right:18px}
.lineas a:nth-child(even){padding-left:18px}
}
.lineas a:hover .linea-tit{background:var(--amarillo);color:#131313}
.lineas .linea-tit{
font-family:"Archivo Black",Impact,sans-serif;font-size:1.02rem;
display:inline-block;padding:1px 4px;margin-left:-4px;
}
.lineas .linea-txt{
display:block;margin-top:4px;
font-family:"IBM Plex Mono",monospace;font-size:0.74rem;line-height:1.6;color:var(--muted);
}

.ficha{
border:var(--bw) solid var(--line);background:#131313;color:#EDE9E0;
box-shadow:8px 8px 0 var(--agua);
}
.ficha h3{
font-size:0.8rem;font-family:"IBM Plex Mono",monospace;font-weight:600;
letter-spacing:0.16em;text-transform:uppercase;
background:var(--agua);color:#131313;padding:9px 14px;
border-bottom:var(--bw) solid var(--line);
}
.ficha dl{margin:0;padding:14px}
.ficha dt{
font-family:"IBM Plex Mono",monospace;font-size:0.66rem;letter-spacing:0.12em;
text-transform:uppercase;color:var(--amarillo);
}
.ficha dd{margin:2px 0 14px;font-size:0.94rem;line-height:1.4}
.ficha dd:last-of-type{margin-bottom:0}
.ficha dd b{font-family:"Archivo Black",Impact,sans-serif;font-size:1.5rem;font-variant-numeric:tabular-nums}
.ficha .axiz{
display:flex;align-items:center;justify-content:space-between;gap:10px;
border-top:var(--bw) solid #EDE9E0;padding:13px 14px;text-decoration:none;
font-family:"IBM Plex Mono",monospace;font-size:0.74rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.1em;
}
.ficha .axiz:hover{background:var(--agua);color:#131313}


.t-agua{background:var(--agua);color:var(--on-accent)}
.t-senal{background:var(--senal);color:var(--on-accent)}
.t-amarillo{background:var(--amarillo);color:#131313}
.t-vr{background:var(--vr);color:var(--on-vr)}
.t-verde{background:var(--verde);color:#131313}
.t-lima{background:var(--lima);color:#131313}
.t-ink{background:var(--ink);color:var(--paper)}
.t-ink .filete,.t-agua .filete,.t-senal .filete,.t-amarillo .filete,.t-vr .filete{background:currentColor}


.libros-head{
display:grid;grid-template-columns:1fr;gap:10px;align-items:center;
margin-bottom:26px;
}
@media(min-width:900px){.libros-head{grid-template-columns:auto 1fr auto;gap:22px}}
.libros-head h2{font-size:clamp(2.2rem,7vw,4.6rem);text-transform:uppercase;letter-spacing:-0.035em}
.libros-head .izq,.libros-head .der{
font-family:"IBM Plex Mono",monospace;font-size:0.7rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.14em;line-height:1.6;color:var(--muted);
}
@media(min-width:900px){
.libros-head .der{text-align:right;border-bottom:var(--bw) solid var(--line);padding-bottom:6px}
}

.libros{display:flex;flex-direction:column;gap:18px}
.lb{
display:grid;grid-template-columns:1fr;
border:var(--bw) solid var(--line);background:var(--panel);
box-shadow:9px 9px 0 var(--shadow);
}
@media(min-width:980px){.lb{grid-template-columns:320px 1fr 230px}}

.lb-cover{
display:flex;align-items:center;justify-content:center;
padding:20px 16px;border-bottom:var(--bw) solid var(--line);
}
@media(min-width:980px){.lb-cover{border-bottom:0;border-right:var(--bw) solid var(--line)}}
.lb-cover img{
display:block;width:auto;height:auto;
max-width:100%;max-height:310px;
box-shadow:10px 10px 0 rgba(19,19,19,0.4);
transition:transform .15s steps(2),box-shadow .15s steps(2);
}
.lb:hover .lb-cover img{transform:translate(-3px,-3px);box-shadow:13px 13px 0 rgba(19,19,19,0.45)}
@media(prefers-reduced-motion:reduce){.lb-cover img{transition:none}}

.lb-main{padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.lb-main .eyebrow{color:var(--muted)}
.lb-main h3{font-size:clamp(1.55rem,3.6vw,2.5rem);text-transform:uppercase;overflow-wrap:anywhere}
.lb-sello{
font-family:"IBM Plex Mono",monospace;font-size:0.76rem;
text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);
}
.filete{display:block;width:40px;height:4px;background:var(--ink);margin-block:6px}
.lb-main p{max-width:64ch}
.lb-extra{
border-left:5px solid var(--senal);padding-left:13px;margin-top:4px;
font-family:"IBM Plex Mono",monospace;font-size:0.78rem;line-height:1.6;
color:var(--muted);max-width:60ch;
}

.lb-side{
display:flex;flex-direction:column;background:color-mix(in srgb,var(--paper) 55%,var(--panel));
border-top:var(--bw) solid var(--line);
}
@media(min-width:980px){.lb-side{border-top:0;border-left:var(--bw) solid var(--line)}}
.lb-side-in{padding:16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.lb-year{
font-family:"IBM Plex Mono",monospace;font-size:1.05rem;letter-spacing:0.08em;
font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ink) 45%,transparent);
}
.lb-keys{
list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;
font-family:"IBM Plex Mono",monospace;font-size:0.82rem;
text-transform:uppercase;letter-spacing:0.1em;
}
.lb-open{
text-decoration:none;margin-top:auto;
border-top:var(--bw) solid var(--line);padding:13px 18px;
font-family:"IBM Plex Mono",monospace;font-size:0.78rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.1em;
display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.lb-open span{transition:transform .15s steps(2)}
.lb-open:hover span{transform:translateX(6px)}

.libros-pie{
display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
margin-top:22px;border-top:var(--bw) solid var(--line);padding-top:12px;
font-family:"IBM Plex Mono",monospace;font-size:0.74rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.14em;color:var(--muted);
}



.pr-head{
display:grid;grid-template-columns:1fr;gap:20px;
padding-bottom:30px;margin-bottom:0;
border-bottom:var(--bw) solid var(--line);
}
@media(min-width:1000px){.pr-head{grid-template-columns:1fr auto auto;gap:30px;align-items:start}}
.pr-head h2{
font-size:clamp(2.2rem,7vw,4.6rem);text-transform:uppercase;letter-spacing:-0.04em;margin-top:6px;
}
.pr-nota{
background:var(--lima);color:#131313;
border:var(--bw) solid var(--line);padding:16px 18px;max-width:40ch;
font-family:"IBM Plex Mono",monospace;font-size:0.78rem;line-height:1.7;
}
.pr-nota b{display:block;font-weight:600;font-size:0.88rem;letter-spacing:0.06em;
text-transform:uppercase;margin-bottom:10px;line-height:1.5}
.pr-claves{
border-left:var(--bw) solid var(--line);padding-left:18px;
display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;
font-family:"IBM Plex Mono",monospace;font-size:0.78rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;
}
.pr-claves .flecha{font-size:2.2rem;line-height:1;margin-top:14px;align-self:flex-end}


.pr-grupo{margin-top:clamp(58px,7vw,88px)}
@media(min-width:1040px){
.pr-grupo.n1 .proyectos{grid-template-columns:minmax(0,560px)}
.pr-grupo.n2 .proyectos{grid-template-columns:repeat(2,1fr)}
.pr-grupo.cine .proj-foto img{
height:430px!important;object-fit:contain;background:#131313;padding:12px 0;
}
.pr-grupo.n2:not(.cine) .proj-foto img{height:290px!important}
.pr-grupo.n2 .proj .cuerpo{padding:20px 20px 14px;gap:12px}
.pr-grupo.n2 .proj h3{font-size:clamp(1.35rem,2.2vw,1.72rem);letter-spacing:-0.015em}
.pr-grupo.n2 .proj h3::after{
content:"";display:block;width:34px;height:4px;background:var(--ink);margin-top:11px;
}
.pr-grupo.n2 .proj .cuerpo p{font-size:1rem}
.pr-grupo.n2 .proj-pie{padding:0 20px 20px}
}
.pr-grupo:first-of-type{margin-top:0}
.pr-grupo-head{
display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;
background:var(--ink);color:var(--paper);
border:var(--bw) solid var(--line);
box-shadow:9px 9px 0 var(--lima);
padding:16px 20px;margin-bottom:30px;
}
.pr-grupo-head h3{
font-size:clamp(1.8rem,5vw,3.2rem);text-transform:uppercase;letter-spacing:-0.035em;
}
.pr-grupo-head .num{
margin-left:auto;font-family:"IBM Plex Mono",monospace;font-size:0.72rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.14em;font-variant-numeric:tabular-nums;
color:color-mix(in srgb,var(--paper) 62%,transparent);
}
.pr-grupo-head .eyebrow{color:var(--lima)}

.pr-grupo-head.g-vr{background:var(--vr);color:var(--on-vr);box-shadow:9px 9px 0 var(--shadow)}
.pr-grupo-head.g-vr .eyebrow{color:var(--amarillo)}
.pr-grupo-head.g-vr .num{color:color-mix(in srgb,var(--on-vr) 72%,transparent)}
.pr-grupo-head.g-senal{background:var(--senal);color:#131313;box-shadow:9px 9px 0 var(--shadow)}
.pr-grupo-head.g-senal .eyebrow{color:#131313}
.pr-grupo-head.g-senal .num{color:rgba(19,19,19,0.65)}
.pr-grupo-head.g-amarillo{background:var(--amarillo);color:#131313;box-shadow:9px 9px 0 var(--shadow)}
.pr-grupo-head.g-amarillo .eyebrow{color:#131313}
.pr-grupo-head.g-amarillo .num{color:rgba(19,19,19,0.62)}
.pr-grupo-head.g-verde{background:var(--verde);color:#131313;box-shadow:9px 9px 0 var(--shadow)}
.pr-grupo-head.g-verde .eyebrow{color:#131313}
.pr-grupo-head.g-verde .num{color:rgba(19,19,19,0.62)}

.proyectos{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:700px){.proyectos{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.proyectos{grid-template-columns:repeat(3,1fr)}}
.proj{
border:var(--bw) solid var(--line);background:var(--panel);
box-shadow:9px 9px 0 var(--shadow);
display:flex;flex-direction:column;
transition:transform .12s steps(2),box-shadow .12s steps(2);
}
.proj:hover{transform:translate(-4px,-4px);box-shadow:13px 13px 0 var(--shadow)}
.proj-foto{position:relative;line-height:0}
.proj-foto img{
display:block;width:100%;height:230px!important;object-fit:cover;background:#131313;
}
.proj-sello{
position:absolute;top:12px;right:12px;line-height:1.2;
border:var(--bw) solid var(--line);
padding:6px 10px;font-family:"IBM Plex Mono",monospace;font-size:0.72rem;
font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
}
.proj .tipo{
display:flex;align-items:center;justify-content:space-between;gap:12px;
border-block:var(--bw) solid var(--line);padding:9px 14px;
font-family:"IBM Plex Mono",monospace;font-size:0.7rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.1em;
}
.proj .tipo b{font-weight:600;font-size:0.95rem;font-variant-numeric:tabular-nums}
.proj .cuerpo{padding:16px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.proj h3{font-size:1.32rem}
.proj .cuerpo p{font-size:0.95rem}
.proj-extra{
border-left:5px solid var(--lima);padding-left:12px;
font-family:"IBM Plex Mono",monospace;font-size:0.76rem;line-height:1.6;color:var(--muted);
}
.proj-pie{display:flex;gap:10px;align-items:stretch;padding:0 16px 16px;margin-top:auto}
.proj-ver{
flex:1;text-decoration:none;position:relative;
border:var(--bw) solid var(--line);padding:11px 14px;
display:flex;align-items:center;gap:10px;
font-family:"IBM Plex Mono",monospace;font-size:0.76rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;
}
.proj-ver i{position:absolute;right:14px;font-style:normal;transition:transform .15s steps(2)}
.proj-ver:hover{background:var(--lima);color:#131313}
.proj-ver:hover i{transform:translateX(5px)}
.proj-mas{
cursor:pointer;width:46px;flex:none;
background:var(--panel);color:var(--ink);border:var(--bw) solid var(--line);
font-family:"Archivo Black",Impact,sans-serif;font-size:1.1rem;line-height:1;
}
.proj-mas:hover{background:var(--lima);color:#131313}

.proj-pie > .proj-mas:only-child{
width:100%;display:flex;align-items:center;justify-content:space-between;
padding:11px 14px;
}
.proj-pie > .proj-mas:only-child::before{
content:"Ficha técnica";
font-family:"IBM Plex Mono",monospace;font-size:0.76rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;
}


.g-lila{
background:var(--lila);
border-block:var(--bw) solid var(--line);
}
.sw-head{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:30px}
@media(min-width:1000px){.sw-head{grid-template-columns:auto 1fr auto auto;gap:26px;align-items:start}}
.sw-head .izq{
font-family:"IBM Plex Mono",monospace;font-size:0.72rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.14em;line-height:1.6;
}
.sw-head .izq::after{content:"";display:block;width:34px;height:4px;background:var(--ink);margin-top:10px}
.sw-titulo{border-left:var(--bw) solid var(--line);padding-left:clamp(14px,2vw,24px)}
.sw-titulo h2{
font-size:clamp(2.2rem,7vw,4.6rem);text-transform:uppercase;letter-spacing:-0.035em;
}
.sw-titulo .bajada{
display:block;margin-top:8px;
font-family:"IBM Plex Mono",monospace;font-size:clamp(0.76rem,1.5vw,1rem);
text-transform:uppercase;letter-spacing:0.16em;color:var(--muted);
}
.sw-nota{
border-left:var(--bw) solid var(--line);padding-left:16px;max-width:42ch;
font-family:"IBM Plex Mono",monospace;font-size:0.78rem;line-height:1.75;
}
.sw-claves{
font-family:"IBM Plex Mono",monospace;font-size:0.78rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;line-height:1.7;
list-style:none;margin:0;padding:0;
}
.sw-claves::after{content:"";display:block;width:34px;height:4px;background:var(--ink);margin-top:10px}

.soft{display:grid;grid-template-columns:1fr;gap:26px}
@media(min-width:760px){.soft{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1060px){.soft{grid-template-columns:repeat(3,1fr)}}
.sw{
border:var(--bw) solid var(--line);background:var(--panel);color:var(--ink);
display:flex;flex-direction:column;
transition:transform .12s steps(2),box-shadow .12s steps(2);
}
.sw.s-amarillo{box-shadow:10px 10px 0 var(--amarillo)}
.sw.s-vr{box-shadow:10px 10px 0 var(--vr)}
.sw.s-verde{box-shadow:10px 10px 0 var(--verde)}
.sw:hover{transform:translate(-5px,-5px)}
.sw.s-amarillo:hover{box-shadow:15px 15px 0 var(--amarillo)}
.sw.s-vr:hover{box-shadow:15px 15px 0 var(--vr)}
.sw.s-verde:hover{box-shadow:15px 15px 0 var(--verde)}

.sw-barra{
display:flex;align-items:stretch;gap:0;
border-bottom:var(--bw) solid var(--line);
}
.sw-num{
font-family:"Archivo Black",Impact,sans-serif;font-size:1.4rem;line-height:1;
padding:12px 16px;border-right:var(--bw) solid var(--line);
font-variant-numeric:tabular-nums;
}
.sw-barra .sw-top{
flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;
font-family:"IBM Plex Mono",monospace;font-size:0.68rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;
}
.sw-barra .sw-top b{font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted)}
.sw > img{
display:block;width:100%;height:215px;object-fit:cover;object-position:top center;
border:var(--bw) solid var(--line);
margin:16px 16px 0;width:calc(100% - 32px);
}
.sw-body{padding:18px 16px;display:flex;flex-direction:column;gap:12px;flex:1}
.sw-tit h3{font-size:clamp(1.5rem,2.8vw,2.05rem)}
.sw-tit::after{content:"";display:block;width:34px;height:4px;background:var(--ink);margin-top:12px}
.sw-body p{font-size:0.95rem}
.sw-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;margin-top:auto}
.sw-tags li{
border:2px solid var(--line);padding:5px 9px;
font-family:"IBM Plex Mono",monospace;font-size:0.66rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.1em;
}
.sw-cta{
margin:0 16px 16px;text-decoration:none;
border:var(--bw) solid var(--line);padding:13px 16px;
display:flex;align-items:center;justify-content:center;gap:12px;position:relative;
font-family:"IBM Plex Mono",monospace;font-size:0.82rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.14em;
}
.sw-cta i{position:absolute;right:16px;font-style:normal;transition:transform .15s steps(2)}
.sw-cta:hover i{transform:translateX(6px)}

.sw-pie{
display:grid;grid-template-columns:1fr;gap:16px;align-items:center;
margin-top:34px;border-top:var(--bw) solid var(--line);padding-top:16px;
font-family:"IBM Plex Mono",monospace;font-size:0.76rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.14em;
}
@media(min-width:900px){.sw-pie{grid-template-columns:1fr auto 1fr}}
.sw-pie .centro{text-align:center;line-height:1.9}
.sw-pie .centro b{font-size:0.98rem;letter-spacing:0.2em;font-weight:600}
.sw-pie .centro span{display:block;color:var(--muted);font-size:0.72rem}
.sw-pie .fin{
display:flex;align-items:center;justify-content:flex-start;gap:14px;text-decoration:none;line-height:1.5;
}
@media(min-width:900px){
.sw-pie .fin{justify-content:flex-end;border-left:var(--bw) solid var(--line);padding-left:18px}
}
.sw-pie .fin em{font-style:normal;font-size:1.5rem;transition:transform .15s steps(2)}
.sw-pie .fin:hover em{transform:translateX(6px)}


.pm-head{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:0;
padding-bottom:28px;border-bottom:var(--bw) solid var(--line)}
@media(min-width:900px){.pm-head{grid-template-columns:1fr auto;align-items:end;gap:34px}}
.pm-head h2{font-size:clamp(2.2rem,7vw,4.6rem);text-transform:uppercase;letter-spacing:-0.035em}
.pm-cifras{display:grid;grid-template-columns:repeat(3,auto);gap:0;
border:var(--bw) solid var(--line);background:var(--panel);box-shadow:8px 8px 0 var(--shadow)}
.pm-cifras div{padding:12px 18px;border-right:var(--bw) solid var(--line)}
.pm-cifras div:last-child{border-right:0}
.pm-cifras b{display:block;font-family:"Archivo Black",Impact,sans-serif;
font-size:clamp(1.6rem,4.4vw,2.3rem);line-height:1;font-variant-numeric:tabular-nums}
.pm-cifras small{font-family:"IBM Plex Mono",monospace;font-size:0.62rem;
text-transform:uppercase;letter-spacing:0.1em;color:var(--muted)}

.pm-leyenda{display:flex;flex-wrap:wrap;gap:16px;padding-block:16px;
border-bottom:var(--bw) solid var(--line);
font-family:"IBM Plex Mono",monospace;font-size:0.68rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.1em;color:var(--muted)}
.pm-leyenda span{display:flex;align-items:center;gap:7px}
.pico{width:13px;height:13px;flex:none;border:2px solid var(--line)}
.pico.beca{background:var(--agua)}
.pico.premio{background:var(--senal)}
.pico.honor{background:var(--amarillo)}

.anio-fila{display:grid;grid-template-columns:1fr;gap:6px;
border-bottom:var(--bw) solid var(--line);padding-block:18px}
@media(min-width:700px){.anio-fila{grid-template-columns:132px 1fr;gap:26px;align-items:start}}
.anio-fila .y{
font-family:"Archivo Black",Impact,sans-serif;font-size:clamp(1.9rem,4.6vw,2.7rem);
font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-0.03em;
}
.anio-fila .y small{
display:block;margin-top:6px;font-family:"IBM Plex Mono",monospace;
font-size:0.64rem;font-weight:600;letter-spacing:0.12em;color:var(--muted);
}
.anio-fila ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px}
.anio-fila li{display:grid;grid-template-columns:13px 1fr;gap:12px;align-items:start;max-width:72ch}
.anio-fila li .pico{margin-top:6px}
.anio-fila .ent{
display:block;margin-top:2px;font-family:"IBM Plex Mono",monospace;
font-size:0.72rem;line-height:1.5;color:var(--muted);
}


.contacto{background:var(--ink);color:var(--paper);border-top:var(--bw) solid var(--line)}

.ct-head{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
@media(min-width:1000px){.ct-head{grid-template-columns:1fr auto auto;gap:34px}}
.ct-head h2{
font-size:clamp(2.2rem,7vw,4.6rem);text-transform:uppercase;letter-spacing:-0.045em;line-height:0.9;
}
.ct-head .lede-ct{
margin-top:16px;max-width:48ch;font-size:clamp(1rem,1.8vw,1.14rem);font-weight:600;
}
.ct-nota,.ct-claves{
font-family:"IBM Plex Mono",monospace;font-size:0.76rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.13em;line-height:1.75;
border-left:2px solid var(--paper);padding-left:16px;
}
.ct-nota::after,.ct-claves::after{
content:"";display:block;width:30px;height:3px;background:var(--paper);margin-top:12px;
}
.ct-claves{list-style:none;margin:0;padding-left:16px}

.ct-regla{border:0;border-top:var(--bw) solid var(--paper);margin:30px 0 34px}

.ct-grid{display:grid;grid-template-columns:1fr;gap:38px;align-items:start}
@media(min-width:980px){.ct-grid{grid-template-columns:1fr 1fr;gap:46px}}

.ct-tit{
display:inline-block;background:var(--amarillo);color:#131313;
font-family:"IBM Plex Mono",monospace;font-size:0.73rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.16em;
padding:8px 14px;margin-bottom:6px;
}
.ofrezco{list-style:none;margin:0;padding:0}
.js .ofrezco li:not(.visto){transform:translateX(28px)}
.js .ofrezco li.entrando{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.js .ofrezco li.entrando:nth-child(2){transition-delay:0.08s}
.js .ofrezco li.entrando:nth-child(3){transition-delay:0.16s}
.js .ofrezco li.entrando:nth-child(4){transition-delay:0.24s}
.js .ofrezco li.entrando:nth-child(5){transition-delay:0.32s}
.ofrezco li{
display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;
border-bottom:2px solid color-mix(in srgb,var(--paper) 45%,transparent);
padding-block:16px;
}
@media(min-width:520px){.ofrezco li{grid-template-columns:auto 1fr auto}}
.ofrezco .num{
font-family:"Archivo Black",Impact,sans-serif;font-size:1.15rem;font-variant-numeric:tabular-nums;
background:var(--panel);color:var(--ink);
border:2px solid var(--paper);padding:12px 13px;line-height:1;
}
.ofrezco b{display:block;font-family:"Archivo Black",Impact,sans-serif;font-size:1.06rem}
.ofrezco span.desc{
display:block;margin-top:5px;font-size:0.9rem;line-height:1.55;
color:color-mix(in srgb,var(--paper) 74%,transparent);max-width:46ch;
}
.ofrezco .flecha{
display:none;font-size:1.3rem;line-height:1;
color:color-mix(in srgb,var(--paper) 70%,transparent);
}
@media(min-width:520px){.ofrezco .flecha{display:block}}

.form{
background:var(--panel);color:var(--ink);
box-shadow:12px 12px 0 var(--agua);
padding:26px 24px;display:flex;flex-direction:column;gap:15px;
}
.form-head{
display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;
margin-bottom:4px;
}
.form-head h3{font-size:clamp(1.5rem,3.2vw,2rem);text-transform:uppercase;letter-spacing:-0.025em}
.form-head ul{
list-style:none;margin:0;padding-left:14px;border-left:2px solid var(--ink);
font-family:"IBM Plex Mono",monospace;font-size:0.68rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;line-height:1.7;color:var(--muted);
}
.form-head ul::after{
content:"";display:block;width:26px;height:3px;background:var(--ink);margin-top:9px;
}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{
font-family:"IBM Plex Mono",monospace;font-size:0.68rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;
}
.campo input,.campo select,.campo textarea{
font-family:"Archivo",Arial,sans-serif;font-size:0.98rem;
background:color-mix(in srgb,var(--paper) 55%,var(--panel));
color:var(--ink);border:2px solid var(--ink);padding:11px 12px;width:100%;
}
.campo textarea{resize:vertical;min-height:104px}
.campo ::placeholder{color:color-mix(in srgb,var(--ink) 45%,transparent)}
.campo input:focus,.campo select:focus,.campo textarea:focus{
outline:none;box-shadow:4px 4px 0 var(--agua);
}
.enviar{
cursor:pointer;position:relative;margin-top:6px;
font-family:"IBM Plex Mono",monospace;font-size:0.92rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.14em;
background:var(--amarillo);color:#131313;border:var(--bw) solid #131313;
padding:16px 18px;box-shadow:6px 6px 0 #131313;
transition:transform .12s steps(2),box-shadow .12s steps(2);
}
.enviar i{position:absolute;right:18px;font-style:normal;transition:transform .15s steps(2)}
.enviar:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 #131313}
.enviar:hover i{transform:translateX(5px)}
.aviso{
margin-top:16px;border-left:3px solid var(--agua);padding-left:14px;
font-family:"IBM Plex Mono",monospace;font-size:0.76rem;line-height:1.65;
color:color-mix(in srgb,var(--paper) 80%,transparent);
}
.aviso a{color:var(--amarillo)}

.ct-pie{
margin-top:40px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;
font-family:"IBM Plex Mono",monospace;font-size:0.74rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.14em;
}
.ct-pie .raya{flex:1 1 60px;height:2px;background:color-mix(in srgb,var(--paper) 55%,transparent)}
.ct-pie a.ct-axiz{text-decoration:none;display:flex;align-items:center;gap:10px}
.ct-pie a.ct-axiz::after{content:"";width:26px;height:3px;background:var(--paper)}
.ct-pie a.ct-axiz:hover::after{background:var(--amarillo)}
.ct-pie .redes{display:flex;flex-wrap:wrap;gap:8px}
.ct-pie .redes a{
text-decoration:none;border:2px solid var(--paper);padding:6px 10px;
transition:transform .12s steps(2),box-shadow .12s steps(2);
}
.ct-pie .redes a:hover{background:var(--amarillo);color:#131313;border-color:var(--amarillo);
transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--paper)}



.visor{
border:0;padding:0;background:transparent;max-width:min(92vw,560px);max-height:92vh;
overflow:visible;
}
.visor::backdrop{background:rgba(19,19,19,0.86)}
.visor figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px}
.visor img{
display:block;max-width:100%;max-height:78vh;width:auto;height:auto!important;
border:var(--bw) solid #F7F4EB;box-shadow:12px 12px 0 var(--amarillo);
}
.visor figcaption{
color:#F7F4EB;font-family:"IBM Plex Mono",monospace;font-size:0.76rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;text-align:center;
}
.visor .cerrar{
position:absolute;top:-18px;right:-18px;width:44px;height:44px;cursor:pointer;
background:var(--amarillo);color:#131313;border:var(--bw) solid #131313;
font-family:"Archivo Black",Impact,sans-serif;font-size:1.3rem;line-height:1;
}
.visor[open]{animation:abre .28s steps(4)}
@keyframes abre{from{transform:scale(.9)}to{transform:none}}
.lb-cover img{cursor:zoom-in}
@media(prefers-reduced-motion:reduce){.visor[open]{animation:none}}


.libros-head h2,.pr-head h2,.sw-titulo h2,.pm-head h2,.ct-head h2,.reel h2{
letter-spacing:-0.04em;line-height:0.92;
}

.bio-head{margin-bottom:30px}

.pm-mas{
margin-top:22px;cursor:pointer;
font-family:"IBM Plex Mono",monospace;font-size:0.8rem;font-weight:600;
text-transform:uppercase;letter-spacing:0.12em;
background:var(--panel);color:var(--ink);border:var(--bw) solid var(--line);
padding:13px 18px;box-shadow:6px 6px 0 var(--shadow);
transition:transform .12s steps(2),box-shadow .12s steps(2);
}
.pm-mas:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--shadow);background:var(--amarillo);color:#131313}

.progreso{
position:absolute;left:0;bottom:-3px;height:3px;width:100%;
background:var(--amarillo);transform-origin:left center;transform:scaleX(0);
pointer-events:none;
}


@media(max-width:760px){


.bar{gap:8px 10px;padding:8px 12px;flex-wrap:wrap;align-items:center}
.bar .sig{font-size:0.9rem;flex:1 1 auto;min-width:0}
.bar .sig:hover em{color:var(--amarillo)}
.bar .sig em{font-size:0.55rem;letter-spacing:0.12em}
.bar nav{
order:3;flex:1 0 100%;margin-left:0;gap:2px;
flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
-webkit-overflow-scrolling:touch;
border-top:2px solid color-mix(in srgb,var(--paper) 25%,transparent);
padding-top:7px;
}
.bar nav::-webkit-scrollbar{display:none}
.bar nav{
-webkit-mask-image:linear-gradient(to right,#000 78%,transparent);
mask-image:linear-gradient(to right,#000 78%,transparent);
}
.bar nav.al-final{-webkit-mask-image:none;mask-image:none}
.bar nav a{white-space:nowrap;font-size:0.72rem;padding:5px 8px}

.hero h1 .out{-webkit-text-stroke-width:1.5px}
.destacado img{height:300px!important}
.destacado figcaption{flex-wrap:wrap}

@media(max-width:420px){
.hero h1{font-size:clamp(2.7rem,13vw,3.4rem)}
.roles span,.sw-tags li{font-size:0.62rem}
.proj-pie{flex-wrap:wrap}
.proj-ver{flex:1 1 100%}
.proj-mas{width:100%}
.lineas a{padding-right:0}
}

:where(a,button,input,select,textarea):focus-visible{
outline:3px solid var(--senal);outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
