/* Conetium - estilos de la portada y del catalogo. Subir a /visor/web.css
   Todo va bajo #cx (raiz de ambas paginas) para que el tema de WordPress/Kadence no lo pise.
   Misma paleta que ficha.css: #0d6d69 / #0a5551 / #1a365d / #e6f4f3 / #f1f5f9. Sin fuentes externas. */
#cx{--p:#0d6d69;--pd:#0a5551;--navy:#1a365d;--soft:#e6f4f3;--gris:#f1f5f9;--linea:#cbd5e1;--txt:#2c3e50;--mut:#475569;--acc:#f7d547;--amb:#b45309;--amb-bg:#fef3c7;
  max-width:1200px;margin:0 auto;padding:24px 20px 56px;color:var(--txt);line-height:1.6;font-size:1rem;box-sizing:border-box;
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
#cx *,#cx *::before,#cx *::after{box-sizing:border-box}
#cx h1,#cx h2,#cx h3,#cx h4{font-family:inherit;color:var(--navy);border:0;background:none;float:none;clear:none;text-decoration:none;letter-spacing:0;text-transform:none}
#cx h1::before,#cx h1::after,#cx h2::before,#cx h2::after,#cx h3::before,#cx h3::after{content:none!important;display:none!important}
#cx h1{font-size:clamp(1.9rem,4.2vw,2.9rem);line-height:1.15;margin:14px 0 14px;font-weight:700}
#cx h2{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.25;margin:0 0 10px;font-weight:600}
#cx h3{font-size:1.15rem;line-height:1.3;margin:0 0 6px;font-weight:600}
#cx p{margin:0 0 12px}
#cx ul,#cx ol{margin:0;padding:0}
#cx a{color:var(--pd)}
#cx a:focus-visible,#cx button:focus-visible,#cx input:focus-visible,#cx summary:focus-visible,#cx select:focus-visible{outline:3px solid var(--amb);outline-offset:2px}
#cx .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#cx .oculto,#cx [hidden]{display:none!important}
#cx .ic{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.25em}
#cx .lead{font-size:1.15rem;color:var(--mut);max-width:62ch}
#cx .mut{color:var(--mut)}
#cx .kicker{display:inline-block;background:var(--soft);color:var(--pd);padding:6px 12px;border-radius:4px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}

/* botones */
#cx .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:12px 22px;border-radius:8px;border:2px solid transparent;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s}
#cx .btn.pri{background:var(--p);color:#fff!important}
#cx .btn.pri:hover{background:var(--pd)}
#cx .btn.nav{background:var(--navy);color:#fff!important}
#cx .btn.nav:hover{background:#12294a}
#cx .btn.out{background:#fff;color:var(--pd)!important;border-color:var(--p)}
#cx .btn.out:hover{background:var(--soft)}
#cx .btn:active{transform:translateY(1px)}

