/* =====================================================================
   INTELISOC — Sistema de diseño (BRIEF §1) + clases del prototipo
   Fuente de verdad: INTELISOC-web-completa.html
   Regla: TODO estilo por clase global; nada inline en Elementor.
   La tipografía de elementos (h1,h2,body…) va scopeada a body.isoc-scope
   para no interferir con las páginas antiguas durante la transición.
   ===================================================================== */

:root{
  --navy-900:#0E1233;   /* Fondos oscuros, header, footer, titulares */
  --navy-800:#151A44;   /* Botón primario, franjas */
  --navy-700:#1E2456;
  --brand:#E8501E;      /* Naranja de marca: iconos, acentos, filetes */
  --brand-dark:#C0330F; /* Botones y enlaces (WCAG AA 5,64:1) */
  --amber:#F5A623;      /* Solo detalles gráficos */
  --ink:#1E2433;        /* Texto principal */
  --muted:#5C6577;      /* Texto secundario */
  --line:#E6E9F0;       /* Bordes 1px */
  --bg:#FFFFFF;
  --bg-soft:#F6F7FB;
  --max:1160px;
  --isv-red:#D91E18; --isv-green:#0E6B3D; --isv-yellow:#8A5A08; --isv-orange:#E8901E;
}

/* ---------- Tipografía (solo páginas nuevas: body.isoc-scope) ---------- */
body.isoc-scope{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.isoc-scope h1,.h1like{font-size:42px;line-height:1.18;font-weight:600;letter-spacing:-.015em;color:var(--navy-900)}
.isoc-scope h2{font-size:30px;line-height:1.25;font-weight:600;letter-spacing:-.01em;color:var(--navy-900)}
.isoc-scope h3{font-size:20px;font-weight:600;color:var(--navy-900)}
.isoc-scope section,.isoc-section{padding:84px 0}
@media(max-width:620px){.isoc-scope section,.isoc-section{padding:56px 0}}

/* ---------- Layout ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
.sec-head{max-width:780px;margin-bottom:48px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head p{margin-top:14px;color:var(--muted)}
.lead{font-size:17px;color:var(--muted);max-width:680px}
.kicker{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--brand-dark);text-transform:uppercase;display:block;margin-bottom:16px}
.crumb{font-size:13px;color:var(--muted);margin-bottom:22px;display:block}
.crumb a{color:var(--brand-dark);font-weight:500}
.crumb span{margin:0 8px;color:#B9BFD0}

/* ---------- Botones ---------- */
.btn{display:inline-block;font-size:14px;font-weight:500;border-radius:4px;padding:12px 26px;transition:.2s;border:1px solid transparent;cursor:pointer;text-decoration:none}
.btn-primary{background:var(--navy-800);color:#fff}
.btn-primary:hover{background:var(--brand-dark);color:#fff}
.btn-brand{background:var(--brand-dark);color:#fff}
.btn-brand:hover{background:#A32A0B;color:#fff}
.btn-ghost{border-color:#CAD0DE;color:var(--navy-800)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand-dark)}
.btn-outline-w{border-color:rgba(255,255,255,.45);color:#fff}
.btn-outline-w:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.btn-light{background:#fff;color:var(--navy-800)}
.more{font-size:14px;font-weight:600;color:var(--brand-dark)}
.more:hover{color:#A32A0B}

/* ---------- Hero ---------- */
.hero-band{background:linear-gradient(180deg,#FBFCFE,#F4F6FA);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero-band section{padding:76px 0 68px}
.hero-band .lead{margin-top:20px}
.hero-band.navy{background:var(--navy-900);border-bottom:3px solid var(--brand)}
.hero-band.navy h1,.hero-band.navy .h1like{color:#fff}
.hero-band.navy .lead{color:#AEB4D2}
.hero-slides{position:relative;min-height:330px}
.hslide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease}
.hslide.on{opacity:1;visibility:visible}
.hdots{display:flex;gap:10px;margin-top:40px;position:relative;z-index:2}
.hdots button{width:26px;height:4px;border-radius:2px;border:0;background:#D5DAE6;cursor:pointer;transition:.3s;padding:0}
.hdots button.on{background:var(--brand);width:44px}
@media(max-width:1000px){.hero-slides{min-height:430px}}
@media(max-width:620px){.hero-slides{min-height:540px}}

/* ---------- Tarjetas y rejillas ---------- */
.card{border:1px solid var(--line);border-radius:6px;background:#fff;padding:34px;transition:.2s;display:flex;flex-direction:column;position:relative}
.card:hover{border-color:#D9C3B8;box-shadow:0 6px 24px rgba(14,18,51,.07)}
.card .ic{width:44px;height:44px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--brand);margin-bottom:20px;background:var(--bg-soft);flex:none}
.card h3{margin-bottom:10px;line-height:1.3;min-height:2.6em}
.card p{font-size:15px;color:var(--muted)}
.card .more{margin-top:auto;padding-top:20px}
.card.feat{background:#fff;border-color:#E8D5C9}
.card ul{list-style:none;margin:18px 0 8px;padding:0;display:grid;gap:10px}
.card ul li,.checklist li{display:flex;gap:10px;font-size:14.5px;color:#3D465E}
.card ul li svg,.checklist li svg{flex:none;margin-top:4px;color:var(--brand)}
.checklist{list-style:none;display:grid;gap:12px;padding:0}
.pill{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--brand-dark);border:1px solid #F0CDB9;background:#FDF1EA;border-radius:3px;padding:4px 10px;margin-bottom:18px;text-transform:uppercase;align-self:flex-start}
/* Badge dentro de una card: cinta sobre el borde superior (no empuja el texto -> títulos alineados) */
.card{position:relative}
.card > .pill{position:absolute;top:-11px;left:34px;margin:0;z-index:2}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.svc-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:24px;margin-bottom:24px}
.svc-col{display:grid;gap:24px}

/* ---------- Bandas ---------- */
.navyband{background:var(--navy-900);color:#fff;border-radius:8px;padding:44px;position:relative;overflow:hidden}
.navyband .kicker{color:#F0A084}
.navyband h3,.navyband h2{color:#fff}
.navyband p{color:#AEB4D2}
.ops{background:linear-gradient(180deg,var(--navy-900),var(--navy-800));position:relative;overflow:hidden}
.ops .inner{position:relative;z-index:1;padding:64px 0}
.ops .metrics{grid-template-columns:repeat(4,1fr);gap:36px}
.ops .metric{border-left:2px solid var(--brand);padding-left:26px}
.ops .metric b{color:#fff;font-size:48px;letter-spacing:-.02em;white-space:nowrap}
.ops .metric b i{font-style:normal;color:var(--brand)}
.ops .metric span{color:#AEB4D2;font-size:14px;display:block;margin-top:6px}
.ops .metric b span{font-size:inherit;color:inherit;display:inline;margin:0}
.ops .kicker{color:#F0A084;margin-bottom:8px}
.cta-final{background:var(--navy-800);color:#fff;position:relative;overflow:hidden}
.cta-final .inner{text-align:center;position:relative;z-index:1}
.cta-final h2{color:#fff;max-width:680px;margin:0 auto 14px}
.cta-final p{color:#AEB4D2;margin-bottom:30px;font-size:15px}

/* ---------- Celdas / pasos / métricas ---------- */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.feat-cell{background:#fff;padding:28px}
.feat-cell:hover{background:#FDFBFA}
.feat-cell .ic{color:var(--brand);margin-bottom:12px}
.feat-cell h4{font-size:16px;font-weight:600;color:var(--navy-900);margin-bottom:6px}
.feat-cell p{font-size:13.5px;color:var(--muted);line-height:1.55}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.steps.five{grid-template-columns:repeat(5,1fr);gap:26px}
.step .num{font-size:13px;font-weight:600;color:var(--brand-dark);letter-spacing:.08em;border-top:2px solid var(--brand);padding-top:14px;display:block;margin-bottom:10px}
.step h4{font-size:16.5px;font-weight:600;color:var(--navy-900);margin-bottom:6px}
.step p{font-size:14px;color:var(--muted)}
.step .more{display:inline-block;margin-top:8px;font-size:13px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.metrics.three{grid-template-columns:repeat(3,1fr)}
.metric{border-left:1px solid #DCE0EA;padding-left:22px}
.metric b{display:block;font-size:34px;font-weight:600;color:var(--navy-900);line-height:1.1}
.metric span{font-size:13.5px;color:var(--muted)}
.metric b span{font-size:inherit;color:inherit;margin:0;display:inline}
.bars{display:grid;gap:18px;max-width:720px}
.bar label{display:flex;justify-content:space-between;font-size:14px;color:#3D465E;font-weight:500;margin-bottom:6px}
.bar label b{color:var(--navy-900)}
.bar .track{height:8px;background:#EEF0F5;border-radius:4px;overflow:hidden}
.bar .fill{height:100%;background:linear-gradient(90deg,var(--brand),#F0831E);border-radius:4px}

/* ---------- Datos con fuente / vectores / comparativa ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{border-top:2px solid var(--brand);padding-top:18px}
.stat b{display:block;font-size:34px;font-weight:600;color:var(--navy-900);line-height:1.1;letter-spacing:-.02em}
.stat p{font-size:14px;color:#3D465E;margin:8px 0 6px;line-height:1.45}
.stat cite{font-style:normal;font-size:11.5px;color:var(--muted);font-family:'IBM Plex Mono',monospace}
.vector{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:6px;background:#fff;padding:26px 28px;margin-bottom:14px}
.vector.max{border-left-color:#D91E18}
.vector.alta{border-left-color:#E8901E}
.vector.media{border-left-color:#8A93A6}
.vector .vh{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.vector h3{font-size:18px;margin:0}
.vector .crit{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:4px;white-space:nowrap}
.crit.max{background:#FDE7E6;color:#A31410}
.crit.alta{background:#FBEEDA;color:#8A5A08}
.crit.media{background:#EEF0F5;color:#5C6577}
.vector p{font-size:14.5px;color:#3D465E;margin:0}
.vector p + p{margin-top:10px}
.comp{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.comp thead th{background:#F0F2F7;text-align:left;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5C6577;padding:14px 16px;border-bottom:1px solid var(--line)}
.comp thead th:last-child{background:var(--navy-900);color:#fff}
.comp td{padding:13px 16px;border-bottom:1px solid var(--line);color:#3D465E}
.comp td:first-child{font-weight:500;color:var(--navy-900)}
.comp td:last-child{background:#FDF6F3;font-weight:600;color:var(--brand-dark)}
.comp tbody tr:last-child td{border-bottom:0}
.comp .no{color:#B9BFD0}
.comp .part{color:#8A5A08}

/* ---------- FAQ ---------- */
.faq{max-width:820px}
.faq details{border:1px solid var(--line);border-radius:6px;margin-bottom:12px;background:#fff}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-weight:600;font-size:15.5px;color:var(--navy-900)}
.faq summary::after{content:"+";font-size:20px;color:var(--brand-dark);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details div{padding:0 24px 20px;font-size:14.5px;color:var(--muted)}

/* ---------- Rutas / bancos / etapas / chips / posts ---------- */
.paths{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.path{border:1px solid var(--line);border-radius:6px;padding:22px;background:#fff;transition:.2s;text-decoration:none;display:block}
.path:hover{border-color:#D9C3B8;box-shadow:0 6px 18px rgba(14,18,51,.06)}
.path h4{font-size:15.5px;font-weight:600;color:var(--navy-900);margin-bottom:6px;display:flex;align-items:center;gap:9px}
.path h4 svg{color:var(--brand);flex:none}
.path p{font-size:13px;color:var(--muted);line-height:1.5}
.banks{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.bank{border:1px solid var(--line);border-radius:6px;padding:15px 18px;background:#fff;font-size:13.5px;transition:.2s;text-decoration:none;display:block}
.bank:hover{border-color:var(--brand)}
.bank b{display:block;color:var(--navy-900);font-weight:600}
.bank span{color:var(--muted);font-size:12.5px}
.etapas{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:56px}
.etapa{border:1px solid var(--line);border-radius:6px;padding:18px;background:#fff;text-align:center;transition:.2s;text-decoration:none;display:block}
.etapa:hover{border-color:var(--brand);box-shadow:0 6px 18px rgba(14,18,51,.06)}
.etapa b{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--brand-dark);text-transform:uppercase;margin-bottom:6px}
.etapa span{font-size:12.5px;color:var(--muted);line-height:1.45;display:block}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-size:13px;font-weight:500;color:#3D465E;border:1px solid var(--line);border-radius:20px;padding:7px 16px;background:#fff}
.chip:hover{border-color:var(--brand);color:var(--brand-dark)}
.post{border:1px solid var(--line);border-radius:6px;padding:26px;display:flex;flex-direction:column;gap:10px;transition:.2s;background:#fff;text-decoration:none}
.post:hover{border-color:#D9C3B8}
.post .cat{font-size:11.5px;font-weight:600;letter-spacing:.1em;color:var(--brand-dark);text-transform:uppercase}
.post h4{font-size:16px;font-weight:600;color:var(--navy-900);line-height:1.4}
.post time{font-size:13px;color:var(--muted)}
.linklist{list-style:none;display:grid;gap:9px;font-size:14px;padding:0}
.linklist a{color:#3D465E;text-decoration:none}
.linklist a:hover{color:var(--brand-dark)}
.alertbanner{display:flex;align-items:center;gap:18px;background:#FDF1EA;border:1px solid #F0CDB9;border-radius:6px;padding:18px 24px;margin-top:30px;flex-wrap:wrap}
.alertbanner p{font-size:14.5px;color:#7A3413;flex:1;min-width:260px;margin:0}
.alertbanner p b{color:#5C2405}
.diffs{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.diffs .grid4 .feat-cell{background:transparent;padding:0 20px 0 0}

/* ---------- CATÁLOGO COMERCIAL: etiqueta de modalidad, precio y tarjetas de producto ----------
   (reestructuración comercial 24/07: fichas de producto + índice /servicios/ por familias) */
/* Etiqueta de modalidad (hero de ficha y tarjetas de catálogo) */
.modtag{display:inline-block;padding:6px 13px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--line);background:var(--bg-soft);color:var(--brand-dark);line-height:1.3}
.hero-band.navy .modtag,.navy .modtag{margin-top:18px;border-color:rgba(240,160,132,.5);background:rgba(240,160,132,.12);color:#F0A084}
/* Bloque de precio (ancla obligatoria en todas las fichas): sin tarifa, con CTA */
.pricebox{border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;background:var(--bg-soft);padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px 22px;flex-wrap:wrap}
.pricebox h3{width:100%;margin:0;font-size:18px;font-weight:600;color:var(--navy-900)}
.pricebox p{margin:0;flex:1;min-width:280px;font-size:15.5px;color:#3D465E;line-height:1.55}
.pricebox p b{color:var(--brand-dark)}
.pricebox .btn{flex:none}
/* Índice de servicios: familias comerciales y tarjetas de producto contratable */
.famlabel{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-dark);margin:0 0 16px;display:flex;align-items:center;gap:12px}
.famlabel::after{content:"";flex:1;height:1px;background:var(--line)}
.prodgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prodgrid.two{grid-template-columns:repeat(2,1fr)}
.prodcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:#fff;padding:24px;transition:.2s;text-decoration:none;position:relative}
.prodcard:hover{border-color:var(--brand);box-shadow:0 12px 32px rgba(14,18,51,.09);transform:translateY(-2px)}
.prodcard.insignia{border:2px solid var(--brand)}
.prodcard .pill{position:absolute;top:-11px;left:20px}
.prodcard h4{font-size:17px;font-weight:600;color:var(--navy-900);margin:0 0 10px;line-height:1.3;min-height:2.6em}
.prodcard .modtag{align-self:flex-start;margin-bottom:12px}
.prodcard .res{font-size:14px;color:#3D465E;line-height:1.5;margin:0 0 12px}
.prodcard .inc{font-size:13px;color:var(--muted);line-height:1.5;margin:0 0 18px}
.prodcard .inc b{color:var(--navy-900);font-weight:600}
.prodcard .go{margin-top:auto;align-self:flex-start;font-size:14px;font-weight:600;color:var(--brand-dark)}
.prodcard:hover .go{color:var(--brand)}
/* Cajita compacta por servicio para el catálogo de la home (una caja clicable por servicio) */
.miniprod{display:block;border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px 18px;margin-bottom:12px;text-decoration:none;transition:.2s}
.miniprod:last-child{margin-bottom:0}
.miniprod:hover{border-color:var(--brand);box-shadow:0 10px 26px rgba(14,18,51,.08);transform:translateY(-2px)}
.miniprod b{display:block;font-weight:600;color:var(--navy-900);font-size:15px;line-height:1.3;margin-bottom:4px}
.miniprod:hover b{color:var(--brand-dark)}
.miniprod span{display:block;font-size:13px;color:var(--muted);line-height:1.45}
/* Investigación Digital a todo el ancho bajo el grid3 de la home: 5 servicios repartidos */
.idfam-full{margin-top:28px}
.miniprod-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.miniprod-row .miniprod{margin-bottom:0;height:100%}
@media(max-width:1000px){.miniprod-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.miniprod-row{grid-template-columns:1fr}}

/* ============ Arreglos de contraste en huecos del rediseño ============ */
/* FAQ del hub B2C (preguntas-frecuentes, page-id-7821): el <style> embebido lo diseña
   para fondo oscuro (texto blanco). Sobre el fondo claro del rediseño hay que oscurecer
   el cuerpo del acordeón. El hero .faq-hero mantiene su fondo navy propio. */
body.page-id-7821 .faq h2,
body.page-id-7821 .faq summary strong{color:var(--navy-900)!important}
body.page-id-7821 .faq details p,
body.page-id-7821 .faq details li{color:#3D465E!important}
body.page-id-7821 .faq details{background:#F7F8FB!important;border-color:var(--line)!important}
body.page-id-7821 .faq details[open]{background:#fff!important;border-color:rgba(245,166,35,.5)!important}
body.page-id-7821 .faq details li a{color:var(--brand-dark)!important}
/* Centrar el texto de las preguntas de forma consistente (flecha a la izq, + a la der) */
body.page-id-7821 .faq summary strong{flex:1;text-align:center}

/* Archivos del Centro de Conocimiento (categorías/etiquetas/blog): estética clara.
   El Full Site CSS antiguo (navy) se retira vía functions.php; aquí garantizamos contraste. */
body.isoc-archive{background:#fff}
body.isoc-archive .entry-title,
body.isoc-archive .entry-title a,
body.isoc-archive .ast-archive-title,
body.isoc-archive h1,
body.isoc-archive h2,
body.isoc-archive h3{color:var(--navy-900)!important}
/* Astra oculta el titulo del post en este layout de blog: lo mostramos */
body.isoc-archive .entry-title{display:block!important;font-size:20px!important;line-height:1.3;margin:2px 0 10px}
body.isoc-archive .entry-title a:hover{color:var(--brand-dark)!important}
body.isoc-archive .ast-excerpt-container,
body.isoc-archive .ast-excerpt-container p,
body.isoc-archive .entry-content,
body.isoc-archive .ast-archive-description,
body.isoc-archive .post-meta,
body.isoc-archive p{color:#3D465E!important}
body.isoc-archive .read-more a,
body.isoc-archive .ast-button{color:var(--brand-dark)!important}

/* ---------- Confianza / logos ---------- */
.trust{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:52px 0}
.trust .lbl{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:26px}
.marquee{overflow:hidden;position:relative;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:56px;width:max-content;animation:isocslide 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes isocslide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none}}
.logo-item{display:flex;align-items:center;justify-content:center;height:52px;flex:none;opacity:.75;transition:.25s}
.logo-item:hover{opacity:1}
.logo-item img{max-height:44px;width:auto;filter:grayscale(1);transition:.25s}
.logo-item:hover img{filter:grayscale(0)}
.logo-ph{display:flex;align-items:center;gap:9px;padding:11px 20px;border:1px solid var(--line);border-radius:6px;background:#fff;white-space:nowrap}
.logo-ph b{font-size:14.5px;font-weight:600;color:#4A5468;letter-spacing:.02em}
.logo-ph span{font-size:10px;color:#9AA1B4;letter-spacing:.08em;text-transform:uppercase}
.logo-ph i{width:22px;height:22px;border-radius:4px;background:linear-gradient(135deg,#D5DAE6,#EDF0F5);flex:none}
.colab{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.colab-card{border:1px solid var(--line);border-radius:6px;padding:26px 28px;background:#fff}
.colab-card h3{font-size:17px;margin-bottom:8px}
.colab-card p{font-size:14px;color:var(--muted)}
.sectores{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sector{border:1px solid var(--line);border-radius:6px;padding:20px;background:#fff;text-align:center}
.sector svg{color:var(--brand);margin-bottom:10px}
.sector b{display:block;font-size:14.5px;font-weight:600;color:var(--navy-900)}
.sector span{font-size:12.5px;color:var(--muted)}
.creds{display:flex;justify-content:space-between;gap:20px;padding:20px 0;flex-wrap:wrap;border-top:1px solid var(--line)}
.cred{display:flex;align-items:center;gap:9px;font-size:13px;color:#42536A;font-weight:500}
.cred svg{flex:none;color:var(--brand)}

/* ---------- Artículo ---------- */
.article{max-width:760px}
.article p{font-size:17px;color:#2A3346;line-height:1.78;margin-bottom:22px}
.artmeta{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin-top:16px}
.artmeta b{color:#3D465E;font-weight:500}
.related{border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:6px;background:var(--bg-soft);padding:24px 28px;margin:34px 0}
.related small{display:block;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--brand-dark);text-transform:uppercase;margin-bottom:8px}
.related h4{font-size:17px;font-weight:600;color:var(--navy-900);margin-bottom:6px}
.related p{font-size:14px;color:var(--muted);margin:0 0 14px}
.prevnext{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:44px;padding-top:24px;font-size:14px;flex-wrap:wrap}
.prevnext a{color:var(--brand-dark);font-weight:500;text-decoration:none}
.prevnext span{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-bottom:2px}

/* ---------- Formularios ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form .full{grid-column:1/-1}
.form label{font-size:13px;font-weight:500;color:#3D465E;display:block;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;border:1px solid #CAD0DE;border-radius:4px;padding:11px 14px;font:inherit;font-size:14px;color:var(--ink);background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid rgba(232,80,30,.25);border-color:var(--brand)}
.office{border:1px solid var(--line);border-radius:6px;padding:26px;background:#fff}
.office h4{font-size:15px;font-weight:600;color:var(--navy-900);margin-bottom:8px}
.office p{font-size:14px;color:var(--muted)}
.office a{color:var(--brand-dark);font-weight:500}
.checkform{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap;max-width:540px}
.checkform .fld{flex:1;min-width:230px;position:relative;display:flex;align-items:center}
.checkform input{width:100%;border:1px solid #CAD0DE;border-radius:5px;padding:14px;font:inherit;font-size:14.5px;background:#fff;color:var(--ink)}
.checknote{font-size:12.5px;color:var(--muted);margin-top:12px}
.checkmsg{font-family:'IBM Plex Mono',monospace;font-size:13px;margin-top:12px;min-height:18px}
.checkmsg.err{color:#A31410}
.checkmsg.ok{color:#0E6B3D}

/* ---------- Observatorio (estética tech) ---------- */
.obs-hero{background:var(--navy-900);color:#fff;position:relative;overflow:hidden;border-bottom:3px solid var(--brand);padding:60px 0 56px}
.obs-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px}
.obs-hero .wrap{position:relative;z-index:1}
.obs-hero h1{color:#fff;max-width:820px}
.obs-hero .lead{color:#AEB4D2;margin-top:18px;max-width:720px}
.obs-hero .upd{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:#8B93BE;margin-top:22px}
.obs-hero .upd b{color:#F0A084;font-weight:500}
.obs-live{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:#7CF0B0;text-transform:uppercase;border:1px solid rgba(124,240,176,.3);background:rgba(124,240,176,.07);padding:6px 12px;border-radius:4px;margin-bottom:22px}
.obs-live i{width:8px;height:8px;border-radius:50%;background:#2BD576;box-shadow:0 0 0 0 rgba(43,213,118,.6);animation:isocpulse 2s infinite;flex:none}
@keyframes isocpulse{0%{box-shadow:0 0 0 0 rgba(43,213,118,.55)}70%{box-shadow:0 0 0 9px rgba(43,213,118,0)}100%{box-shadow:0 0 0 0 rgba(43,213,118,0)}}
.obs-counters{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;margin-top:38px}
.obs-counter{background:var(--navy-900);padding:30px 28px}
.obs-counter b{display:block;font-family:'IBM Plex Mono',monospace;font-size:56px;font-weight:600;color:#fff;line-height:1;letter-spacing:-.03em;white-space:nowrap}
.obs-counter b i{font-style:normal;color:var(--brand)}
.obs-counter b span{font-size:inherit;color:inherit;display:inline;margin:0;font-family:inherit;letter-spacing:inherit}
.obs-counter > span{display:block;font-size:13px;color:#AEB4D2;margin-top:12px;letter-spacing:.02em}
.obs-body{background:var(--bg-soft)}
.obs-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.obs-filters{display:flex;gap:8px;flex-wrap:wrap}
.obs-filters button{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;padding:8px 15px;border-radius:5px;border:1px solid var(--line);background:#fff;color:#3D465E;cursor:pointer;transition:.15s}
.obs-filters button:hover{border-color:var(--brand)}
.obs-filters button.on{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.obs-count{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--muted)}
.obs-tablewrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto;background:#fff}
table.obs{width:100%;border-collapse:collapse;font-size:14px}
table.obs thead th{background:#F0F2F7;text-align:left;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#5C6577;padding:13px 16px;border-bottom:1px solid var(--line)}
table.obs td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;color:#2A3346}
table.obs tr:last-child td{border-bottom:0}
table.obs tbody tr:hover{background:var(--bg-soft)}
.tag-t{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;padding:3px 9px;border-radius:4px;white-space:nowrap}
.tag-ransom{background:#FCE9E4;color:#A32A0B}
.tag-breach{background:#EAE7FB;color:#4A3C9E}
.tag-leak{background:#FBEEDA;color:#8A5A08}
.obs-target{font-weight:500;color:var(--navy-900)}
.obs-flag{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#5C6577}
.obs-actor{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:#3D465E}
.obs-rec{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--brand-dark);font-weight:500;white-space:nowrap}
.obs-ref{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#9AA1B4}
.obs-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.obs-group{border:1px solid var(--line);border-radius:6px;padding:16px 18px;background:#fff}
.obs-group b{font-family:'IBM Plex Mono',monospace;font-size:15px;color:var(--navy-900);display:block}
.obs-group span{font-size:12.5px;color:var(--muted)}
.obs-group .bar{height:5px;background:#EEF0F5;border-radius:3px;margin-top:10px;overflow:hidden}
.obs-group .bar i{display:block;height:100%;background:var(--brand);border-radius:3px}
.obs-news{background:var(--navy-900);color:#fff;border-radius:8px;padding:44px;position:relative;overflow:hidden}
.obs-news::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:30px 30px}
.obs-news > *{position:relative;z-index:1}
.obs-news h2{color:#fff}
.obs-news p{color:#AEB4D2;margin-top:12px;max-width:560px}
.obs-form{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;max-width:560px}
.obs-form input{flex:1;min-width:240px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);border-radius:5px;padding:13px 16px;font:inherit;font-size:14px;color:#fff}
.obs-form input::placeholder{color:#8B93BE}
.obs-form input:focus{outline:2px solid rgba(232,80,30,.4);border-color:var(--brand)}
.obs-msg{font-family:'IBM Plex Mono',monospace;font-size:13px;margin-top:14px;min-height:20px}
.obs-msg.err{color:#F5A6A6}
.obs-msg.ok{color:#7CF0B0}
.obs-note{font-size:12.5px;color:#8B93BE;margin-top:16px}
.obs-sources{font-size:12.5px;color:var(--muted);margin-top:30px;line-height:1.6}

/* ---------- Marca (wordmark) ---------- */
.brand{display:flex;flex-direction:row;align-items:center;gap:10px;text-decoration:none}
.brand .btxt{display:flex;flex-direction:column;line-height:1.1}
.brand .word{font-family:'Chakra Petch',sans-serif;font-size:22px;font-weight:700;letter-spacing:.1em;color:var(--brand)}
.brand .tag{font-size:9px;letter-spacing:.3em;color:var(--navy-800);font-weight:500;margin-top:2px}
.brand.inv .tag{color:#C9CFE4}

/* ---------- Chrome del rediseño (solo body.isoc-scope) ----------
   Sustituye al "Full Site CSS" antiguo, que en estas vistas ya no se carga. */
.isoc-scope .entry-title{display:none!important}
.isoc-scope .site-header,.isoc-scope .main-header-bar,.isoc-scope .ast-primary-header-bar{background:#fff!important;border-bottom:1px solid var(--line)}
.isoc-scope .ast-primary-header-bar{box-shadow:none}
.isoc-scope .site-title a,.isoc-scope .site-title a:hover{color:var(--brand)!important}
.isoc-scope .custom-logo,.isoc-scope .site-logo-img img{max-height:56px;width:auto}
.isoc-scope .site-description{color:var(--navy-800)!important}
.isoc-scope .main-header-menu .menu-link,.isoc-scope .main-header-menu a{color:#39415C;font-size:14px;font-weight:500}
.isoc-scope .main-header-menu .menu-link:hover,.isoc-scope .main-header-menu .current-menu-item > .menu-link{color:var(--brand-dark)}
.isoc-scope .sub-menu{background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px rgba(14,18,51,.12)}
.isoc-scope .sub-menu .menu-link{color:#39415C}
.isoc-scope .sub-menu .menu-link:hover{background:var(--bg-soft);color:var(--brand-dark)}
/* contenido a sangre completa: las bandas .hero-band/.ops/section gestionan su propio .wrap */
.isoc-scope .site-content .ast-container{max-width:100%;padding-left:0;padding-right:0}
.isoc-scope .site-content .entry-content{margin:0}
.isoc-scope .entry-content > p:empty{display:none}
.isoc-scope .site-content{background:var(--bg)}
.isoc-scope .entry-content a{text-decoration:none}
/* footer navy del prototipo */
.isoc-scope .site-footer,.isoc-scope .ast-footer-overlay,.isoc-scope footer .ast-builder-grid-row{background:var(--navy-900)!important;color:#9AA1C4}
.isoc-scope .site-footer a{color:#9AA1C4}
.isoc-scope .site-footer a:hover{color:#fff}
.isoc-scope .ast-footer-copyright{color:#6C74A0;font-size:12.5px}
.isoc-scope a.astra-footer-copyright,.isoc-scope .ast-footer-copyright a[href*="wpastra"]{display:none!important}

/* ---------- Barra utilitaria (topbar del prototipo) ---------- */
.isoc-topbar{background:var(--navy-900);color:#B9BFDB;font-size:12.5px}
.isoc-topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;flex-wrap:wrap;gap:6px}
.isoc-topbar b{color:#fff;font-weight:500}
.isoc-topbar .langs a{color:#fff;text-decoration:none}
.isoc-topbar .langs span{color:#6C74A0}
@media(max-width:620px){.isoc-topbar .langs{display:none}}

/* Red de seguridad: si algún hook de Astra volviera a imprimir su header/footer */
#masthead,#colophon{display:none!important}

/* ---------- Plantilla de ARTÍCULO (single post) + archivos ----------
   Aplica la estética .article del prototipo sobre el contenido de Astra
   sin romper wpautop. Se activa con body.isoc-article. */
.isoc-article .site-content .ast-container,.isoc-article .entry-content,.isoc-article .ast-article-single{max-width:820px;margin-left:auto;margin-right:auto}
.isoc-article .entry-header{max-width:820px;margin:0 auto 8px;padding-top:28px}
.isoc-article .entry-title,.isoc-article h1.entry-title{display:block!important;font-size:36px;line-height:1.2;font-weight:600;letter-spacing:-.015em;color:var(--navy-900);margin-bottom:14px}
.isoc-article .entry-content{font-size:17px;line-height:1.78;color:#2A3346}
.isoc-article .entry-content > p{margin-bottom:22px}
.isoc-article .entry-content h2{font-size:26px;margin:36px 0 14px;color:var(--navy-900);font-weight:600}
.isoc-article .entry-content h3{font-size:20px;margin:28px 0 10px;color:var(--navy-900);font-weight:600}
.isoc-article .entry-content a{color:var(--brand-dark);font-weight:500}
.isoc-article .entry-content ul,.isoc-article .entry-content ol{margin:0 0 22px 22px}
.isoc-article .entry-content li{margin-bottom:8px}
.isoc-article .entry-content img{border-radius:8px;max-width:100%;height:auto}
.isoc-article .entry-content blockquote{border-left:3px solid var(--brand);padding-left:20px;color:var(--muted);font-style:italic;margin:24px 0}
.isoc-article .ast-single-post-featured-section img,.isoc-article .post-thumb img{border-radius:8px}
.isoc-article .ast-author-meta,.isoc-article .entry-meta{font-size:13.5px;color:var(--muted)}
/* ---------- Neutralizar bloques SEO embebidos en artículos (texto blanco para fondo
   oscuro → ahora fondo blanco). Los hacen visibles y con estilo del sistema nuevo. ---------- */
.isoc-article .entry-content [style*="color:#fff"],
.isoc-article .entry-content [style*="color: #fff"],
.isoc-article .entry-content [style*="255,255,255"],
.isoc-article .entry-content [style*="255, 255, 255"]{color:var(--ink)!important}
.isoc-article .entry-content .isoc-faq-a{color:var(--muted)!important}
.isoc-article .entry-content summary,.isoc-article .entry-content .isoc-faq-q{color:var(--navy-900)!important}
.isoc-article .entry-content details{background:#fff!important;border:1px solid var(--line)!important;border-radius:6px;margin-bottom:12px}
/* recuadro CTA ámbar del artículo: fondo/borde visibles + botón naranja */
.isoc-article .entry-content div[style*="245,166,35"],.isoc-article .entry-content div[style*="245, 166, 35"]{background:#FDF1EA!important;border:1px solid #F0CDB9!important}
.isoc-article .entry-content div[style*="245,166,35"] a[style],.isoc-article .entry-content div[style*="245, 166, 35"] a[style]{background:var(--brand-dark)!important;color:#fff!important;border-radius:4px}
/* cualquier sección con fondo navy inline dentro del artículo: texto claro OK, pero
   si el navy no se aplicara, garantizamos legibilidad forzando el fondo */
.isoc-article .entry-content div[style*="#0A0E27"],.isoc-article .entry-content div[style*="#0E1233"],.isoc-article .entry-content div[style*="#1a1a2e" i],.isoc-article .entry-content div[style*="#0d1b2a" i]{color:#fff}
.isoc-article .entry-content div[style*="#0A0E27"] [style*="color:#fff"],.isoc-article .entry-content div[style*="#0E1233"] [style*="color:#fff"],.isoc-article .entry-content div[style*="#1a1a2e" i] [style*="color:#fff"],.isoc-article .entry-content div[style*="#1a1a2e" i] [style*="color: #fff"],.isoc-article .entry-content div[style*="#0d1b2a" i] [style*="color:#fff"],.isoc-article .entry-content div[style*="#0d1b2a" i] [style*="color: #fff"]{color:#fff!important}

/* Archivos (blog / categoría / etiqueta): rejilla de tarjetas al estilo prototipo */
.isoc-scope .ast-row article.ast-article-post,.isoc-scope .blog-layout-1{border:1px solid var(--line);border-radius:6px;background:#fff;transition:.2s}
.isoc-scope .ast-article-post .ast-article-inner{padding:8px}
.isoc-scope .ast-archive-title,.isoc-scope .page-title{color:var(--navy-900)}

/* ---------- Plantilla LEGAL (aviso, privacidad, cookies) — body.isoc-legal ----------
   Convierte las páginas legales heredadas (dark-navy, texto blanco) a la estética
   blanca nueva. Conservan wpautop; su <h2> interno actúa como título del documento.
   El <style> de texto blanco embebido se elimina del contenido en el clon; estas
   reglas + la defensa anti-blanco garantizan la legibilidad en fondo claro. */
.isoc-legal .site-content{background:var(--bg)}
.isoc-legal .site-content .ast-container,.isoc-legal .entry-content{max-width:860px;margin-left:auto;margin-right:auto}
.isoc-legal .entry-content{font-size:16px;line-height:1.75;color:#2A3346;padding:52px 20px 72px}
.isoc-legal .entry-content h2{font-size:34px;line-height:1.2;font-weight:600;letter-spacing:-.015em;color:var(--navy-900);margin:0 0 26px;padding-bottom:20px;border-bottom:2px solid var(--brand)}
.isoc-legal .entry-content h3{font-size:20px;font-weight:600;color:var(--navy-900);margin:30px 0 10px}
.isoc-legal .entry-content h4{font-size:17px;font-weight:600;color:var(--navy-900);margin:34px 0 10px}
.isoc-legal .entry-content p{margin:0 0 18px}
.isoc-legal .entry-content a{color:var(--brand-dark);font-weight:500;text-decoration:underline}
.isoc-legal .entry-content a:hover{color:var(--brand)}
.isoc-legal .entry-content ul,.isoc-legal .entry-content ol{margin:0 0 18px 22px}
.isoc-legal .entry-content li{margin-bottom:8px}
.isoc-legal .entry-content strong,.isoc-legal .entry-content b{color:var(--navy-900)}
/* Defensa anti-blanco: si quedara texto blanco por style inline u override heredado */
.isoc-legal .entry-content [style*="color:#fff"],.isoc-legal .entry-content [style*="color: #fff"],
.isoc-legal .entry-content [style*="255,255,255"],.isoc-legal .entry-content [style*="255, 255, 255"]{color:#2A3346!important}
@media(max-width:620px){.isoc-legal .entry-content{padding:32px 18px 48px}.isoc-legal .entry-content h2{font-size:28px}}

/* --- Contenido construido con WIDGETS ELEMENTOR (kit oscuro): titulares y textos
   llevan color BLANCO explícito del kit. En fondo claro quedan invisibles. Forzamos
   colores legibles con especificidad body.isoc-legal (gana al kit y al CSS por-elemento).
   Se limita a .elementor: el header/footer del prototipo van fuera de ese contenedor. */
body.isoc-legal .site-content .elementor{color:#2A3346}
body.isoc-legal .elementor .elementor-heading-title,
body.isoc-legal .elementor h1,body.isoc-legal .elementor h2,body.isoc-legal .elementor h3,
body.isoc-legal .elementor h4,body.isoc-legal .elementor h5,body.isoc-legal .elementor h6{color:var(--navy-900)!important}
body.isoc-legal .elementor .elementor-widget-container,
body.isoc-legal .elementor p,body.isoc-legal .elementor li,body.isoc-legal .elementor td,
body.isoc-legal .elementor th,body.isoc-legal .elementor span,body.isoc-legal .elementor u,
body.isoc-legal .elementor em,body.isoc-legal .elementor .elementor-widget-text-editor{color:#2A3346!important}
body.isoc-legal .elementor strong,body.isoc-legal .elementor b{color:var(--navy-900)!important}
body.isoc-legal .elementor a,body.isoc-legal .elementor a span,body.isoc-legal .elementor a u{color:var(--brand-dark)!important;text-decoration:underline}
body.isoc-legal .elementor a:hover{color:var(--brand)!important}
/* Titular principal (primer heading): filete naranja de documento */
body.isoc-legal .elementor h2.elementor-heading-title{padding-bottom:18px;border-bottom:2px solid var(--brand);margin-bottom:8px}
/* Tarjeta "glass" heredada (pensada para navy): fondo/borde suaves en claro */
body.isoc-legal .elementor .glass2,body.isoc-legal .elementor [class*="glass"]{background:transparent!important;backdrop-filter:none!important;border:0!important;box-shadow:none!important}

/* ---------- HEADER del prototipo (sustituye al masthead de Astra) ---------- */
.isoc-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}
body.admin-bar .isoc-header{top:32px}
.isoc-header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:18px}
.isoc-nav{display:flex;gap:30px;font-size:14px;font-weight:500;color:#39415C;align-items:center}
.isoc-nav > a,.navdrop > a{padding:26px 0;border-bottom:2px solid transparent;transition:.2s;display:inline-block;color:#39415C;text-decoration:none;font-size:14px;font-weight:500}
.isoc-nav > a:hover,.isoc-nav > a.on,.navdrop > a:hover,.navdrop > a.on{color:var(--brand-dark);border-color:var(--brand)}
.navdrop{position:relative}
.navdrop .menu{position:absolute;top:100%;left:-20px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 14px 40px rgba(14,18,51,.12);min-width:300px;padding:6px;display:none;z-index:70;max-height:calc(100vh - 124px);overflow-y:auto}
.navdrop:hover .menu,.navdrop:focus-within .menu{display:block}
.navdrop .menu a{display:block;padding:6px 14px;border-radius:4px;font-size:13.5px;line-height:1.32;color:#39415C;text-decoration:none;border:0}
.navdrop .menu a:hover{background:var(--bg-soft);color:var(--brand-dark)}
.navdrop .menu .sep{border-top:1px solid var(--line);margin:6px 6px}
.navdrop .menu a b{display:block;font-weight:600;color:var(--navy-900);font-size:13.5px}
.navdrop .menu a span{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}
.navdrop .menu small{display:block;font-size:10.5px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;padding:6px 14px 2px;font-weight:600}
.navdrop .menu .menu-all{display:block;width:fit-content;max-width:100%;background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;margin:4px auto 9px;padding:6px 20px;text-align:center}
.navdrop .menu .menu-all b{color:var(--brand-dark);font-weight:600;font-size:13px}
.navdrop .menu .menu-all:hover{background:#fff;border-color:var(--brand)}
.navobs{position:relative;text-align:center;line-height:1.15;padding-top:26px!important;padding-bottom:26px!important}
.navobs em{display:block;position:absolute;left:0;right:0;top:calc(50% + 11px);font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.isoc-header-cta{white-space:nowrap}
/* hamburguesa (menú móvil funcional: requisito BRIEF §8) */
.isoc-menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:4px;padding:9px 10px;cursor:pointer}
.isoc-menu-btn span{display:block;width:20px;height:2px;background:var(--navy-800);margin:4px 0;transition:.2s}
@media(max-width:1000px){
  .isoc-menu-btn{display:block}
  .isoc-header-cta{display:none}
  .isoc-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 16px;box-shadow:0 14px 30px rgba(14,18,51,.12)}
  .isoc-nav.open{display:flex;max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .isoc-nav > a,.navdrop > a{padding:13px 0;border-bottom:1px solid var(--line);width:100%}
  .navdrop{width:100%}
  .navdrop > a{position:relative}
  .navdrop > a::after{content:"";position:absolute;right:4px;top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-60%) rotate(45deg);opacity:.55;transition:transform .2s}
  .navdrop.open > a::after{transform:translateY(-30%) rotate(-135deg)}
  .navdrop .menu{position:static;display:none;box-shadow:none;border:0;min-width:0;padding:0 0 6px;max-height:none;overflow:visible}
  .navdrop.open .menu{display:block}
  .navdrop .menu .menu-all{display:block;width:auto;margin:2px 0 8px;padding:11px 14px}
  .navdrop .menu .menu-all b{color:var(--brand-dark);font-weight:600}
  .navobs{text-align:left}
  .navobs em{position:static;display:inline;margin-left:8px}
}

/* ---------- FOOTER del prototipo (sustituye al footer de Astra) ---------- */
.isoc-footer{background:var(--navy-900);color:#9AA1C4;font-size:14px;position:relative;overflow:hidden}
.isoc-footer .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px;padding:68px 0 52px;position:relative;z-index:1}
.isoc-footer h5{color:#fff;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.isoc-footer ul{list-style:none;display:grid;gap:9px;margin:0;padding:0}
.isoc-footer a{color:#9AA1C4;text-decoration:none}
.isoc-footer a:hover{color:#fff}
.isoc-footer .blurb{margin-top:12px;line-height:1.65;font-size:13.5px}
.isoc-footer .brand.inv .word{color:var(--brand)}
.isoc-footer .legal{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;display:flex;justify-content:space-between;gap:16px;font-size:12.5px;color:#6C74A0;flex-wrap:wrap;position:relative;z-index:1}
.isoc-footer .legal .links{display:flex;gap:20px}
.isoc-footer .legal a{color:#6C74A0}
.isoc-footer .legal a:hover{color:#fff}
.isoc-footer .footlogos{border-top:1px solid rgba(255,255,255,.08);padding:26px 0 22px;position:relative;z-index:1}
.isoc-footer .logo-ph{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.isoc-footer .logo-ph b{color:#C9CFE4}
.isoc-footer .logo-ph span{color:#6C74A0}
.isoc-footer .logo-ph i{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.06))}
.isoc-footer .foot-social{display:flex;gap:11px;margin-top:20px}
.isoc-footer .foot-social a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#B4BAD8;transition:.2s}
.isoc-footer .foot-social a:hover{background:var(--brand);border-color:var(--brand);color:#fff;transform:translateY(-2px)}
.isoc-footer .foot-social svg{width:18px;height:18px;display:block}
@media(max-width:1000px){.isoc-footer .foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.isoc-footer .foot-grid{grid-template-columns:1fr}}

/* ---------- CTA del menú como botón naranja (prototipo: header) ---------- */
li.isoc-menu-cta > a,.main-header-menu li.isoc-menu-cta > .menu-link{background:var(--brand-dark)!important;color:#fff!important;border-radius:4px;padding:10px 20px!important;font-weight:500;line-height:1.2!important;margin-left:10px}
li.isoc-menu-cta > a:hover,.main-header-menu li.isoc-menu-cta > .menu-link:hover{background:#A32A0B!important;color:#fff!important}

/* ---------- WhatsApp flotante (hub B2C) ---------- */
.wa{position:fixed;right:26px;bottom:26px;z-index:80;background:#1EBE5D;color:#fff;border-radius:30px;padding:13px 22px 13px 18px;font-size:14px;font-weight:600;box-shadow:0 10px 30px rgba(14,18,51,.25);display:flex;align-items:center;gap:9px;text-decoration:none}
.wa svg{flex:none}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .grid3,.feats,.steps,.metrics,.paths,.banks{grid-template-columns:1fr 1fr}
  .steps.five,.etapas{grid-template-columns:1fr 1fr}
  .svc-grid,.grid2,.form,.grid4{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .colab,.sectores{grid-template-columns:1fr 1fr}
  .obs-counters,.obs-groups{grid-template-columns:1fr 1fr}
  table.obs{font-size:13px}
  table.obs .hide-m{display:none}
  .comp{font-size:13px}
  .comp .hidecol{display:none}
  .isoc-scope h1,.h1like{font-size:33px}
}
@media(max-width:620px){
  .grid3,.feats,.steps,.steps.five,.metrics,.paths,.banks,.etapas,.stats,.colab,.sectores,.obs-counters,.obs-groups,.prodgrid,.prodgrid.two{grid-template-columns:1fr}
  .marquee-track{gap:34px}
}

/* ===================================================================
   AJUSTES SOLO MÓVIL (24/07) — todo dentro de media queries: la vista de
   ESCRITORIO (>1000px) queda EXACTAMENTE igual que ahora. Corrige el scroll
   horizontal en móvil (home, ciberinteligencia, cookies) y afina detalles.
   NO se usa overflow:clip/hidden en html/body (rompería el header sticky).
   =================================================================== */
@media(max-width:1000px){
  /* Bandas de cifras con selectores de MAYOR especificidad que las media base
     ('.metrics' no les ganaba): ahora envuelven a 2 columnas en tablet. */
  .ops .metrics,.metrics.three{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:620px){
  /* CLAVE: los grids del prototipo llevan estilo INLINE (p.ej. .paths con
     style="grid-template-columns:repeat(3,1fr)"), que gana a las clases. En
     móvil los forzamos a 1 columna con !important (solo aquí; el escritorio
     conserva su rejilla inline). Esto elimina el scroll horizontal. */
  .isoc-scope [style*="grid-template-columns"]{grid-template-columns:1fr!important}
  .paths,.grid2,.grid3,.grid4,.stats,.metrics,.metrics.three,.ops .metrics,.feats,.steps,.steps.five,.banks,.etapas,.colab,.sectores{grid-template-columns:1fr!important}
  .ops .metric b{font-size:34px}
  .ops .inner{padding:48px 0}
  /* Tablas de las páginas legales: scroll horizontal PROPIO en vez de desbordar la página */
  .isoc-legal table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* URLs y palabras largas parten de línea en móvil (evita desbordes en cookies/privacidad) */
  .isoc-legal .elementor a,.isoc-legal .elementor strong,.isoc-legal .elementor td,.isoc-legal .elementor p{overflow-wrap:anywhere;word-break:break-word}
  /* Barra superior: teléfonos algo más compactos para que quepan mejor */
  .isoc-topbar{font-size:11.5px}
  .isoc-topbar .wrap{min-height:32px}
}

/* ===================================================================
   /servicios/: HERO COMPACTO EN MÓVIL (solo <=620) — scope .hero-svc.
   El desktop no se toca. Objetivo: que el 1er CTA sea visible sin scroll.
   =================================================================== */
.hero-svc .only-mob{display:none}
@media(max-width:620px){
  .hero-svc section{padding:22px 0 30px}
  .hero-svc .hide-mob{display:none}
  .hero-svc .only-mob{display:inline}
  .hero-svc .hero-riesgo-line{font-size:15.5px!important;line-height:1.4!important;margin:6px 0 14px!important;padding-bottom:14px!important}
  .hero-band.hero-svc h1{font-size:25px}
  .hero-svc .lead{font-size:14px!important;line-height:1.5!important;margin-top:12px!important}
  .hero-svc .hero-cta{margin-top:16px!important;gap:10px!important}
}

/* ===================================================================
   Móvil (<=620): topbar de teléfonos OCULTA (los teléfonos pasan al menú
   hamburguesa vía .nav-contact) + hero de /servicios/ aún más compacto,
   para que el CTA principal entre sin scroll en Safari real. Desktop intacto.
   =================================================================== */
.nav-contact{display:none}
@media(max-width:620px){
  .isoc-topbar{display:none}
  .nav-contact{display:flex;flex-direction:column;gap:3px;padding:14px 4px 4px;margin-top:6px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
  .nav-contact b{color:var(--navy-900);font-weight:600}
  .hero-svc section{padding:16px 0 26px}
  .hero-band.hero-svc h1{font-size:23px;line-height:1.2}
  .hero-svc .kicker{margin-bottom:10px}
  .hero-svc .hero-riesgo-line{font-size:15px!important;line-height:1.4!important;margin:4px 0 12px!important;padding-bottom:12px!important}
  .hero-svc .lead{font-size:13.5px!important;line-height:1.5!important;margin-top:10px!important}
  .hero-svc .hero-cta{margin-top:14px!important}
}

/* ===================================================================
   Hero de la HOME (shortcode [isoc_hero_carousel]) MÁS COMPACTO EN MÓVIL
   (<=768). Clases reales: .isoc-hero-carousel (sección), .hero-slides
   (carrusel), .checknote (línea de garantías). El carrusel usa slides
   ABSOLUTOS con min-height alta (540px en <=620), lo que deja pantalla en
   blanco antes del H1. En móvil: menos padding-top, sin min-height, y el
   slide ACTIVO pasa a flujo normal (position:relative) para que el
   contenedor tome su altura real. Desktop intacto.
   =================================================================== */
@media(max-width:768px){
  .isoc-hero-carousel section{padding-top:28px!important;padding-bottom:40px!important}
  .isoc-hero-carousel .hero-slides{min-height:auto!important}
  .isoc-hero-carousel .hslide{position:relative;opacity:1;visibility:visible;transition:none}
  .isoc-hero-carousel .hslide:not(.on){display:none}
  .isoc-hero-carousel h1{font-size:28px!important;line-height:1.22!important}
  .isoc-hero-carousel .lead{font-size:15px!important;line-height:1.5!important;margin-top:12px!important}
  .isoc-hero-carousel .checknote{font-size:12px!important;line-height:1.45!important;margin-top:12px!important}
}
