/* ==================================================================
   AIPJ · Capítulo Costa Rica · hoja única del sitio en WordPress
   1) adaptación a Elementor  2) estilos.css del sitio original  3) piezas de WordPress
================================================================== */
/* --- 1. Elementor se comporta como el marcado original ------------------------------- */
.aipj{--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px}
.aipj .elementor-element{--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;--kit-widget-spacing:0px}
:where(.aipj) .e-con{display:block;padding:0;gap:0;min-height:0;margin:0;width:auto}
:where(.aipj) .e-con-full.e-flex{flex-direction:row;flex-wrap:nowrap;align-items:normal;justify-content:normal;align-content:normal;gap:0;flex:initial}
:where(.aipj) [data-elementor-type]>.e-con{max-width:none;width:auto}
.aipj .elementor-widget{margin:0;max-width:none}
.aipj .elementor-widget-html{position:static}
.e-con>.elementor-widget{width:auto}
:where(.aipj) .elementor-heading-title{line-height:inherit}
:where(.aipj) :is(h1,h2,h3,h4).elementor-heading-title{line-height:1.1}
:where(.aipj) h1.elementor-heading-title{line-height:1.02}
:where(.aipj) .elementor-widget-image img{display:block;width:100%;height:auto}
:where(.aipj) .elementor-button{border-radius:0;line-height:inherit;font-size:inherit;padding:0;background:none}
:where(.aipj) .elementor-button-content-wrapper{gap:inherit}
body.aipj{font-family:"Source Serif 4",Georgia,serif}

/* --- 2. estilos.css del sitio original ----------------------------------------------- */
/* ==================================================================
   AIPJ · Capítulo Costa Rica
   Documento único y autocontenido.
   Tipografía: Cormorant Garamond (títulos), Source Serif 4 (lectura),
   Source Sans 3 (interfaz). Identidad derivada de la marca: carbón,
   carmín y oro.
================================================================== */:root{
  --carbon:#2B2C28;
  --carbon-2:#3D3E39;
  --carbon-3:#1E1F1B;
  --fondo:#FCFCFA;
  --fondo-2:#F2F1EC;
  --texto:#1B1C18;
  --gris:#5A5B52;
  --gris-claro:#8C8D84;
  --linea:#DCDCD3;
  --linea-osc:rgba(255,255,255,0.15);
  --carmin:#A6121F;
  --carmin-osc:#7E0D17;
  --oro:#A98545;
  --oro-claro:#C9A96A;
  /* dorado legible sobre fondo claro: cumple AA (>=4.5:1) contra --fondo,
     contra --fondo-2 de las secciones alternas y contra el blanco puro */
  --oro-osc:#806534;
  /* valores exactos que ya usaba el hero de la portada, ahora con nombre */
  --blanco:#FCFCFA;
  --sobre-oscuro:#E3E3DA;
  --sobre-oscuro-2:#DDDDD3;
  --sobre-oscuro-3:#A9AAA1;
  --ancho:1180px;
  --paso:clamp(4.5rem, 8vw, 7.5rem);
}*{box-sizing:border-box}html{scroll-behavior:smooth}body.aipj{
  margin:0;background:var(--fondo);color:var(--texto);
  font-family:"Source Serif 4",Georgia,serif;
  font-size:1.06rem;font-weight:400;line-height:1.72;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}.aipj img{max-width:100%;display:block}.aipj a{color:inherit}.aipj h1,