/* ===================== PORTADA ===================== */
#cx .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;background:linear-gradient(135deg,var(--soft) 0%,#fff 70%);border:1px solid #d3e7e5;border-radius:20px;padding:48px}
#cx .hero .acciones{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 14px}
#cx .hero .micro{font-size:.92rem;color:var(--mut);margin:0}
#cx .hero-vis{position:relative;margin:0;padding-bottom:34px}
#cx .hero-vis img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px;box-shadow:0 14px 34px rgba(26,54,93,.18)}
#cx .hero-vis .seg2{position:absolute;left:-18px;bottom:0;width:46%;border:5px solid #fff;border-radius:14px;box-shadow:0 10px 24px rgba(26,54,93,.18)}
#cx .sec{margin-top:72px}
#cx .sec>header{margin-bottom:28px}
#cx .sec>header .lead{max-width:68ch}
#cx .sec>header::before{content:'';display:block;width:48px;height:4px;border-radius:2px;background:var(--acc);margin-bottom:12px}
#cx .dos{display:grid;grid-template-columns:1fr 1fr;gap:24px}
#cx .pub{position:relative;display:flex;flex-direction:column;background:#fff;border:2px solid var(--linea);border-radius:16px;padding:30px;transition:border-color .15s,box-shadow .15s}
#cx .pub:hover{border-color:var(--p);box-shadow:0 10px 26px rgba(13,109,105,.12)}
#cx .pub .ico{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:var(--soft);color:var(--pd);margin-bottom:16px}
#cx .pub .ico .ic{width:28px;height:28px}
#cx .pub ul{list-style:none;margin:6px 0 24px}
#cx .pub li{display:flex;gap:10px;margin-bottom:8px}
#cx .pub li .ic{color:var(--p);margin-top:.2em}
#cx .pub .btn{margin-top:auto;align-self:flex-start}
#cx .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
#cx .tile{background:var(--gris);border-radius:14px;padding:24px}
#cx .tile .ic{width:30px;height:30px;color:var(--p);margin-bottom:10px;display:block}
#cx .tile p{margin:0;font-size:.98rem}
#cx .calidad{background:var(--navy);color:#fff;border-radius:20px;padding:48px}
#cx .calidad h2,#cx .calidad h3{color:#fff}
#cx .calidad .lead{color:#dbe5f1}
#cx .pilares{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin-top:28px}
#cx .pilar .ic{width:34px;height:34px;color:#7fe0da;display:block;margin-bottom:10px}
#cx .pilar p{color:#e7eef7;margin:0;font-size:.98rem}
#cx .calidad .nota{margin:30px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);font-size:.9rem;color:#cbd8e8}
#cx .cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:28px}
#cx .cifra{background:var(--soft);border-radius:14px;padding:18px 20px;text-align:center}
#cx .cifra b{display:block;font-size:2.2rem;line-height:1.1;color:var(--pd)}
#cx .cifra span{font-size:.92rem;color:var(--mut)}
#cx .pasos{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;counter-reset:paso}
#cx .pasos li{position:relative;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:24px 24px 24px 24px;counter-increment:paso}
#cx .pasos li::before{content:counter(paso);position:absolute;top:18px;right:20px;font-size:2.6rem;line-height:1;font-weight:700;color:var(--soft)}
#cx .pasos li p{margin:0;font-size:.98rem}
#cx .cierre{margin-top:72px;text-align:center;background:var(--soft);border:1px solid #d3e7e5;border-radius:20px;padding:48px 24px}
#cx .cierre p{max-width:56ch;margin:0 auto 22px}
#cx .cierre .acciones{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* ===================== CATALOGO ===================== */
#cx .cab{border-bottom:2px solid var(--p);padding-bottom:20px;margin-bottom:26px}
#cx .cab h1{margin-top:12px}
#cx .quien{border:0;padding:0;margin:0 0 20px;min-width:0}
#cx .quien legend{font-weight:700;color:var(--navy);margin-bottom:10px;padding:0}
#cx .quien-op{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#cx .opcion{position:relative;display:block;cursor:pointer}
#cx .opcion input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
#cx .opcion .caja{display:flex;gap:14px;align-items:flex-start;height:100%;border:2px solid var(--linea);border-radius:12px;padding:16px 18px;background:#fff;transition:border-color .15s,background .15s}
#cx .opcion .caja .ic{width:30px;height:30px;color:var(--mut);margin-top:2px}
#cx .opcion b{display:block;color:var(--navy);font-size:1.05rem}
#cx .opcion small{display:block;color:var(--mut);font-size:.92rem;line-height:1.45}
#cx .opcion input:checked+.caja{border-color:var(--p);background:var(--soft);box-shadow:0 0 0 1px var(--p) inset}
#cx .opcion input:checked+.caja .ic{color:var(--p)}
#cx .opcion input:focus-visible+.caja{outline:3px solid var(--amb);outline-offset:2px}
#cx .filtros{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end;background:var(--gris);border:1px solid var(--linea);border-radius:12px;padding:16px 18px;margin-bottom:10px}
#cx .filtros .campo{display:flex;flex-direction:column;gap:6px;min-width:0}
#cx .filtros .buscar{flex:1 1 260px}
#cx .filtros label.t,#cx .filtros .t{font-weight:700;color:var(--navy);font-size:.92rem}
#cx .filtros input[type=search]{width:100%;min-height:44px;padding:10px 12px;border:1px solid #94a3b8;border-radius:6px;background:#fff;color:var(--txt);font-size:1rem}
#cx .seg{display:inline-flex;flex-wrap:wrap;border:1px solid #94a3b8;border-radius:8px;overflow:hidden;background:#fff}
#cx .seg label{position:relative;margin:0}
#cx .seg input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
#cx .seg span{display:block;padding:10px 14px;min-height:44px;font-weight:600;font-size:.95rem;color:var(--txt);border-left:1px solid #cbd5e1;cursor:pointer}
#cx .seg label:first-child span{border-left:0}
#cx .seg input:checked+span{background:var(--p);color:#fff}
#cx .seg input:focus-visible+span{outline:3px solid var(--amb);outline-offset:-3px}
#cx .estado{min-height:1.5em;margin:0 0 6px;font-size:.92rem;color:var(--mut)}
#cx .lista-sec{margin-top:40px}
#cx .lista-sec>h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
#cx .lista-sec>h2 small{font-size:.95rem;font-weight:600;color:var(--mut)}
#cx .lista-sec>p.intro{color:var(--mut);max-width:70ch;margin-bottom:18px}
#cx .grupo{margin:26px 0 8px}
#cx .grupo h3{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;color:var(--pd);font-size:1.1rem;border-bottom:1px solid var(--linea);padding-bottom:8px;margin-bottom:16px}
#cx .grupo h3 a{font-size:.9rem;font-weight:600}
#cx .rej{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px;list-style:none}
#cx .rej.cert{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
#cx .rej.cert:has(>li:only-child){grid-template-columns:minmax(340px,560px)}
#cx .card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:14px;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}
#cx .card:hover,#cx .card:focus-within{border-color:var(--p);box-shadow:0 10px 24px rgba(26,54,93,.12)}
#cx .card:hover{transform:translateY(-2px)}
#cx .media{position:relative;aspect-ratio:16/9;background:var(--soft);overflow:hidden}
#cx .media img{display:block;width:100%;height:100%;object-fit:cover}
#cx .media.sin{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#e6f4f3 0 14px,#d6ecea 14px 28px)}
#cx .media.sin span{font-weight:800;color:var(--pd);font-size:1.3rem;letter-spacing:.5px}
#cx .card .cuerpo{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1}
#cx .badge{align-self:flex-start;background:var(--soft);color:var(--pd);padding:3px 9px;border-radius:4px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
#cx .badge.ok{background:#dcfce7;color:#14532d;display:inline-flex;gap:5px;align-items:center;text-transform:none;letter-spacing:0;font-size:.82rem}
#cx .card h3{margin:2px 0 0;font-size:1.05rem}
#cx .card h3 a{color:var(--navy);text-decoration:none}
#cx .card h3 a::after{content:"";position:absolute;inset:0;z-index:1}
#cx .card h3 a:hover{text-decoration:underline}
#cx .card .cod{font-size:.88rem;font-weight:700;color:var(--pd)}
#cx .card .meta{font-size:.9rem;color:var(--mut);margin:0}
#cx .card .nuc{font-size:.92rem;color:var(--txt);margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#cx .card .pie{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px}
#cx .card .horas{font-weight:800;color:var(--navy);font-size:1.1rem}
#cx .card .ver{display:inline-flex;gap:6px;align-items:center;color:var(--pd);font-weight:700;font-size:.95rem}
#cx .card details{position:relative;z-index:2;margin-top:8px;border:1px solid var(--linea);border-radius:8px;background:#f8fafc}
#cx .card summary{cursor:pointer;font-weight:700;font-size:.92rem;color:var(--pd);padding:10px 12px;min-height:44px;display:flex;align-items:center}
#cx .card details ul{list-style:none;padding:0 12px 10px;display:grid;gap:4px}
#cx .card details li a{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:8px 4px;border-top:1px solid #e2e8f0;text-decoration:none;color:var(--txt);font-size:.9rem}
#cx .card details li a:hover{color:var(--pd);background:var(--soft)}
#cx .card details li b{color:var(--pd)}
#cx .card details li small{white-space:nowrap;color:var(--mut)}
#cx .vacio{background:var(--gris);border:1px dashed #94a3b8;border-radius:14px;padding:32px;text-align:center}
#cx .vacio p{max-width:56ch;margin:0 auto 16px}
#cx .vacio.cap{background:var(--amb-bg);border-color:var(--amb)}
#cx .ayuda{margin-top:56px;background:var(--soft);border:1px solid #d3e7e5;border-radius:16px;padding:32px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
#cx .ayuda h2{margin:0 0 4px;font-size:1.4rem}
#cx .ayuda p{margin:0}
#cx[data-estado="cargando"] .filtros,#cx[data-estado="cargando"] .quien{opacity:.5;pointer-events:none}

