/* Rednacer v2 · SITIO público (index.html, estadisticas.html). Encima de app.css (plantilla). Solo var(--…) de
   tokens.css. Dirección de arte (docs/LANDING-direccion.md): Style «Halden» de GetLayers llevado a la marca — papel
   cálido, el añil gastado en superficies enteras (cabecera, roles, pie), el cempasúchil solo en lo vivo; Bebas Neue
   grita, Instrument Serif habla, Manrope informa. Composiciones: noema-hero, artist-process, lumora-services,
   lumora-stats, marcus-vane-ventures, artist-statement, artist-faq, lumora/artist-footer, negantropy-entropy. */

@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(../fuentes/bebas-neue.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(../fuentes/instrument-serif.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fuentes/instrument-serif-italica.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fuentes/manrope.woff2) format('woff2')}

body.sitio{overflow-x:clip;background:var(--papel);color:var(--tinta-papel);font-family:var(--f-funcional)}
.sitio .wrap{max-width:1440px;padding-left:max(20px,env(safe-area-inset-left),3vw);padding-right:max(20px,env(safe-area-inset-right),3vw)}
.sitio h1,.sitio h2,.sitio h3{margin:0;font-weight:400}
.sitio em{font-family:var(--f-habla);font-style:italic}
.saltar{position:absolute;left:12px;top:-60px;z-index:80;padding:12px 16px;border-radius:999px;background:var(--tinta-papel);color:var(--papel);text-decoration:none}
.saltar:focus{top:12px}
.ceja{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:400 1rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--piedra)}
.punto-vivo{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--acento);box-shadow:0 0 0 0 color-mix(in srgb,var(--acento) 60%,transparent);animation:latido 2.4s ease-out infinite}
@keyframes latido{70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.titulo-xl{font:400 clamp(3.2rem,9vw,8.5rem)/.86 var(--f-display);letter-spacing:-.005em;text-transform:uppercase}
.titulo-xl em{display:block;text-transform:none;font-size:.62em;line-height:1.05;letter-spacing:-.01em;color:var(--superficie-marca)}
html[data-modo="oscuro"] .titulo-xl em{color:#B9BCFF}
.titulo-l{font:400 clamp(2.4rem,5.4vw,4.6rem)/.92 var(--f-display);text-transform:uppercase}
.gris{color:var(--piedra)}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px}

/* ---------- Cabecera: banda añil (superficie de marca; contraste en claro y oscuro) ---------- */
.sitio .top{position:sticky;top:0;z-index:40;background:var(--superficie-marca);border-bottom:1px solid color-mix(in srgb,var(--sobre-superficie-marca) 14%,transparent);color:var(--sobre-superficie-marca)}
.sitio .top .wrap{gap:10px;min-height:64px}
.sitio .brand{min-height:44px;color:var(--sobre-superficie-marca);font:400 1.75rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.brand-simbolo{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--acento);color:var(--sobre-acento)}
.brand-simbolo svg{width:22px;height:22px}
.modo-btn,.sitio .menu-btn{display:none;place-items:center;flex:none;width:44px;height:44px;border-radius:999px;border:1px solid color-mix(in srgb,var(--sobre-superficie-marca) 30%,transparent);background:transparent;color:var(--sobre-superficie-marca);cursor:pointer;padding:0}
.modo-btn{display:inline-grid}
.modo-btn .ico-sol{display:none}
html[data-modo="oscuro"] .modo-btn .ico-sol{display:block}
html[data-modo="oscuro"] .modo-btn .ico-luna{display:none}
.sitio .btn.entrar{background:#F6F3EC;color:#121133;min-height:44px;padding:0 20px;font:400 1.25rem/1 var(--f-display);letter-spacing:.06em}
.solo-cajon{display:none!important}
@media (min-width:761px){
  .sitio nav.links{margin-right:6px}
  .sitio nav.links a{position:relative;overflow:hidden;color:var(--sobre-superficie-marca);font:400 1.2rem/1 var(--f-display);letter-spacing:.08em;border-radius:999px;isolation:isolate}
  /* Hover de Halden: barrido desde el borde, no fundido. */
  .sitio nav.links a::before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--sobre-superficie-marca) 16%,transparent);transform:scaleX(0);transform-origin:left;transition:transform .32s var(--curva)}
  .sitio nav.links a:hover::before,.sitio nav.links a[aria-current="page"]::before{transform:scaleX(1)}
  .sitio nav.links a[aria-current="page"]{background:transparent;color:var(--sobre-superficie-marca)}
}
@media (max-width:760px){
  .sitio nav.links{background:var(--papel-2)}
  .sitio nav.links a{color:var(--tinta-papel);font:400 1.6rem/1 var(--f-display);letter-spacing:.06em}
  .sitio nav.links.open .solo-cajon{display:inline-flex!important}
  .sitio .menu-btn{order:4;display:inline-grid}
}
@media (max-width:420px){.sitio .btn.entrar{display:none}}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
html.cambia-modo::view-transition-new(root){animation:revela-modo .6s cubic-bezier(.2,0,0,1)}
@keyframes revela-modo{from{clip-path:circle(0 at var(--modo-x,50%) var(--modo-y,0))}to{clip-path:circle(150vmax at var(--modo-x,50%) var(--modo-y,0))}}