.aipj h2,
.aipj h3,
.aipj h4,
.aipj .display,
.aipj .cifra .n,
.aipj .ficha dd,
.aipj .hitos .cuando,
.aipj .cuota .monto,
.aipj .marca .rot b,
.aipj .autoridad strong,
.aipj .lema{
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
}.aipj h1,
.aipj h2,
.aipj h3,
.aipj h4,
.aipj .display{
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;
  font-weight:600;line-height:1.1;letter-spacing:-0.005em;margin:0;
  text-wrap:balance;color:var(--texto);
}.aipj h1{font-size:clamp(2.9rem,2rem + 3.6vw,5rem);line-height:1.02;font-weight:500}.aipj h2{font-size:clamp(2.1rem,1.6rem + 2.1vw,3.2rem);font-weight:500}.aipj h3{font-size:1.42rem}.aipj h4{font-size:1.15rem}.aipj p{margin:0 0 1.1em}.aipj p:last-child{margin-bottom:0}.aipj strong,
.aipj b{font-weight:600}.aipj .ui,
.aipj .eyebrow,
.aipj label,
.aipj .btn,
.aipj .w-btn .elementor-button,
.aipj .menu a,
.aipj .tabla thead th,
.aipj .nota-pie{
  font-family:"Source Sans 3",-apple-system,Segoe UI,sans-serif;
}.aipj .eyebrow{
  display:block;font-size:0.72rem;font-weight:600;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--oro-osc);margin-bottom:1.3rem;
  padding-top:1.1rem;position:relative;
}.aipj .eyebrow::before{content:"";position:absolute;top:0;left:0;width:46px;height:2px;background:var(--oro)}.aipj .oscuro .eyebrow{color:var(--oro-claro)}.aipj .oscuro .eyebrow::before{background:var(--oro)}.aipj .guia{font-size:1.2rem;line-height:1.68;color:#32332C}.aipj .nota{font-size:0.97rem;color:var(--gris)}.aipj .wrap{width:min(var(--ancho),calc(100% - 3rem));margin-inline:auto}.aipj .seccion{padding-block:var(--paso)}.aipj .alterna{background:var(--fondo-2)}.aipj .oscuro{background:var(--carbon);color:#E3E3DA}.aipj .oscuro h1,
.aipj .oscuro h2,
.aipj .oscuro h3,
.aipj .oscuro h4{color:#FCFCFA}.aipj .oscuro .guia{color:#DDDDD3}.aipj .oscuro .nota{color:#A9AAA1}.aipj .saltar{position:absolute;left:-999px;top:0;background:var(--carbon);color:#fff;padding:0.7rem 1.1rem;z-index:99}.aipj .saltar:focus{left:0.5rem;top:0.5rem}.aipj :focus-visible{outline:2px solid var(--carmin);outline-offset:3px}.aipj .oscuro :focus-visible{outline-color:var(--oro-claro)}

/* ---------- encabezado ---------- */.aipj .franja-sup{background:var(--carbon-3);color:#A9AAA1;font-size:0.8rem;font-family:"Source Sans 3",sans-serif}.aipj .franja-sup .wrap{display:flex;justify-content:space-between;gap:1rem;padding-block:0.55rem;flex-wrap:wrap}.aipj .franja-sup a{color:#C9CAC1;text-decoration:none}.aipj .franja-sup a:hover{color:#fff}.aipj .barra{position:sticky;top:0;z-index:40;background:rgba(252,252,250,0.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}.aipj .barra .wrap{display:flex;align-items:center;gap:1.5rem;min-height:96px}.aipj .marca{display:flex;align-items:center;gap:0.95rem;text-decoration:none;margin-right:auto}
/* Marca de la barra: el mismo archivo unico que el sello del hero. Se fija
   solo la altura y object-fit:contain impide que pueda estirarse aunque algo
   llegue a constrenir el ancho, asi que no puede volver a verse ovalada.     */.aipj .escudo-barra{
  height:clamp(54px,4.4vw,68px);width:auto;max-width:none;
  aspect-ratio:1;object-fit:contain;flex:none;
}.aipj .marca .rot{line-height:1.22;min-width:0}.aipj .marca .rot b{display:block;font-family:"Cormorant Garamond",serif;font-size:clamp(1.4rem,0.9rem + 0.85vw,1.62rem);font-weight:600;letter-spacing:0.005em;max-width:13.5em;text-wrap:balance}.aipj .marca .rot span{display:block;margin-top:0.2rem;font-family:"Source Sans 3",sans-serif;font-size:clamp(0.78rem,0.6rem + 0.32vw,0.9rem);font-weight:600;letter-spacing:0.17em;text-transform:uppercase;color:var(--carmin)}.aipj .menu{display:flex;gap:1.85rem;align-items:center;flex-shrink:0}.aipj .menu a{font-size:0.93rem;font-weight:500;letter-spacing:0.01em;text-decoration:none;color:#2E2F29;padding:0.4rem 0;border-bottom:2px solid transparent}.aipj .menu a:hover{color:var(--carmin)}.aipj .menu a.activo{border-bottom-color:var(--carmin);color:var(--carmin);font-weight:600}.aipj .abrir-menu{display:none;background:none;border:1px solid var(--linea);padding:0.5rem 0.85rem;font:inherit;font-family:"Source Sans 3",sans-serif;font-size:0.85rem;cursor:pointer}

/* ---------- botones ---------- */.aipj .btn,
.aipj .w-btn .elementor-button{
  display:inline-flex;align-items:center;gap:0.5rem;font-weight:600;font-size:0.92rem;
  letter-spacing:0.04em;text-transform:uppercase;padding:0.95rem 1.9rem;
  text-decoration:none;cursor:pointer;border:1px solid var(--carmin);
  background:var(--carmin);color:#fff;transition:background .2s ease,color .2s ease,border-color .2s ease;
}.aipj .btn:hover,
.aipj .w-btn .elementor-button:hover{background:var(--carmin-osc);border-color:var(--carmin-osc)}.aipj .btn.sec,
.aipj .w-btn.sec .elementor-button{background:transparent;color:var(--texto);border-color:var(--gris-claro)}.aipj .btn.sec:hover,
.aipj .w-btn.sec .elementor-button:hover{background:var(--carbon);border-color:var(--carbon);color:#fff}.aipj .oscuro .btn.sec,
.aipj .oscuro .w-btn.sec .elementor-button,
.aipj .portada .btn.sec,
.aipj .portada .w-btn.sec .elementor-button{color:#FCFCFA;border-color:var(--linea-osc)}.aipj .oscuro .btn.sec:hover,
.aipj .oscuro .w-btn.sec .elementor-button:hover,
.aipj .portada .btn.sec:hover,
.aipj .portada .w-btn.sec .elementor-button:hover{background:#FCFCFA;color:var(--carbon);border-color:#FCFCFA}.aipj .acciones{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.4rem}

/* ---------- portada ---------- */.aipj .portada{background:var(--carbon);color:#E3E3DA;padding-block:clamp(4rem,7vw,6.5rem);position:relative;overflow:hidden}.aipj .portada::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 78% 42%,rgba(169,133,69,0.16),transparent 62%);
}.aipj .portada .wrap{position:relative;z-index:1}.aipj .portada .hero{display:grid;grid-template-columns:1.2fr 0.8fr;gap:clamp(2rem,5vw,5rem);align-items:center}.aipj .portada h1{color:#FCFCFA;max-width:11em}.aipj .portada .institucion{
  font-family:"Source Sans 3",sans-serif;font-size:0.76rem;font-weight:600;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--oro-claro);display:block;margin-bottom:1.5rem;
}.aipj .portada .guia{max-width:34em;margin-top:1.8rem;color:#DDDDD3}
/* Sello del Capítulo. Archivo único y sin editar: assets/sello-cr.webp,
   620x620, WebP con transparencia y sin fondo blanco incrustado.
   Se fija SOLO la altura y el ancho lo deduce la propia imagen, de manera
   que no puede escalarse de forma no proporcional; object-fit:contain lo
   deja además a prueba de cualquier estrechamiento de la columna. El techo
   de 310 px sirve al archivo a exactamente 2x de densidad.
   El sello se muestra siempre derecho: lleva el escudo, la roseta y las
   palabras COSTA RICA en orientación fija, así que girar la imagen entera
   la dejaría boca abajo. El movimiento circular lo hace un anillo que la
   orbita, contenido en el relleno del contenedor para que nada sobresalga. */.aipj .emblema{
  position:relative;width:fit-content;max-width:100%;margin-inline:auto;
  padding:clamp(9px,1.1vw,15px);
  animation:aparecer 1.1s ease both;
}.aipj .emblema .sello-cr{
  display:block;position:relative;z-index:1;
  height:clamp(200px,24vw,310px);width:auto;max-width:100%;object-fit:contain;
  filter:drop-shadow(0 18px 44px rgba(0,0,0,0.45));
}.aipj .emblema::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:2px dashed rgba(201,169,106,0.5);pointer-events:none;
  animation:girar-anillo 46s linear infinite;
  will-change:transform;
}.aipj .emblema:hover::before{animation-play-state:paused}
@keyframes girar-anillo{to{transform:rotate(360deg)}}
@keyframes aparecer{from{opacity:0;transform:scale(0.94)}to{opacity:1;transform:none}}.aipj .ficha{
  border-top:1px solid var(--linea-osc);margin-top:clamp(2.8rem,5vw,4rem);
  padding-top:2rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;position:relative;z-index:1;
}.aipj .ficha dt{font-family:"Source Sans 3",sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.17em;text-transform:uppercase;color:var(--oro-claro);margin-bottom:0.5rem}.aipj .ficha dd{margin:0;font-size:1.14rem;color:#F1F1E9;font-family:"Cormorant Garamond",serif;font-weight:600}.aipj .ficha dd small{display:block;font-family:"Source Serif 4",serif;font-weight:400;color:#A9AAA1;font-size:0.85rem;margin-top:0.25rem;line-height:1.4}

/* ---------- cifras ---------- */.aipj .cifras{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}.aipj .cifra{padding:2.4rem 1.2rem;text-align:center;border-right:1px solid var(--linea)}.aipj .cifra:last-child{border-right:0}.aipj .cifra .n{display:block;font-family:"Cormorant Garamond",serif;font-size:clamp(2.6rem,2rem + 1.6vw,3.6rem);font-weight:500;line-height:1;color:var(--carmin)}.aipj .cifra .t{display:block;font-family:"Source Sans 3",sans-serif;font-size:0.72rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--gris);margin-top:0.8rem}

/* ---------- rejillas ---------- */.aipj .dos{display:grid;grid-template-columns:0.78fr 1.22fr;gap:clamp(2rem,5vw,5rem);align-items:start}.aipj .dos-igual{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}.aipj .lista-fines{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(2rem,4vw,4rem);margin-top:3rem}.aipj .fin{border-top:1px solid var(--linea);padding:1.8rem 0}.aipj .fin h3{margin-bottom:0.5rem}.aipj .fin p{font-size:1rem;color:#3A3B34;margin:0}.aipj .datos-inst{border-top:1px solid var(--linea)}.aipj .datos-inst div{display:grid;grid-template-columns:0.5fr 1fr;gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--linea)}.aipj .datos-inst dt{font-family:"Source Sans 3",sans-serif;font-size:0.72rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--gris);padding-top:0.3rem}.aipj .datos-inst dd{margin:0;font-size:1.02rem}

/* ---------- membresía ---------- */.aipj .niveles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}.aipj .nivel{background:#fff;border:1px solid var(--linea);padding:2.1rem 1.9rem;display:flex;flex-direction:column;position:relative}.aipj .nivel::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:var(--carmin)}.aipj .nivel .cat{font-family:"Source Sans 3",sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--oro);display:block;margin-bottom:0.8rem}.aipj .nivel h3{margin-bottom:1rem}.aipj .nivel ul{margin:0 0 1.8rem;padding-left:1.1rem;font-size:0.99rem;color:#3A3B34}.aipj .nivel li{margin-bottom:0.4rem}.aipj .nivel .derechos{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--linea);font-size:0.9rem;color:var(--gris)}.aipj .nivel .derechos b{color:var(--texto)}.aipj .condiciones{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:1.6rem}.aipj .condicion{border:1px solid var(--linea);padding:1.9rem 1.9rem;background:#fff}.aipj .condicion h3{font-size:1.22rem;margin-bottom:0.6rem}.aipj .condicion p{font-size:0.99rem;color:#3A3B34;margin:0}.aipj .alterna .condicion,
.aipj .alterna .nivel{background:var(--fondo)}

/* ---------- límites ---------- */.aipj .limites{border:1px solid var(--linea);border-left:3px solid var(--carmin);background:#fff;padding:2.2rem 2.4rem}.aipj .limites ol{margin:0;padding-left:1.3rem}.aipj .limites li{margin-bottom:0.95rem}.aipj .limites li:last-child{margin-bottom:0}.aipj .limites li::marker{color:var(--carmin);font-weight:600}

/* ---------- formulario ---------- */.aipj .formulario{background:#fff;border:1px solid var(--linea);padding:clamp(1.8rem,3vw,2.8rem)}.aipj .alterna .formulario{background:var(--fondo)}.aipj .campos{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.aipj .campo{display:flex;flex-direction:column;gap:0.4rem}.aipj .campo.ancho{grid-column:1 / -1}.aipj label{font-size:0.74rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gris)}.aipj input,
.aipj select,
.aipj textarea{
  font-family:"Source Serif 4",serif;font-size:1rem;color:var(--texto);
  padding:0.78rem 0.9rem;border:1px solid var(--linea);background:var(--fondo);
}.aipj input:focus,
.aipj select:focus,
.aipj textarea:focus{border-color:var(--carbon);background:#fff}.aipj textarea{resize:vertical;min-height:110px}.aipj .check{display:flex;gap:0.8rem;align-items:flex-start;grid-column:1 / -1;font-size:0.94rem;line-height:1.55;color:#3A3B34}.aipj .check input{margin-top:0.25rem;flex:none;width:17px;height:17px}.aipj .check span{font-family:"Source Serif 4",serif;font-size:0.95rem;font-weight:400;letter-spacing:0;text-transform:none;color:#3A3B34;line-height:1.6}.aipj .aviso{margin-top:1.4rem;font-size:0.95rem;padding:0.95rem 1.1rem;display:none}.aipj .aviso.ok{display:block;background:#EDF3EE;border:1px solid #4A7A55;color:#22482C}.aipj .aviso.mal{display:block;background:#F8E9E7;border:1px solid var(--carmin);color:var(--carmin-osc)}.aipj .obligatorio{color:var(--carmin)}.aipj .cuota{border:1px solid var(--linea);border-top:3px solid var(--oro);background:#fff;padding:1.9rem 2rem;margin-top:2rem}.aipj .alterna .cuota{background:var(--fondo)}.aipj .cuota .monto{display:flex;align-items:baseline;gap:0.9rem;white-space:nowrap;font-family:"Cormorant Garamond",serif;font-size:2.9rem;font-weight:500;color:var(--carmin);line-height:1;margin-bottom:1rem}.aipj .cuota .monto small{font-family:"Source Sans 3",sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gris)}.aipj .cuota p{font-size:0.97rem;color:#3A3B34;margin:0}

/* ---------- congreso ---------- */.aipj .portada-congreso{background:var(--carbon-3);color:#E3E3DA;padding-block:clamp(4rem,8vw,7rem);position:relative;overflow:hidden}.aipj .portada-congreso .sello-fondo{position:absolute;right:-7%;top:50%;transform:translateY(-50%);width:min(500px,54vw);opacity:0.10;pointer-events:none}.aipj .portada-congreso::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 78% 45%,rgba(169,133,69,0.20),transparent 62%);pointer-events:none;z-index:1}.aipj .portada-congreso .wrap{position:relative;z-index:1}.aipj .portada-congreso .eyebrow{
  font-size:clamp(0.95rem,0.82rem + 0.55vw,1.3rem);letter-spacing:0.13em;
  line-height:1.4;color:var(--oro-claro);max-width:30em;
  padding-top:1.4rem;margin-bottom:1.5rem;
}.aipj .portada-congreso .eyebrow::before{width:64px;height:3px}.aipj .lema{
  font-family:"Cormorant Garamond",serif;font-weight:500;
  font-size:clamp(2.4rem,1.6rem + 3.2vw,4.4rem);line-height:1.06;
  max-width:14em;color:#FCFCFA;letter-spacing:-0.005em;margin:0;
}.aipj .lema em{font-style:italic;color:var(--oro-claro)}.aipj .autoridades{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(2rem,4vw,4rem);margin-top:3rem}.aipj .autoridad{border-top:1px solid var(--linea);padding:1.4rem 0}.aipj .autoridad strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.32rem;font-weight:600}.aipj .autoridad span{font-size:0.94rem;color:var(--gris)}.aipj .suscripcion{display:flex;gap:0.8rem;flex-wrap:wrap;margin-top:2.2rem}.aipj .suscripcion input{min-width:290px;background:rgba(255,255,255,0.07);border-color:var(--linea-osc);color:#fff}.aipj .suscripcion input::placeholder{color:#9A9B92}

/* ---------- ejes ---------- */.aipj .ejes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem;align-items:start}.aipj .eje{background:#fff;border:1px solid var(--linea);padding:2rem 1.8rem;transition:border-color .2s ease,transform .2s ease}.aipj .alterna .eje{background:var(--fondo)}.aipj .eje:hover{border-color:var(--oro);transform:translateY(-2px)}.aipj .eje .num{display:block;font-family:"Source Sans 3",sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--oro);margin-bottom:0.7rem}.aipj .eje h3{font-size:1.3rem;margin-bottom:0.7rem}.aipj .eje p{font-size:0.97rem;color:#3A3B34;margin:0}

/* ---------- ejes: afiche con movimiento y contenido desplegable ----------
   Sin JavaScript la tarjeta se muestra completa; la clase .viva
   (que agrega js/sitio.js) activa el plegado y el movimiento.       */.aipj .ejes-figuras .eje{padding:0}.aipj .ejes-figuras .eje-cabeza{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}.aipj .eje-cara{
  display:block;width:100%;text-align:left;background:none;border:0;
  padding:1.9rem 1.7rem;font:inherit;color:inherit;cursor:default;
  -webkit-tap-highlight-color:transparent;
}.aipj .eje-rot{display:block}.aipj .eje-titulo{
  display:block;font-family:"Cormorant Garamond",Garamond,Georgia,serif;
  font-size:1.3rem;font-weight:600;line-height:1.16;letter-spacing:-0.005em;
  color:var(--texto);text-wrap:balance;
}.aipj .eje-pie{
  display:none;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:1.4rem;padding-top:0.9rem;border-top:1px solid var(--linea);
}.aipj .eje-accion{font-family:"Source Sans 3",sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gris)}.aipj .eje-accion::after{content:"Ver el contenido"}.aipj .eje-signo{position:relative;width:15px;height:15px;flex:none;color:var(--oro);transition:transform .35s cubic-bezier(.22,.61,.36,1),color .3s ease}.aipj .eje-signo::before,
.aipj .eje-signo::after{content:"";position:absolute;inset:50% 0 auto;height:1.5px;background:currentColor;transform:translateY(-50%)}.aipj .eje-signo::after{inset:0 50% auto;width:1.5px;height:100%;transform:translateX(-50%)}.aipj .eje-desc p{padding:0 1.7rem 1.9rem}.aipj .ejes-figuras.viva .eje-cara{cursor:pointer}.aipj .ejes-figuras.viva .eje-pie{display:flex}.aipj .ejes-figuras.viva .eje-desc{
  display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows .5s cubic-bezier(.22,.61,.36,1),opacity .35s ease;
}.aipj .ejes-figuras.viva .eje-desc > *{overflow:hidden;min-height:0}.aipj .ejes-figuras.viva .eje.abierta .eje-desc{grid-template-rows:1fr;opacity:1}.aipj .ejes-figuras.viva .eje.abierta{border-color:var(--oro)}.aipj .ejes-figuras.viva .eje.abierta .eje-signo{transform:rotate(135deg);color:var(--carmin)}.aipj .ejes-figuras.viva .eje.abierta .eje-accion{color:var(--carmin)}.aipj .ejes-figuras.viva .eje.abierta .eje-accion::after{content:"Cerrar"}.aipj .eje-cara:focus-visible{outline:2px solid var(--carmin);outline-offset:-3px}.aipj .nota-ejes{margin-top:1.1rem}

/* lámina del afiche: sustituye a la figura de trazo en los ejes ilustrados */.aipj .eje-lamina{
  display:block;position:relative;overflow:hidden;margin-bottom:1.4rem;
  background:var(--fondo-2);border:1px solid var(--linea);
}.aipj .eje-lamina img{width:100%;height:auto;aspect-ratio:1400/876;object-fit:cover;transition:transform .5s cubic-bezier(.22,.61,.36,1)}.aipj .eje-lamina::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,0.5) 50%,transparent 62%);
  transform:translateX(-110%);
}.aipj .eje-afiche{
  display:inline-flex;align-items:center;gap:0.55rem;margin:0 1.7rem 1.9rem;
  padding:0;background:none;border:0;cursor:pointer;
  font-family:"Source Sans 3",sans-serif;font-size:0.78rem;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--carmin);
  border-bottom:1px solid var(--oro);padding-bottom:0.25rem;
  transition:color .2s ease,border-color .2s ease;
}.aipj .eje-afiche::after{content:"";width:16px;height:1px;background:currentColor;transition:width .25s ease}.aipj .eje-afiche:hover{color:var(--carbon);border-color:var(--carbon)}.aipj .eje-afiche:hover::after{width:24px}.aipj .eje-afiche:focus-visible{outline:2px solid var(--carmin);outline-offset:3px}.aipj .eje-desc p:has(+ .eje-afiche){padding-bottom:1.2rem}

/* visor del afiche */.aipj .lupa{
  border:0;padding:0;background:none;max-width:min(1180px,94vw);max-height:94vh;
  width:min(1180px,94vw);color:#E3E3DA;
}.aipj .lupa::backdrop{background:rgba(27,28,24,0.88)}.aipj .lupa-caja{background:var(--carbon-3);padding:1rem;border:1px solid rgba(255,255,255,0.14)}.aipj .lupa-barra{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:0.3rem 0.2rem 0.9rem}.aipj .lupa-titulo{
  margin:0;font-family:"Source Sans 3",sans-serif;font-size:0.74rem;font-weight:700;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--oro-claro);
}.aipj .lupa-cerrar{
  flex:none;background:none;border:1px solid rgba(255,255,255,0.28);color:#FCFCFA;cursor:pointer;
  font-family:"Source Sans 3",sans-serif;font-size:0.72rem;font-weight:700;letter-spacing:0.14em;
  text-transform:uppercase;padding:0.5rem 0.95rem;transition:background-color .2s ease,border-color .2s ease;
}.aipj .lupa-cerrar:hover{background:var(--carmin);border-color:var(--carmin)}.aipj .lupa-marco{overflow:auto;background:#000;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.aipj .lupa-marco img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain}.aipj .lupa-pie{
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;
  margin:0;padding:0.85rem 0.2rem 0.25rem;
  font-family:"Source Sans 3",sans-serif;font-size:0.74rem;letter-spacing:0.04em;color:#A9AAA1;
}.aipj .lupa-pista{display:none}.aipj .lupa-enlace{color:var(--oro-claro);text-decoration:none;border-bottom:1px solid rgba(201,169,106,0.5);padding-bottom:0.15rem}.aipj .lupa-enlace:hover{color:#FCFCFA;border-color:#FCFCFA}
@media (max-width:700px){.aipj .lupa-marco img{width:920px;max-width:none;max-height:none}.aipj .lupa-pista{display:block}
}.aipj .lupa[open]{animation:lupa-entra .3s ease}
@keyframes lupa-entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* en rejilla, dos líneas de título alinean el pie de todas las tarjetas */
@media (min-width:901px){.aipj .ejes-figuras .eje-titulo{min-height:2.35em}}
/* movimiento: el afiche se acerca y lo recorre un destello al tocarlo */
@keyframes eje-acerca{0%{transform:scale(1)}38%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes eje-destello{from{transform:translateX(-110%)}to{transform:translateX(110%)}}.aipj .ejes-figuras.viva .eje.animando .eje-lamina img{animation:eje-acerca .85s cubic-bezier(.34,1.1,.5,1) both}.aipj .ejes-figuras.viva .eje.animando .eje-lamina::after{animation:eje-destello .85s cubic-bezier(.4,0,.2,1) both}.aipj .ejes-figuras.viva .eje.abierta .eje-lamina{border-color:var(--oro)}
@media (hover:hover) and (pointer:fine){.aipj .ejes-figuras.viva .eje-cara:hover .eje-accion{color:var(--carbon-2)}.aipj .ejes-figuras.viva .eje-cara:hover .eje-lamina img{transform:scale(1.045)}.aipj .ejes-figuras.viva .eje-cara:hover .eje-lamina{border-color:var(--oro)}
}
@media (prefers-reduced-motion:reduce){.aipj .eje-signo,
.aipj .eje-lamina img{transition:none}.aipj .ejes-figuras.viva .eje.animando .eje-lamina img,
.aipj .ejes-figuras.viva .eje.animando .eje-lamina::after{animation:none}.aipj .ejes-figuras.viva .eje-desc{transition:opacity .2s ease}
}

/* ---------- carrusel de coordinaciones ----------
   La pista se recorre con el dedo, la rueda o el teclado incluso sin
   JavaScript; la clase .viva (que agrega js/sitio.js) suma las flechas,
   el indicador y el deslizamiento continuo, que duplica la serie de
   sellos para que el final empalme con el principio.                */.aipj .carrusel{--vista:4;--hueco:1.75rem;margin-top:3.2rem}.aipj .carrusel-pista{
  display:flex;gap:var(--hueco);overflow-x:auto;padding:0.6rem 0 1.5rem;
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;
}.aipj .carrusel-pista::-webkit-scrollbar{display:none}.aipj .carrusel-pista:focus-visible{outline:2px solid var(--oro);outline-offset:3px}.aipj .sello-item{
  flex:0 0 calc((100% - (var(--vista) - 1) * var(--hueco)) / var(--vista));
  text-align:center;background:#fff;
  border:1px solid var(--linea);padding:2rem 1.3rem 1.7rem;
  transition:border-color .3s ease,box-shadow .35s ease,
             opacity .6s ease,transform .55s cubic-bezier(.22,.61,.36,1);
}.aipj .alterna .sello-item{background:var(--fondo)}.aipj .sello-item img{
  display:block;width:min(150px,74%);height:auto;margin:0 auto 1rem;
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}.aipj .sello-item h4{font-size:1.05rem;line-height:1.25;margin-bottom:0.25rem}.aipj .sello-item span{display:block;font-family:"Source Sans 3",sans-serif;font-size:0.78rem;color:var(--gris);line-height:1.45}

/* movimiento: la pista se desliza sola y cada sello entra al aparecer.
   Con la pista viva el ancho lo fija --paso (que js/sitio.js redondea a
   píxeles enteros) para que la serie empalme sin desfase.            */.aipj .carrusel.viva .sello-item{flex-basis:calc(var(--paso) - var(--hueco));opacity:0;transform:translateY(18px)}.aipj .carrusel.viva .sello-item.dentro{opacity:1;transform:none}.aipj .sello-item:hover,
.aipj .sello-item:focus-within{border-color:var(--oro);box-shadow:0 16px 34px -26px rgba(43,44,40,0.55)}.aipj .sello-item:hover img,
.aipj .sello-item:focus-within img{transform:scale(1.07)}
/* con la pista en marcha el cursor solo resalta el sello: acercar la imagen
   mientras se desliza haría crecer uno tras otro en oleada. El foco, que sí
   detiene el hilo, conserva el realce.                                    */.aipj .carrusel.viva .sello-item:hover:not(:focus-within) img{transform:none}.aipj .carrusel.viva .sello-item.dentro:hover:not(:focus-within){transform:none}.aipj .carrusel.viva .sello-item.dentro:focus-within{transform:translateY(-5px)}

/* mandos: flechas, avance recorrido, posición y pausa */.aipj .carrusel-mandos{display:flex;align-items:center;gap:0.9rem;border-top:1px solid var(--linea);padding-top:1.2rem}.aipj .carrusel-mandos[hidden]{display:none}.aipj .carrusel-flecha{
  flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;padding:0;
  background:#fff;border:1px solid var(--linea);color:var(--carbon);cursor:pointer;
  transition:border-color .25s ease,color .25s ease,background-color .25s ease;
}.aipj .carrusel-flecha:hover{border-color:var(--oro);color:var(--carmin)}.aipj .carrusel-flecha:active{background:var(--fondo-2)}.aipj .carrusel-flecha svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.aipj .carrusel-barra{flex:1 1 auto;position:relative;height:2px;min-width:56px;background:var(--linea);overflow:hidden}.aipj .carrusel-pulgar{position:absolute;top:0;left:0;height:100%;width:28%;background:var(--oro)}.aipj .carrusel-cuenta{
  flex:0 0 auto;margin:0;font-family:"Source Sans 3",sans-serif;font-size:0.72rem;
  font-weight:600;letter-spacing:0.14em;color:var(--gris);font-variant-numeric:tabular-nums;
}.aipj .carrusel-pausa{
  flex:0 0 auto;background:none;border:0;padding:0.2rem 0;cursor:pointer;
  font-family:"Source Sans 3",sans-serif;font-size:0.72rem;font-weight:600;
  letter-spacing:0.14em;text-transform:uppercase;color:var(--carmin);
  border-bottom:1px solid var(--oro);transition:color .25s ease,border-color .25s ease;
}.aipj .carrusel-pausa:hover{color:var(--carbon);border-color:var(--carbon)}
@media (max-width:1024px){.aipj .carrusel{--vista:3;--hueco:1.5rem}}
@media (max-width:900px){.aipj .carrusel{--vista:2;--hueco:1.25rem}}
@media (max-width:640px){.aipj .carrusel{--vista:1.12;--hueco:1rem}.aipj .carrusel-mandos{flex-wrap:wrap;gap:0.8rem}.aipj .carrusel-barra{order:2;flex-basis:100%}.aipj .carrusel-cuenta{margin-left:auto}.aipj .sello-item{padding:1.8rem 1.2rem 1.5rem}
}

/* ---------- tablas ---------- */.aipj .tabla-envoltura{overflow-x:auto;margin-top:2.6rem}.aipj .tabla{width:100%;border-collapse:collapse;font-size:1rem;background:#fff;min-width:620px}.aipj .alterna .tabla{background:var(--fondo)}.aipj .tabla th,
.aipj .tabla td{padding:1.05rem 1.2rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--linea)}.aipj .tabla thead th{
  font-size:0.7rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gris);
  border-bottom:2px solid var(--carbon);white-space:nowrap;padding-bottom:0.8rem;
}.aipj .tabla thead th small{display:block;font-family:"Source Serif 4",serif;font-size:0.76rem;letter-spacing:0;text-transform:none;font-weight:400;color:var(--gris-claro);margin-top:0.3rem}.aipj .tabla tbody th{font-weight:600;white-space:nowrap}.aipj .tabla tbody tr:last-child th,
.aipj .tabla tbody tr:last-child td{border-bottom:0}.aipj .tarifas td{font-variant-numeric:tabular-nums;font-weight:600;color:var(--carbon)}.aipj .tarifas tbody th{white-space:normal;font-weight:400}.aipj .tarifas td.pendiente{
  font-family:"Source Sans 3",-apple-system,Segoe UI,sans-serif;
  font-weight:400;font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--gris-claro);white-space:nowrap;
}

/* ---------- hitos ---------- */.aipj .hitos{list-style:none;margin:3rem 0 0;padding:0;border-top:1px solid var(--linea)}.aipj .hitos li{display:grid;grid-template-columns:16rem 1fr;gap:2rem;padding:1.4rem 0;border-bottom:1px solid var(--linea);align-items:baseline}.aipj .hitos .cuando{font-family:"Cormorant Garamond",serif;font-size:1.35rem;font-weight:600;color:var(--carmin)}.aipj .hitos .que{color:#3A3B34;font-size:1rem}

/* ---------- legado ---------- */.aipj .legado{margin:0;padding-left:1.2rem}.aipj .legado li{margin-bottom:0.95rem;font-size:1.03rem}.aipj .legado li::marker{color:var(--oro)}

/* ---------- enlaces a la red AIPJ ---------- */.aipj .enlaces{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:3rem}.aipj .enlace{
  border:1px solid var(--linea-osc);padding:2rem 1.9rem;background:rgba(255,255,255,0.03);
  display:flex;flex-direction:column;transition:border-color .25s ease,background .25s ease;
}.aipj .enlace:hover{border-color:var(--oro);background:rgba(169,133,69,0.07)}.aipj .enlace .icono{width:44px;height:44px;margin-bottom:1.3rem;color:var(--oro-claro)}.aipj .enlace h3{font-size:1.42rem;margin-bottom:0.65rem}.aipj .enlace p{font-size:0.96rem;color:#CFCFC6;margin-bottom:1.7rem}.aipj .enlace .btn,
.aipj .enlace .w-btn .elementor-button{margin-top:auto;align-self:flex-start}.aipj .enlace .dominio{
  font-family:"Source Sans 3",sans-serif;font-size:0.7rem;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--gris-claro);margin-top:1rem;
}

/* ---------- correos ---------- */.aipj .correos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.aipj .correo{border:1px solid var(--linea-osc);padding:1.5rem 1.6rem;background:rgba(255,255,255,0.03)}.aipj .correo dt{font-family:"Source Sans 3",sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--oro-claro);margin-bottom:0.5rem}.aipj .correo dd{margin:0}.aipj .correo a{font-size:1rem;color:#FCFCFA;text-decoration:none;border-bottom:1px solid rgba(169,133,69,0.6);word-break:break-all}.aipj .correo a:hover{border-bottom-color:#FCFCFA}

/* ---------- publicaciones ---------- */.aipj .entradas{margin-top:3rem;border-top:1px solid var(--linea)}.aipj .entrada-item{display:grid;grid-template-columns:10rem 1fr auto;gap:2rem;align-items:baseline;padding:1.8rem 0;border-bottom:1px solid var(--linea);text-decoration:none}.aipj .entrada-item:hover h3{color:var(--carmin)}.aipj .entrada-item .fecha{font-family:"Source Sans 3",sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.1em;color:var(--gris);text-transform:uppercase}.aipj .entrada-item p{font-size:0.99rem;color:var(--gris);margin:0.4rem 0 0}.aipj .entrada-item .mas{font-family:"Source Sans 3",sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--carmin);white-space:nowrap}.aipj .vacio{border:1px solid var(--linea);padding:3rem;text-align:center;color:var(--gris);background:#fff}.aipj .articulo{max-width:40em}.aipj .articulo .fecha{display:block;font-family:"Source Sans 3",sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--gris);margin-bottom:2rem}.aipj .articulo p{font-size:1.12rem;line-height:1.75}.aipj .volver{display:inline-block;font-family:"Source Sans 3",sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--carmin);text-decoration:none;margin-bottom:2rem}

/* ---------- notas técnicas (/publicaciones) ---------- */
/* El listado llega ya maquetado desde generar_notas.py, así que no depende
   de JavaScript. La barra de filtros nace oculta y solo la descubre
   js/notas-filtro.js. Arriba de la página, el carrusel de .carrusel-notas
   sirve para hojear; este listado, para buscar. Cada nota se lee y se
   descarga por separado: no hay descarga conjunta del cuaderno.         */.aipj .notas-una{
  margin-top:1.1rem;font-family:"Source Sans 3",sans-serif;font-size:0.92rem;
  line-height:1.7;color:var(--gris);
}.aipj .notas-filtro{display:flex;flex-wrap:wrap;gap:0.35rem 1.7rem;margin-top:2.8rem}.aipj .notas-filtro button{
  font-family:"Source Sans 3",sans-serif;font-size:0.86rem;font-weight:500;letter-spacing:0.02em;
  background:none;border:0;border-bottom:2px solid transparent;padding:0.4rem 0;cursor:pointer;color:var(--gris);
}.aipj .notas-filtro button:hover{color:var(--texto)}.aipj .notas-filtro button.activo{color:var(--carmin);border-bottom-color:var(--carmin);font-weight:600}.aipj .notas-filtro .n{font-size:0.72rem;color:var(--gris-claro);margin-left:0.3rem}.aipj .notas-filtro button.activo .n{color:var(--carmin)}.aipj .notas-lista{margin-top:2.6rem;max-width:58rem;border-top:1px solid var(--linea)}.aipj .nota-tarjeta{display:grid;grid-template-columns:7.5rem 1fr;gap:2rem;align-items:baseline;padding:1.9rem 0;border-bottom:1px solid var(--linea)}.aipj .nota-num{
  margin:0;font-family:"Cormorant Garamond",serif;font-size:2.1rem;font-weight:500;line-height:1;
  color:var(--oro-osc);font-variant-numeric:lining-nums;
}.aipj .nota-num span{
  display:block;font-family:"Source Sans 3",sans-serif;font-size:0.66rem;font-weight:600;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--gris-claro);margin-bottom:0.45rem;
}.aipj .nota-cuerpo h3{font-size:1.34rem;font-weight:500;line-height:1.34;max-width:36em;margin:0}.aipj .nota-cuerpo h3 a{text-decoration:none;color:inherit}.aipj .nota-cuerpo h3 a:hover{color:var(--carmin)}.aipj .nota-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1.1rem;margin:0.85rem 0 0;
  font-family:"Source Sans 3",sans-serif;font-size:0.82rem;color:var(--gris);
}.aipj .nota-cat{
  border:1px solid var(--linea);background:#fff;padding:0.24rem 0.7rem;
  font-size:0.72rem;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;color:var(--oro-osc);
}
/* el filtro oculta tarjetas con el atributo hidden: sin esta regla el
   display:grid de la tarjeta se impondría y seguirían a la vista        */.aipj .nota-tarjeta[hidden]{display:none}.aipj .nota-resumen{margin:0.9rem 0 0;max-width:40em;font-size:1rem;line-height:1.62;color:var(--gris)}.aipj .nota-acciones{display:flex;flex-wrap:wrap;align-items:center;gap:0.9rem 1.5rem;margin:1.4rem 0 0}.aipj .nota-acciones .btn,
.aipj .nota-acciones .w-btn .elementor-button{
  font-family:"Source Sans 3",sans-serif;font-size:0.82rem;
  padding:0.78rem 1.5rem;min-height:44px;
}
/* descarga de una sola nota: enlace sobrio, no un segundo botón que
   compita con «Leer la nota»                                            */.aipj .nota-descarga{
  display:inline-flex;align-items:center;gap:0.5rem;min-height:44px;
  font-family:"Source Sans 3",sans-serif;font-size:0.8rem;font-weight:600;
  letter-spacing:0.06em;text-transform:uppercase;color:var(--oro-osc);
  text-decoration:none;border-bottom:1px solid var(--linea);
  transition:color .2s ease,border-color .2s ease;
}.aipj .nota-descarga:hover{color:var(--carmin);border-bottom-color:var(--carmin)}.aipj .nota-descarga svg{width:17px;height:17px;flex:none}.aipj .notas-aviso{
  max-width:52rem;margin:3rem 0 0;padding-top:1.6rem;border-top:2px solid var(--carmin);
  font-family:"Source Sans 3",sans-serif;font-size:0.88rem;line-height:1.68;color:var(--gris);
}

@media (max-width:700px){.aipj .notas-filtro{gap:0.2rem 1.2rem}.aipj .nota-tarjeta{grid-template-columns:1fr;gap:0.7rem}.aipj .nota-num{display:flex;align-items:baseline;gap:0.6rem;font-size:1.6rem}.aipj .nota-num span{margin:0}.aipj .nota-cuerpo h3{font-size:1.2rem}
}

/* ---------- banda de llamada ---------- */.aipj .banda{background:var(--fondo-2);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}.aipj .banda .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:2.2rem;align-items:center;padding-block:3rem}.aipj .banda img{width:96px}.aipj .banda h3{font-size:1.65rem;margin-bottom:0.35rem}.aipj .banda p{margin:0;color:var(--gris);font-size:1rem}

/* ---------- contacto y pie ---------- */.aipj .contacto dl{margin:0}.aipj .contacto dt{font-family:"Source Sans 3",sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--oro-claro);margin-top:1.8rem}.aipj .contacto dd{margin:0.35rem 0 0;font-size:1.05rem}.aipj .contacto dd a{color:#FCFCFA;text-decoration:none;border-bottom:1px solid rgba(169,133,69,0.6)}.aipj .hilo{height:4px;background:linear-gradient(90deg,var(--carmin) 0 33.33%,var(--oro) 33.33% 66.66%,var(--carbon-2) 66.66% 100%)}.aipj .pie{background:var(--carbon-3);color:#9A9B92;padding:3rem 0 5.5rem;font-size:0.9rem}.aipj .pie .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem}.aipj .pie p{margin:0 0 0.55rem}.aipj .pie .normas{font-size:0.84rem;line-height:1.65}

/* ---------- fotografía ---------- */.aipj .portada-congreso{background:var(--carbon-3)}.aipj .foto-fondo{position:absolute;inset:0;overflow:hidden;pointer-events:none}.aipj .foto-fondo img{width:100%;height:100%;object-fit:cover;opacity:0.9;object-position:center 42%}.aipj .foto-fondo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(95deg,rgba(30,31,27,0.95) 0%,rgba(30,31,27,0.85) 38%,rgba(30,31,27,0.55) 72%,rgba(30,31,27,0.35) 100%);
}.aipj .figura{margin:0;position:relative}.aipj .figura img{width:100%;height:auto;display:block}.aipj .figura figcaption{
  font-family:"Source Sans 3",sans-serif;font-size:0.76rem;line-height:1.5;
  color:var(--gris);margin-top:0.85rem;padding-left:0.9rem;border-left:2px solid var(--oro);
}.aipj .oscuro .figura figcaption{color:#A9AAA1}.aipj .banda-foto{position:relative;overflow:hidden;background:var(--carbon-3)}.aipj .banda-foto>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.42}.aipj .banda-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,31,27,0.94) 0%,rgba(30,31,27,0.72) 55%,rgba(30,31,27,0.5) 100%)}.aipj .banda-foto .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center;padding-block:4rem;color:#E3E3DA}.aipj .banda-foto h3{font-size:2rem;color:#FCFCFA;margin-bottom:0.6rem;max-width:14em}.aipj .banda-foto p{margin:0;color:#CFCFC6;font-size:1.05rem;max-width:38em}.aipj .banda-foto .eyebrow{color:var(--oro-claro)}.aipj .creditos{font-size:0.78rem;line-height:1.6;color:#7E7F77;margin-top:1.4rem}.aipj .creditos a{color:#8C8D84}
@media (max-width:900px){.aipj .banda-foto .wrap{grid-template-columns:1fr;padding-block:3rem}.aipj .cuenta{gap:1.1rem}.aipj .cuenta .u{min-width:58px}.aipj .cuenta .sep{display:none}.aipj .figura[style]{float:none !important;width:100% !important;margin:0 0 1.8rem 0 !important}.aipj .banda-foto h3{font-size:1.6rem}
}

/* ---------- botón flotante de WhatsApp ---------- */.aipj .wa{
  position:fixed;right:1.6rem;bottom:1.6rem;z-index:60;
  display:flex;align-items:center;gap:0.7rem;text-decoration:none;
  background:#1F8A4C;color:#fff;padding:0.85rem 1.15rem;border-radius:999px;
  box-shadow:0 10px 30px rgba(0,0,0,0.28);
  font-family:"Source Sans 3",sans-serif;font-size:0.85rem;font-weight:600;letter-spacing:0.04em;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}.aipj .wa:hover{background:#186B3B;transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,0.34)}.aipj .wa svg{width:23px;height:23px;flex:none;fill:currentColor}.aipj .wa .texto{white-space:nowrap}
@media (max-width:640px){.aipj .wa{right:1rem;bottom:1rem;padding:0.9rem;border-radius:50%}.aipj .wa .texto{display:none}
}
@media print{.aipj .wa{display:none}}

/* ---------- filete superior y textura de seguridad ---------- */body.aipj::before{
  content:"";position:fixed;top:0;left:0;right:0;height:3px;z-index:70;
  background:linear-gradient(90deg,var(--carmin) 0 32%,var(--oro) 32% 64%,var(--carbon-2) 64% 100%);
}.aipj .franja-sup{padding-top:3px}.aipj .trama{
  position:absolute;inset:0;pointer-events:none;opacity:0.5;
  background-image:
    repeating-linear-gradient(58deg,rgba(169,133,69,0.055) 0 1px,transparent 1px 7px),
    repeating-linear-gradient(-58deg,rgba(169,133,69,0.045) 0 1px,transparent 1px 9px);
}.aipj .oscuro,
.aipj .portada,
.aipj .portada-congreso{position:relative}

/* ---------- entrada escalonada de la portada ---------- */
@keyframes subir{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.aipj .portada .institucion,
.aipj .portada h1,
.aipj .portada .guia,
.aipj .portada .acciones,
.aipj .portada .ficha,
.aipj .portada-congreso .eyebrow,
.aipj .portada-congreso .lema,
.aipj .portada-congreso .ficha{
  animation:subir .9s cubic-bezier(.22,.7,.3,1) both;
}.aipj .portada .institucion,
.aipj .portada-congreso .eyebrow{animation-delay:.05s}.aipj .portada h1,
.aipj .portada-congreso .lema{animation-delay:.18s}.aipj .portada .guia{animation-delay:.32s}.aipj .portada .acciones{animation-delay:.44s}.aipj .portada .ficha,
.aipj .portada-congreso .ficha{animation-delay:.56s}

/* ---------- cuenta regresiva ---------- */.aipj .cuenta{display:flex;gap:clamp(1.4rem,3vw,3rem);flex-wrap:wrap;align-items:flex-end}.aipj .cuenta .u{text-align:center;min-width:74px}.aipj .cuenta .v{
  display:block;font-family:"Cormorant Garamond",serif;font-weight:500;
  font-size:clamp(2.4rem,1.8rem + 1.8vw,3.6rem);line-height:1;color:var(--oro-claro);
  font-variant-numeric:lining-nums tabular-nums;
}.aipj .cuenta .e{
  display:block;font-family:"Source Sans 3",sans-serif;font-size:0.66rem;font-weight:600;
  letter-spacing:0.18em;text-transform:uppercase;color:#A9AAA1;margin-top:0.6rem;
}.aipj .cuenta .sep{font-family:"Cormorant Garamond",serif;font-size:2.2rem;color:rgba(255,255,255,0.2);line-height:1;padding-bottom:1.6rem}.aipj .bloque-cuenta{border-top:1px solid var(--linea-osc);margin-top:2.6rem;padding-top:2rem}.aipj .bloque-cuenta .rotulo{
  font-family:"Source Sans 3",sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--oro-claro);display:block;margin-bottom:1.4rem;
}

/* ---------- cita a plena página ---------- */.aipj .cita{background:var(--carbon-3);color:#E3E3DA;padding-block:clamp(4.5rem,8vw,7rem);position:relative;overflow:hidden;text-align:center}.aipj .cita .rueda{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,78vw);opacity:0.055;filter:blur(1px);pointer-events:none}.aipj .cita .wrap{position:relative;z-index:1;max-width:36em}.aipj .cita blockquote{
  margin:0;font-family:"Cormorant Garamond",serif;font-weight:400;font-style:italic;
  font-size:clamp(1.75rem,1.2rem + 2.2vw,3rem);line-height:1.24;color:#FCFCFA;letter-spacing:0.002em;
}.aipj .cita .comilla{
  display:block;font-family:"Cormorant Garamond",serif;font-size:5rem;line-height:0.4;
  color:var(--oro);margin-bottom:1.6rem;height:2.2rem;
}.aipj .cita cite{
  display:block;font-family:"Source Sans 3",sans-serif;font-style:normal;font-size:0.72rem;
  font-weight:600;letter-spacing:0.19em;text-transform:uppercase;color:#8C8D84;margin-top:2.4rem;
}

/* ---------- beneficios ---------- */.aipj .beneficios{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(2.5rem,5vw,5rem);margin-top:3rem}.aipj .beneficio{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;padding:2.1rem 0;border-top:1px solid var(--linea);align-items:start}.aipj .beneficio .ico{width:40px;height:40px;color:var(--carmin);flex:none}.aipj .beneficio h3{font-size:1.32rem;margin-bottom:0.5rem}.aipj .beneficio p{font-size:0.99rem;color:#3A3B34;margin:0}.aipj .beneficio .detalle{display:block;font-family:"Source Sans 3",sans-serif;font-size:0.78rem;letter-spacing:0.06em;color:var(--oro);margin-top:0.8rem;font-weight:600}

/* ---------- avance del congreso en la portada ---------- */.aipj .avance{
  display:inline-flex;align-items:center;gap:1rem;margin-top:2.6rem;
  border:1px solid var(--linea-osc);padding:0.75rem 1.3rem;text-decoration:none;
  transition:border-color .2s ease,background .2s ease;
}.aipj .avance:hover{border-color:var(--oro);background:rgba(169,133,69,0.08)}.aipj .avance .n{font-family:"Cormorant Garamond",serif;font-size:1.9rem;font-weight:500;color:var(--oro-claro);line-height:1;font-variant-numeric:lining-nums}.aipj .avance .t{font-family:"Source Sans 3",sans-serif;font-size:0.76rem;line-height:1.4;color:#CFCFC6}.aipj .avance .t b{display:block;color:#FCFCFA;font-weight:600;letter-spacing:0.03em}

/* ---------- últimas publicaciones en la portada ---------- */.aipj .ultimas{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}.aipj .ultima{background:#fff;border:1px solid var(--linea);padding:1.9rem 1.7rem;text-decoration:none;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease}.aipj .alterna .ultima{background:var(--fondo)}.aipj .ultima:hover{border-color:var(--oro);transform:translateY(-2px)}.aipj .ultima .fecha{font-family:"Source Sans 3",sans-serif;font-size:0.72rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--gris);margin-bottom:0.9rem}.aipj .ultima h3{font-size:1.24rem;margin-bottom:0.6rem}.aipj .ultima p{font-size:0.95rem;color:var(--gris);margin:0 0 1.4rem}.aipj .ultima .leer{margin-top:auto;font-family:"Source Sans 3",sans-serif;font-size:0.76rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--carmin)}
@media (max-width:900px){.aipj .beneficios,
.aipj .ultimas{grid-template-columns:1fr}}.aipj .vista{display:none}.aipj .vista.activa{display:block}.aipj .rev{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.aipj .rev.visto{opacity:1;transform:none}

@media (max-width:1024px){.aipj .enlaces{grid-template-columns:1fr}.aipj .cifras{grid-template-columns:repeat(3,1fr)}.aipj .cifra:nth-child(3){border-right:0}.aipj .correos{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){.aipj .portada .hero,
.aipj .dos,
.aipj .dos-igual,
.aipj .pie .wrap{grid-template-columns:1fr}.aipj .portada .emblema{order:-1;margin:0 auto 2.2rem}.aipj .portada .emblema .sello-cr{height:clamp(150px,44vw,220px)}.aipj .ficha{grid-template-columns:repeat(2,1fr)}.aipj .niveles,
.aipj .condiciones,
.aipj .lista-fines,
.aipj .autoridades,
.aipj .campos,
.aipj .ejes,
.aipj .correos,
.aipj .enlaces{grid-template-columns:1fr}.aipj .cifras{grid-template-columns:repeat(2,1fr)}.aipj .cifra{border-right:0;border-bottom:1px solid var(--linea);padding:1.8rem 1rem}.aipj .hitos li{grid-template-columns:1fr;gap:0.35rem}.aipj .entrada-item{grid-template-columns:1fr;gap:0.45rem}.aipj .entrada-item .fecha{order:-1}.aipj .banda .wrap{grid-template-columns:1fr;gap:1.4rem}.aipj .banda img{display:none}.aipj .menu{display:none;position:absolute;top:84px;left:0;right:0;background:var(--fondo);border-bottom:1px solid var(--linea);flex-direction:column;align-items:stretch;gap:0;padding:0 1.5rem 1rem}.aipj .menu.abierto{display:flex}.aipj .menu a{padding:0.9rem 0;border-bottom:1px solid var(--linea)}.aipj .abrir-menu{display:block}.aipj .marca .rot b{font-size:1.12rem;line-height:1.22}.aipj .marca .rot span{font-size:0.68rem;letter-spacing:0.14em}.aipj .escudo-barra{height:52px}.aipj .barra .wrap{min-height:84px;gap:1rem}.aipj .menu{top:84px}.aipj .franja-sup .wrap span:first-child{display:none}.aipj .franja-sup .wrap{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}html{scroll-behavior:auto}.aipj .rev{opacity:1;transform:none}.aipj .carrusel.viva .sello-item{opacity:1;transform:none}
}

/* ---------- jalones de trayectoria ---------- */.aipj .jalones{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.4rem;border-top:1px solid var(--linea);padding-top:1.8rem}.aipj .jalon .n{display:block;font-family:"Cormorant Garamond",serif;font-size:2.1rem;font-weight:500;line-height:1;color:var(--carmin);font-variant-numeric:lining-nums}.aipj .jalon .t{display:block;font-family:"Source Sans 3",sans-serif;font-size:0.74rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gris);margin-top:0.6rem;line-height:1.4}
@media (max-width:640px){.aipj .eje-cara{padding:1.6rem 1.4rem}.aipj .eje-desc p{padding:0 1.4rem 1.6rem}.aipj .eje-lamina{margin-bottom:1.2rem}.aipj .eje-afiche{margin:0 1.4rem 1.6rem}
}

@media (max-width:900px){.aipj .jalones{grid-template-columns:repeat(2,1fr);gap:1.6rem}}

/* ---------- anclas bajo la barra fija ---------- */.aipj section[id],
.aipj div[id]{scroll-margin-top:110px}

/* ---------- galería fotográfica ---------- */.aipj .galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.aipj .galeria figure{margin:0}.aipj .galeria img{width:100%;height:auto;display:block;filter:saturate(0.94);transition:filter .3s ease,transform .3s ease}.aipj .galeria figure:hover img{filter:saturate(1.05);transform:scale(1.01)}.aipj .galeria figcaption{
  font-family:"Source Sans 3",sans-serif;font-size:0.8rem;line-height:1.5;color:var(--gris);
  margin-top:0.8rem;padding-left:0.85rem;border-left:2px solid var(--oro);
}.aipj .oscuro .galeria figcaption{color:#A9AAA1}.aipj .galeria .ancha{grid-column:span 2}
@media (max-width:900px){.aipj .galeria{grid-template-columns:1fr}.aipj .galeria .ancha{grid-column:auto}}

/* ---------- notas técnicas ---------- */.aipj .nota-cabecera{background:var(--carbon);color:#E3E3DA;padding-block:clamp(3rem,6vw,5rem);position:relative;overflow:hidden}.aipj .nota-cabecera .ficha-nota{
  display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;font-family:"Source Sans 3",sans-serif;
  font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-claro);
  border-top:2px solid var(--carmin);padding-top:.8rem;margin-bottom:1.6rem;
}.aipj .nota-cabecera h1{color:#FCFCFA;font-size:clamp(2rem,1.4rem + 2.4vw,3.2rem);max-width:18em}.aipj .nota-cabecera .bajada{
  font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem);
  line-height:1.4;color:var(--oro-claro);max-width:34em;margin-top:1.6rem;padding-left:1.3rem;
  border-left:2px solid var(--oro);
}.aipj .nota-texto{max-width:42rem;margin:0 auto}.aipj .nota-texto p{font-size:1.09rem;line-height:1.78;margin-bottom:1.15rem}.aipj .nota-texto h2{font-size:1.7rem;margin:2.8rem 0 .9rem}.aipj .nota-texto ul{margin:0 0 1.3rem;padding-left:1.3rem}.aipj .nota-texto li{margin-bottom:.6rem}.aipj .nota-texto li::marker{color:var(--oro)}.aipj .claves{background:#fff;border:1px solid var(--linea);border-top:3px solid var(--carbon);padding:1.8rem 2rem;margin:2.6rem 0}.aipj .claves .rot{font-family:"Source Sans 3",sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);margin:0 0 1rem}.aipj .claves ul{list-style:none;margin:0;padding:0}.aipj .claves li{padding-left:1.5rem;position:relative;margin-bottom:.7rem;font-size:1rem;line-height:1.6}.aipj .claves li::before{content:"§";position:absolute;left:0;top:0;color:var(--carmin);font-family:"Cormorant Garamond",serif;font-weight:600}.aipj .fuentes{border-top:1px solid var(--linea);padding-top:1.4rem;margin-top:2.6rem}.aipj .fuentes .rot{font-family:"Source Sans 3",sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--oro);margin:0 0 1rem}.aipj .fuentes ul{list-style:none;margin:0;padding:0}.aipj .fuentes li{font-size:.9rem;line-height:1.6;color:var(--gris);padding-left:1.8rem;text-indent:-1.8rem;margin-bottom:.7rem}.aipj .fuentes a{word-break:break-word}.aipj .miga{font-family:"Source Sans 3",sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--carmin);text-decoration:none;display:inline-block;margin-bottom:2rem}
@media print{.aipj .barra,
.aipj .franja-sup,
.aipj .wa,
.aipj .miga{display:none}}

/* ---------- contador de visitas ---------- */.aipj .contador{display:flex;align-items:baseline;gap:.7rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12)}.aipj .contador .n{display:inline-flex;align-items:center}.aipj .contador .n img{display:block;height:20px;width:auto}.aipj .contador .t{font-family:"Source Sans 3",sans-serif;font-size:.76rem;letter-spacing:.06em;color:#7E7F77}

/* ---------- corrección de desbordes en pantallas estrechas ---------- */.aipj .dos > *,
.aipj .dos-igual > *,
.aipj .beneficios > *,
.aipj .campos > *,
.aipj .niveles > *,
.aipj .ejes > *,
.aipj .enlaces > *,
.aipj .ultimas > *{min-width:0}.aipj input,
.aipj select,
.aipj textarea{width:100%;max-width:100%}.aipj .suscripcion input{min-width:min(290px,100%)}.aipj .formulario{max-width:100%}.aipj .nota-texto,
.aipj .articulo{max-width:min(42rem,100%)}.aipj img,
.aipj svg{max-width:100%}

/* ---------- glosario forense ---------- */.aipj .glosario-cab{max-width:52em}.aipj .buscador-glosario{max-width:38rem;margin-top:2.8rem}.aipj .buscador-glosario input{
  width:100%;font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:1.5rem;font-weight:500;
  padding:0.55rem 0.2rem;background:transparent;border:0;border-bottom:2px solid var(--carbon);
}.aipj .buscador-glosario input::placeholder{font-style:italic;color:var(--gris-claro)}.aipj .buscador-glosario input:focus{background:transparent;border-bottom-color:var(--carmin)}.aipj .buscador-glosario input::-webkit-search-cancel-button{cursor:pointer}.aipj .buscador-glosario .conteo{
  font-family:"Source Sans 3",sans-serif;font-size:0.8rem;font-weight:600;letter-spacing:0.09em;
  text-transform:uppercase;color:var(--gris);margin:0.9rem 0 0;
}.aipj .filtros-glosario{display:flex;flex-wrap:wrap;gap:0.35rem 1.7rem;margin-top:2.2rem}.aipj .filtros-glosario button{
  font-family:"Source Sans 3",sans-serif;font-size:0.86rem;font-weight:500;letter-spacing:0.02em;
  background:none;border:0;border-bottom:2px solid transparent;padding:0.4rem 0;cursor:pointer;color:var(--gris);
}.aipj .filtros-glosario button:hover{color:var(--texto)}.aipj .filtros-glosario button.activo{color:var(--carmin);border-bottom-color:var(--carmin);font-weight:600}.aipj .filtros-glosario .n{font-size:0.72rem;color:var(--gris-claro);margin-left:0.25rem}.aipj .filtros-glosario button.activo .n{color:var(--carmin)}.aipj .lista-glosario{margin-top:2.6rem;max-width:56rem}.aipj .lista-glosario .vacio{margin-top:0}.aipj .termino{border-top:1px solid var(--linea)}.aipj .lista-glosario .termino:last-of-type{border-bottom:1px solid var(--linea)}.aipj .termino summary{
  display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;
  padding:1.35rem 0;cursor:pointer;list-style:none;
}.aipj .termino summary::-webkit-details-marker{display:none}.aipj .termino summary:hover .voz{color:var(--carmin)}.aipj .termino .rot{display:flex;flex-direction:column;gap:0.15rem}.aipj .termino .voz{font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:1.42rem;font-weight:600;line-height:1.2}.aipj .termino .materia{
  font-family:"Source Sans 3",sans-serif;font-size:0.68rem;font-weight:600;letter-spacing:0.17em;
  text-transform:uppercase;color:var(--oro);
}.aipj .termino .signo{
  font-family:"Source Sans 3",sans-serif;font-size:1.25rem;line-height:1;color:var(--gris-claro);
  flex:none;transition:transform .2s ease,color .2s ease;
}.aipj .termino[open] .signo{transform:rotate(45deg);color:var(--carmin)}.aipj .termino[open] .voz{color:var(--carmin)}.aipj .termino .cuerpo{padding:0 0 2rem}.aipj .termino .lecturas,
.aipj .termino .contraste{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 2.4rem}.aipj .termino h4{
  font-family:"Source Sans 3",sans-serif;font-size:0.7rem;font-weight:600;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--carmin);margin:0 0 0.55rem;
}.aipj .termino .contraste h4{color:var(--oro)}.aipj .termino .lecturas p{font-size:1rem;line-height:1.7;color:#32332C;margin:0}.aipj .termino .contraste p{font-size:0.95rem;line-height:1.65;color:var(--gris);margin:0}.aipj .termino .autores{
  font-style:italic;font-size:0.93rem;line-height:1.6;color:var(--gris);
  border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);
  padding:1rem 0;margin:1.6rem 0;
}.aipj .cargar-mas{margin-top:2.4rem}

@media (max-width:700px){.aipj .termino .lecturas,
.aipj .termino .contraste{grid-template-columns:1fr;gap:1.3rem}.aipj .buscador-glosario input{font-size:1.3rem}
}

/* ---------- programa preliminar (descarga) ---------- */
/* panel propio dentro de la sección blanca: el carbón verde-oliva de la
   portada con filo dorado, para que el bloque se distinga de los ejes que
   tiene encima y de la banda clara que sigue. Se reutiliza en el cuaderno
   de notas técnicas de /publicaciones a través del alias .panel-doc.     */.aipj .programa,
.aipj .panel-doc{
  margin-top:2.2rem;background:var(--carbon);color:var(--sobre-oscuro);
  border-top:3px solid var(--oro);padding:2.6rem 2.8rem;
  max-width:52rem;
}.aipj .programa-aviso{font-size:1.12rem;line-height:1.72;color:var(--sobre-oscuro-2);margin:0}.aipj .programa-pronto{
  font-size:1.02rem;line-height:1.7;color:var(--oro-claro);margin:1.8rem 0 0;
  border-left:2px solid var(--oro);padding-left:1rem;
}.aipj .programa-accion{margin:1.9rem 0 0}.aipj .btn-programa{
  display:inline-flex;align-items:center;gap:0.6rem;font-family:"Source Sans 3",sans-serif;
  font-weight:600;font-size:0.92rem;letter-spacing:0.04em;text-transform:uppercase;
  padding:0.95rem 1.9rem;min-height:44px;text-decoration:none;cursor:pointer;
  border:1px solid var(--oro);background:var(--oro);color:var(--carbon-3);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}.aipj .btn-programa:hover{background:var(--oro-claro);border-color:var(--oro-claro);color:var(--carbon-3)}.aipj .btn-programa:focus-visible{outline:2px solid #FCFCFA;outline-offset:3px}.aipj .btn-programa svg{width:19px;height:19px;flex:none}.aipj .programa-dato{font-size:0.88rem;line-height:1.65;color:var(--sobre-oscuro-3);margin:1.4rem 0 0}.aipj .programa-dato a{color:var(--oro-claro);text-decoration-thickness:1px;text-underline-offset:3px}.aipj .programa-dato a:hover{color:#FCFCFA}.aipj .programa-dato a:focus-visible{outline:2px solid #FCFCFA;outline-offset:3px}

@media (max-width:700px){.aipj .programa,
.aipj .panel-doc{padding:2rem 1.5rem}.aipj .btn-programa{
    width:100%;justify-content:center;text-align:center;line-height:1.35;
    padding:1.05rem 1.2rem;min-height:48px;font-size:0.86rem;letter-spacing:0.03em;
  }
}.aipj .banda-foto .enlace-programa{margin-top:0.9rem;font-size:0.95rem}.aipj .banda-foto .enlace-programa a{color:var(--oro-claro);text-underline-offset:3px}.aipj .banda-foto .enlace-programa a:hover{color:#FCFCFA}

/* el micrositio del congreso suma la entrada «Programa» al menú: con ocho
   enlaces el aire entre ellos se ajusta para que ninguna etiqueta se parta
   en dos líneas. Solo afecta a la barra de esta página.                  */
@media (min-width:901px){.aipj .menu.con-programa{gap:1.35rem}
}
@media (min-width:901px) and (max-width:1300px){.aipj .menu{gap:1.25rem}
}
@media (min-width:901px) and (max-width:1040px){.aipj .menu{gap:1rem}.aipj .marca .rot b{max-width:11em}
}
@media (min-width:901px) and (max-width:1300px){.aipj .menu.con-programa{gap:1.05rem}
}

/* ---------- carrusel de notas técnicas (portada y publicaciones) ----------
   Namespace propio, separado del .carrusel de coordinaciones: ese lo pone
   js/sitio.js en marcha continua y este no se desplaza solo nunca.
   El título y el resumen se recortan a tres líneas con -webkit-line-clamp;
   el JavaScript no corta texto en ningún caso.
   Paleta: solo variables ya definidas arriba.                            */.aipj .carrusel-notas{--vista:3;--hueco:1.6rem;margin-top:3.2rem}.aipj .carrusel-notas-pista{
  display:flex;gap:var(--hueco);align-items:stretch;
  overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:0.6rem 0.2rem 1.4rem;
  scrollbar-width:none;-ms-overflow-style:none;
}.aipj .carrusel-notas-pista::-webkit-scrollbar{display:none}.aipj .carrusel-notas-pista.arrastrando{cursor:grabbing;scroll-snap-type:none}

/* tarjeta: el ancho lo fija --vista y queda acotado a 320-360 px en
   escritorio; align-items:stretch da altura uniforme en cada vista.      */.aipj .carrusel-notas-tarjeta{
  scroll-snap-align:start;
  flex:0 0 clamp(320px,calc((100% - (var(--vista) - 1) * var(--hueco)) / var(--vista)),360px);
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--linea);border-top:2px solid var(--carmin);
  padding:1.45rem 1.4rem 1.15rem;text-decoration:none;color:inherit;
  transition:transform .3s ease,border-top-color .3s ease,box-shadow .3s ease;
}.aipj .alterna .carrusel-notas-tarjeta{background:#fff}.aipj .carrusel-notas-tarjeta:focus-visible{outline:2px solid var(--carmin);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.aipj .carrusel-notas-tarjeta:hover{
    transform:translateY(-3px);border-top-color:var(--carmin-osc);
    box-shadow:0 12px 26px -22px rgba(43,44,40,0.5);
  }
}.aipj .carrusel-notas-rot{
  display:flex;align-items:baseline;gap:0.55rem;flex-wrap:wrap;
  font-family:"Source Sans 3",sans-serif;font-size:0.74rem;
  letter-spacing:0.14em;text-transform:uppercase;margin:0 0 0.75rem;
}.aipj .carrusel-notas-rot b{color:var(--carmin);font-weight:700}.aipj .carrusel-notas-rot span{color:var(--gris);font-weight:600;letter-spacing:0.1em}.aipj .carrusel-notas-tarjeta h3{
  font-family:"Cormorant Garamond",Garamond,Georgia,serif;
  color:var(--carbon);font-size:1.3rem;font-weight:600;line-height:1.24;
  margin:0 0 0.65rem;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}.aipj .carrusel-notas-resumen{
  font-size:0.94rem;line-height:1.5;color:var(--gris);margin:0 0 1.25rem;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}.aipj .carrusel-notas-pie{
  margin-top:auto;display:flex;align-items:center;justify-content:space-between;
  gap:1rem;border-top:1px solid var(--linea);padding-top:0.8rem;
  font-family:"Source Sans 3",sans-serif;font-size:0.79rem;color:var(--gris);
}.aipj .carrusel-notas-pdf{font-weight:700;letter-spacing:0.1em;color:var(--carmin)}

/* flechas: botones reales, 44 px de área táctil, inertes en los extremos */.aipj .carrusel-notas-mandos{display:flex;gap:0.6rem;justify-content:flex-end}.aipj .carrusel-notas-flecha{
  width:44px;height:44px;flex:none;display:grid;place-items:center;
  background:#fff;border:1px solid var(--linea);color:var(--carbon);cursor:pointer;
  transition:border-color .25s ease,color .25s ease,opacity .25s ease;
}.aipj .carrusel-notas-flecha:hover:not(:disabled){border-color:var(--carmin);color:var(--carmin)}.aipj .carrusel-notas-flecha:disabled{opacity:0.34;cursor:default}.aipj .carrusel-notas-flecha svg{width:18px;height:18px}

@media (max-width:900px){.aipj .carrusel-notas{--vista:2;--hueco:1.2rem}.aipj .carrusel-notas-tarjeta{flex:0 0 45%}
}
@media (max-width:640px){.aipj .carrusel-notas{--vista:1;--hueco:1rem}
  /* 82 % deja asomando el borde de la siguiente */.aipj .carrusel-notas-tarjeta{flex:0 0 82%}
}

/* con movimiento reducido el desplazamiento es instantáneo */
@media (prefers-reduced-motion:reduce){.aipj .carrusel-notas-pista{scroll-behavior:auto}.aipj .carrusel-notas-tarjeta,
.aipj .carrusel-notas-flecha{transition:none}.aipj .carrusel-notas-tarjeta:hover{transform:none}
}

/* --- 3. piezas de WordPress ----------------------------------------------------------- */
/* lema del congreso: la clase queda en el envoltorio del título */
.lema h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(2.4rem,1.6rem + 3.2vw,4.4rem);line-height:1.06;max-width:14em;color:#FCFCFA;letter-spacing:-0.005em}
.lema h1 em{font-style:italic;color:var(--oro-claro)}
/* imágenes con clase propia en el original */
.cita .rueda{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,78vw);opacity:0.055;filter:blur(1px);pointer-events:none}
.banda-foto>.elementor-widget-image{position:absolute;inset:0}
.banda-foto>.elementor-widget-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.42}
.banda-foto>.e-con.wrap{position:relative;z-index:2}
/* botones en línea: separación entre botones de un mismo grupo */
.acciones>.elementor-widget-button{display:inline-flex}
.acciones .elementor-button,.x-05be95 .elementor-button{display:inline-flex}
.enlace>.w-btn{margin-top:auto;align-self:flex-start}
.banda-foto .wrap>.elementor-widget-button{justify-self:end}

/* tarjetas de nivel: la línea de derechos al pie, como en el original */
.aipj .nivel>.elementor-widget-text-editor:last-child{flex:1 1 auto;display:flex;flex-direction:column}
/* --- glosario: ficha de término (espaciados del original, que iban en línea) --- */
.aipj .g-materia .eyebrow{margin-top:1.6rem}
.aipj .g-titulo h1{font-size:clamp(2.1rem,1.6rem + 2.1vw,3.2rem);font-weight:500;margin-top:.6rem}
.aipj .g-intro .guia{max-width:44em;margin-top:1.2rem}
.aipj .g-lecturas{margin-top:2.6rem;gap:2.4rem}
.aipj .g-lecturas .cuota{margin-top:0}
.aipj .g-lectura .guia,.aipj .campo-glosario .guia{margin-top:.9rem}
.aipj .g-lectura .guia{font-size:0.97rem;line-height:1.72;color:#3A3B34}
.aipj .g-contraste{margin-top:2.6rem;max-width:52em}
.aipj .campo-glosario+.campo-glosario{margin-top:1.6rem}
.aipj .g-cta{margin-top:3rem}
.aipj .nav-termino{margin-top:3rem;display:flex;gap:2rem;flex-wrap:wrap;justify-content:space-between;max-width:52em}
.aipj .nav-termino a{font-family:"Source Sans 3",sans-serif;font-size:.86rem;font-weight:600;letter-spacing:.04em;color:var(--carmin);text-decoration:none;border-bottom:1px solid var(--oro)}
.aipj .nav-termino a:hover{color:var(--carbon);border-color:var(--carbon)}
.aipj nav.miga a{color:var(--carmin)}
/* glosario: índice */
.aipj .lista-glosario .termino-item{display:inline-block;margin:0 .9rem .5rem 0;font-size:.95rem}
.aipj .lista-glosario .termino-item .m{display:none}
.aipj .termino .ver-ficha{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:1.4rem;font-family:"Source Sans 3",sans-serif;font-size:.78rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--carmin);text-decoration:none;border-bottom:1px solid var(--oro);padding-bottom:.25rem
}
.aipj .termino .ver-ficha:hover{color:var(--carbon);border-color:var(--carbon)}
/* Hello Elementor redondea y contornea en negro los campos: el original no */
.aipj input,.aipj select,.aipj textarea{border-radius:0}
/* --- cabecera (Theme Builder) --- */
.franja-sup .elementor-widget-text-editor{display:contents}
.barra{position:sticky;top:0;z-index:40}
.aipj .barra .marca-w{margin-right:auto}
.aipj .barra .menu-w .elementor-nav-menu--main .elementor-nav-menu{display:flex;gap:1.85rem;align-items:center}
.aipj .barra .menu-w .elementor-item{
  font-family:"Source Sans 3",sans-serif;font-size:0.93rem;font-weight:500;letter-spacing:0.01em;
  color:#2E2F29;padding:0.4rem 0 !important;border-bottom:2px solid transparent;line-height:1.72
}
.aipj .barra .menu-w .elementor-item:hover,.aipj .barra .menu-w .elementor-item:focus{color:var(--carmin)}
.aipj .barra .menu-w .elementor-item.elementor-item-active{border-bottom-color:var(--carmin);color:var(--carmin);font-weight:600}
.aipj .barra .menu-w .elementor-item::after,.aipj .barra .menu-w .elementor-item::before{display:none}
.aipj .barra .menu-w .elementor-menu-toggle{
  background:none;border:1px solid var(--linea);padding:0.5rem 0.85rem;color:var(--texto);
  font-family:"Source Sans 3",sans-serif;font-size:0.85rem;width:auto;height:auto;border-radius:0
}
.aipj .barra .menu-w .elementor-menu-toggle svg{display:none}
.aipj .barra .menu-w .elementor-menu-toggle::after{content:"Menú"}
.aipj .barra .menu-w .elementor-menu-toggle:hover{border-color:var(--gris-claro)}
.aipj .barra .menu-w .elementor-menu-toggle.elementor-active{border-color:var(--carbon)}
.aipj .barra .menu-w .elementor-nav-menu--dropdown{background:var(--fondo);border-bottom:1px solid var(--linea);padding:0 1.5rem 1rem}
.aipj .barra .menu-w .elementor-nav-menu--dropdown a{
  font-family:"Source Sans 3",sans-serif;font-size:0.95rem;color:#2E2F29;padding:0.9rem 0;border-bottom:1px solid var(--linea);background:none
}
.aipj .barra .menu-w .elementor-nav-menu--dropdown a:hover,.aipj .barra .menu-w .elementor-nav-menu--dropdown a.elementor-item-active{background:none;color:var(--carmin)}
@media (min-width:901px) and (max-width:1300px){.barra .menu-w .elementor-nav-menu--main .elementor-nav-menu{gap:1.25rem}}
@media (min-width:901px) and (max-width:1040px){.barra .menu-w .elementor-nav-menu--main .elementor-nav-menu{gap:1rem}}
/* menú móvil: panel a todo el ancho bajo la barra, como en el original */
@media (max-width:1024px){
  .aipj .barra>.wrap,.aipj .barra .menu-w{position:static}
  .aipj .barra .menu-w nav.elementor-nav-menu--dropdown{
    position:absolute;left:0 !important;right:0;top:100%;width:auto !important;margin:0;
    background:var(--fondo);border-bottom:1px solid var(--linea);z-index:41;box-shadow:0 18px 30px -24px rgba(43,44,40,.45)
  }
  .aipj .barra .menu-w .elementor-menu-toggle.elementor-active+nav.elementor-nav-menu--dropdown{padding:0 1.5rem 1rem}
  .aipj .barra .menu-w .elementor-nav-menu--dropdown a{font-size:0.93rem;font-weight:500;line-height:1.72;padding:0.9rem 0 !important}
  .aipj .barra .menu-w .elementor-nav-menu--dropdown a.elementor-item-active{font-weight:600;color:var(--carmin);border-bottom-color:var(--carmin)}
}

/* --- pie (Theme Builder) --- */
.pie{background:var(--carbon-3);color:#9A9B92;padding:3rem 0 5.5rem;font-size:0.9rem}
.pie .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem}
.pie p{margin:0 0 0.55rem}
.pie .normas{font-size:0.84rem;line-height:1.65}
.pie a{color:#C9CAC1}
@media (max-width:900px){.pie .wrap{grid-template-columns:1fr}}

/* --- formularios de Elementor Pro con el aspecto del original --- */
.aipj .formulario .elementor-form-fields-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;margin:0}
.aipj .formulario .elementor-field-group{width:auto !important;max-width:none;padding:0 !important;margin:0 !important;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0.4rem}
.aipj .formulario .elementor-col-100,.aipj .formulario .elementor-field-type-acceptance,.aipj .formulario .elementor-field-type-submit{grid-column:1 / -1}
.aipj .formulario .elementor-field-label,.aipj .suscripcion .elementor-field-label{
  font-family:"Source Sans 3",sans-serif;font-size:0.74rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gris);padding:0;margin:0
}
.aipj .formulario .elementor-mark-required .elementor-field-label::after{color:var(--carmin)}
.aipj .formulario .elementor-field-textual,.formulario select.elementor-field{
  font-family:"Source Serif 4",serif;font-size:1rem;color:var(--texto);
  padding:0.78rem 0.9rem;border:1px solid var(--linea) !important;background:var(--fondo) !important;border-radius:0;min-height:0
}
.aipj .formulario .elementor-field-textual:focus,.formulario select.elementor-field:focus{border-color:var(--carbon);background:#fff;box-shadow:none}
.aipj .formulario textarea.elementor-field-textual{min-height:110px;resize:vertical}
.aipj .formulario .elementor-select-wrapper .select-caret-down-wrapper{right:12px}
.aipj .formulario .elementor-field-subgroup .elementor-field-option{display:flex;gap:0.8rem;align-items:flex-start}
.aipj .formulario .elementor-field-type-acceptance input{margin-top:0.25rem;flex:none;width:17px;height:17px}
.aipj .formulario .elementor-field-type-acceptance label{
  font-family:"Source Serif 4",serif;font-size:0.95rem;font-weight:400;letter-spacing:0;text-transform:none;color:#3A3B34;line-height:1.6
}
.aipj .formulario .elementor-field-type-submit{margin-top:0.4rem !important}
.aipj .formulario .elementor-button,.aipj .suscripcion .elementor-button{
  display:inline-flex;align-items:center;gap:0.5rem;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:0.92rem;
  letter-spacing:0.04em;text-transform:uppercase;padding:0.95rem 1.9rem;border:1px solid var(--carmin);
  background:var(--carmin);color:#fff;border-radius:0;width:auto;transition:background .2s ease,border-color .2s ease
}
.aipj .formulario .elementor-button:hover,.aipj .suscripcion .elementor-button:hover{background:var(--carmin-osc);border-color:var(--carmin-osc)}
.aipj .formulario .elementor-message,.aipj .suscripcion .elementor-message{font-size:0.95rem;padding:0.95rem 1.1rem;margin-top:1.4rem}
.aipj .formulario .elementor-message-success,.aipj .suscripcion .elementor-message-success{background:#EDF3EE;border:1px solid #4A7A55;color:#22482C}
.aipj .formulario .elementor-message-danger,.aipj .suscripcion .elementor-message-danger{background:#F8E9E7;border:1px solid var(--carmin);color:var(--carmin-osc)}
.aipj .formulario .elementor-message::before,.aipj .suscripcion .elementor-message::before{display:none}
@media (max-width:900px){.formulario .elementor-form-fields-wrapper{grid-template-columns:1fr}}
/* suscripción del congreso: campo y botón en una línea */
.aipj .suscripcion .elementor-form-fields-wrapper{display:grid;grid-template-columns:minmax(0,420px) auto;justify-content:start;gap:0.8rem;margin:2.2rem 0 0}
.aipj .suscripcion .elementor-field-group{width:auto !important;max-width:none;padding:0 !important;margin:0 !important}
@media (max-width:640px){.aipj .suscripcion .elementor-form-fields-wrapper{grid-template-columns:1fr}}
.aipj .suscripcion .elementor-field-type-submit{flex:0 0 auto}
.aipj .suscripcion .elementor-field-textual{
  font-family:"Source Serif 4",serif;font-size:1rem;padding:0.78rem 0.9rem;border-radius:0;
  background:rgba(255,255,255,0.07) !important;border:1px solid var(--linea-osc) !important;color:#fff !important;min-height:0
}
.aipj .suscripcion .elementor-field-textual::placeholder{color:#9A9B92}

/* --- notas: plantilla individual --- */
.nota-cabecera .cab-nota{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}
.nota-cabecera .sello-nota{flex:none;width:104px}
.nota-cabecera .elementor-widget-theme-post-title h1{color:#FCFCFA;font-size:clamp(2rem,1.4rem + 2.4vw,3.2rem);max-width:18em}
.nota-pie{display:flex;flex-wrap:wrap;gap:1.6rem;justify-content:space-between;border-top:1px solid var(--linea);margin-top:2.6rem;padding-top:1.4rem}
.nota-pie .miga{margin-bottom:0}
@media (max-width:700px){.nota-cabecera .sello-nota{display:none}}

/* --- móvil: correcciones de la auditoría --- */
@media (max-width:900px){
  .aipj .cifras .cifra:last-child{grid-column:1 / -1}
  .aipj .portada .hero>.elementor-widget-html{order:-1}
}
@media (max-width:640px){
  .wa{bottom:1.2rem;right:1rem}
  .portada .guia{padding-right:0}
}

/* estilos en línea del original */
.aipj .x-05be95{margin-top:2.2rem;display:flex;gap:1rem;flex-wrap:wrap}
.aipj .x-12d23b > .elementor-heading-title{max-width:16em}
.aipj .x-219cf5 > .elementor-heading-title{max-width:18em}
.aipj .x-2b9ecd > .elementor-heading-title{max-width:14em}
.aipj .x-3248f4{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.aipj .x-59cd20 > .elementor-heading-title{max-width:17em}
.aipj .x-6d3a6e > .elementor-heading-title{margin-top:3.5rem;font-size:1.5rem}
.aipj .x-9bd52f > .elementor-heading-title{max-width:15em}
.aipj .x-9cafbb > .elementor-heading-title{margin-top:3.4rem}
.aipj .x-b45265{grid-column:1 / -1}
.aipj .x-be2962 > .elementor-heading-title{font-size:clamp(2.1rem,1.6rem + 2.1vw,3.2rem);font-weight:500;margin-top:.6rem}
.aipj .x-c7b999 > .elementor-heading-title{max-width:18em;font-size:clamp(2.1rem,1.6rem + 2.1vw,3.2rem);font-weight:500}
.aipj .x-c951d9 > .elementor-heading-title{max-width:20em;font-size:clamp(2.1rem,1.6rem + 2.1vw,3.2rem);font-weight:500}
.aipj .x-e6041d{max-width:46em}
.aipj .x-ed462b{margin-top:2.6rem}
