/* IAVAI · Cinemática (biblioteca de técnicas de cine para IA). Se genera con tools/cinematica/build.py; esta hoja es a mano. */
body.cx{background:var(--bg,#0A0A0A);color:var(--fg,#FAFAF7);font-family:var(--font-sans,'Instrument Sans',sans-serif)}
.cx-wrap{max-width:1320px;margin:0 auto;padding:0 32px}
.cx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cx a{color:inherit}
.cx-eyebrow{font-family:var(--font-mono,monospace);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent,#00FF66);margin-bottom:22px}

/* Cabecera de la página */
.cx-hero{padding:150px 0 72px;border-bottom:1px solid var(--border,rgba(250,250,247,.07));background:radial-gradient(ellipse 70% 90% at 85% 0%,rgba(0,255,102,.07),transparent 60%)}
/* Vídeo de fondo (hero.mp4: 5 planos de TITAN, 15 s en bucle) + velo oscuro con trama de puntos */
.cx-hero{position:relative;overflow:hidden;isolation:isolate}
.cx-hero-fondo{position:absolute;inset:0;z-index:-1;background:#0A0A0A}
.cx-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;pointer-events:none}
.cx-hero-velo{position:absolute;inset:0;
  background:
    radial-gradient(rgba(0,0,0,.55) 1px,transparent 1.4px) 0 0/4px 4px,
    linear-gradient(90deg,rgba(10,10,10,.78) 0%,rgba(10,10,10,.38) 55%,rgba(10,10,10,.5) 100%),
    linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,0) 30%,rgba(10,10,10,.85) 100%)}
.cx-hero-texto{position:relative}
.cx-hero h1{font-family:var(--font-display,'Fraunces',serif);font-weight:200;font-size:clamp(56px,12vw,168px);line-height:.92;letter-spacing:-.035em;margin:0 0 32px}
.cx-punto{color:var(--accent,#00FF66);font-style:italic}
.cx-lead{font-size:clamp(17px,1.7vw,21px);line-height:1.6;color:var(--fg-2,#9E9A95);max-width:58ch}
.cx-datos{display:flex;flex-wrap:wrap;gap:12px 56px;margin:48px 0 0}
.cx-datos dt{font-family:var(--font-mono,monospace);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3,#8A8784);margin-bottom:6px}
.cx-datos dd{font-family:var(--font-display,serif);font-weight:300;font-size:34px;line-height:1}

/* Cómo funciona */
.cx-como{border-bottom:1px solid var(--border,rgba(250,250,247,.07))}
.cx-como-fila{display:grid;grid-template-columns:repeat(3,1fr)}
.cx-como-fila>div{padding:36px 32px 36px 0}
.cx-como-fila>div+div{padding-left:32px;border-left:1px solid var(--border,rgba(250,250,247,.07))}
.cx-como-fila span{font-family:var(--font-mono,monospace);font-size:11px;letter-spacing:.14em;color:var(--accent,#00FF66)}
.cx-como-fila h2{font-family:var(--font-display,serif);font-weight:300;font-size:24px;margin:10px 0 8px}
.cx-como-fila p{font-size:15px;line-height:1.55;color:var(--fg-2,#9E9A95)}

/* Barra de filtros fija */
.cx-barra{position:sticky;top:var(--cx-nav,72px);z-index:20;background:rgba(10,10,10,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border,rgba(250,250,247,.07));padding:16px 0 14px}
.cx-fila-1{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.cx-buscar{flex:1;max-width:420px}
.cx-buscar input{width:100%;background:var(--bg-3,#141414);border:1px solid var(--border-2,rgba(250,250,247,.18));border-radius:999px;color:inherit;font:inherit;font-size:15px;padding:11px 20px;outline:none;transition:border-color .2s}
.cx-buscar input:focus{border-color:var(--accent,#00FF66)}
.cx-buscar input::placeholder{color:var(--fg-3,#8A8784)}
.cx-contador{margin-left:auto;font-family:var(--font-mono,monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3,#8A8784)}
.cx-contador b{color:var(--fg,#FAFAF7);font-weight:500}
.cx-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cx-chip{flex:none}
.cx-chips-cat{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.cx-chips-cat::-webkit-scrollbar{display:none}
.cx-fila-2{margin-top:12px}
.cx-fila-2[hidden]{display:none}
.cx-mas-filtros{font:inherit;font-size:13px;color:var(--fg-2,#9E9A95);background:transparent;border:1px solid var(--border-2,rgba(250,250,247,.18));border-radius:999px;padding:9px 16px;cursor:pointer;white-space:nowrap}
.cx-mas-filtros:hover,.cx-mas-filtros[aria-expanded=true]{color:var(--fg,#FAFAF7);border-color:rgba(250,250,247,.4)}
.cx-mas-filtros::after{content:" ▾";font-size:11px}
.cx-mas-filtros[aria-expanded=true]::after{content:" ▴"}
.cx-etq{font-family:var(--font-mono,monospace);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3,#8A8784);margin-right:2px}
.cx-fila-2{display:flex;flex-wrap:wrap;gap:10px 32px;align-items:center}
.cx-chip{font:inherit;font-size:14px;color:var(--fg-2,#9E9A95);background:transparent;border:1px solid var(--border-2,rgba(250,250,247,.18));border-radius:999px;padding:7px 15px;cursor:pointer;transition:color .2s,border-color .2s,background .2s;white-space:nowrap}
.cx-chip span{font-family:var(--font-mono,monospace);font-size:11px;opacity:.6;margin-left:4px}
.cx-chip-s{font-size:13px;padding:5px 12px}
.cx-chip:hover{color:var(--fg,#FAFAF7);border-color:rgba(250,250,247,.4)}
.cx-chip[aria-pressed=true]{background:var(--accent,#00FF66);border-color:var(--accent,#00FF66);color:#0A0A0A;font-weight:500}
.cx-chip:focus-visible,.cx-copiar:focus-visible,.cx-limpiar:focus-visible{outline:2px solid var(--accent,#00FF66);outline-offset:2px}
.cx-limpiar{font:inherit;font-size:13px;background:none;border:0;color:var(--accent,#00FF66);cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* Rejilla de tarjetas */
.cx-biblioteca{padding-bottom:40px}
.cx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;padding:40px 0 20px}
.cx-card{display:flex;flex-direction:column;background:var(--bg-2,#0F0F0F);border:1px solid var(--border,rgba(250,250,247,.07));border-radius:6px;overflow:hidden;transition:border-color .25s,transform .25s}
.cx-card{content-visibility:auto;contain-intrinsic-size:auto 560px}
.cx-card[hidden]{display:none}
.cx-card:hover{border-color:rgba(0,255,102,.35);transform:translateY(-2px)}
.cx-card-media{position:relative;display:block;aspect-ratio:16/9;background:#050505;overflow:hidden}
.cx-card-media img,.cx-card-media video,.cx-ficha-media img,.cx-ficha-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-card-media video{opacity:0;transition:opacity .3s}
.cx-card-media.reproduce video{opacity:1}
.cx-card-media img{filter:grayscale(1);transition:filter .7s}
.cx-card:hover .cx-card-media img,.cx-card:focus-within .cx-card-media img,.cx-card-media.reproduce img{filter:none}
@media (hover:none){.cx-card-media img{filter:none}}
@media (prefers-reduced-motion:reduce){.cx-card-media img{transition:none}}
.cx-vacio{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:
  linear-gradient(rgba(250,250,247,.035) 1px,transparent 1px) 0 0/100% 25%,
  linear-gradient(90deg,rgba(250,250,247,.035) 1px,transparent 1px) 0 0/25% 100%,
  radial-gradient(ellipse at center,#161616,#080808)}
.cx-vacio::before,.cx-vacio::after{content:"";position:absolute;width:22px;height:22px;border:1px solid rgba(0,255,102,.5)}
.cx-vacio::before{top:14px;left:14px;border-right:0;border-bottom:0}
.cx-vacio::after{bottom:14px;right:14px;border-left:0;border-top:0}
.cx-vacio-n{font-family:var(--font-display,serif);font-weight:200;font-size:56px;line-height:1;color:rgba(250,250,247,.22)}
.cx-vacio-t{font-family:var(--font-mono,monospace);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,250,247,.28)}
.cx-num{position:absolute;top:12px;left:14px;font-family:var(--font-mono,monospace);font-size:10px;letter-spacing:.14em;color:rgba(250,250,247,.75);text-shadow:0 1px 6px rgba(0,0,0,.8)}
.cx-badge{position:absolute;top:10px;right:12px;font-family:var(--font-mono,monospace);font-size:9px;letter-spacing:.14em;text-transform:uppercase;background:rgba(0,0,0,.65);border:1px solid rgba(250,250,247,.25);padding:3px 8px;border-radius:999px}
.cx-card-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.cx-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.cx-tag{font-family:var(--font-mono,monospace);font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-2,rgba(250,250,247,.18));color:var(--fg-2,#9E9A95);padding:3px 9px;border-radius:999px}
.cx-tag-cat{color:var(--accent,#00FF66);border-color:rgba(0,255,102,.4)}
.cx-card h3{font-family:var(--font-display,serif);font-weight:300;font-size:25px;line-height:1.15;margin-bottom:4px}
.cx-card h3 a{text-decoration:none}
.cx-card h3 a:hover{color:var(--accent,#00FF66)}
.cx-en{font-family:var(--font-mono,monospace);font-size:11px;letter-spacing:.06em;color:var(--fg-3,#8A8784);margin-bottom:12px}
.cx-desc{font-size:14.5px;line-height:1.6;color:var(--fg-2,#9E9A95);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:20px}
.cx-acciones{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.cx-copiar{font:inherit;font-size:13.5px;font-weight:500;color:#0A0A0A;background:var(--accent,#00FF66);border:0;border-radius:999px;padding:9px 18px;cursor:pointer;transition:transform .15s,background .2s}
.cx-copiar:hover{transform:translateY(-1px)}
.cx-copiar.ok{background:#FAFAF7}
.cx-mas{font-size:13.5px;color:var(--fg-2,#9E9A95);text-decoration:none;white-space:nowrap}
.cx-mas:hover{color:var(--accent,#00FF66)}
.cx-vacio-msg{text-align:center;color:var(--fg-2,#9E9A95);padding:80px 0}

/* Llamada a contacto */
.cx-cta{border-top:1px solid var(--border,rgba(250,250,247,.07));background:var(--bg-2,#0F0F0F)}
.cx-cta-in{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:72px;padding-bottom:72px}
.cx-cta h2{font-family:var(--font-display,serif);font-weight:300;font-size:clamp(30px,4vw,50px);line-height:1.1;margin-bottom:14px}
.cx-cta p:not(.cx-eyebrow){max-width:56ch;line-height:1.6;color:var(--fg-2,#9E9A95)}
.cx-boton{flex:none;display:inline-flex;align-items:center;gap:10px;background:var(--accent,#00FF66);color:#0A0A0A!important;text-decoration:none;font-weight:500;padding:16px 28px;border-radius:999px;transition:transform .2s}
.cx-boton:hover{transform:translateY(-2px)}

/* Preguntas frecuentes */
.cx-faq{border-top:1px solid var(--border,rgba(250,250,247,.07))}
.cx-faq-in{display:grid;grid-template-columns:1fr 2fr;gap:64px;padding-top:88px;padding-bottom:120px}
.cx-faq h2{font-family:var(--font-display,serif);font-weight:300;font-size:clamp(30px,3.6vw,44px)}
.cx-faq-item{border-bottom:1px solid var(--border,rgba(250,250,247,.07))}
.cx-faq-item summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font-size:18px;position:relative}
.cx-faq-item summary::-webkit-details-marker{display:none}
.cx-faq-item summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--accent,#00FF66);transition:transform .2s}
.cx-faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.cx-faq-item p{padding:0 0 24px;line-height:1.7;color:var(--fg-2,#9E9A95);max-width:62ch}

/* Página de una técnica */
.cx-ficha{padding:120px 0 80px}
.cx-migas{display:flex;flex-wrap:wrap;gap:10px;font-family:var(--font-mono,monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3,#8A8784);margin-bottom:40px}
.cx-migas a{text-decoration:none}
.cx-migas a:hover{color:var(--accent,#00FF66)}
.cx-ficha-cab h1{font-family:var(--font-display,serif);font-weight:200;font-size:clamp(44px,8vw,104px);line-height:.98;letter-spacing:-.03em;margin:6px 0 14px}
.cx-en-grande{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px}
.cx-ficha-media{position:relative;aspect-ratio:16/9;margin:48px 0 40px;border:1px solid var(--border,rgba(250,250,247,.07));border-radius:6px;overflow:hidden;background:#050505}
.cx-ficha-media .cx-vacio-n{font-size:120px}
.cx-bloque{margin-top:40px}
.cx-bloque h2{font-family:var(--font-mono,monospace);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent,#00FF66);margin-bottom:16px}
.cx-bloque h2 small{color:var(--fg-3,#8A8784);font-size:inherit;margin-left:8px}
.cx-bloque>p{font-size:17px;line-height:1.7;color:var(--fg-2,#9E9A95);max-width:60ch}
.cx-prompt{display:flex;flex-direction:column;align-items:flex-start;gap:18px;background:var(--bg-3,#141414);border:1px solid var(--border-2,rgba(250,250,247,.18));border-left:3px solid var(--accent,#00FF66);border-radius:6px;padding:26px 28px}
.cx-prompt p{font-family:var(--font-mono,monospace);font-size:14.5px;line-height:1.75;color:var(--fg,#FAFAF7)}
.cx-dos{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.cx-rels{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cx-rel{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border,rgba(250,250,247,.07));background:var(--bg-2,#0F0F0F);border-radius:6px;padding:16px 18px;text-decoration:none;font-family:var(--font-display,serif);font-size:19px;font-weight:300;transition:border-color .2s}
.cx-rel:hover{border-color:rgba(0,255,102,.4)}
.cx-rel span{font-family:var(--font-mono,monospace);font-size:10px;letter-spacing:.14em;color:var(--accent,#00FF66)}
.cx-rel small{font-family:var(--font-mono,monospace);font-size:10px;color:var(--fg-3,#8A8784);letter-spacing:.04em}
.cx-pns{display:flex;justify-content:space-between;gap:20px;margin-top:56px;padding-top:28px;border-top:1px solid var(--border,rgba(250,250,247,.07))}
.cx-pn{display:flex;flex-direction:column;gap:4px;text-decoration:none;font-family:var(--font-display,serif);font-size:20px;font-weight:300}
.cx-pn small{font-family:var(--font-mono,monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3,#8A8784)}
.cx-pn-sig{margin-left:auto;text-align:right}
.cx-pn:hover{color:var(--accent,#00FF66)}

/* Pantallas medianas y móvil */
@media (max-width:1060px){
  .cx-grid{grid-template-columns:repeat(2,1fr)}
  .cx-rels{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .cx-wrap{padding:0 20px}
  .cx-hero{padding:110px 0 52px}
  .cx-datos{gap:18px 32px}
  .cx-como-fila{grid-template-columns:1fr}
  .cx-como-fila>div,.cx-como-fila>div+div{padding:24px 0;border-left:0}
  .cx-como-fila>div+div{border-top:1px solid var(--border,rgba(250,250,247,.07))}
  .cx-barra{padding:12px 0 10px}
  .cx-fila-1{flex-wrap:wrap;gap:8px 16px;margin-bottom:10px}
  .cx-buscar{max-width:none;flex-basis:100%}
  .cx-contador{margin-left:0}
  .cx-chips-cat{margin:0 -20px;padding:0 20px 4px}
  .cx-buscar{flex-basis:auto;flex:1}
  .cx-contador{flex-basis:100%;order:3;margin-top:-2px}
  .cx-grid{grid-template-columns:1fr;padding-top:24px}
  .cx-cta-in{flex-direction:column;align-items:flex-start;gap:28px;padding-top:56px;padding-bottom:56px}
  .cx-faq-in{grid-template-columns:1fr;gap:28px;padding-top:56px;padding-bottom:80px}
  .cx-ficha{padding-top:96px}
  .cx-dos{grid-template-columns:1fr;gap:0}
  .cx-prompt{padding:20px}
  .cx-pns{flex-direction:column}
  .cx-pn-sig{margin-left:0;text-align:left}
}
@media (prefers-reduced-motion:reduce){
  .cx-hero-video{display:none}
  .cx-hero-fondo{background:#0A0A0A url(../cinematica/hero-poster.jpg) center/cover;opacity:.62}
  .cx-card,.cx-copiar,.cx-boton{transition:none}
  .cx-card:hover,.cx-copiar:hover,.cx-boton:hover{transform:none}
}

/* Ficha: ejemplo, plantilla, mejores prácticas y errores */
.cx-nota{color:var(--fg2,#9E9A95);font-size:14px;line-height:1.5;margin:-4px 0 14px;max-width:70ch}
.cx-detalles{margin:14px 0 6px;color:var(--fg2,#9E9A95);font-size:14px}
.cx-detalles summary{cursor:pointer;color:var(--accent,#00FF66)}
.cx-detalles p{margin:10px 0 0;line-height:1.6;max-width:90ch;font-family:ui-monospace,Menlo,monospace;font-size:13px}
.cx-practicas{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:none}
.cx-practicas li{display:grid;grid-template-columns:44px 1fr;gap:6px 16px;align-items:start}
.cx-num-p{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--accent,#00FF66);padding-top:5px}
.cx-practicas h3{font-family:var(--font-display,serif);font-weight:300;font-size:22px;line-height:1.2;margin:0 0 4px}
.cx-practicas p{margin:0;line-height:1.6;max-width:72ch}
.cx-errores li{align-items:baseline}
.cx-errores .cx-num-p{color:#ff6b5e}
@media (max-width:560px){.cx-practicas li{grid-template-columns:34px 1fr;gap:4px 10px}}

/* Newsletter «IAVAI Cinemática» (bloque destacado en el listado y en cada ficha) */
.cx-nl{position:relative;overflow:hidden;isolation:isolate;border-top:1px solid var(--border,rgba(250,250,247,.07));background:radial-gradient(ellipse 60% 120% at 100% 0%,rgba(0,255,102,.13),transparent 60%),radial-gradient(ellipse 50% 100% at 0% 100%,rgba(0,255,102,.05),transparent 60%),var(--bg-2,#0F0F0F)}
.cx-nl-in{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;padding-top:88px;padding-bottom:88px}
.cx-nl h2{font-family:var(--font-display,serif);font-weight:200;font-size:clamp(34px,4.6vw,62px);line-height:1.04;letter-spacing:-.03em;margin:0 0 20px}
.cx-nl h2 em{color:var(--accent,#00FF66);font-style:italic}
.cx-nl-texto>p:not(.cx-eyebrow){max-width:54ch;line-height:1.65;color:var(--fg-2,#9E9A95);font-size:17px}
.cx-nl-lista{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cx-nl-lista li{font-family:var(--font-mono,monospace);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg,#FAFAF7);border:1px solid var(--border-2,rgba(250,250,247,.18));border-radius:999px;padding:9px 16px;background:rgba(10,10,10,.5)}
.cx-nl-lista li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent,#00FF66);margin-right:10px;vertical-align:1px}
.cx-nl-caja{background:rgba(10,10,10,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-2,rgba(250,250,247,.18));border-radius:20px;padding:36px}
.cx-nl-caja h3{font-family:var(--font-display,serif);font-weight:300;font-size:26px;line-height:1.15;margin:0 0 6px}
.cx-nl-caja .cx-nl-sub{color:var(--fg-2,#9E9A95);font-size:15px;line-height:1.5;margin:0 0 22px}
.cx-nl-form{display:grid;gap:14px}
.cx-nl-form[hidden],.cx-nl-exito[hidden],.cx-nl-error[hidden]{display:none}
.cx-nl-form input[type=email]{width:100%;background:var(--bg-3,#141414);border:1px solid var(--border-2,rgba(250,250,247,.18));border-radius:999px;color:inherit;font:inherit;font-size:16px;padding:15px 22px;outline:none;transition:border-color .2s}
.cx-nl-form input[type=email]::placeholder{color:var(--fg-3,#8A8784)}
.cx-nl-form input[type=email]:focus{border-color:var(--accent,#00FF66)}
.cx-nl-form button{font:inherit;font-weight:500;color:#0A0A0A;background:var(--accent,#00FF66);border:0;border-radius:999px;padding:16px 28px;cursor:pointer;transition:transform .2s,opacity .2s}
.cx-nl-form button:hover{transform:translateY(-2px)}
.cx-nl-form button:disabled{opacity:.6;cursor:progress;transform:none}
.cx-nl-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--fg-3,#8A8784);cursor:pointer}
.cx-nl-consent input{flex:none;margin-top:2px;accent-color:var(--accent,#00FF66)}
.cx-nl-consent a{color:var(--fg-2,#9E9A95);text-decoration:underline;text-underline-offset:3px}
.cx-nl-consent a:hover{color:var(--accent,#00FF66)}
.cx-nl-trampa{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.cx-nl-exito{font-family:var(--font-display,serif);font-style:italic;font-size:22px;line-height:1.4;color:var(--accent,#00FF66);outline:none}
.cx-nl-exito small{display:block;font-family:var(--font-sans,sans-serif);font-style:normal;font-size:14px;color:var(--fg-2,#9E9A95);margin-top:8px}
.cx-nl-error{color:#ff8a80;font-size:14px;line-height:1.5;margin:0}
.cx-nl-caja:focus-within{border-color:rgba(0,255,102,.4)}
@media (max-width:1060px){.cx-nl-in{gap:40px}}
@media (max-width:860px){
  .cx-nl-in{grid-template-columns:1fr;gap:32px;padding-top:56px;padding-bottom:56px}
  .cx-nl-caja{padding:26px 22px}
}
@media (prefers-reduced-motion:reduce){.cx-nl-form button{transition:none}.cx-nl-form button:hover{transform:none}}
/* El pie ya no repite el newsletter donde está el bloque grande */
body.cx footer .newsletter{display:none}

/* Categorías: enlaces desde la portada y páginas de categoría (SEO) */
.cx-cats{padding:56px 0 8px;border-bottom:1px solid var(--border,rgba(250,250,247,.07))}
.cx-cats h2{font-family:var(--font-display,serif);font-weight:300;font-size:clamp(26px,3vw,36px);margin:0 0 24px}
.cx-cats-lista{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 0 48px;margin:0}
.cx-cats-lista a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border:1px solid var(--border,rgba(250,250,247,.07));background:var(--bg-2,#0F0F0F);border-radius:6px;padding:18px 20px;text-decoration:none}
.cx-cats-lista a:hover{border-color:rgba(0,255,102,.4)}
.cx-cats-lista b{font-family:var(--font-display,serif);font-weight:300;font-size:20px}
.cx-cats-lista span{font-family:var(--font-mono,monospace);font-size:11px;letter-spacing:.12em;color:var(--accent,#00FF66);white-space:nowrap}
.cx-cats-chicas{grid-template-columns:repeat(4,1fr)}
.cx-cats-chicas a{padding:14px 16px;font-size:15px}
.cx-cat-cab{padding:140px 0 36px;border-bottom:1px solid var(--border,rgba(250,250,247,.07))}
.cx-cat-cab h1{font-family:var(--font-display,serif);font-weight:300;font-size:clamp(32px,5vw,64px);line-height:1.05;letter-spacing:-.02em;margin:0 0 24px;max-width:22ch}
.cx-intro p+p{margin-top:14px}
.cx-categoria .cx-biblioteca{padding-top:40px}
.cx-ver-todas{margin-top:22px;font-family:var(--font-mono,monospace);font-size:12px;letter-spacing:.1em}
.cx-ver-todas a{color:var(--accent,#00FF66);text-decoration:none}
.cx-ver-todas a:hover{text-decoration:underline}
@media(max-width:900px){.cx-cats-lista,.cx-cats-chicas{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cx-cats-lista,.cx-cats-chicas{grid-template-columns:1fr}}
