
:root{--n:#0d0d0d;--b:#f7f5f0;--g:#7a756d;--r:#e2231a;--grot:"Helvetica Neue",Helvetica,"Inter Tight",Arial,sans-serif;--ib:"Ibarra Real Nova",Georgia,serif;--m:2.2vw}
*{box-sizing:border-box}html{background:var(--b)}body{margin:0;color:var(--n);font:16px/1.5 var(--grot);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}
.ajusta{display:inline-block;white-space:nowrap;line-height:.78;letter-spacing:-.07em;font-weight:900;font-family:var(--grot)}
/* ── Portada: la foto dentro de las letras ── */
.portada{min-height:calc(100vh - 52px);display:flex;flex-direction:column;justify-content:space-between;padding:18px var(--m) var(--m)}
.top{display:flex;justify-content:space-between;gap:24px;font:600 12px/1.35 var(--grot);text-transform:uppercase;letter-spacing:.06em}
.top em{font:italic 400 15px var(--ib);text-transform:none;letter-spacing:0;color:var(--g)}
.top nav{display:flex;gap:22px;font:500 15px var(--grot);text-transform:lowercase;letter-spacing:0}.top nav a:hover{color:var(--r)}
.palabra{background-position:center 45%;background-size:cover;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:deriva 22s ease-in-out infinite alternate;padding-bottom:.04em}
@keyframes deriva{from{background-position:center 20%}to{background-position:center 70%}}
.pie-portada{display:grid;grid-template-columns:repeat(12,1fr);gap:0 1.6vw;align-items:end;border-top:10px solid var(--n);padding-top:1.4vw}
.pie-portada .lema{grid-column:1/9;margin:0;font:400 5.6vw/.9 var(--ib);letter-spacing:-.03em}.pie-portada .lema b{font:800 .92em var(--grot);letter-spacing:-.06em}.pie-portada .lema i{color:var(--r)}
.pie-portada p:not(.lema){grid-column:9/13;margin:0;font:400 18px/1.45 var(--ib)}
/* ── La cinta ── */
.cinta{overflow:hidden;border-top:1px solid var(--n);border-bottom:1px solid var(--n);padding:1vw 0;margin:0 calc(-1*var(--m))}
.cinta div{display:flex;width:max-content;animation:cinta 38s linear infinite}
.cinta span{font:900 9vw/1 var(--grot);letter-spacing:-.06em;padding-right:3vw;white-space:nowrap}.cinta span i{font:italic 400 1.02em var(--ib);letter-spacing:-.03em}.cinta span s{text-decoration:none;color:var(--r);font-family:var(--ib);padding-left:3vw}
@keyframes cinta{to{transform:translateX(-50%)}}
/* ── Índice de trabajos ── */
.w{padding:0 var(--m)}
.rot{display:grid;grid-template-columns:repeat(12,1fr);gap:0 1.6vw;padding:7vw 0 1.4vw;align-items:end}
.rot h2{grid-column:1/8;margin:0;font:800 6.4vw/.86 var(--grot);letter-spacing:-.06em}.rot h2 i{font:italic 400 1.02em var(--ib);letter-spacing:-.025em}
.rot p{grid-column:9/13;margin:0;font:italic 400 19px/1.4 var(--ib);color:var(--g)}
.ix a{display:grid;grid-template-columns:repeat(12,1fr);gap:0 1.6vw;padding:1.2vw 0;border-top:1px solid var(--n);align-items:baseline;position:relative}
.ix a:last-child{border-bottom:1px solid var(--n)}
.ix .num{grid-column:1/2;font:italic 400 2.4vw/1 var(--ib);color:var(--r)}
.ix b{grid-column:2/9;font:400 4.6vw/.95 var(--ib);letter-spacing:-.025em;transition:transform .35s cubic-bezier(.2,.7,.2,1),color .2s}.ix b i{font-style:italic}
.ix a:hover b{transform:translateX(1.6vw);color:var(--r)}
.ix .cat{grid-column:9/11;font:600 12px var(--grot);text-transform:uppercase;letter-spacing:.08em}
.ix .que{grid-column:11/13;font:400 14px/1.35 var(--grot);color:var(--g)}
.visor{position:fixed;left:0;top:0;width:24vw;aspect-ratio:4/5;pointer-events:none;z-index:5;opacity:0;transition:opacity .2s;background:center/cover;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.visor.ve{opacity:1}
/* ── Servicios a sangre ── */
.rojo{background:var(--r);color:var(--n);margin-top:8vw;padding:2.2vw var(--m) 3vw}
.rojo .ajusta{color:var(--b)}
.serv{display:grid;grid-template-columns:repeat(5,1fr);border-top:10px solid var(--n);margin-top:1.6vw}
.serv a{padding:1.2vw 1.2vw 1.6vw 0;border-right:1px solid var(--n);min-height:22vw;display:flex;flex-direction:column;justify-content:space-between}
.serv a+a{padding-left:1.2vw}.serv a:last-child{border-right:0}
.serv .num{font:italic 400 10vw/.75 var(--ib);letter-spacing:-.05em;color:var(--b)}
.serv h3{margin:0;font:800 1.9vw/1 var(--grot);letter-spacing:-.045em}.serv h3 i{font:italic 400 1.12em var(--ib);letter-spacing:-.015em;display:block}
.serv p{margin:.8vw 0 0;font:500 14px/1.4 var(--grot)}.serv a:hover .num{color:var(--n)}
/* ── Cita y análisis ── */
.cita{padding:9vw 0 6vw}.cita blockquote{margin:0;font:400 6.2vw/.94 var(--ib);letter-spacing:-.03em}
.cita blockquote b{font:800 .88em var(--grot);letter-spacing:-.06em}.cita blockquote i{color:var(--r)}
.cita span{display:block;margin-top:2vw;font:600 12px var(--grot);text-transform:uppercase;letter-spacing:.08em}
.an{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6vw}.an a{border-top:10px solid var(--n);padding-top:14px}
.an small{font:600 11px var(--grot);text-transform:uppercase;letter-spacing:.08em;color:var(--r)}
.an h3{margin:8px 0;font:400 2.5vw/1 var(--ib);letter-spacing:-.02em}.an p{margin:0;font-size:14px;color:var(--g)}.an a:hover h3{color:var(--r)}
/* ── Contacto ── */
.contacto{margin-top:9vw;background:var(--n);color:var(--b);padding:2.4vw var(--m) 2vw}
.contacto .ajusta i{font:italic 400 1em var(--ib);letter-spacing:-.035em;color:var(--r)}
.contacto>a{display:block}.contacto a:hover .ajusta{color:var(--r)}.contacto>a{display:block}.contacto a:hover .ajusta i{color:var(--b)}
.colofon{display:grid;grid-template-columns:repeat(12,1fr);gap:0 1.6vw;margin-top:2.6vw;padding-top:14px;border-top:1px solid #3a3a3a;font:400 13px/1.45 var(--grot);color:#a9a49b}
.colofon .c1{grid-column:1/5}.colofon .c2{grid-column:5/10;font:italic 400 15px/1.4 var(--ib)}.colofon .c3{grid-column:11/13;text-align:right}

/* ── La barra ── */
.barra{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2vw;padding:12px var(--m);background:rgba(247,245,240,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--n)}
.mini{font:900 22px/1 var(--grot);letter-spacing:-.06em;opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s}.mini span{color:var(--r)}
.barra.con-logo .mini{opacity:1;transform:none}
.secciones{display:flex;gap:2.4vw}
.secciones a{display:flex;align-items:flex-start;gap:4px;font:500 15px/1 var(--grot);letter-spacing:-.01em}
.secciones sup{font:600 9px var(--grot);color:var(--r);margin-top:-2px}
.secciones .m{display:inline-block;overflow:hidden;height:1.25em;padding-right:.5em;margin-right:-.5em;line-height:1.25em;vertical-align:top}
.secciones .t{display:block;position:relative;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.secciones .t::after{content:attr(data-t);position:absolute;left:0;top:100%;font:italic 400 17px/1.25em var(--ib);color:var(--r);white-space:nowrap}
.secciones a:hover .t{transform:translateY(-100%)}
.boton{justify-self:end;font:600 14px/1 var(--grot);background:var(--n);color:var(--b);padding:11px 20px;border-radius:999px;transition:background .2s}.boton:hover{background:var(--r)}
.abrir,.cerrar{display:none;font:600 14px var(--grot);background:var(--n);color:var(--b);border:0;padding:10px 18px;border-radius:999px;cursor:pointer}
.menu{position:fixed;inset:0;z-index:30;background:var(--r);padding:20px var(--m);display:flex;flex-direction:column;justify-content:center;gap:2vh}
.menu[hidden]{display:none}.menu .cerrar{display:block;position:absolute;top:16px;right:var(--m)}
.menu a{font:900 13vw/.95 var(--grot);letter-spacing:-.06em;color:var(--n)}.menu a i{font:italic 400 1.02em var(--ib);letter-spacing:-.03em;color:var(--b)}
.menu sup{font:600 12px var(--grot);vertical-align:top;margin-right:8px;letter-spacing:0;color:var(--b)}
.firma-portada{font:600 12px var(--grot);text-transform:uppercase;letter-spacing:.06em}.firma-portada em{font:italic 400 15px var(--ib);text-transform:none;letter-spacing:0;color:var(--g)}
@media(max-width:820px){.barra{grid-template-columns:1fr auto}.mini{opacity:1;transform:none}.secciones,.boton{display:none}.abrir{display:block}}
@media (prefers-reduced-motion:reduce){.palabra,.cinta div{animation:none}}
@media(max-width:820px){.portada{min-height:auto;gap:7vw}.top{flex-direction:column;gap:10px}.top nav{flex-wrap:wrap;gap:6px 16px}.pie-portada .lema,.pie-portada p{grid-column:1/-1}.pie-portada .lema{font-size:11vw}.pie-portada p{margin-top:16px}
.rot h2,.rot p{grid-column:1/-1}.rot h2{font-size:12vw}.rot p{margin-top:8px}.ix .num{grid-column:1/3;font-size:6vw}.ix b{grid-column:3/-1;font-size:8vw}.ix .cat{grid-column:3/-1;margin-top:6px}.ix .que{display:none}.visor{display:none}
.serv{grid-template-columns:1fr}.serv a,.serv a+a{border-right:0;border-bottom:1px solid var(--n);padding:18px 0;min-height:0}.serv .num{font-size:22vw}.serv h3{font-size:8vw}
.cita blockquote{font-size:11vw}.an{grid-template-columns:1fr}.an h3{font-size:7vw}.colofon .c1,.colofon .c2,.colofon .c3{grid-column:1/-1;text-align:left;margin-bottom:10px}.cinta span{font-size:16vw}}

.titulo-portada{margin:0;font-size:inherit;font-weight:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.todo{margin:2vw 0 0;font:600 12px var(--grot);text-transform:uppercase;letter-spacing:.08em}.todo a{border-bottom:2px solid var(--r)}.todo a:hover{color:var(--r)}
/* ── Entradas y páginas ── */
.entrada .cabeza{padding-top:5vw;padding-bottom:3vw;border-bottom:10px solid var(--n)}
.migas{display:flex;gap:16px;font:600 12px var(--grot);text-transform:uppercase;letter-spacing:.08em;color:var(--r)}.migas a:hover{color:var(--n)}
.entrada h1{margin:1.4vw 0 0;max-width:15em;font:400 clamp(44px,6.6vw,112px)/.93 var(--ib);letter-spacing:-.03em;text-wrap:balance}.entrada h1 i{color:var(--r)}
.datos{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:2vw;font:500 13px var(--grot);text-transform:uppercase;letter-spacing:.06em;color:var(--g)}
.entradilla{max-width:34em;margin:2vw 0 0;font:400 23px/1.4 var(--ib)}
.cabecera{margin:0}.cabecera img{display:block;width:100%;height:min(78vh,62vw);object-fit:cover}
.cuerpo{display:grid;grid-template-columns:repeat(12,1fr);gap:0 1.6vw;padding-top:4vw}
.texto{grid-column:3/10;font:400 21px/1.6 var(--ib);counter-reset:apartado}
.texto>p:first-child{font-size:27px;line-height:1.42}
.texto>p:first-child::first-letter{float:left;font:900 5.2em/.78 var(--grot);letter-spacing:-.06em;margin:.06em .1em 0 -.04em;color:var(--r)}
.texto h2{counter-increment:apartado;margin:2.2em 0 .6em;font:800 clamp(30px,3vw,46px)/1 var(--grot);letter-spacing:-.045em}
.texto h2::before{content:counter(apartado,decimal-leading-zero);display:block;font:italic 400 .62em/1 var(--ib);letter-spacing:0;color:var(--r);margin-bottom:.35em}
.texto h3{margin:1.8em 0 .4em;font:italic 400 30px/1.15 var(--ib)}
.texto a{color:var(--n);text-decoration:underline;text-decoration-color:var(--r);text-decoration-thickness:2px;text-underline-offset:4px}.texto a:hover{color:var(--r)}
.texto strong,.texto b{font-weight:600}
.texto ul,.texto ol{padding-left:0;list-style:none}.texto li{position:relative;padding-left:1.4em;margin:.35em 0}
.texto ul li::before{content:"";position:absolute;left:0;top:.72em;width:.8em;height:2px;background:var(--r)}
.texto ol{counter-reset:item}.texto ol li{counter-increment:item}.texto ol li::before{content:counter(item);position:absolute;left:0;font:600 .8em var(--grot);color:var(--r);top:.25em}
.texto blockquote,.texto .wp-block-quote,.texto .wp-block-pullquote{margin:1.6em 0;padding:0;border:0;font:italic 400 clamp(30px,3.2vw,48px)/1.1 var(--ib);letter-spacing:-.02em}
.texto blockquote p{margin:0}.texto blockquote cite{display:block;margin-top:.6em;font:600 12px var(--grot);font-style:normal;text-transform:uppercase;letter-spacing:.08em}
.texto figure,.texto .wp-block-image{margin:2.2em 0}.texto img{max-width:100%;height:auto;display:block}
.texto .wp-block-image,.texto .wp-block-gallery,.texto .alignwide{margin-left:calc(-25% - 1vw);margin-right:calc(-25% - 1vw)}
.texto .alignfull{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}
.texto figcaption,.texto .wp-element-caption{margin-top:10px;font:500 12px/1.4 var(--grot);text-transform:uppercase;letter-spacing:.06em;color:var(--g)}
.texto .wp-block-gallery{display:grid!important;grid-template-columns:repeat(3,1fr);gap:1.2vw}.texto .wp-block-gallery figure{margin:0!important;width:auto!important}
.texto .wp-block-gallery img{width:100%;height:100%!important;aspect-ratio:4/5;object-fit:cover}
.texto table{width:100%;border-collapse:collapse;font:400 15px/1.4 var(--grot);margin:1.6em 0}.texto th{text-align:left;font-weight:700;border-bottom:3px solid var(--n);padding:10px 8px}.texto td{border-bottom:1px solid var(--l,#d9d5cd);padding:10px 8px;vertical-align:top}
.texto .wp-block-table{overflow-x:auto}
.texto hr{border:0;border-top:1px solid var(--n);margin:2.4em 0}
.otras{display:grid;grid-template-columns:1fr 1fr;gap:1.6vw;margin-top:7vw;border-top:10px solid var(--n);padding-top:16px}
.otras a small{display:block;font:600 12px var(--grot);text-transform:uppercase;letter-spacing:.08em;color:var(--r)}.otras a b{display:block;margin-top:8px;font:400 2.4vw/1.05 var(--ib);letter-spacing:-.02em}.otras .d{text-align:right;grid-column:2}.otras a:hover b{color:var(--r)}
/* ── Archivo ── */
.archivo .rot{padding-top:5vw}.archivo .ix b{font-size:3.6vw}.nada{font:italic 400 24px var(--ib);padding:3vw 0}
.paginas{display:flex;gap:18px;margin-top:2vw;font:600 14px var(--grot)}.paginas .current{color:var(--r)}
.nada-404{padding:6vw var(--m) 0}.nada-404 .ajusta{color:var(--r)}.nada-404 p{font:400 24px var(--ib);max-width:30em}
/* ── Formularios (Contact Form 7, comentarios, búsqueda) ── */
.wpcf7 label,.comment-form label{display:block;font:600 12px var(--grot);text-transform:uppercase;letter-spacing:.08em;margin-top:1.2em}
.wpcf7 input:not([type=submit]):not([type=checkbox]),.wpcf7 textarea,.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea,.search-form input[type=search]{width:100%;margin-top:6px;padding:12px 0;border:0;border-bottom:2px solid var(--n);background:transparent;font:400 24px var(--ib);color:var(--n);border-radius:0;outline:0}
.wpcf7 input:focus,.wpcf7 textarea:focus,.comment-form input:focus,.comment-form textarea:focus{border-bottom-color:var(--r)}
.wpcf7 textarea,.comment-form textarea{min-height:160px;resize:vertical}
.wpcf7 input[type=submit],.comment-form input[type=submit],.search-form button,.search-form input[type=submit]{margin-top:1.6em;font:600 15px var(--grot);background:var(--n);color:var(--b);border:0;padding:15px 30px;border-radius:999px;cursor:pointer}
.wpcf7 input[type=submit]:hover,.comment-form input[type=submit]:hover{background:var(--r)}
.wpcf7-not-valid-tip,.wpcf7-response-output{font:500 14px var(--grot);color:var(--r)}
.search-form{display:flex;gap:16px;align-items:flex-end;max-width:640px}
@media(max-width:820px){.texto{grid-column:1/-1;font-size:19px}.texto>p:first-child{font-size:22px}.texto .wp-block-image,.texto .wp-block-gallery,.texto .alignwide{margin-left:0;margin-right:0}
.texto .wp-block-gallery{grid-template-columns:1fr 1fr}.otras{grid-template-columns:1fr}.otras .d{grid-column:1;text-align:left}.otras a b{font-size:7vw}.archivo .ix b{font-size:8vw}.entrada h1{font-size:12vw}}

.comentarios{margin-top:4vw}.comentar summary{display:inline-block;cursor:pointer;font:600 14px var(--grot);background:var(--n);color:var(--b);padding:11px 22px;border-radius:999px;list-style:none}.comentar summary::-webkit-details-marker{display:none}.comentar[open] summary{background:var(--r)}
.comentarios-lista>h2{font:800 28px var(--grot);letter-spacing:-.04em}
/* El aviso de cookies del plugin, como una tarjeta del tema */
#cookie-notice{left:auto!important;right:16px!important;bottom:16px!important;width:auto!important;max-width:380px;min-width:0!important;background:var(--n)!important;border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.25);font-family:var(--grot)!important}
#cookie-notice .cookie-notice-container{padding:18px 20px!important;text-align:left!important;display:flex;flex-direction:column;gap:12px}
#cookie-notice #cn-notice-text{font:400 14px/1.45 var(--grot)!important;color:var(--b)!important}
#cookie-notice .cn-button,#cookie-notice #cn-accept-cookie{background:var(--r)!important;color:#fff!important;border-radius:999px!important;font:600 13px var(--grot)!important;padding:9px 18px!important;margin:0!important;box-shadow:none!important}
#cookie-notice .cn-close-icon{top:14px!important;right:14px!important}
@media(max-width:820px){#cookie-notice{left:12px!important;right:12px!important;bottom:12px!important;max-width:none}}