/* ---------- Telón (forma-loader tipo B). Sin JS se va solo a los 2.6 s; con JS, al primer cuadro de la escena. ---------- */
.telon{position:fixed;inset:0;z-index:70;display:grid;place-content:center;justify-items:center;gap:16px;background:var(--superficie-marca);color:var(--sobre-superficie-marca);
  animation:telon-fuera .9s cubic-bezier(.76,0,.24,1) 2.6s forwards;pointer-events:none}
html.telon-fuera .telon{animation:telon-fuera .9s cubic-bezier(.76,0,.24,1) forwards}
.telon-marca{font:400 clamp(3.4rem,12vw,9rem)/.8 var(--f-display);letter-spacing:.02em;text-transform:uppercase}
.telon-hilo{width:min(260px,56vw);height:2px;background:color-mix(in srgb,var(--sobre-superficie-marca) 22%,transparent);position:relative;overflow:hidden}
.telon-hilo::after{content:"";position:absolute;inset:0;background:var(--acento);transform-origin:left;transform:scaleX(0);animation:hilo 1.2s cubic-bezier(.4,0,.2,1) .1s forwards}
.telon-dato{font:italic 400 1.25rem/1 var(--f-habla);opacity:.8}
@keyframes hilo{to{transform:scaleX(1)}}
@keyframes telon-fuera{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@media (prefers-reduced-motion:reduce){.telon{display:none}}

/* ---------- Escena: lienzo fijo detrás de las secciones transparentes ---------- */
.cielo{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.sitio main,.sitio .pie{position:relative;z-index:1}
.sitio .escena{position:relative;background:transparent}

/* ---------- Revelado (gate: html.listo al INICIO de la salida del telón) ---------- */
.sitio-js [data-entra]{opacity:0;transform:translateY(18px);filter:blur(10px);transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform 1s cubic-bezier(.2,.7,.2,1) var(--d,0ms),filter .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.sitio-js.listo [data-entra]{opacity:1;transform:none;filter:none}
.sitio-js [data-partir] .palabra{display:inline-block;opacity:0;transform:translateY(.32em);filter:blur(14px);transition:opacity .45s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform 1s cubic-bezier(.16,1,.3,1) var(--d,0ms),filter .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.sitio-js .partido-visto .palabra{opacity:1;transform:none;filter:none}
/* Titular del héroe: una palabra por lado, pintada desde el primer cuadro (opacidad mínima, LCP) detrás del telón. */
.sitio-js .ht-pal{display:inline-block;opacity:.01;transform:translateY(.22em);filter:blur(14px);transition:opacity .5s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform 1.1s cubic-bezier(.16,1,.3,1) var(--d,0ms),filter 1s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.sitio-js.listo .ht-pal{opacity:1;transform:none;filter:none}
.ht-der .ht-pal{--d:120ms}
.sitio-js [data-revela]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform 1.1s cubic-bezier(.16,1,.3,1) var(--d,0ms)}
.sitio-js [data-revela].visto{opacity:1;transform:none}

/* ---------- HÉROE · noema-hero ---------- */
.heroe{min-height:calc(100dvh - 64px);display:grid;grid-template-rows:1fr auto;padding:clamp(16px,2.4vw,32px) max(20px,3vw) clamp(20px,3vw,36px)}
.heroe-titular{position:relative;display:flex;justify-content:space-between;align-items:center;gap:4vw;align-self:center;pointer-events:none;
  font:400 clamp(4.6rem,12.5vw,14rem)/.8 var(--f-display);text-transform:uppercase;color:var(--superficie-marca);letter-spacing:-.005em}
html[data-modo="oscuro"] .heroe-titular{color:#B9BCFF}
.ht-linea{display:flex;align-items:baseline;gap:.08em}
.ht-nexo{font:italic 400 .36em/1 var(--f-habla);text-transform:none;color:var(--tinta-papel);letter-spacing:0;transform:translateY(-.12em)}
.heroe-nota{position:absolute;left:50%;top:clamp(14px,2vw,26px);transform:translateX(-50%);margin:0;font:italic 400 1.1rem/1.2 var(--f-habla);color:var(--piedra);text-align:center;white-space:nowrap}
.heroe-nota .nota-proto{display:block;margin-top:4px;font:500 .875rem/1.3 var(--f-funcional);font-style:normal}
.heroe{position:relative}
.heroe-base{display:grid;grid-template-columns:minmax(0,560px) minmax(300px,400px);justify-content:space-between;align-items:end;gap:28px}
.heroe-lead{margin:0 0 10px;max-width:38ch;font:400 clamp(1.25rem,1.8vw,1.6rem)/1.25 var(--f-habla);color:var(--tinta-papel)}
.heroe-lead em{color:var(--superficie-marca)}
html[data-modo="oscuro"] .heroe-lead em{color:#B9BCFF}
.heroe-rol-fila{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 12px;margin:0 0 18px}
.siglas{flex-basis:100%}
.siglas summary{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;cursor:pointer;list-style:none;font:700 .9375rem/1 var(--f-funcional);text-decoration:underline dotted;text-underline-offset:4px}
.siglas summary::-webkit-details-marker{display:none}
.siglas dl{max-width:440px;margin:4px 0 0;padding:14px 16px;display:grid;gap:10px;border-radius:4px;background:var(--papel-2);border:1px solid var(--arena);box-shadow:0 24px 60px -30px rgba(18,17,51,.55)}
.siglas dt{font:400 1.1rem/1 var(--f-display);letter-spacing:.06em;color:var(--superficie-marca)}
html[data-modo="oscuro"] .siglas dt{color:#B9BCFF}
.siglas dd{margin:2px 0 0;font:500 .9375rem/1.4 var(--f-funcional)}
.heroe-rol{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--arena) 60%,transparent);font:600 .9375rem/1.3 var(--f-funcional)}
.heroe-rol::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--ok)}
.buscador-et{display:block;margin:0 0 10px;font:italic 400 1.45rem/1.1 var(--f-habla)}
.buscador-campo{display:flex;align-items:center;gap:6px;min-height:64px;padding:6px 6px 6px 24px;border-radius:999px;background:var(--papel-2);border:1px solid var(--arena);box-shadow:0 18px 50px -30px rgba(18,17,51,.5);transition:border-color .2s,box-shadow .2s}
.buscador-campo:focus-within{border-color:var(--superficie-marca);box-shadow:0 0 0 4px color-mix(in srgb,var(--acento) 35%,transparent),0 18px 50px -30px rgba(18,17,51,.5)}
.buscador-campo input{flex:1;width:0;min-width:0;min-height:48px;border:0;background:transparent;outline:none;font:400 1.6rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-papel)}
.buscador-campo input::placeholder{color:var(--piedra);opacity:.8}
.buscador-campo input::-webkit-search-cancel-button{-webkit-appearance:none}
.buscador-ir{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:0;background:var(--tinta-papel);color:var(--papel);cursor:pointer;transition:transform .25s var(--curva)}
.buscador-ir:hover{transform:translateX(3px)}
.buscador-ideas{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.buscador-ideas button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--arena);background:transparent;color:var(--tinta-papel);font:600 .9375rem/1 var(--f-funcional);cursor:pointer;position:relative;overflow:hidden;isolation:isolate}
.buscador-ideas button::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--arena);transform:scaleY(0);transform-origin:bottom;transition:transform .28s var(--curva)}
.buscador-ideas button:hover::before,.buscador-ideas button[aria-pressed="true"]::before{transform:scaleY(1)}

