/* Formulario único "Solicitar demostración" (compartido por todo el sitio) */
.demo-modal{
  --dm-navy:#061a2b; --dm-text:#1a3a5c; --dm-text-2:#38536a; --dm-muted:#637789;
  --dm-teal:#0aa7b1; --dm-teal-dark:#087f9a; --dm-line:#dce7ed; --dm-soft:#f6f9fb; --dm-red:#e34739;
  position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;line-height:1.5;
}
.demo-modal[hidden]{display:none}
.demo-modal *{box-sizing:border-box}
.demo-backdrop{position:absolute;inset:0;background:rgba(6,26,43,.66);backdrop-filter:blur(3px);animation:demoFade .2s ease}
.demo-dialog{
  position:relative;width:100%;max-width:660px;max-height:calc(100vh - 32px);overflow-y:auto;
  background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(6,26,43,.4);animation:demoRise .25s ease;
}
.demo-dialog::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#13b8c5,#087f9a)}
.demo-body{padding:38px 40px 32px}
.demo-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--dm-teal-dark);margin:0 0 10px;text-transform:uppercase}
.demo-body h2{font-size:clamp(24px,3vw,30px);line-height:1.15;letter-spacing:-.02em;font-weight:800;color:var(--dm-navy);margin:0 0 8px}
.demo-intro{color:var(--dm-muted);font-size:14px;margin:0 0 22px}
.demo-close{
  position:absolute;top:14px;right:16px;width:38px;height:38px;border:0;border-radius:50%;
  background:var(--dm-soft);color:var(--dm-navy);font-size:26px;line-height:1;cursor:pointer;
}
.demo-close:hover{background:#e6f5f7}
.demo-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--dm-text-2);margin:0 0 14px}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.demo-form input:not([type=checkbox]),.demo-form select,.demo-form textarea{
  font:inherit;font-weight:400;font-size:14px;color:var(--dm-text);width:100%;
  padding:11px 13px;border:1px solid var(--dm-line);border-radius:8px;background:#fff;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.demo-form textarea{resize:vertical;min-height:80px}
.demo-form input:focus,.demo-form select:focus,.demo-form textarea:focus{outline:none;border-color:var(--dm-teal);box-shadow:0 0 0 3px rgba(17,184,194,.15)}
.demo-form .invalid{border-color:var(--dm-red)!important}
.demo-form label.demo-check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:12.5px;color:var(--dm-muted)}
.demo-check input{margin-top:3px;width:16px;height:16px;flex:none;accent-color:var(--dm-teal-dark)}
.demo-check.invalid span{color:var(--dm-red)}
.demo-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.demo-error{background:rgba(227,71,57,.08);color:var(--dm-red);border:1px solid rgba(227,71,57,.3);border-radius:8px;padding:10px 13px;font-size:13px;margin:0 0 14px}
.demo-submit,.demo-success .demo-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;
  padding:14px 24px;border:0;border-radius:8px;cursor:pointer;
  background:linear-gradient(180deg,#13b8c5,#0b91a6);color:#fff;font:inherit;font-weight:700;font-size:15px;
  box-shadow:0 6px 20px rgba(11,145,166,.3);transition:filter .2s,transform .2s;
}
.demo-submit:hover,.demo-success .demo-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.demo-submit:disabled{opacity:.65;cursor:wait;transform:none}
.demo-success{text-align:center;padding-top:52px;padding-bottom:44px}
.demo-success p{color:var(--dm-muted);margin:0 auto 26px;max-width:420px}
.demo-success .demo-btn{width:auto}
.demo-success-icon{
  width:68px;height:68px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;
  background:#e6f5f7;color:var(--dm-teal-dark);font-size:32px;font-weight:800;
}
body.demo-open{overflow:hidden}
@keyframes demoFade{from{opacity:0}to{opacity:1}}
@keyframes demoRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:560px){
  .demo-body{padding:34px 20px 26px}
  .demo-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.demo-backdrop,.demo-dialog{animation:none}}
