/* ===== demostración del chat con IA (ventana central, escritorio y móvil) ===== */
.cx-back{position:fixed;inset:0;z-index:70;background:rgba(10,10,11,.74);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .3s;font-family:"Inter",system-ui,sans-serif}
.cx-back.on{opacity:1;pointer-events:auto}
.cx{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,33vw,560px);gap:0;width:min(1500px,88vw);height:84vh;max-height:900px;background:#f1efea;color:#0a0a0b;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:translateY(24px) scale(.97);transition:transform .4s cubic-bezier(.2,.7,.2,1);position:relative}
.cx-back.on .cx{transform:none}
.cx-info{padding:clamp(28px,4vh,56px) clamp(24px,3vw,56px) 32px;display:flex;flex-direction:column;min-width:0}
.cx-k{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:#c4501a}
.cx-info h3{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(26px,3.1vw,54px);line-height:1.1;margin-top:14px}
.cx-steps{list-style:none;margin-top:30px;display:grid;gap:18px;padding:0}
.cx-steps li{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;font-size:clamp(16px,1.3vw,23px);line-height:1.4;opacity:.38;transition:opacity .5s}
.cx-steps li.on{opacity:1}
.cx-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid currentColor;font:600 13px "IBM Plex Mono",monospace}
.cx-steps li.on b{background:#c4501a;border-color:#c4501a;color:#fff}
.cx-steps span small{display:block;font-size:.8em;opacity:.7;margin-top:2px}
.cx-foot{margin-top:auto;display:flex;gap:10px;align-items:center;padding-top:20px}
.cx-btn{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:none;border:1px solid rgba(10,10,11,.35);color:#0a0a0b;padding:10px 14px;border-radius:99px;cursor:pointer}
.cx-btn:hover{background:#0a0a0b;color:#f1efea}
.cx-note{font-size:12px;opacity:.55}
.cx-x{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font:400 22px/1 system-ui;cursor:pointer}
/* la ventana de chat, como la ve quien visita la web */
.cx-chat{background:#fff;display:flex;flex-direction:column;min-height:0;border-left:1px solid #e3dfd6}
.cx-head{background:#1e2318;color:#f3ecd8;padding:16px 56px 16px 18px;display:flex;gap:12px;align-items:center}
.cx-av{width:40px;height:40px;border-radius:50%;background:#7fa35c;color:#1e2318;display:grid;place-items:center;font:700 19px "Playfair Display",Georgia,serif;flex:none}
.cx-head b{display:block;font-size:clamp(16px,1.15vw,21px)}
.cx-head small{font-size:12.5px;opacity:.75;display:flex;align-items:center;gap:6px}
.cx-head small::before{content:"";width:8px;height:8px;border-radius:50%;background:#5fd48a}
.cx-msgs{flex:1;overflow-y:auto;padding:18px 14px;display:flex;flex-direction:column;gap:10px;background:#f7f5f0;scroll-behavior:smooth}
.cx-m{max-width:84%;padding:.65em .85em;border-radius:16px;font-size:clamp(15px,1.08vw,20px);line-height:1.4;animation:cxIn .35s cubic-bezier(.2,.7,.2,1)}
@keyframes cxIn{from{opacity:0;transform:translateY(10px)}}
.cx-m.v{align-self:flex-end;background:#1e2318;color:#f3ecd8;border-bottom-right-radius:5px}
.cx-m.a{align-self:flex-start;background:#fff;border:1px solid #e6e2d8;border-bottom-left-radius:5px}
.cx-m.a::before{content:"Asistente";display:block;font:500 10px "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:#5f7d43;margin-bottom:3px}
.cx-typ{align-self:flex-start;background:#fff;border:1px solid #e6e2d8;border-radius:16px;padding:12px 14px;display:flex;gap:5px}
.cx-typ i{width:7px;height:7px;border-radius:50%;background:#9a968c;animation:cxDot 1s infinite}
.cx-typ i:nth-child(2){animation-delay:.15s}.cx-typ i:nth-child(3){animation-delay:.3s}
@keyframes cxDot{0%,60%,100%{transform:none;opacity:.4}30%{transform:translateY(-4px);opacity:1}}
.cx-sys{align-self:center;text-align:center;font:500 11px "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:#7a766c;padding:4px 0;animation:cxIn .35s}
.cx-push{align-self:stretch;background:#0a0a0b;color:#fff;border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;animation:cxIn .45s cubic-bezier(.2,.7,.2,1);box-shadow:0 8px 20px rgba(0,0,0,.2)}
.cx-push span{width:34px;height:34px;border-radius:9px;background:#f47a3d;display:grid;place-items:center;font:800 15px "Playfair Display",Georgia,serif}
.cx-push b{display:block;font-size:clamp(14px,1vw,18px)}
.cx-push small{font-size:clamp(13px,.92vw,16px);opacity:.75}
.cx-in{display:flex;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid #e6e2d8;background:#fff}
.cx-in div{flex:1;border:1px solid #ddd8cc;border-radius:99px;padding:10px 14px;font-size:14.5px;color:#0a0a0b;min-height:40px;white-space:nowrap;overflow:hidden}
.cx-in div:empty::before{content:"Escribe tu mensaje…";color:#a39f95}
.cx-in em{width:38px;height:38px;border-radius:50%;background:#1e2318;color:#f3ecd8;display:grid;place-items:center;font-style:normal;font-size:16px;flex:none}
@media (max-width:760px){
  .cx{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);width:100vw;height:100dvh;border-radius:0}
  .cx-info{padding:18px 56px 14px 18px}
  .cx-info h3{font-size:22px;margin-top:6px}
  .cx-steps,.cx-note{display:none}
  .cx-foot{padding-top:10px;margin-top:0}
  .cx-chat{border-left:0;border-top:1px solid #e3dfd6}
  .cx-x{background:rgba(10,10,11,.1);color:#0a0a0b}
}
/* apartado del chat en las presentaciones */
.demo-btn{display:inline-flex;align-items:center;gap:10px;background:var(--acc,#c4501a);color:#fff!important;text-decoration:none;font-family:"Inter",system-ui,sans-serif;font-weight:600;font-size:max(15px,1.25vw);padding:1.7vh 2vw;border-radius:8px;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 26px rgba(196,80,26,.25)}
.demo-btn:hover{transform:translateY(-2px)}
.demo-btn svg{width:1.4em;height:1.4em}
.chat-prev{position:relative;cursor:pointer}
.chat-card{position:absolute;right:-2%;bottom:-9%;width:46%;background:#fff;color:#0a0a0b;border-radius:14px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.3);font-family:"Inter",system-ui,sans-serif;font-size:max(11px,.95vw);text-align:left}
.chat-card .h{background:#1e2318;color:#f3ecd8;padding:.9em 1em;display:flex;gap:.7em;align-items:center;font-weight:600}
.chat-card .h i{width:2em;height:2em;border-radius:50%;background:#7fa35c;color:#1e2318;display:grid;place-items:center;font:700 1em "Playfair Display",Georgia,serif;font-style:normal}
.chat-card .b{padding:1em;display:grid;gap:.6em;background:#f7f5f0}
.chat-card .b span{background:#fff;border:1px solid #e6e2d8;border-radius:1em;border-bottom-left-radius:.3em;padding:.6em .8em;max-width:88%;line-height:1.35}
.chat-card .b span.v{justify-self:end;background:#1e2318;color:#f3ecd8;border:0;border-radius:1em;border-bottom-right-radius:.3em}
@media (max-width:760px){.demo-btn{font-size:17px;padding:16px 22px;width:100%;justify-content:center;margin-top:26px}.chat-card{font-size:12px;width:62%;right:0;bottom:-14%}.chat-prev{margin-bottom:64px}}