.tu-estandar{position:relative;padding:20px 22px 18px;border-radius:4px;background:var(--papel-2);border:1px solid var(--arena);box-shadow:0 30px 70px -40px rgba(18,17,51,.55)}
.te-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.te-et{font:400 1rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--piedra)}
.te-cuenta{display:inline-flex;align-items:center;gap:8px;font:600 .875rem/1 var(--f-funcional);color:var(--piedra)}
.te-cuenta::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acento)}
.te-cod{margin:4px 0 2px;font:400 clamp(2.6rem,4vw,3.4rem)/.9 var(--f-display);letter-spacing:.02em;color:var(--superficie-marca)}
html[data-modo="oscuro"] .te-cod{color:#B9BCFF}
.te-tit{font:400 1.4rem/1.15 var(--f-habla);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.te-meta{margin:0;font:600 .9375rem/1.3 var(--f-funcional);color:var(--piedra)}
.te-otros{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--arena);display:grid;gap:4px}
.te-otros:empty{display:none}
.te-otros li{display:flex;gap:10px;align-items:baseline;font:500 .9375rem/1.3 var(--f-funcional);color:var(--tinta-papel)}
.te-otros b{flex:none;font:400 1.1rem/1 var(--f-display);letter-spacing:.04em;color:var(--senal)}
.te-otros li{min-width:0}
.te-otros span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.te-acciones{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:14px}
.te-acciones .btn-pildora{white-space:normal;text-align:center;line-height:1.05;padding:8px 20px}
.te-crear{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:700 .9375rem/1.2 var(--f-funcional);color:var(--tinta-papel);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--acento)}
.te-pie{margin:10px 0 0;font:500 .875rem/1.3 var(--f-funcional);color:var(--piedra)}
.tu-estandar.cambia .te-cod,.tu-estandar.cambia .te-tit{animation:te-cambia .55s cubic-bezier(.16,1,.3,1)}
@keyframes te-cambia{from{opacity:.25;transform:translateY(6px)}}
.tu-estandar.vacio .te-cod{color:var(--piedra)}
.tu-estandar.llega{animation:te-llega .6s cubic-bezier(.3,1.6,.5,1)}
@keyframes te-llega{30%{transform:translateX(5px) rotate(.3deg)}}
.te-et{max-width:70%}

@media (max-width:900px){
  .heroe{min-height:auto;grid-template-rows:auto auto;padding-top:20px}
  .heroe-titular{flex-direction:column;align-items:stretch;gap:0;font-size:clamp(4.2rem,24vw,10rem);min-height:min(78vw,440px);justify-content:space-between}
  .ht-der{align-self:flex-end}
  .heroe-nota{position:static;transform:none;margin:14px 0 22px;white-space:normal}
  .heroe-base{grid-template-columns:minmax(0,1fr)}
}

