/* Landings de complementos Moodle (/complementos/…) — 05-10-2026. Depende de styles.css (variables, .btn, .wrap). */
.cx{color-scheme:light;background:var(--bg,#f5f8fb);color:var(--ink,#0a1a2b)}
.cx-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:#0a2a44;padding:.6rem 1rem;border-radius:8px;font-weight:700}
.cx-skip:focus{left:8px;outline:3px solid #f59e0b}
.cx a:focus-visible,.cx button:focus-visible,.cx summary:focus-visible{outline:3px solid #f59e0b;outline-offset:3px;border-radius:6px}
.cx .sr-only{clip-path:inset(50%)}

/* ---------- hero ---------- */
.cx-hero{position:relative;overflow:hidden;color:#fff;padding:7.6rem 0 4.2rem;
 background:radial-gradient(900px 480px at 85% 10%,rgba(47,164,173,.32),transparent 60%),
  radial-gradient(700px 420px at 0% 100%,rgba(26,110,163,.35),transparent 60%),linear-gradient(135deg,#071d33,#0a2a44 55%,#0f3f63);background-color:#0a2a44}
/* Foto de fondo (05-10-2026): capa azul oscura encima para mantener el contraste del texto blanco (AA). */
.cx-hero{background:linear-gradient(100deg,rgba(7,29,51,.9) 0%,rgba(7,29,51,.72) 42%,rgba(10,42,68,.25) 100%),var(--cx-bg) center/cover no-repeat,#0a2a44}
.cx-hero-idx{background:linear-gradient(180deg,rgba(7,29,51,.78),rgba(7,29,51,.62)),var(--cx-bg) center/cover no-repeat,#0a2a44}
@media (max-width:800px){.cx-hero{background:linear-gradient(180deg,rgba(7,29,51,.82),rgba(7,29,51,.7)),var(--cx-bg-s) center/cover no-repeat,#0a2a44}}
.cx-hero:after{content:"";position:absolute;inset:auto -10% -1px -10%;height:60px;background:var(--bg,#f5f8fb);clip-path:ellipse(60% 100% at 50% 100%)}
.cx-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:2.6rem;align-items:center}
.cx-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 1rem;padding:0;font-size:.86rem;color:#cfe1ee}
.cx-crumb li+li:before{content:"›";margin-right:.3rem;opacity:.8}
.cx-crumb a{color:#e6f1f9;text-decoration:underline;text-underline-offset:2px}
.cx-crumb a:hover{color:#fff}
.cx-eyebrow{display:inline-block;margin:0 0 .9rem;padding:.35rem .85rem;border-radius:100px;background:rgba(255,255,255,.1);
 border:1px solid rgba(255,255,255,.22);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#e6f1f9}
.cx-h1{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0}
.cx-tip-w{display:block;margin-top:.55rem;min-height:2.6em;font-size:clamp(1.15rem,2.1vw,1.55rem);font-weight:700;line-height:1.3;color:#7fe0e6}
.cx-tip-t:after{content:"";display:inline-block;width:3px;height:1.05em;margin-left:3px;vertical-align:-.15em;background:#7fe0e6;animation:cxCursor 1s steps(1) infinite}
@keyframes cxCursor{50%{opacity:0}}
.cx-lead{margin:1rem 0 1.5rem;font-size:clamp(1.02rem,1.5vw,1.14rem);line-height:1.6;color:#dbe8f3;max-width:38rem}
.cx-ctas{display:flex;flex-wrap:wrap;gap:.8rem}
.cx-ctas-c{justify-content:center}
.cx .btn{min-height:46px;justify-content:center;text-align:center}
.cx-btn-lg{padding:.95rem 1.6rem;font-size:1.02rem}
.cx-btn-free,.cx .btn-free{background:#047857;color:#fff;box-shadow:0 0 0 3px rgba(167,243,208,.55)}
.cx-btn-free:hover,.cx-btn-free:focus-visible,.cx .btn-free:hover{background:#065f46;color:#fff;transform:translateY(-2px)}
.cx-btn-lic{background:#fff;color:#0a2a44;border-color:#fff}
.cx-btn-lic:hover{background:#e6f1f9;transform:translateY(-2px)}
.cx-btn-out{background:#fff;color:#0a2a44;border-color:#0a2a44}
.cx-btn-out:hover{background:#eef4fa;transform:translateY(-2px)}
.cx-hero-datos{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem 1.1rem;margin:1.3rem 0 0;padding:0;font-size:.93rem;color:#dbe8f3}
.cx-hero-datos li:before{content:"✓";color:#7fe0e6;font-weight:800;margin-right:.35rem}
.cx-novedad{margin:1rem 0 0;display:inline-block;font-size:.9rem;font-weight:700;color:#0a2a44;background:#ffd08a;border-radius:100px;padding:.3rem .85rem}
.cx-hero-img .cx-shot{transform:perspective(1400px) rotateY(-6deg) rotateX(2deg);box-shadow:0 40px 80px -30px rgba(0,0,0,.65)}
.cx-hero-idx{text-align:center;padding-bottom:4.6rem}
.cx-hero-idx-in{position:relative;z-index:1;max-width:52rem}
.cx-hero-idx .cx-crumb ol{justify-content:center}
.cx-hero-idx .cx-lead{margin-inline:auto}

/* ---------- capturas ---------- */
.cx-shot{margin:0;border-radius:14px;overflow:hidden;background:#fff;border:1px solid #d6e2ee;box-shadow:0 22px 50px -26px rgba(11,31,63,.45)}
.cx-shot-bar{display:flex;gap:6px;padding:9px 12px;background:#eef2f7;border-bottom:1px solid #d6e2ee}
.cx-shot-bar i{width:10px;height:10px;border-radius:50%;background:#c3cfdc}
.cx-shot-bar i:first-child{background:#f87171}.cx-shot-bar i:nth-child(2){background:#fbbf24}.cx-shot-bar i:nth-child(3){background:#34d399}
.cx-shot img{display:block;width:100%;height:auto}

/* ---------- secciones ---------- */
.cx-sec{padding:clamp(3rem,6vw,5rem) 0}
.cx-sec-alt{background:#fff;border-block:1px solid var(--line,#e4ebf3)}
.cx-sec:focus{outline:none}
.cx-head{text-align:center;max-width:46rem;margin:0 auto 2.4rem}
.cx-head h2{font-size:clamp(1.65rem,3vw,2.3rem);font-weight:800;color:#0a2a44;margin:0}
.cx-head p{margin:.8rem 0 0;color:#4b5a6e;font-size:1.04rem;line-height:1.6}
.cx-h3{margin:2.2rem 0 .8rem;color:#0a2a44;font-size:1.2rem}

.cx-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.cx-card{position:relative;background:#fff;border:1px solid var(--line,#e4ebf3);border-radius:16px;padding:1.6rem 1.5rem 1.5rem;
 transition:transform .3s,box-shadow .3s}
.cx-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(11,31,63,.4)}
.cx-card-n{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#1a6ea3,#2fa4ad);color:#fff;font-weight:800;margin-bottom:.9rem}
.cx-card h3{font-size:1.15rem;color:#0a2a44;margin:0 0 .5rem}
.cx-card p{color:#4b5a6e;line-height:1.6;margin:0}

.cx-feat{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2.6rem;align-items:center;margin:0 0 3.4rem}
.cx-feat-rev .cx-feat-txt{order:2}
.cx-feat h3{font-size:clamp(1.3rem,2.2vw,1.65rem);color:#0a2a44;margin:.7rem 0 .6rem}
.cx-feat p{color:#3d4b5e;line-height:1.65;margin:0}
.cx-chip{display:inline-block;font-size:.8rem;font-weight:800;border-radius:100px;padding:.28rem .75rem}
.cx-chip-free{background:#e7f6ec;color:#14532d}
.cx-chip-lic{background:#fff1e0;color:#8a3d00}
.cx-tambien{background:#f5f8fb;border:1px solid var(--line,#e4ebf3);border-radius:16px;padding:1.5rem 1.6rem}
.cx-tambien h3{margin:0 0 .8rem;color:#0a2a44;font-size:1.15rem}
.cx-tambien ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.6rem}
.cx-tambien li{display:flex;gap:.55rem;color:#2b3a53;line-height:1.5}
.cx-tambien li:before{content:"✓";color:#047857;font-weight:800}

.cx-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;counter-reset:p;position:relative}
.cx-paso{position:relative;background:#fff;border:1px solid var(--line,#e4ebf3);border-radius:16px;padding:1.6rem 1.5rem}
.cx-paso-n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#0a2a44;color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:.9rem;
 box-shadow:0 0 0 6px #e6f1f9}
.cx-paso h3{margin:0 0 .45rem;color:#0a2a44;font-size:1.15rem}
.cx-paso p{margin:0;color:#4b5a6e;line-height:1.6}
/* «Cómo funciona» como flujo animado (05-10-2026): los pasos entran en orden, la línea fluye hacia el siguiente
   y el número de cada paso se ilumina por turnos. Sin animación con prefers-reduced-motion. */
.cx-flujo .cx-paso:not(:last-child):after{content:"";position:absolute;z-index:1;pointer-events:none;
 background:repeating-linear-gradient(90deg,#2fa4ad 0 8px,transparent 8px 14px);background-size:28px 3px}
@media (min-width:861px){.cx-flujo .cx-paso:not(:last-child):after{top:2.65rem;right:-1.3rem;width:1.3rem;height:3px}
 .cx-flujo .cx-paso:not(:last-child):before{content:"";position:absolute;z-index:2;top:calc(2.65rem - 5px);right:-1.45rem;
  border:6.5px solid transparent;border-left:8px solid #2fa4ad;border-right:0}}
@media (max-width:860px){.cx-flujo .cx-paso:not(:last-child):after{left:2.6rem;top:100%;width:3px;height:1.3rem;
 background:repeating-linear-gradient(180deg,#2fa4ad 0 8px,transparent 8px 14px);background-size:3px 28px}}
.cx-js .cx-flujo .cx-paso{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i,0) * .35s)}
.cx-js .cx-flujo.is-on .cx-paso{opacity:1;transform:none}
.cx-flujo.is-on .cx-paso:not(:last-child):after{animation:cx-fluye-x .9s linear infinite}
@media (max-width:860px){.cx-flujo.is-on .cx-paso:not(:last-child):after{animation-name:cx-fluye-y}}
.cx-flujo.is-on .cx-paso-n{animation:cx-turno 4.5s ease-in-out infinite;animation-delay:calc(var(--i,0) * 1.5s + 1s)}
.cx-flujo.is-on .cx-paso{animation:cx-borde 4.5s ease-in-out infinite;animation-delay:calc(var(--i,0) * 1.5s + 1s)}
@keyframes cx-fluye-x{to{background-position-x:28px}}
@keyframes cx-fluye-y{to{background-position-y:28px}}
@keyframes cx-turno{0%,30%,100%{background:#0a2a44;box-shadow:0 0 0 0 rgba(47,164,173,0)}
 10%{background:#1b7f87;box-shadow:0 0 0 10px rgba(47,164,173,.22)}}
@keyframes cx-borde{0%,30%,100%{border-color:var(--line,#e4ebf3)}10%{border-color:#2fa4ad}}
@media (prefers-reduced-motion:reduce){.cx-js .cx-flujo .cx-paso{opacity:1;transform:none;transition:none}
 .cx-flujo.is-on .cx-paso,.cx-flujo.is-on .cx-paso-n,.cx-flujo.is-on .cx-paso:not(:last-child):after{animation:none}}

/* ---------- tabla comparativa ---------- */
.cx-seg{display:none}
.cx-tab-w{background:#fff;border:1px solid #d6e2ee;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -30px rgba(11,31,63,.45)}
.cx-tab{width:100%;border-collapse:collapse;font-size:.97rem;line-height:1.45;color:#0a1a2b}
.cx-tab th,.cx-tab td{padding:.8rem .95rem;text-align:left;vertical-align:top;border-top:1px solid #e4ebf3}
.cx-tab thead th,.cx-tab thead td{border-top:0;vertical-align:bottom;padding-top:1.2rem;padding-bottom:1rem}
.cx-tab thead th{text-align:center;background:#f5f8fb;width:22%}
.cx-tab thead th.cx-c-perpetua{background:#0a2a44;color:#fff}
.cx-tab .cx-esq{width:34%}
.cx-pl{display:block;font-weight:800;font-size:1rem}
.cx-pr{display:block;font-size:1.55rem;font-weight:800;line-height:1.2;margin-top:.2rem;color:#0a2a44}
.cx-c-perpetua .cx-pr{color:#fff}
.cx-pn{display:block;font-size:.85rem;font-weight:600;color:#4b5a6e}
thead .cx-c-perpetua .cx-pn{color:#dbe8f3}
.cx-tab tbody th{font-weight:600;color:#1f2d3d}
.cx-tab tbody td{text-align:center}
.cx-tab tbody td.cx-c-perpetua,.cx-tab tfoot td.cx-c-perpetua{background:#f3f8fc}
.cx-tab tr.cx-grupo th{background:#eef4fa;color:#0a2a44;font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;padding:.55rem .95rem}
.cx-si{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e7f6ec;color:#047857;font-weight:800}
.cx-no{display:inline-block;color:#6b7280;font-weight:800;font-size:1.1rem}
.cx-v{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cx-txt{font-size:.93rem;color:#1f2d3d}
.cx-tab tfoot td{padding:1rem .8rem 1.2rem;border-top:1px solid #d6e2ee;text-align:center}
.cx-btn-tab{width:100%;padding:.75rem .9rem;font-size:.93rem}
.cx-tab-n{margin:1rem 0 0;text-align:center;color:#4b5a6e;font-size:.93rem}
.cx-tab-w2{overflow-x:auto}

/* ---------- packs ---------- */
.cx-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.3rem;max-width:860px;margin:0 auto}
.cx-pack{background:#f5f8fb;border:1px solid #d6e2ee;border-radius:16px;padding:1.6rem;display:flex;flex-direction:column;gap:.7rem;transition:transform .3s,box-shadow .3s}
.cx-pack:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(11,31,63,.4)}
.cx-pack h3{margin:0;color:#0a2a44;font-size:1.2rem}
.cx-pack-inc{margin:0;color:#4b5a6e;line-height:1.55}
.cx-pack-pr{list-style:none;margin:0 0 .4rem;padding:0;display:grid;gap:.45rem}
.cx-pack-pr li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .7rem}
.cx-pack-pr span{min-width:4.8rem;font-weight:700;color:#1f2d3d}
.cx-pack-pr b{font-size:1.25rem;color:#0a2a44}
.cx-pack-pr em{font-style:normal;font-size:.82rem;font-weight:700;background:#e7f6ec;color:#14532d;border-radius:100px;padding:.12rem .55rem}
.cx-pack .btn{margin-top:auto;align-self:flex-start}

/* ---------- demo / requisitos / faq / final ---------- */
.cx-demo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem;padding:clamp(1.4rem,3vw,2.2rem);
 border-radius:18px;background:linear-gradient(120deg,#e6f1f9,#e3f5f3);border:1px solid #cfe1ee}
.cx-demo h2{margin:0 0 .4rem;color:#0a2a44;font-size:clamp(1.35rem,2.4vw,1.8rem)}
.cx-demo p{margin:0;color:#2b3a53;max-width:36rem;line-height:1.6}
.cx-demo a:not(.btn){color:#0b5aa0;text-decoration:underline;font-weight:600}
.cx-demo-b{display:flex;flex-wrap:wrap;gap:.7rem}
.cx-req{max-width:900px;margin:0 auto}
.cx-req-t{width:100%;border-collapse:collapse;background:#fff;border:1px solid #d6e2ee;border-radius:14px;overflow:hidden;font-size:.97rem;line-height:1.55}
.cx-req-t th,.cx-req-t td{text-align:left;vertical-align:top;padding:.75rem .95rem;border-top:1px solid #e4ebf3}
.cx-req-t tr:first-child th,.cx-req-t tr:first-child td{border-top:0}
.cx-req-t th{width:28%;color:#0a2a44;background:#f5f8fb}
.cx-req-t code{font-size:.9em;background:#eef2f7;padding:.05em .35em;border-radius:4px}
.cx-req-n{margin:1rem 0 0;text-align:center}
.cx-req-n a{color:#0b5aa0;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.cx-faq-w{max-width:880px}
.cx-faq{display:grid;gap:.7rem}
.cx-faq-i{background:#fff;border:1px solid #d6e2ee;border-radius:14px}
.cx-faq-i summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.2rem;
 font-weight:700;color:#0a2a44;min-height:48px}
.cx-faq-i summary::-webkit-details-marker{display:none}
.cx-faq-i summary:after{content:"+";flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef4fa;
 color:#0a2a44;font-size:1.2rem;transition:transform .25s}
.cx-faq-i[open] summary:after{transform:rotate(45deg)}
.cx-faq-i div{padding:0 1.2rem 1.1rem}
.cx-faq-i p{margin:0;color:#3d4b5e;line-height:1.65}
.cx-final-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:2.4rem;align-items:center}
.cx-final-txt h2{margin:0 0 .7rem;color:#0a2a44;font-size:clamp(1.6rem,3vw,2.2rem)}
.cx-final-txt p{margin:0;color:#3d4b5e;line-height:1.65;font-size:1.05rem}
.cx-final-txt a{color:#0b5aa0;text-decoration:underline;font-weight:600}
.cx-final-box{background:#fff;border:1px solid #d6e2ee;border-radius:18px;padding:1.5rem;box-shadow:0 24px 50px -30px rgba(11,31,63,.5)}
.cx-sel-nota{margin:.3rem 0 0;font-size:.88rem;color:#4b5a6e}

/* ---------- índice ---------- */
.cx-comps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.cx-comp{display:flex;flex-direction:column;background:#fff;border:1px solid #d6e2ee;border-radius:18px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.cx-comp:hover{transform:translateY(-5px);box-shadow:0 26px 50px -28px rgba(11,31,63,.45)}
.cx-comp .cx-shot{border:0;border-bottom:1px solid #d6e2ee;border-radius:0;box-shadow:none}
.cx-comp-b{display:flex;flex-direction:column;gap:.6rem;padding:1.3rem 1.3rem 1.4rem;flex:1}
.cx-comp-v{margin:0;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#155a86}
.cx-comp-h{margin:0;font-size:1.3rem}
.cx-comp-h a{color:#0a2a44}
.cx-comp-h a:hover{text-decoration:underline}
.cx-comp-b p{margin:0;color:#4b5a6e;line-height:1.55}
.cx-comp-pr{list-style:none;margin:.2rem 0;padding:.7rem 0;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;border-block:1px solid #e4ebf3}
.cx-comp-pr li{display:flex;flex-direction:column;align-items:center;text-align:center}
.cx-comp-pr span{font-size:.8rem;font-weight:700;color:#4b5a6e}
.cx-comp-pr b{font-size:1.02rem;color:#0a2a44}
.cx-comp-btn{display:grid;gap:.55rem;margin-top:auto}
.cx-tab-idx .cx-num{white-space:nowrap;font-weight:700}
.cx-tab-idx th a{color:#0b5aa0;text-decoration:underline}

/* ---------- responsive ---------- */
@media (max-width:960px){
 .cx-hero-in{grid-template-columns:1fr;gap:2rem}
 .cx-hero-img .cx-shot{transform:none}
 .cx-hero{padding-bottom:5.2rem}
 .cx-comps{grid-template-columns:1fr;max-width:560px;margin:0 auto}
}
@media (max-width:860px){
 .cx-cards,.cx-pasos{grid-template-columns:1fr}
 .cx-feat{grid-template-columns:1fr;gap:1.2rem;margin-bottom:2.6rem}
 .cx-feat-rev .cx-feat-txt{order:0}
 .cx-tambien ul{grid-template-columns:1fr}
 .cx-final-in{grid-template-columns:1fr}
}
@media (max-width:860px){
 .cx-tab-w2 .lic-tab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .cx-tab-w2 .lic-tab,.cx-tab-w2 .lic-tab tbody,.cx-tab-w2 .lic-tab tr,.cx-tab-w2 .lic-tab th,.cx-tab-w2 .lic-tab td{display:block;width:auto}
 .cx-tab-w2 .lic-tab tr{border:1px solid #d6e2ee;border-radius:10px;margin:0 0 .7rem;overflow:hidden}
 .cx-tab-w2 .lic-tab tbody th{width:auto;border-top:0}
 .cx-tab-w2 .lic-tab td{display:flex;gap:.6rem;border-top:1px solid #e5edf5}
 .cx-tab-w2 .lic-tab td::before{content:attr(data-l);flex:0 0 6.4rem;font-weight:800;color:#0a2a44}
 .cx-tab-idx .cx-num{white-space:normal}
}
@media (max-width:720px){
 /* Tabla: con JS se muestra un plan a la vez (control segmentado); sin JS, tarjetas apiladas por fila. */
 .cx-js .cx-seg{display:flex;gap:3px;padding:3px;margin:0 0 .8rem;background:#eef2f7;border:1px solid #b8c4d2;border-radius:12px}
 .cx-seg-b{flex:1;min-height:46px;border:0;border-radius:9px;background:transparent;color:#0a2a44;font:inherit;font-weight:800;cursor:pointer}
 .cx-seg-b[aria-pressed=true]{background:#0a2a44;color:#fff}
 .cx-seg-b[data-plan=gratis][aria-pressed=true]{background:#047857}
 .cx-js [data-cx-tabla][data-ver=gratis] .cx-c-anual,.cx-js [data-cx-tabla][data-ver=gratis] .cx-c-perpetua,
 .cx-js [data-cx-tabla][data-ver=anual] .cx-c-gratis,.cx-js [data-cx-tabla][data-ver=anual] .cx-c-perpetua,
 .cx-js [data-cx-tabla][data-ver=perpetua] .cx-c-gratis,.cx-js [data-cx-tabla][data-ver=perpetua] .cx-c-anual{display:none}
 .cx-js .cx-tab .cx-esq{width:auto}
 .cx-js .cx-tab th,.cx-js .cx-tab td{padding:.7rem .65rem}
 .cx-js .cx-tab tbody th{width:55%;font-size:.93rem}
 .cx-js .cx-tab tfoot .cx-esq{display:none}
 .cx-js .cx-tab tfoot td{padding:1rem}
 html:not(.cx-js) .cx-tab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 html:not(.cx-js) .cx-tab,html:not(.cx-js) .cx-tab tbody,html:not(.cx-js) .cx-tab tfoot,html:not(.cx-js) .cx-tab tr,
 html:not(.cx-js) .cx-tab th,html:not(.cx-js) .cx-tab td{display:block;width:auto}
 html:not(.cx-js) .cx-tab td{display:flex;gap:.6rem;text-align:left}
 html:not(.cx-js) .cx-tab td:before{content:attr(data-l);flex:0 0 5.4rem;font-weight:800;color:#0a2a44}
 html:not(.cx-js) .cx-tab tfoot td:before{content:none}
 html:not(.cx-js) .cx-tab .cx-v{position:static;width:auto;height:auto;clip-path:none}
 .cx-demo{flex-direction:column;align-items:flex-start}
 .cx-req-t th,.cx-req-t td{display:block;width:auto}
 .cx-req-t th{border-top:1px solid #e4ebf3;padding-bottom:.2rem}
 .cx-req-t td{border-top:0;padding-top:.2rem}
 .cx-req-t tr:first-child th{border-top:0}
}
@media (max-width:420px){
 .cx-hero{padding-top:6.6rem}
 .cx-ctas .btn{width:100%}
 .cx-hero-datos{font-size:.88rem}
}
@media (prefers-reduced-motion:reduce){
 .cx-tip-t:after{animation:none}
 .cx-card,.cx-pack,.cx-comp,.cx-faq-i summary:after{transition:none}
 .cx-card:hover,.cx-pack:hover,.cx-comp:hover{transform:none}
}

/* Botón «Ver demo» bajo las primeras secciones (05-10-2026). */
.cx-demo-cta{text-align:center;margin:1.8rem 0 0}
.cx-demo-cta .btn{min-width:12rem}