@media (prefers-reduced-motion:reduce){#cx *{transition:none!important}#cx .card:hover{transform:none}}
@media (max-width:900px){
  #cx .hero{grid-template-columns:1fr;padding:32px 24px;gap:28px}
  #cx .dos{grid-template-columns:1fr}
  #cx .calidad{padding:32px 24px}
}
@media (max-width:640px){
  #cx{padding:14px 14px 40px}
  #cx .quien-op{grid-template-columns:1fr}
  #cx .filtros .campo{width:100%}
  #cx .seg{display:flex;width:100%}
  #cx .seg label{flex:1 1 auto;text-align:center}
  #cx .seg span{padding:10px 8px}
  #cx .rej,#cx .rej.cert{grid-template-columns:1fr}
  #cx .hero-vis .seg2{display:none}
  #cx .hero-vis{padding-bottom:0}
  #cx .sec,#cx .cierre{margin-top:48px}
  #cx .hero .acciones .btn,#cx .cierre .btn{width:100%}
  #cx .pub{padding:22px}
  #cx .cierre{padding:32px 18px}
}

/* ===================== PORTADA SEO/GEO (anadido) ===================== */
#cx .datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:0}
#cx .datos>div{background:var(--soft);border-radius:14px;padding:18px 20px;text-align:center}
#cx .datos dt{order:2;font-size:.92rem;color:var(--mut);margin:0}
#cx .datos dd{order:1;margin:0;font-size:2.2rem;line-height:1.1;font-weight:700;color:var(--pd);font-variant-numeric:tabular-nums}
#cx .datos>div{display:flex;flex-direction:column}
#cx .tabla-wrap{position:relative;overflow-x:auto;border:1px solid var(--linea);border-radius:12px}
#cx table.cmp{border-collapse:collapse;width:100%;min-width:560px;background:#fff;font-size:.98rem}
#cx table.cmp caption{text-align:left;padding:14px 16px;font-weight:700;color:var(--navy);caption-side:top}
#cx table.cmp th,#cx table.cmp td{padding:12px 16px;border-top:1px solid var(--linea);text-align:left;vertical-align:top}
#cx table.cmp thead th{background:var(--gris);color:var(--navy);border-top:0}
#cx table.cmp tbody th{font-weight:600;color:var(--txt);background:#fff}
#cx table.cmp td.si{font-weight:700;color:var(--pd)}
#cx table.cmp td.no{color:var(--mut)}
#cx .card ul.mini{list-style:none;margin:6px 0 0;display:grid;gap:2px;position:relative;z-index:2}
#cx .card ul.mini li a{display:flex;justify-content:space-between;gap:10px;padding:6px 2px;color:var(--txt);text-decoration:none;font-size:.92rem;border-top:1px solid #e2e8f0}
#cx .card ul.mini li a:hover{color:var(--pd);background:var(--soft)}
#cx .card ul.mini li b{color:var(--pd)}
#cx .card ul.mini li small{white-space:nowrap;color:var(--mut)}
#cx .card ul.mini ul{list-style:none;margin:0 0 4px 14px;display:grid}
#cx .card ul.mini ul a{font-size:.88rem;color:var(--mut)}
#cx .faq details{margin-bottom:10px;border:1px solid var(--linea);border-radius:10px;background:#fff}
#cx .faq summary{cursor:pointer;font-weight:700;color:var(--navy);padding:14px 18px;min-height:48px;display:flex;align-items:center}
#cx .faq details[open] summary{border-bottom:1px solid var(--linea);background:var(--gris);border-radius:10px 10px 0 0}
#cx .faq .resp{padding:14px 18px 6px}
#cx .faq .resp p:last-child{margin-bottom:8px}
#cx .actualizado{margin:28px 0 0;text-align:center;font-size:.9rem;color:var(--mut)}
#cx small{font-size:.85rem}
#cx .pub .incluye{font-size:.95rem;color:var(--mut);margin:0 0 22px}
#cx .pub .acc{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px}
#cx .pub .acc .btn{margin-top:0}

/* ---- Iconos Phosphor (trazo propio de 256 px) y acentos ---- */
#cx .ic.ph{width:1.4em;height:1.4em;stroke-width:revert;fill:none}
#cx .datos>div{position:relative;overflow:hidden}
#cx .datos>div::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--acc);transform-origin:left}
#cx .datos .cico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--p);margin:0 auto 10px}
#cx .datos .cico .ic{width:26px;height:26px}
#cx .pasos li{padding-top:28px}
#cx .pasos .pico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--p);color:#fff;margin-bottom:14px;box-shadow:0 0 0 5px var(--soft)}
#cx .pasos .pico .ic{width:28px;height:28px}
#cx .tile,#cx .pilar,#cx .datos>div,#cx .pasos li{transition:transform .2s,box-shadow .2s}
#cx .tile:hover,#cx .pasos li:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(13,109,105,.12)}
#cx .tile .ic{padding:6px;box-sizing:content-box;background:#fff;border-radius:12px;border-bottom:3px solid var(--acc)}
#cx .tabla-wrap{margin-top:28px}
#cx table.cmp a{color:var(--p);font-weight:600}

/* ---- Movimiento (solo si portada.js activa .anim; sin JS todo se ve igual) ---- */
#cx.anim .rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i,0)*110ms)}
#cx.anim .rv.vis{opacity:1;transform:none}
#cx.anim .sec>header::before{width:0;transition:width .7s ease .1s}
#cx.anim .sec.vis>header::before{width:48px}
#cx.anim .pasos .pico{transform:scale(.6);transition:transform .5s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(var(--i,0)*110ms + 250ms)}
#cx.anim .pasos li.vis .pico{transform:none}
#cx .pasos{position:relative}
@media (min-width:760px){
  #cx .pasos::before{content:'';position:absolute;left:8%;right:8%;top:52px;height:3px;background:repeating-linear-gradient(90deg,var(--acc) 0 10px,transparent 10px 18px);z-index:0}
  #cx .pasos li{z-index:1}
  #cx.anim .pasos::before{transform:scaleX(0);transform-origin:left;transition:transform 1.2s ease .3s}
  #cx.anim .pasos.vis::before{transform:none}
}
@media (prefers-reduced-motion:reduce){
  #cx.anim .rv,#cx.anim .pasos .pico,#cx.anim .sec>header::before,#cx.anim .pasos::before{opacity:1!important;transform:none!important;width:auto;transition:none!important}
  #cx .tile:hover,#cx .pasos li:hover{transform:none}
}

/* ---- Icono sobre el acento de cada seccion ---- */
#cx .sec>header{display:flex;flex-direction:column;align-items:flex-start}
#cx .sec>header .hico{order:-1;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--soft);color:var(--p);margin-bottom:12px}
#cx .sec>header .hico .ic{width:28px;height:28px}
#cx .calidad .hico{background:rgba(255,255,255,.12);color:#7fe0da}
#cx.anim .sec>header .hico{transform:scale(.5) rotate(-12deg);opacity:0;transition:transform .55s cubic-bezier(.3,1.6,.5,1),opacity .4s}
#cx.anim .sec.vis>header .hico{transform:none;opacity:1}

/* ---- Cifras: mas movimiento ---- */
#cx .datos>div:hover .cico{transform:rotate(-8deg) scale(1.12)}
#cx .datos .cico{transition:transform .25s}
#cx.anim .datos>div.rv{transform:translateY(28px) scale(.88);transition:opacity .5s ease,transform .7s cubic-bezier(.3,1.4,.5,1);transition-delay:calc(var(--i,0)*140ms)}
#cx.anim .datos>div.rv.vis{transform:none}
#cx.anim .datos>div::after{transform:scaleX(0);transition:transform .8s ease;transition-delay:calc(var(--i,0)*140ms + 500ms)}
#cx.anim .datos>div.vis::after{transform:none}
#cx.anim .datos .cico{transform:scale(0) rotate(-40deg);transition:transform .6s cubic-bezier(.3,1.7,.5,1);transition-delay:calc(var(--i,0)*140ms + 250ms)}
#cx.anim .datos>div.vis .cico{transform:none}
#cx.anim .datos>div.vis .cico{animation:cx-aro 1.1s ease-out 1;animation-delay:calc(var(--i,0)*140ms + 900ms)}
@keyframes cx-aro{0%{box-shadow:0 0 0 0 rgba(13,109,105,.35)}100%{box-shadow:0 0 0 16px rgba(13,109,105,0)}}
#cx .datos dd.fin{animation:cx-pop .5s ease 1}
@keyframes cx-pop{0%{transform:scale(1)}45%{transform:scale(1.18)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  #cx.anim .sec>header .hico,#cx.anim .datos>div::after,#cx.anim .datos .cico{transform:none!important;opacity:1!important;transition:none!important;animation:none!important}
  #cx .datos dd.fin{animation:none}
}

/* ---- Catalogo: icono + acento sobre cada seccion ---- */
#cx .lista-sec{margin-top:44px}
#cx .lista-sec .hico{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--soft);color:var(--p);margin-bottom:24px}
#cx .lista-sec .hico .ic{width:28px;height:28px}
#cx .lista-sec .hico::after{content:'';position:absolute;left:0;bottom:-12px;width:48px;height:4px;border-radius:2px;background:var(--acc)}

/* ---- Catalogo v3: cifras, demo en tarjeta, biblioteca incluida ---- */
#cx .cifras{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;margin:20px 0 0;padding:0}
#cx .cifras li{display:flex;align-items:baseline;gap:8px}
#cx .cifras b{font-size:1.7rem;line-height:1;color:var(--p);font-weight:800}
#cx .cifras span{font-size:.95rem;color:var(--mut)}
#cx .card .mono-chip{margin:2px 0 0;font-size:.85rem;color:var(--pd);font-weight:600}
#cx .card .pie .demo{position:relative;z-index:2;margin-left:auto;font-weight:700;font-size:.92rem;color:var(--pd);border:2px solid var(--p);border-radius:8px;padding:6px 12px;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
#cx .card .pie .demo:hover{background:var(--soft)}
#cx .incluye{margin-top:64px}
#cx .incluye>h2{display:block}
#cx .incluye>h2::before{content:'';display:block;width:48px;height:4px;border-radius:2px;background:var(--acc);margin-bottom:12px}
#cx .incluye .tiles{list-style:none;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
#cx .incluye .tile h3{font-size:1.05rem;margin:0 0 6px}
#cx .incluye .tile-bib{background:var(--soft);border:1px solid #d3e7e5}
#cx .incluye .tile-bib .btn{margin-top:14px;min-height:44px;padding:8px 16px;font-size:.95rem}
@media (max-width:560px){#cx .cifras{gap:8px 20px}#cx .cifras b{font-size:1.4rem}#cx .card .pie{flex-wrap:wrap}}
#cx .card .pie{flex-wrap:wrap;row-gap:8px}
#cx .card .horas,#cx .card .ver,#cx .card .pie .demo{white-space:nowrap}
#cx .card .pie .demo{margin-left:0}
#cx .card .pie .ver{margin-left:auto}

#cx .grupo.plegable{margin:14px 0 8px}
#cx .grupo.plegable>summary{list-style:none;cursor:pointer;display:block;border-bottom:1px solid var(--linea);margin-bottom:16px;padding-right:34px;position:relative}
#cx .grupo.plegable>summary::-webkit-details-marker{display:none}
#cx .grupo.plegable>summary h3{border-bottom:0;margin-bottom:0;padding:10px 0}
#cx .grupo.plegable>summary::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;border-right:2.5px solid var(--pd);border-bottom:2.5px solid var(--pd);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
#cx .grupo.plegable[open]>summary::after{transform:translateY(-25%) rotate(-135deg)}
#cx .grupo.plegable>summary:focus-visible{outline:3px solid var(--pd);outline-offset:2px;border-radius:6px}
#cx .grupo .cuenta{font-weight:600;color:#4a5b6c;font-size:.9rem}