/* ---------- DEL ESTÁNDAR AL DICTAMEN · artist-process ---------- */
.capitulos{padding:clamp(80px,12vw,160px) 0 clamp(60px,8vw,120px)}
.cap-cab{max-width:1000px;margin-bottom:clamp(40px,6vw,80px)}
.cap-rejilla{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:start}
.cap-fijo{position:sticky;top:96px}
.cap-lista{list-style:none;margin:0;padding:0}
.cap{position:relative;min-height:54vh;padding:28px 0 0 clamp(0px,1vw,12px);border-top:1px solid var(--arena);opacity:.42;transition:opacity .5s var(--curva)}
.cap.activo,.cap:last-child.activo{opacity:1}
.cap-n{display:block;font:400 clamp(4.5rem,9vw,8rem)/.8 var(--f-display);color:transparent;-webkit-text-stroke:1.5px var(--arena);transition:color .5s,-webkit-text-stroke-color .5s}
.cap.activo .cap-n{color:var(--superficie-marca);-webkit-text-stroke-color:transparent}
html[data-modo="oscuro"] .cap.activo .cap-n{color:#B9BCFF}
.cap h3{margin:10px 0 8px;font:400 clamp(2.4rem,4.4vw,3.8rem)/.9 var(--f-display);text-transform:uppercase}
.cap p{margin:0 0 14px;max-width:34ch;font:400 clamp(1.25rem,1.6vw,1.5rem)/1.3 var(--f-habla)}
.cap small{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--arena);font:600 .875rem/1 var(--f-funcional);color:var(--piedra)}

