/* Las cuatro secciones de plataforma de la v9 (platform.js): instalación,
   privacidad, marca propia y asistente de IA. Misma paleta y mismas piezas que
   el resto —.container, .section-heading, .rich-panel, .rich-button, .rich-tag—:
   lo que hay aquí es la disposición, no un sistema visual nuevo.
   Cortes en 950, 760 y 380 px, como styles.css. */

/* El lienzo del `body` ya es gris suave, así que una sección «sin fondo» no se
   distingue de la de al lado: las cuatro se declaran, alternando blanco y gris
   para que se lean como cuatro paradas y no como una tirada de texto. */
.install-section,.brand-section{background:#f4f5f7;border-block:1px solid #e3e6ec}
.privacy-section,.ai-section{background:#fff}

/* ───────── Diagrama de la instalación ───────── */
.trust-diagram{margin:0 0 46px;padding:0}
/* Una sola caja: la instalación del cliente. Tuvo al lado la de otra empresa
   con un muro en medio, y se fue el 06/11 por explicar lo obvio. */
.trust-sites{display:grid;grid-template-columns:minmax(0,1fr)}
.trust-site{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;padding:22px 24px;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0}
.trust-site-name{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.9375rem;color:var(--ink)}
.trust-site-mark{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;border-radius:7px;background:var(--blue);color:#fff;font-size:.75rem;font-weight:800}
.trust-apps{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 320px}
.trust-apps span{padding:7px 11px;border:1px solid #dfe4ec;border-radius:7px;background:#f7f9ff;font-size:.8125rem;font-weight:650;color:#3f4a5c}
.trust-db{display:flex;align-items:center;gap:9px;padding:11px 15px;border:1px dashed #c9d1de;border-radius:9px;background:#fbfcfe;font-size:.875rem;font-weight:650;color:#3f4a5c}
.trust-db .trust-icon{width:17px;height:17px;flex:0 0 auto;color:var(--blue)}
.trust-services{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.trust-services span{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.8125rem;font-weight:650;color:#3f4a5c}
.trust-services .trust-icon{width:18px;height:18px;color:var(--blue)}
.trust-diagram figcaption{margin-top:18px;font-size:.875rem;line-height:1.8;color:var(--gray);max-width:760px}

/* ───────── Las piezas ─────────
   Cuatro piezas, cuatro columnas. Fueron cinco y la rejilla era de seis para
   repartirlas 3+2; con cuatro, una fila limpia. */
.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-bottom:46px}
.trust-grid article{padding:26px 24px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0;box-shadow:0 14px 34px -28px #16213f4d}
.trust-grid h3{font-size:1.0625rem;margin:14px 0 10px}
.trust-grid p{font-size:.875rem;line-height:1.75}
.trust-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#eef1ff;color:var(--blue)}
.trust-icon{width:22px;height:22px}

/* ───────── Demo «Estado de la instalación» ───────── */
.trust-demo,.ia-demo{border:1px solid #e1e5ec;border-radius:14px;background:#fafbfc;overflow:hidden;box-shadow:0 30px 64px -40px #16213f80}
.trust-demo .product-topline,.ia-demo .product-topline{padding:14px 20px}
.trust-demo-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:22px}
.trust-big{font-size:1.5rem;font-weight:700;color:var(--ink);letter-spacing:-.02em;margin-bottom:8px}
.trust-small{font-size:.8125rem;line-height:1.7;color:#5b6678;margin-top:6px}
.trust-demo .rich-button{margin-top:16px}
.trust-service-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.trust-service-list li{display:flex;align-items:center;gap:10px;font-size:.875rem;color:#3f4a5c}
.trust-service-list strong{margin-left:auto;font-size:.8125rem;font-weight:650;color:#13755c}
.trust-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#2bab85;box-shadow:0 0 0 4px #2bab8524}
.trust-scope{margin-top:22px;font-size:.8125rem;line-height:1.8;color:#5b6678}

/* ───────── El recorrido automático de la portada ─────────
   La ventana se funde al cambiar de área: sin esto, el salto de una demo a
   otra parpadea. 320 ms, que es lo que espera `app.js` antes de repintar. */
.module-screen{transition:opacity .32s ease}
.module-screen.is-fading{opacity:.18}
.tour-badge{display:flex;width:fit-content;align-items:center;gap:9px;margin:0 2px 9px auto;padding:7px 13px;
  border:1px solid #39414f;border-radius:999px;background:#1f242e;color:#aeb7c7;font-size:.75rem;font-weight:650;line-height:1.4}
.tour-badge i{width:7px;height:7px;border-radius:50%;background:#5b74ff;box-shadow:0 0 0 4px #5b74ff33;
  animation:tour-latido 1.9s ease-in-out infinite}
@keyframes tour-latido{0%,100%{opacity:1}50%{opacity:.35}}
@media(max-width:760px){.tour-badge{margin:0 0 9px;font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){
 .module-screen{transition:none}
 .tour-badge i{animation:none}
}

/* ───────── Conectores, más apretados (06/11/2026) ─────────
   Ocho tarjetas en dos columnas se comían el 10 % del scroll de toda la página
   —3.700 px en el móvil— para decir ocho cosas cortas. Tres columnas en el
   escritorio y menos aire dentro: el contenido es el mismo. */
@media(min-width:1001px){
 .connector-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
 .connector-card{padding:24px 24px 22px}
}
.connector-card .connector-description{font-size:.875rem;line-height:1.7}
.connector-note{margin-top:14px;padding-top:13px}

/* ───────── El formulario, que ahora envía de verdad ─────────
   Campo trampa fuera de la pantalla (no `display:none`: un robot que lee el CSS
   lo descartaría), consentimiento con su casilla y nota legal debajo. */
.contact-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-consent{display:flex;align-items:flex-start;gap:11px;margin:18px 0 4px;font-size:.8125rem;line-height:1.6;color:#4c5869;cursor:pointer}
/* 24 px de lado: es la medida mínima de lo que se toca con el dedo, y una
   casilla de las de serie se queda en 13. */
.contact-consent input{width:24px;height:24px;flex:0 0 auto;margin:0;accent-color:var(--blue)}
.contact-note a{color:var(--blue)}

/* ───────── Implantación: las dos tarjetas de servicio ───────── */
.service-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 30px}
.service-strip article{padding:18px 19px;border:1px solid var(--line);border-radius:11px;background:#fff}
.service-strip h3{font-size:.9375rem;line-height:1.4;font-weight:750}
.service-strip p{font-size:.875rem;line-height:1.75;margin-top:7px}

/* ───────── Privacidad ───────── */
.privacy-panel .rich-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.privacy-rows{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:0}
.privacy-rows li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #e7eaf0;font-size:.9375rem}
.privacy-rows li:first-child{border-top:0}
.privacy-rows strong{font-size:.875rem;font-weight:650;color:#4c5869;text-align:right}
.privacy-rows span:first-child{min-width:0}

/* ───────── Identidad corporativa ─────────
   No hay logotipo en ninguna parte (Claudio, 06/11): lo que se enseña es el
   manual aplicado —color, tipografía y plantilla—, y el nombre de la empresa
   compuesto con ellos. `--marca-tipo` lo declara cada empresa en su ficha y de
   ahí baja a la aplicación de muestra y a la portada del informe. */
.brand-demo .rich-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.brand-manual{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:18px}
.brand-manual-title{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5b6678;margin-right:4px}
.brand-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.8125rem;font-weight:650;color:#3f4a5c}
.brand-swatch{width:15px;height:15px;border-radius:4px;background:var(--marca);box-shadow:inset 0 0 0 1px #0000001a}
.brand-type{font-family:var(--marca-tipo);font-size:1rem;font-weight:700;color:var(--marca);font-style:normal;white-space:nowrap;line-height:1}
.brand-stage{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}
.brand-app{border:1px solid #e1e5ec;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 26px 56px -38px #16213f80}
.brand-app-top{display:flex;align-items:center;gap:12px;padding:15px 18px;background:var(--marca-claro);border-bottom:1px solid #e4e8ee}
.brand-app-name{font-family:var(--marca-tipo);font-weight:700;color:var(--marca);font-size:1.0625rem;letter-spacing:-.01em;min-width:0;overflow-wrap:anywhere}
.brand-app-top .demo-badge{margin-left:auto}
.brand-app-body{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr)}
.brand-app-nav{display:grid;gap:4px;padding:16px 12px;border-right:1px solid #eceff4;background:#fbfcfd;align-content:start}
.brand-app-nav span{padding:9px 11px;border-radius:7px;font-size:.8125rem;font-weight:650;color:#5b6678}
.brand-app-nav span:first-child{background:var(--marca-claro);color:var(--marca)}
.brand-app-main{padding:20px}
.brand-app-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--marca)}
.brand-app-title{font-size:1.25rem;font-weight:700;color:var(--ink);margin:8px 0 16px;letter-spacing:-.02em}
.brand-app-rows{display:grid;gap:9px}
.brand-app-rows span{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid #e9ecf2;border-radius:9px;font-size:.875rem;color:#3f4a5c;background:#fff}
.brand-app-rows i{width:7px;height:22px;flex:0 0 auto;border-radius:3px;background:var(--marca)}
.brand-report{display:grid;gap:10px}
.brand-report-kind{font-size:.75rem;font-weight:800;letter-spacing:.1em;color:#5b6678}
.brand-report-cover{padding:26px 22px;border:1px solid #e1e5ec;border-radius:13px;background:linear-gradient(170deg,var(--marca-claro),#fff 58%);box-shadow:0 22px 48px -34px #16213f80}
.brand-report-company{font-family:var(--marca-tipo);font-size:1.0625rem;font-weight:700;color:var(--marca);letter-spacing:-.01em}
.brand-report-rule{display:block;width:62px;height:4px;border-radius:2px;background:var(--marca);margin:14px 0 18px}
.brand-report-title{font-family:var(--marca-tipo);font-size:1.125rem;font-weight:700;color:var(--ink);line-height:1.35}
.brand-report-foot{margin-top:22px;font-size:.75rem;line-height:1.6;color:#5b6678}

/* ───────── Asistente de IA ───────── */
.ia-points{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px}
.ia-points li{position:relative;padding:0 0 0 26px;font-size:.9375rem;line-height:1.75;color:var(--gray)}
.ia-points li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:10px;border-radius:50%;border:3px solid var(--blue)}
.ia-body{display:grid;gap:16px;padding:22px}
.ia-thread{display:grid;gap:14px}
.ia-turn{display:grid;gap:6px;justify-items:start}
.ia-turn.is-person{justify-items:end;text-align:left}
.ia-who{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5b6678}
/* La burbuja de la persona se ajusta a su frase; la del asistente lleva listas
   y tarjetas de confirmación, y encogida al contenido salía estrecha y rota. */
.ia-turn:not(.is-person) .ia-bubble{width:min(620px,100%)}
.ia-bubble{max-width:min(620px,100%);padding:15px 18px;border:1px solid #e1e5ec;border-radius:13px;background:#fff;font-size:.9375rem;line-height:1.7;color:#2b3340}
.ia-turn.is-person .ia-bubble{background:#eef1ff;border-color:#d7ddff}
.ia-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.ia-list li{padding:10px 13px;border:1px solid #e9ecf2;border-radius:8px;background:#fbfcfe;font-size:.875rem}
.ia-scope{margin-top:12px;font-size:.8125rem;color:#5b6678}
.ia-confirm{display:grid;gap:14px}
.ia-confirm-title{font-weight:700;color:var(--ink)}
.ia-confirm-rows{margin:0;display:grid;gap:9px}
.ia-confirm-rows>div{display:flex;gap:14px;justify-content:space-between;font-size:.875rem}
.ia-confirm-rows dt{color:#5b6678}
.ia-confirm-rows dd{margin:0;font-weight:650;color:#2b3340;text-align:right}
.ia-confirm-actions{display:flex;flex-wrap:wrap;gap:9px}
.ia-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding-top:4px;border-top:1px solid #e9ecf2}
.ia-actions .rich-button{margin-top:14px}
.ia-actions .is-ask{gap:12px;text-align:left}
.ia-ask-text{color:#5b6678}
.ia-ask-go{font-weight:700;color:var(--blue);white-space:nowrap}
.ia-log{padding:20px 22px;border-top:1px solid #e4e8ee;background:#fff}
.ia-log-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.ia-log-head h4{font-size:1rem}
.ia-log-rows{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:0}
.ia-log-rows li{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr) minmax(90px,auto);gap:14px;padding:11px 0;border-top:1px solid #eceff4;font-size:.875rem;color:#4c5869}
.ia-log-rows li:first-child{border-top:0}
.ia-log-rows li span:last-child{text-align:right;color:#5b6678}

@media(max-width:950px){
 .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .trust-demo-body{grid-template-columns:repeat(2,minmax(0,1fr))}
 .brand-stage{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 .trust-demo-body{grid-template-columns:minmax(0,1fr);padding:16px;gap:14px}
 .trust-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:34px}
 .trust-grid article{padding:21px 18px}
 .trust-site{padding:18px}
 .ia-body{padding:16px}
 .ia-bubble{font-size:.875rem;padding:13px 15px}
 .ia-actions{justify-content:stretch}
 .ia-actions .is-ask{flex-direction:column;align-items:flex-start;gap:5px;width:100%}
 .ia-log{padding:18px 16px}
 .ia-log-rows li{grid-template-columns:minmax(0,1fr);gap:3px}
 .ia-log-rows li span:last-child{text-align:left}
 .service-strip{grid-template-columns:minmax(0,1fr)}
 .privacy-rows li{flex-direction:column;align-items:flex-start;gap:7px}
 .privacy-rows strong{text-align:left}
 /* A 390 el nombre de la empresa se partía en dos líneas para dejarle sitio al
    sello de «Datos de demostración». Mejor el sello debajo, entero. */
 .brand-app-top{flex-wrap:wrap}
 .brand-app-top .demo-badge{margin-left:0;flex-basis:100%}
 .brand-app-body{grid-template-columns:minmax(0,1fr)}
 .brand-app-nav{display:flex;flex-wrap:wrap;border-right:0;border-bottom:1px solid #eceff4}
 .brand-app-main{padding:16px}
}
@media(max-width:380px){
 .trust-apps span,.trust-services span{font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){
 .trust-grid article{transition:none}
}