/* La hoja: papel sobre papel, se compone sola. */
.hoja{position:relative;padding:26px 30px 30px;border-radius:4px;background:var(--papel-2);border:1px solid var(--arena);box-shadow:0 40px 90px -50px rgba(18,17,51,.6);font-family:var(--f-funcional)}
.hoja-cab{display:flex;justify-content:space-between;gap:10px;padding-bottom:12px;margin-bottom:6px;border-bottom:1.5px solid var(--tinta-papel);font:400 1.05rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase}
.hoja-cab span:last-child{color:var(--piedra)}
.hoja-bloque{position:relative;padding:12px 0;border-bottom:1px dashed var(--arena)}
.hoja-bloque:last-of-type{border-bottom:0}
.hb-et{margin:0 0 4px;font:400 .95rem/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--piedra)}
.hb-cod{margin:0;font:400 2rem/1 var(--f-display);letter-spacing:.03em;color:var(--superficie-marca)}
html[data-modo="oscuro"] .hb-cod{color:#B9BCFF}
.hb-txt{margin:2px 0 0;font:400 1.3rem/1.25 var(--f-habla)}
.hb-crit,.hb-ev{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px;font-size:.9375rem;line-height:1.35}
.hb-crit b{font:400 1rem/1 var(--f-display);letter-spacing:.04em;color:var(--senal);margin-right:6px}
.hb-ev li{display:flex;justify-content:space-between;gap:8px;padding-left:22px;position:relative}
.hb-ev li::before{content:"";position:absolute;left:0;top:2px;width:14px;height:14px;border-radius:50%;background:var(--ok)}
.hb-ev li span{font:400 1rem/1.2 var(--f-display);letter-spacing:.04em;color:var(--piedra)}
.hb-hilo{display:flex;align-items:center;gap:8px;margin:8px 0 0;font:600 .875rem/1.3 var(--f-funcional);color:var(--ok)}
.hb-ok{width:14px;height:14px;border-radius:50%;background:var(--ok)}
.hb-veredicto{margin:2px 0 4px;font:400 3rem/.9 var(--f-display);letter-spacing:.03em;text-transform:uppercase;color:var(--ok)}
.hb-firma{display:block;width:180px;height:48px;fill:none;stroke:var(--tinta-papel);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.hb-quien{margin:0;font:500 .875rem/1.3 var(--f-funcional);color:var(--piedra)}
/* Antes de componerse: renglones de borrador (barras de arena). */
.sitio-js .hoja-bloque > *{transition:opacity .5s var(--curva) calc(var(--j,0) * 70ms),transform .7s cubic-bezier(.16,1,.3,1) calc(var(--j,0) * 70ms),filter .6s var(--curva) calc(var(--j,0) * 70ms)}
.sitio-js .hoja-bloque:not(.listo) > *{opacity:0;transform:translateY(6px);filter:blur(6px)}
.sitio-js .hoja-bloque::after{content:"";position:absolute;left:0;right:30%;top:16px;height:44px;pointer-events:none;
  background:linear-gradient(var(--arena) 0 0) 0 0/62% 10px no-repeat,linear-gradient(var(--arena) 0 0) 0 17px/88% 8px no-repeat,linear-gradient(var(--arena) 0 0) 0 32px/74% 8px no-repeat;
  opacity:.75;transition:opacity .35s var(--curva)}
.sitio-js .hoja-bloque.listo::after{opacity:0}
.hoja-bloque.listo .hb-firma{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.6,0,.3,1) .5s}
.sello{position:absolute;right:-22px;bottom:40px;width:156px;height:156px;color:var(--acento);opacity:0;transform:scale(2.6) rotate(-28deg);pointer-events:none}
.sello svg{width:100%;height:100%;overflow:visible}
.sello circle{fill:none;stroke:currentColor;stroke-width:3}
.sello .sello-int{stroke-width:1.5;stroke-dasharray:3 4}
.sello text{fill:currentColor;font:400 10.5px/1 var(--f-display);letter-spacing:1.6px}
.sello-palomita{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.hoja.sellada .sello{animation:sellar .7s cubic-bezier(.3,1.5,.5,1) forwards}
@keyframes sellar{0%{opacity:0;transform:scale(2.6) rotate(-28deg)}55%{opacity:1;transform:scale(.9) rotate(-9deg)}100%{opacity:.95;transform:scale(1) rotate(-12deg)}}
.hoja.sellada{animation:golpe .5s cubic-bezier(.3,1.4,.5,1) .35s}
@keyframes golpe{40%{transform:translateY(3px) scale(.995)}}
.hoja-qr{position:absolute;left:24px;bottom:-34px;width:68px;height:68px;padding:5px;border-radius:4px;background:#fff;border:1px solid var(--arena);opacity:0;transform:translateY(10px)}
.hoja-qr svg{display:block;width:100%;height:100%}
.hoja-qr .qr-fondo{fill:#fff}.hoja-qr .qr-mod{fill:#121133}
.hoja.sellada .hoja-qr{opacity:1;transform:none;transition:opacity .4s .7s,transform .6s cubic-bezier(.16,1,.3,1) .7s}
.hoja.sellada .hoja-qr svg{animation:qr-arma 1s steps(14) .8s both}
@keyframes qr-arma{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@media (max-width:900px){
  .cap-rejilla{grid-template-columns:minmax(0,1fr)}
  .cap-fijo,.hoja{min-width:0}
  .cap-fijo{top:72px;z-index:2}
  .hoja{padding:14px 16px 16px;max-height:46dvh;overflow:hidden}
  .hoja-bloque{padding:7px 0}
  .hoja-bloque:not(.actual) .hb-crit,.hoja-bloque:not(.actual) .hb-ev,.hoja-bloque:not(.actual) .hb-hilo,.hoja-bloque:not(.actual) .hb-quien,.hoja-bloque:not(.actual) .hb-firma{display:none}
  .hoja-bloque:not(.actual) .hb-txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sitio-js .hoja-bloque::after{top:10px;height:28px}
  .hb-veredicto{font-size:1.9rem}
  .sello{width:96px;height:96px;right:-6px;bottom:auto;top:44px}
  .hoja-qr{display:none}
  .cap{min-height:56vh;padding-top:22px}
  .cap:first-child{margin-top:28px}
}

/* ---------- UN TRABAJO POR ROL · pantalla añil + lumora-services ---------- */
.pantalla-marca{background:var(--superficie-marca);color:var(--sobre-superficie-marca)}
.pantalla-marca .ceja{color:color-mix(in srgb,var(--sobre-superficie-marca) 84%,transparent)}
.pantalla-marca .titulo-xl em{color:var(--acento)}
.roles{padding:clamp(80px,11vw,150px) 0 clamp(60px,8vw,110px)}
.roles-cab{margin-bottom:clamp(36px,6vw,72px)}
.roles-lista{list-style:none;margin:0;padding:0;border-bottom:1px solid color-mix(in srgb,var(--sobre-superficie-marca) 30%,transparent)}
.rol{position:relative;display:grid;grid-template-columns:64px 200px minmax(0,1fr);gap:clamp(16px,3vw,48px);align-items:center;padding:22px 0;border-top:1px solid color-mix(in srgb,var(--sobre-superficie-marca) 30%,transparent);isolation:isolate}
.rol::before{content:"";position:absolute;inset:0 -3vw;z-index:-1;background:color-mix(in srgb,var(--sobre-superficie-marca) 9%,transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--curva)}
.rol:hover::before{transform:scaleX(1)}
.rol-n{align-self:start;font:400 1.4rem/1 var(--f-display);letter-spacing:.08em;opacity:.7;padding-top:6px}
.rol-foto{width:200px;height:250px;object-fit:cover;object-position:50% 20%;border-radius:999px 999px 2px 2px;filter:saturate(.92);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s}
.rol:hover .rol-foto{transform:scale(1.03);filter:saturate(1.05)}
.rol-txt{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px 40px;align-items:center}
.rol h3{font:400 clamp(3.4rem,8.6vw,8rem)/.84 var(--f-display);text-transform:uppercase}
.rol p{margin:0;max-width:36ch;font:400 clamp(1.2rem,1.6vw,1.45rem)/1.3 var(--f-habla);color:color-mix(in srgb,var(--sobre-superficie-marca) 88%,transparent)}
.roles-pie{margin:28px 0 0;max-width:60ch;font:400 1.05rem/1.45 var(--f-funcional);color:color-mix(in srgb,var(--sobre-superficie-marca) 82%,transparent)}
@media (max-width:900px){
  .rol{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"foto txt";gap:16px;align-items:start}
  .rol-n{display:none}
  .rol-foto{grid-area:foto;width:96px;height:124px}
  .rol-txt{grid-area:txt;grid-template-columns:1fr;gap:6px}
  .rol h3{font-size:clamp(2.6rem,12vw,4rem)}
  .rol p{font-size:1.15rem}
}

/* ---------- EL RENEC EN CIFRAS · lumora-stats + gráfica de unidades ---------- */
.cifras{padding:clamp(80px,11vw,150px) 0}
.cifras-rejilla{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.cifras-nota{margin:12px 0 0;font:italic 400 1.2rem/1.3 var(--f-habla);color:var(--piedra)}
.cifras-lista{list-style:none;margin:28px 0 28px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
.cifras-lista li{border-top:1px solid var(--arena);padding-top:12px}
.cifras-lista b{display:block;font:400 clamp(3rem,5.6vw,5rem)/.85 var(--f-display);font-variant-numeric:tabular-nums;color:var(--superficie-marca)}
html[data-modo="oscuro"] .cifras-lista b{color:#B9BCFF}
.cifras-lista span{display:block;margin-top:6px;font:500 .9375rem/1.3 var(--f-funcional);color:var(--piedra)}
.enlace-flecha{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;background:var(--tinta-papel);color:var(--papel);text-decoration:none;font:400 1.2rem/1 var(--f-display);letter-spacing:.08em}
.enlace-flecha span{transition:transform .3s var(--curva)}
.enlace-flecha:hover span{transform:translateX(4px)}
.barras{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.barras li{display:grid;grid-template-columns:minmax(150px,220px) 64px minmax(0,1fr);gap:12px;align-items:center;min-height:38px}
.barras .b-nom{font:600 .9375rem/1.2 var(--f-funcional)}
.barras .b-n{font:400 1.5rem/1 var(--f-display);text-align:right;font-variant-numeric:tabular-nums;color:var(--superficie-marca)}
html[data-modo="oscuro"] .barras .b-n{color:#B9BCFF}
.barras .b-n small{display:block;margin-top:2px;font:600 .875rem/1 var(--f-funcional);color:var(--piedra)}
.barras .b-barra{display:block;height:34px;position:relative}
/* Sin escena (WebGL/2D falló o sin JS): la barra se dibuja con CSS. */
.sin-escena .barras .b-barra::before{content:"";position:absolute;left:0;top:30%;bottom:30%;width:calc(var(--p,0) * 100%);background:var(--superficie-marca);border-radius:2px}
@media (max-width:900px){
  .cifras-rejilla{grid-template-columns:minmax(0,1fr)}
  .barras li{grid-template-columns:minmax(0,1fr) 52px;grid-template-areas:"nom n" "barra barra";gap:2px 10px}
  .barras .b-nom{grid-area:nom}.barras .b-n{grid-area:n}.barras .b-barra{grid-area:barra;height:30px}
}

/* ---------- CONVOCATORIAS · marcus-vane-ventures ---------- */
.convocatorias{background:var(--papel);padding:clamp(80px,11vw,140px) 0;border-top:1px solid var(--arena)}
.conv-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin-bottom:clamp(32px,5vw,56px)}
.conv-lead{margin:0;max-width:30ch;font:400 1.35rem/1.25 var(--f-habla);color:var(--piedra)}
.conv-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.conv-lista > :nth-child(2n){margin-top:clamp(0px,9vw,120px)}
.conv{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;border-radius:4px;background:var(--papel-2);border:1px solid var(--arena);overflow:hidden}
.conv-cuerpo{padding:24px 26px}
.conv-talon{display:grid;align-content:space-between;justify-items:center;gap:12px;padding:24px 18px;border-left:2px dashed var(--arena);width:150px;text-align:center}
.conv-incluye{list-style:none;margin:0 0 14px;padding:10px 12px;display:grid;gap:4px;border-radius:2px;background:color-mix(in srgb,var(--arena) 45%,transparent);font:500 .9375rem/1.4 var(--f-funcional)}
.conv-incluye b{font-weight:700}
.conv-ec{font:400 1.15rem/1 var(--f-display);letter-spacing:.1em;color:var(--senal)}
.conv h3{margin:8px 0 8px;font:400 clamp(1.6rem,2.4vw,2.1rem)/1.05 var(--f-habla)}
.conv-prop{margin:0 0 16px;font:400 .9375rem/1.45 var(--f-funcional);color:var(--piedra);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.conv-datos{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0 0 16px}
.conv-datos dt{font:400 .95rem/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--piedra)}
.conv-datos dd{margin:3px 0 0;font:600 .9375rem/1.3 var(--f-funcional)}
.cupo-fila{display:flex;justify-content:space-between;font:600 .875rem/1.3 var(--f-funcional);color:var(--piedra);margin-bottom:6px}
.cupo-barra{height:6px;border-radius:6px;background:var(--arena);overflow:hidden}
.cupo-barra i{display:block;height:100%;width:calc(var(--p,0) * 100%);background:var(--acento);border-radius:6px}
.conv-precio{font:400 1.7rem/1 var(--f-display);letter-spacing:.02em}
.conv-precio small{display:block;font:500 .875rem/1.2 var(--f-funcional);color:var(--piedra);letter-spacing:0}
.btn-pildora{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;background:var(--tinta-papel);color:var(--papel);text-decoration:none;font:400 1.2rem/1 var(--f-display);letter-spacing:.08em;white-space:nowrap;transition:transform .25s var(--curva)}
.btn-pildora:hover{transform:translateY(-2px)}
@media (max-width:760px){
  .conv-lista{grid-template-columns:1fr}
  .conv-lista > :nth-child(2n){margin-top:0}
  .conv{grid-template-columns:1fr}
  .conv-talon{width:auto;border-left:0;border-top:2px dashed var(--arena);grid-auto-flow:column;justify-content:space-between;align-items:center;justify-items:start;text-align:left}
}

/* ---------- PRIVACIDAD · artist-statement ---------- */
.declaracion{background:var(--papel);padding:clamp(72px,10vw,140px) 0;text-align:center;border-top:1px solid var(--arena)}
.declaracion .ceja{justify-content:center}
.declaracion-txt{margin:0 auto;max-width:22ch;font:400 clamp(2.3rem,6.4vw,6.2rem)/1 var(--f-habla);letter-spacing:-.015em;text-wrap:balance}
.declaracion-txt em{color:var(--superficie-marca)}
html[data-modo="oscuro"] .declaracion-txt em{color:var(--acento)}
.declaracion-firma{margin:26px 0 0;font:italic 400 1.3rem/1.2 var(--f-habla);color:var(--piedra)}

/* ---------- PREGUNTAS · artist-faq ---------- */
.faq{background:var(--papel);padding:clamp(40px,5vw,72px) 0 clamp(64px,8vw,112px);border-top:1px solid var(--arena)}
.faq-rejilla{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,80px);align-items:start}
.faq-lista details{border-top:1px solid var(--arena)}
.faq-lista details:last-child{border-bottom:1px solid var(--arena)}
.faq-lista summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:12px 0;cursor:pointer;list-style:none;font:400 clamp(1.35rem,2vw,1.75rem)/1.15 var(--f-habla)}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary::after{content:"+";flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--arena);font:400 1.6rem/1 var(--f-funcional);transition:transform .35s var(--curva),background .25s}
.faq-lista details[open] summary::after{transform:rotate(45deg);background:var(--arena)}
.faq-lista details p{margin:0 0 22px;max-width:62ch;font:400 1.0625rem/1.6 var(--f-funcional);color:var(--piedra)}
@media (max-width:760px){.faq-rejilla{grid-template-columns:1fr}}

/* ---------- PIE · lumora-footer + artist-footer ---------- */
.sitio .pie{margin:0;border:0;padding:clamp(70px,9vw,120px) 0 calc(10px + env(safe-area-inset-bottom));overflow:hidden}
.sitio .pie .wrap{display:block;color:inherit;font-size:1rem}
.pie-llamado{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px;padding-bottom:clamp(40px,6vw,72px);border-bottom:1px solid color-mix(in srgb,var(--sobre-superficie-marca) 30%,transparent)}
.pie-grande{margin:0;max-width:20ch;font:400 clamp(2.2rem,5.4vw,4.8rem)/1 var(--f-habla)}
.pie-grande em{color:var(--acento)}
.pantalla-marca .btn-pildora,.sitio .pie .btn-pildora{background:#F6F3EC;color:#121133}
.pie-fila{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:18px 0;font:500 .9375rem/1.3 var(--f-funcional)}
.pie-fila p{margin:0;color:color-mix(in srgb,var(--sobre-superficie-marca) 80%,transparent)}
.sitio .pie nav{display:flex;flex-wrap:wrap;gap:0 20px}
.sitio .pie nav a,.sitio .pie-boton{color:var(--sobre-superficie-marca)}
.pie-marca{margin:10px 0 -.16em;font:400 clamp(6rem,27vw,30rem)/.78 var(--f-display);letter-spacing:-.01em;text-transform:uppercase;color:color-mix(in srgb,var(--sobre-superficie-marca) 12%,transparent);white-space:nowrap;text-align:center;user-select:none}
.pie-marca::before{content:"Rednacer"}

/* ---------- WhatsApp (FAB) ---------- */
.wa-fab{position:fixed;z-index:30;right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#2E7A52;color:#fff;box-shadow:0 18px 40px -16px rgba(18,17,51,.6);transition:transform .25s var(--curva)}
.wa-fab:hover{transform:scale(1.06)}

/* ======================= ESTADÍSTICAS (negantropy-entropy sobre la escena) ======================= */
.est-heroe{min-height:calc(100dvh - 64px);display:grid;align-content:end;padding:clamp(40px,8vw,120px) 0 clamp(32px,5vw,64px)}
.est-heroe-rejilla{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:24px 48px;align-items:end}
.est-h1{font:400 clamp(4.4rem,13vw,13rem)/.8 var(--f-display);text-transform:uppercase;color:var(--superficie-marca)}
html[data-modo="oscuro"] .est-h1{color:#B9BCFF}
.est-h1 em{display:block;font-size:.34em;line-height:1;text-transform:none;color:var(--tinta-papel)}
.est-lead{margin:0;font:400 clamp(1.25rem,1.7vw,1.5rem)/1.3 var(--f-habla)}
.est-kpis{list-style:none;margin:clamp(28px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.est-kpis li{border-top:1.5px solid var(--tinta-papel);padding-top:10px;background:color-mix(in srgb,var(--papel) 70%,transparent);backdrop-filter:blur(2px)}
.est-kpis b{display:block;font:400 clamp(2.6rem,5vw,4.6rem)/.85 var(--f-display);font-variant-numeric:tabular-nums}
.est-kpis span{display:block;margin-top:6px;font:500 .9375rem/1.3 var(--f-funcional);color:var(--piedra)}
.est-cap{padding:clamp(70px,10vw,140px) 0}
.est-cap-cab{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px 48px;align-items:end;margin-bottom:clamp(28px,4vw,48px)}
.est-cap-cab p{margin:0;max-width:40ch;font:400 1.3rem/1.3 var(--f-habla);color:var(--piedra)}
.est-barras{max-width:1100px}
#barrasSector li{display:block;min-height:0}
#barrasNivel li{display:grid}
.b-fila{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(170px,260px) 64px minmax(0,1fr);gap:12px;align-items:center;width:100%;min-height:44px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}
.b-fila::before{content:"";position:absolute;inset:-2px -10px;z-index:-1;background:var(--arena);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--curva)}
.b-fila:hover::before,.b-fila[aria-pressed="true"]::before{transform:scaleX(1)}
#barrasNivel li{grid-template-columns:minmax(170px,260px) 64px minmax(0,1fr)}
.est-explorar{padding:clamp(70px,10vw,140px) 0}
.est-buscar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px}
.est-buscar .buscador-campo{flex:1 1 min(420px,100%);max-width:640px;min-width:0}
.est-filtro{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 8px 0 16px;border-radius:999px;background:var(--arena);font:600 .9375rem/1 var(--f-funcional)}
.est-filtro button{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:0;background:var(--papel-2);cursor:pointer;font:600 1rem/1 var(--f-funcional);color:var(--tinta-papel)}
.est-resumen{margin:0 0 14px;font:600 .9375rem/1.3 var(--f-funcional);color:var(--piedra)}
.est-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:10px}
.est-lista li{padding:14px 16px;border-radius:4px;background:color-mix(in srgb,var(--papel-2) 92%,transparent);border:1px solid var(--arena)}
.est-lista b{display:block;font:400 1.3rem/1 var(--f-display);letter-spacing:.04em;color:var(--superficie-marca)}
html[data-modo="oscuro"] .est-lista b{color:#B9BCFF}
.est-lista span{display:block;margin-top:4px;font:400 1.1rem/1.25 var(--f-habla)}
.est-lista small{display:block;margin-top:6px;font:500 .875rem/1.3 var(--f-funcional);color:var(--piedra)}
.est-mas{margin-top:16px}
.est-nota{margin-top:clamp(48px,7vw,90px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:16px 48px;padding-top:24px;border-top:1.5px solid var(--tinta-papel)}
.est-nota h2{font:400 clamp(2rem,3.6vw,3rem)/.95 var(--f-display);text-transform:uppercase}
.est-nota p{margin:0 0 10px;max-width:60ch;font:400 1.0625rem/1.55 var(--f-funcional);color:var(--piedra)}
@media (max-width:900px){
  .est-heroe-rejilla,.est-cap-cab,.est-nota{grid-template-columns:1fr}
  .est-kpis{grid-template-columns:1fr 1fr}
  .b-fila,#barrasNivel li{grid-template-columns:minmax(0,1fr) 52px;grid-template-areas:"nom n" "barra barra";gap:2px 10px}
  .b-fila .b-nom{grid-area:nom}.b-fila .b-n{grid-area:n}.b-fila .b-barra{grid-area:barra}
}

/* Movimiento reducido: todo en su estado final. */
@media (prefers-reduced-motion:reduce){
.sitio-js .ht-pal,
  .sitio-js [data-entra],.sitio-js [data-partir] .palabra,.sitio-js [data-revela],.sitio-js .hoja-bloque > *{opacity:1!important;transform:none!important;filter:none!important}
  .punto-vivo{animation:none}
}
html[data-modo="oscuro"] .pantalla-marca .titulo-xl em{color:var(--acento)}

/* Grano de papel (Halden: el suelo es papel, no un color plano). SVG de ruido en data: (la CSP permite img data:). */
body.sitio::before{content:"";position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
html[data-modo="oscuro"] body.sitio::before{opacity:.05;filter:invert(1)}
/* Celular: un grado más de legibilidad en lo secundario. */
@media (max-width:760px){
  .rol p{font-size:1.2rem;line-height:1.35}
  .te-pie,.cifras-lista span,.est-lista small,.hb-quien,.heroe-nota .nota-proto{font-size:.9375rem}
  .est-lista span{font-size:1.2rem}
  .faq-lista details p{font-size:1.0625rem;line-height:1.65}
}
/* Explorador: chips de sector y corte «Ver más» contundente. */
.est-sectores{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 0 14px;scrollbar-width:thin;overscroll-behavior-x:contain}
.est-sectores button{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--arena);background:var(--papel-2);color:var(--tinta-papel);font:600 .9375rem/1 var(--f-funcional);cursor:pointer;white-space:nowrap}
.est-sectores button[aria-pressed="true"]{background:var(--tinta-papel);color:var(--papel);border-color:var(--tinta-papel)}
.est-mas{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:64px;margin-top:18px;padding:0 24px;border:0;border-radius:4px;background:var(--tinta-papel);color:var(--papel);font:400 1.4rem/1 var(--f-display);letter-spacing:.06em;cursor:pointer}
.est-mas small{font:600 .9375rem/1 var(--f-funcional);letter-spacing:0;opacity:.8}
