/* CORTEX IA — capa no destructiva de armonización. No reemplaza los estilos ni elimina componentes de los HTML originales. */
/* CORTEX IA / Shared visual system: Sora for display, Inter for interface, JetBrains Mono for technical labels; warm black, burgundy and dusty blush across all seven pages. */
[x-cloak] { display: none !important; }
:root {
  --cx-h-bg: #1a1112;
  --cx-h-bg-deep: #100a0b;
  --cx-h-surface: #2a1f20;
  --cx-h-surface-2: #322728;
  --cx-h-line: rgba(170, 137, 132, .25);
  --cx-h-ink: #f1dedf;
  --cx-h-muted: #c3b1b2;
  --cx-h-red: #8b0000;
  --cx-h-blush: #ffb4a8;
  --cx-h-green: #25d366;
  --cx-h-ease: cubic-bezier(.23, 1, .32, 1);
  --cx-font-display: "Sora", sans-serif;
  --cx-font-body: "Inter", system-ui, sans-serif;
}

html { scroll-behavior: smooth; }
html, body { width: 100%; min-width: 0; max-width: 100%; overflow-x: hidden; }
html.cx-menu-lock, body.cx-menu-lock { overflow: hidden !important; overscroll-behavior: none !important; }
body[data-cortex-page].cx-menu-lock { overflow-y: hidden !important; }
body[data-cortex-page] *, body[data-cortex-page] *::before, body[data-cortex-page] *::after { box-sizing: border-box; }
body[data-cortex-page] img, body[data-cortex-page] video, body[data-cortex-page] iframe, body[data-cortex-page] canvas, body[data-cortex-page] svg { max-width: 100%; }
body[data-cortex-page] table { width: 100%; max-width: 100%; display: block; overflow-x: auto; }
body[data-cortex-page] .grid > *, body[data-cortex-page] .flex > * { min-width: 0; }
body[data-cortex-page] { background: var(--cx-h-bg) !important; color: var(--cx-h-ink); font-family: "Inter", system-ui, sans-serif; }
body[data-cortex-page] main { padding-top: 0 !important; }
body[data-cortex-page] .cx-compare-section > div { width: min(calc(100% - 32px), 1120px); max-width: 1120px !important; margin-inline: auto; }
body[data-cortex-page] .cx-compare-section > div > .overflow-x-auto { width: 100%; max-width: 100%; margin-inline: auto; overflow-x: auto; }
body[data-cortex-page] .cx-compare-section .compare-table { display: table !important; width: 100%; min-width: 820px; margin-inline: auto; text-align: center; table-layout: fixed; }
body[data-cortex-page] .cx-compare-section .compare-table th:first-child,
body[data-cortex-page] .cx-compare-section .compare-table td:first-child { width: 28%; }
body[data-cortex-page] .cx-compare-section .compare-table th:not(:first-child),
body[data-cortex-page] .cx-compare-section .compare-table td:not(:first-child) { width: 24%; }
body[data-cortex-page] .cx-compare-section .compare-table th,
body[data-cortex-page] .cx-compare-section .compare-table td { text-align: center !important; vertical-align: middle; }
body[data-cortex-page] .cx-compare-section .compare-table th:first-child,
body[data-cortex-page] .cx-compare-section .compare-table td:first-child { text-align: center !important; }
body[data-cortex-page] .cx-compare-section .compare-table th { color: var(--cx-h-ink); }
body[data-cortex-page] .cx-compare-section .compare-table td { line-height: 1.35; }
body[data-cortex-page="webs"] .cx-plans-compare-section { padding-block: clamp(72px, 8vw, 128px) !important; }
body[data-cortex-page="webs"] .cx-plans-compare-section > div { width: min(calc(100% - 48px), 1360px); max-width: 1360px !important; margin-inline: auto; }
body[data-cortex-page="webs"] .cx-plans-compare-section h2 { margin-bottom: clamp(44px, 5vw, 76px) !important; font-size: clamp(30px, 3.5vw, 48px) !important; line-height: 1.05; }
body[data-cortex-page="webs"] .cx-plans-compare-section .overflow-x-auto { width: 100%; max-width: 100%; margin-inline: auto; overflow-x: auto; border: 1px solid rgba(255,180,168,.2); }
body[data-cortex-page="webs"] .cx-plans-compare-section table { display: table !important; width: 100%; min-width: 980px; table-layout: fixed; border: 0; text-align: center; }
body[data-cortex-page="webs"] .cx-plans-compare-section thead { background: rgba(139,0,0,.08); }
body[data-cortex-page="webs"] .cx-plans-compare-section th,
body[data-cortex-page="webs"] .cx-plans-compare-section td { padding: clamp(14px, 1.7vw, 28px) clamp(12px, 1.8vw, 30px) !important; line-height: 1.35; white-space: nowrap; text-align: center !important; vertical-align: middle; }
body[data-cortex-page="webs"] .cx-plans-compare-section th:first-child,
body[data-cortex-page="webs"] .cx-plans-compare-section td:first-child { width: 28%; text-align: left !important; }
body[data-cortex-page="webs"] .cx-plans-compare-section th:not(:first-child),
body[data-cortex-page="webs"] .cx-plans-compare-section td:not(:first-child) { width: 24%; }
body[data-cortex-page="webs"] .cx-plans-compare-section tbody tr:last-child { border-bottom: 0; }
body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why { background: linear-gradient(180deg, rgba(16,10,11,.98), rgba(26,17,18,.92)); }
body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why .cx-nosotros-symbol { width: 84px; height: 84px; margin-bottom: 28px; border-color: rgba(139,0,0,.42); background: linear-gradient(145deg, rgba(139,0,0,.2), rgba(139,0,0,.04)); box-shadow: inset 0 0 0 1px rgba(255,180,168,.04), 0 14px 32px rgba(0,0,0,.18); }
body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why .cx-nosotros-symbol i { color: var(--cx-h-red); font-size: 2.25rem !important; line-height: 1; filter: drop-shadow(0 6px 12px rgba(139,0,0,.26)); }
body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why .group:hover .cx-nosotros-symbol { border-color: var(--cx-h-blush); background: linear-gradient(145deg, rgba(139,0,0,.34), rgba(139,0,0,.1)); transform: translateY(-2px); }
body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why .group:hover .cx-nosotros-symbol i { color: var(--cx-h-blush); }
body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why > div > .text-center { margin-bottom: clamp(44px, 6vw, 76px); }
@media (max-width: 767px) {
  body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why .grid { gap: 18px; }
  body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why .group { padding: 28px 24px; }
  body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why .cx-nosotros-symbol { width: 72px; height: 72px; margin-bottom: 20px; }
  body[data-cortex-page="nosotros_modificado"] .cx-nosotros-why .cx-nosotros-symbol i { font-size: 1.9rem !important; }
}
@media (min-width: 768px) {
  body[data-cortex-page] .cx-compare-section .compare-table { min-width: 1040px; }
}
@media (max-width: 640px) {
  body[data-cortex-page] .cx-compare-section > div { width: min(calc(100% - 24px), 1120px); max-width: 1120px !important; }
  body[data-cortex-page] .cx-compare-section .compare-table { min-width: 720px; font-size: 12px; }
  body[data-cortex-page="webs"] .cx-plans-compare-section > div { width: calc(100% - 24px); }
  body[data-cortex-page="webs"] .cx-plans-compare-section h2 { font-size: 28px !important; margin-bottom: 36px !important; }
  body[data-cortex-page="webs"] .cx-plans-compare-section table { min-width: 820px; }
  body[data-cortex-page="webs"] .cx-plans-compare-section th,
  body[data-cortex-page="webs"] .cx-plans-compare-section td { padding: 14px 16px !important; font-size: 11px; }
}
body[data-cortex-page] .cx-page-transition { position: fixed; inset: 0; z-index: 10000; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 14px; padding-top: 18vh; background: linear-gradient(180deg, rgba(139,0,0,.16), rgba(16,10,11,.9) 42%, rgba(16,10,11,.96)); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: 0; visibility: hidden; pointer-events: none; will-change: opacity; transition: opacity 320ms var(--cx-h-ease), visibility 0s linear 320ms; }
body[data-cortex-page] .cx-page-transition::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--cx-h-red), var(--cx-h-blush), var(--cx-h-red)); transform: scaleX(0); transform-origin: left center; transition: transform 520ms var(--cx-h-ease); }
body[data-cortex-page] .cx-page-transition::after { content: "CORTEX IA / CARGANDO"; color: var(--cx-h-blush); font: 600 10px/1.2 "JetBrains Mono", monospace; letter-spacing: .16em; opacity: 0; transform: translateY(8px); transition: opacity 220ms var(--cx-h-ease) 90ms, transform 320ms var(--cx-h-ease) 90ms; }
body[data-cortex-page] .cx-transition-loader { width: 42px; height: 42px; border: 1px solid rgba(255,180,168,.28); border-top-color: var(--cx-h-blush); border-right-color: var(--cx-h-red); border-radius: 50%; opacity: 0; transform: scale(.9); transition: opacity 220ms var(--cx-h-ease) 40ms, transform 320ms var(--cx-h-ease) 40ms; }
body[data-cortex-page] .cx-page-transition.cx-page-leaving { opacity: 1; visibility: visible; transition: opacity 300ms var(--cx-h-ease), visibility 0s linear 0s; }
body[data-cortex-page] .cx-page-transition.cx-page-leaving::before { transform: scaleX(1); }
body[data-cortex-page] .cx-page-transition.cx-page-leaving::after { opacity: 1; transform: translateY(0); }
body[data-cortex-page] .cx-page-transition.cx-page-leaving .cx-transition-loader { opacity: 1; transform: scale(1); animation: cx-loader-spin 900ms linear infinite; }
body[data-cortex-page].cx-routing { cursor: progress; }
@keyframes cx-loader-spin { to { transform: scale(1) rotate(360deg); } }

body[data-cortex-page] .cx-share-panel { width: min(calc(100% - 32px), 920px); margin: clamp(36px, 7vw, 88px) auto; padding: 22px 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,180,168,.22); border-bottom: 1px solid rgba(255,180,168,.12); }
body[data-cortex-page] .cx-share-heading { display: grid; gap: 5px; color: var(--cx-h-muted); font: 400 13px/1.45 "Inter", system-ui, sans-serif; }
body[data-cortex-page] .cx-share-heading strong { color: var(--cx-h-ink); font: 700 18px/1.2 "Sora", sans-serif; letter-spacing: -.025em; }
body[data-cortex-page] .cx-share-kicker { color: var(--cx-h-blush); font: 600 9px/1.2 "JetBrains Mono", monospace; letter-spacing: .15em; text-transform: uppercase; }
body[data-cortex-page] .cx-share-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
body[data-cortex-page] .cx-share-button { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 11px; border: 1px solid rgba(255,180,168,.24); border-radius: 2px; background: rgba(255,241,236,.035); color: var(--cx-h-muted); cursor: pointer; font: 600 10px/1.2 "JetBrains Mono", monospace; text-decoration: none; transition: transform 160ms var(--cx-h-ease), border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease; }
body[data-cortex-page] .cx-share-button > span:first-child { color: var(--cx-h-blush); font-size: 12px; }
body[data-cortex-page] .cx-share-button > i { color: var(--cx-h-blush); font-size: 13px; line-height: 1; transition: color 160ms ease, transform 180ms var(--cx-h-ease); }
body[data-cortex-page] .cx-share-button:hover { color: var(--cx-h-ink); border-color: var(--cx-h-blush); background: rgba(139,0,0,.22); box-shadow: 0 8px 22px rgba(139,0,0,.18); transform: translateY(-2px); }
@media (hover: hover) and (pointer: fine) {
  body[data-cortex-page] .cx-share-button[data-share-network="x"]:hover { border-color: #e8eefc; background: rgba(232,238,252,.11); box-shadow: 0 9px 24px rgba(232,238,252,.12); }
  body[data-cortex-page] .cx-share-button[data-share-network="x"]:hover > i { color: #f5f7ff; transform: translateY(-1px) scale(1.13); }
  body[data-cortex-page] .cx-share-button[data-share-network="instagram"]:hover { border-color: #ed8cab; background: rgba(176,42,96,.18); box-shadow: 0 9px 24px rgba(176,42,96,.18); }
  body[data-cortex-page] .cx-share-button[data-share-network="instagram"]:hover > i { color: #ffb4c9; transform: translateY(-1px) rotate(-4deg) scale(1.13); }
}
body[data-cortex-page] .cx-share-button:active { transform: translateY(0) scale(.97); }
body[data-cortex-page] .cx-share-button:focus-visible { outline: 2px solid var(--cx-h-blush); outline-offset: 3px; }
body[data-cortex-page] .cx-share-status { min-height: 16px; margin: 0; color: var(--cx-h-blush); font: 600 10px/1.3 "JetBrains Mono", monospace; }
@media (max-width: 760px) {
  body[data-cortex-page] .cx-share-panel { width: min(calc(100% - 24px), 920px); align-items: center; flex-direction: column; gap: 16px; text-align: center; }
  body[data-cortex-page] .cx-share-heading { justify-items: center; }
  body[data-cortex-page] .cx-share-actions { width: 100%; justify-content: center; gap: 10px; }
  body[data-cortex-page] .cx-share-button { flex: 0 1 148px; min-width: 132px; min-height: 48px; padding: 12px 14px; font-size: 11px; }
  body[data-cortex-page] .cx-share-button > i { font-size: 15px; }
}
@media (prefers-reduced-motion: no-preference) { body[data-cortex-page] { animation: cx-page-enter 340ms var(--cx-h-ease) both; } }
@keyframes cx-page-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
body[data-cortex-page] h1,
body[data-cortex-page] h2,
body[data-cortex-page] h3,
body[data-cortex-page] h4,
body[data-cortex-page] h5,
body[data-cortex-page] h6 { font-family: "Sora", sans-serif; }
body[data-cortex-page] p,
body[data-cortex-page] li,
body[data-cortex-page] label,
body[data-cortex-page] input,
body[data-cortex-page] select,
body[data-cortex-page] textarea,
body[data-cortex-page] option { font-family: "Inter", system-ui, sans-serif !important; }
body[data-cortex-page] [class~="font-body"],
body[data-cortex-page] [class~="font-inter"] { font-family: "Inter", system-ui, sans-serif !important; }
body[data-cortex-page] [class~="font-headline"],
body[data-cortex-page] [class~="font-display"],
body[data-cortex-page] [class~="font-sora"],
body[data-cortex-page] [class~="font-headline-lg-mobile"] { font-family: "Sora", sans-serif !important; }
body[data-cortex-page] [class~="font-label"],
body[data-cortex-page] [class~="font-mono"],
body[data-cortex-page] [class~="font-mono-data"] { font-family: "JetBrains Mono", monospace !important; }
body[data-cortex-page] h1 { font-weight: 800; letter-spacing: -.055em; }
body[data-cortex-page] h2 { font-weight: 700; letter-spacing: -.045em; }
body[data-cortex-page] h3,
body[data-cortex-page] h4 { font-weight: 600; letter-spacing: -.025em; }

/* Texto base y acentos: evita rosas/borgoñas demasiado oscuras sobre el fondo. */
body[data-cortex-page] [class~="text-cx-text"],
body[data-cortex-page] [class~="text-on-surface"],
body[data-cortex-page] [class~="text-on-background"],
body[data-cortex-page] [class~="text-text-primary"] { color: var(--cx-h-ink) !important; }
body[data-cortex-page] [class~="text-cx-text-secondary"],
body[data-cortex-page] [class~="text-on-surface-variant"],
body[data-cortex-page] [class~="text-text-secondary"],
body[data-cortex-page] [class~="text-secondary"],
body[data-cortex-page] [class~="text-cx-text-muted"],
body[data-cortex-page] [class~="text-text-muted"] { color: var(--cx-h-muted) !important; }
body[data-cortex-page] [class~="text-primary"],
body[data-cortex-page] [class~="text-cx-primary"],
body[data-cortex-page] [class~="text-on-primary-container"],
body[data-cortex-page] [class~="text-cx-on-primary"] { color: var(--cx-h-blush) !important; }
body[data-cortex-page] [class~="text-cx-success"],
body[data-cortex-page] [class~="text-success"] { color: var(--cx-h-green) !important; }
body[data-cortex-page] [class~="text-cx-warning"] { color: #f2a84b !important; }

/* Superficies y fondos: una paleta común, sin tocar gradientes específicos ni gráficos inline. */
body[data-cortex-page] [class~="bg-cx-bg"],
body[data-cortex-page] [class~="bg-background"],
body[data-cortex-page] [class~="bg-bg"],
body[data-cortex-page] [class~="bg-bg-dark"] { background-color: var(--cx-h-bg) !important; }
body[data-cortex-page] [class~="bg-cx-surface"],
body[data-cortex-page] [class~="bg-surface-container"],
body[data-cortex-page] [class~="bg-surface-container-high"],
body[data-cortex-page] [class~="bg-cx-surface-high"] { background-color: color-mix(in srgb, var(--cx-h-surface) 18%, var(--cx-h-bg)) !important; }
body[data-cortex-page] [class~="bg-surface"],
body[data-cortex-page] [class~="bg-cx-surface/50"] { background-color: color-mix(in srgb, var(--cx-h-surface) 14%, var(--cx-h-bg)) !important; }
body[data-cortex-page] [class~="bg-cx-surface/30"] { background-color: color-mix(in srgb, var(--cx-h-surface) 8%, var(--cx-h-bg)) !important; }
body[data-cortex-page] [class~="bg-surface-variant"],
body[data-cortex-page] [class~="bg-cx-surface-variant"] { background-color: color-mix(in srgb, var(--cx-h-surface-2) 22%, var(--cx-h-bg)) !important; }
body[data-cortex-page] [class~="bg-cx-primary-container"],
body[data-cortex-page] [class~="bg-primary-container"] { background-color: var(--cx-h-red) !important; }
body[data-cortex-page="webs"] [class~="bg-primary"] { background-color: var(--cx-h-red) !important; }
body[data-cortex-page="webs"] [class~="text-on-primary"] { color: var(--cx-h-ink) !important; }
body[data-cortex-page="webs"] [class~="border-primary-light"] { border-color: #a52a2a !important; }
body[data-cortex-page] [class~="border-outline"],
body[data-cortex-page] [class~="border-outline-variant"],
body[data-cortex-page] [class~="border-cx-outline"],
body[data-cortex-page] [class~="border-cx-outline-variant"] { border-color: var(--cx-h-line) !important; }
body[data-cortex-page] a { transition: color 180ms var(--cx-h-ease), background-color 180ms var(--cx-h-ease), border-color 180ms var(--cx-h-ease), transform 180ms var(--cx-h-ease), box-shadow 180ms var(--cx-h-ease); }

/* Todos los headers mantienen la estructura y el contenido original, pero comparten altura, contraste, blur y jerarquía. */
body[data-cortex-page] nav.navbar,
body[data-cortex-page] nav.cx-navbar,
body[data-cortex-page] nav.cortex-nav,
body[data-cortex-page] nav#navbar { background: rgba(26, 17, 18, .91) !important; border-bottom: 1px solid var(--cx-h-line) !important; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
body[data-cortex-page] nav.navbar { min-height: 68px; padding: 13px 0; }
body[data-cortex-page] nav.cx-navbar { height: 68px; }
body[data-cortex-page] nav.cortex-nav { min-height: 68px; }
body[data-cortex-page="inicio"] nav.cortex-nav,
body[data-cortex-page="plc-cnc"] nav { top: 36px !important; }
body[data-cortex-page] nav a:first-child,
body[data-cortex-page] .cx-logo,
body[data-cortex-page] .logo { color: var(--cx-h-ink) !important; font-family: "Sora", sans-serif !important; font-weight: 800 !important; letter-spacing: -.055em !important; }
body[data-cortex-page] nav a:hover,
body[data-cortex-page] nav a.active,
body[data-cortex-page] nav a.cx-current,
body[data-cortex-page] .nav-link:hover,
body[data-cortex-page] .nav-link.active { color: var(--cx-h-blush) !important; }
body[data-cortex-page] .nav-cta,
body[data-cortex-page] .nav-cta-brutal,
body[data-cortex-page] nav a[href*="wa.me"] { background: var(--cx-h-red) !important; color: #fff !important; border-color: rgba(255, 180, 168, .38) !important; }
body[data-cortex-page] .nav-cta:hover,
body[data-cortex-page] .nav-cta-brutal:hover,
body[data-cortex-page] nav a[href*="wa.me"]:hover { background: #a50000 !important; box-shadow: 0 10px 26px rgba(139, 0, 0, .28); transform: translateY(-2px); }
body[data-cortex-page] .nav-cta,
body[data-cortex-page] .nav-cta-brutal { font-family: "Inter", system-ui, sans-serif !important; font-weight: 750 !important; letter-spacing: -.01em !important; text-transform: none !important; }
body[data-cortex-page] .nav-cta::before,
body[data-cortex-page] .nav-cta-brutal::before { content: "◉"; display: inline-block; margin-right: 8px; color: var(--cx-h-blush); font-size: 10px; line-height: 1; }
body[data-cortex-page] nav.cx-harmonized-nav { position: sticky !important; top: 0 !important; display: block !important; height: 68px !important; padding: 0 !important; overflow: visible !important; z-index: 90 !important; background: linear-gradient(180deg, rgba(26,17,18,.96) 0%, rgba(26,17,18,.82) 58%, rgba(26,17,18,.28) 88%, rgba(26,17,18,0) 100%) !important; border-bottom: 0 !important; box-shadow: none !important; }
body[data-cortex-page] nav.cx-harmonized-nav::after { content: ""; position: absolute; right: 0; bottom: -42px; left: 0; height: 42px; background: linear-gradient(180deg, rgba(26,17,18,.26) 0%, rgba(26,17,18,.1) 38%, rgba(26,17,18,0) 100%); pointer-events: none; }
body[data-cortex-page="inicio"] nav.cx-harmonized-nav,
body[data-cortex-page="plc-cnc"] nav.cx-harmonized-nav { top: 36px !important; }
body[data-cortex-page] nav.cx-harmonized-nav > .cx-original-nav-root { display: none !important; }
body[data-cortex-page] nav.cx-harmonized-nav > .cx-nav-shell { position: relative; display: flex; align-items: center; width: min(100% - 64px, 1480px); height: 68px; margin: 0 auto; gap: 36px; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand,
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand * { display: inline-flex; flex: 0 0 auto; align-items: center; color: var(--cx-h-ink) !important; font-family: var(--cx-font-display) !important; font-size: 19px; font-weight: 800 !important; letter-spacing: -.04em !important; word-spacing: .04em; text-transform: none !important; white-space: nowrap; text-decoration: none; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; background: var(--cx-h-red); border: 1px solid rgba(255,180,168,.7); border-radius: 50%; box-shadow: 0 0 0 3px rgba(139,0,0,.18); }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand::after { content: ""; display: inline-block; width: 12px; height: 8px; margin-left: 8px; border-top: 1px solid var(--cx-h-blush); border-bottom: 1px solid rgba(255,180,168,.5); opacity: .72; }
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-links { position: absolute; left: 50%; display: flex; align-items: center; justify-content: center; gap: clamp(22px, 2.25vw, 43px); min-width: max-content; transform: translateX(-50%); }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-link { display: inline-flex; align-items: center; color: rgba(241, 222, 223, .76) !important; font-family: var(--cx-font-body) !important; font-size: 14px; font-weight: 500; line-height: 1; letter-spacing: -.015em; text-transform: none !important; white-space: nowrap; text-decoration: none; }
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-link { position: relative; }
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-link:hover,
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-link.cx-current { color: var(--cx-h-blush) !important; }
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-link::after { content: ""; position: absolute; right: 0; bottom: -25px; left: 0; height: 2px; background: var(--cx-h-red); transform: scaleX(0); transform-origin: center; transition: transform 180ms var(--cx-h-ease); }
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-link:hover::after,
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-link.cx-current::after { transform: scaleX(1); }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-harmonized-cta { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 42px; padding: 0 17px; margin-left: auto; background: var(--cx-h-red) !important; color: #fff !important; border: 1px solid rgba(255, 180, 168, .38); border-radius: 2px; font-family: var(--cx-font-body) !important; font-size: 13px; font-weight: 700; letter-spacing: -.02em; text-transform: none !important; white-space: nowrap; text-decoration: none; }
body[data-cortex-page] nav.cx-harmonized-nav .cx-harmonized-cta:hover { background: #a50000 !important; box-shadow: 0 10px 26px rgba(139, 0, 0, .28); transform: translateY(-2px); }
body[data-cortex-page] nav.cx-harmonized-nav .cx-harmonized-cta { font-family: "Inter", system-ui, sans-serif !important; font-weight: 750 !important; letter-spacing: -.015em !important; }
body[data-cortex-page] nav.cx-harmonized-nav .cx-harmonized-cta::before { content: "◉"; margin-right: 8px; color: var(--cx-h-blush); font-size: 11px; line-height: 1; }
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-menu-button { display: none; flex: 0 0 auto; color: var(--cx-h-ink) !important; background: transparent; border: 0; }
body[data-cortex-page] .cx-harmonized-mobile { background: rgba(16, 10, 11, .98) !important; border-color: var(--cx-h-line) !important; }
body[data-cortex-page] .cx-harmonized-mobile { width: min(360px, calc(100vw - 110px)) !important; min-width: 245px; transform: translateX(100%) !important; transition: transform 220ms var(--cx-h-ease) !important; }
body[data-cortex-page] .cx-harmonized-mobile.cx-menu-open { transform: translateX(0) !important; }
body[data-cortex-page] .cx-harmonized-mobile a { color: var(--cx-h-ink) !important; font-family: "Sora", sans-serif !important; font-size: 20px; font-weight: 600; line-height: 1.1; text-decoration: none; }
body[data-cortex-page] .cx-harmonized-mobile a:hover,
body[data-cortex-page] .cx-harmonized-mobile a.cx-current { color: var(--cx-h-blush) !important; }
body[data-cortex-page] .cx-harmonized-mobile a[class*="bg-"] { background: var(--cx-h-red) !important; color: #fff !important; font-family: "Inter", system-ui, sans-serif !important; font-size: 13px; }
body[data-cortex-page] .cx-harmonized-mobile > div,
body[data-cortex-page] .cx-harmonized-mobile .flex.flex-col { gap: 29px !important; }
body[data-cortex-page] .cx-harmonized-mobile button { color: var(--cx-h-muted) !important; }
body[data-cortex-page] .cx-generated-mobile { position: fixed; top: 0; right: 0; bottom: 0; z-index: 80; display: flex; flex-direction: column; width: min(360px, calc(100vw - 110px)); min-width: 245px; padding: 36px 32px 42px; background: rgba(16, 10, 11, .98) !important; border-left: 1px solid var(--cx-h-line); transform: translateX(100%); transition: transform 220ms var(--cx-h-ease); }
body[data-cortex-page] .cx-generated-mobile.cx-menu-open { transform: translateX(0); }
body[data-cortex-page] .cx-harmonized-mobile-overlay,
body[data-cortex-page] [id*="mobileOverlay"],
body[data-cortex-page] [id*="mobile-overlay"],
body[data-cortex-page] #mobile-menu-overlay { position: fixed; inset: 0; z-index: 70; display: block !important; background: rgba(0, 0, 0, .58); opacity: 0; visibility: hidden; transition: opacity 180ms var(--cx-h-ease), visibility 180ms var(--cx-h-ease); }
body[data-cortex-page] .cx-harmonized-mobile-overlay.cx-menu-open { opacity: 1; visibility: visible; }
body[data-cortex-page] .cx-mobile-close { align-self: flex-end; width: 34px; height: 34px; margin: 0 -12px 63px 0; padding: 0; background: transparent; color: var(--cx-h-muted) !important; border: 0; font-family: Arial, sans-serif; font-size: 30px; line-height: 1; }
body[data-cortex-page] .cx-mobile-generated-links { display: flex; flex-direction: column; gap: 30px; }
body[data-cortex-page] .cx-mobile-generated-links a { color: var(--cx-h-ink) !important; font-family: "Sora", sans-serif !important; font-size: 21px; font-weight: 600; line-height: 1.1; text-decoration: none; }
body[data-cortex-page] .cx-mobile-generated-links a.cx-current { color: var(--cx-h-red) !important; }

/* Los CTA existentes conservan sus textos y destinos; se unifican solamente forma, foco y feedback. */
body[data-cortex-page] a[class*="btn"],
body[data-cortex-page] a[class*="cta"],
body[data-cortex-page] button[class*="btn"],
body[data-cortex-page] .btn-submit,
body[data-cortex-page] .btn-mail,
body[data-cortex-page] button[type="submit"] { border-radius: 2px !important; font-family: "Inter", system-ui, sans-serif !important; font-weight: 750 !important; letter-spacing: -.005em !important; text-transform: none; transition: transform 160ms var(--cx-h-ease), background-color 160ms var(--cx-h-ease), border-color 160ms var(--cx-h-ease), color 160ms var(--cx-h-ease), box-shadow 160ms var(--cx-h-ease); }
body[data-cortex-page] a[class*="btn"]:hover,
body[data-cortex-page] a[class*="cta"]:hover,
body[data-cortex-page] button[class*="btn"]:hover,
body[data-cortex-page] .btn-submit:hover,
body[data-cortex-page] .btn-mail:hover,
body[data-cortex-page] button[type="submit"]:hover { border-color: var(--cx-h-blush) !important; box-shadow: 0 10px 24px rgba(139,0,0,.28); transform: translateY(-2px); }
body[data-cortex-page] a[class*="btn"]:active,
body[data-cortex-page] a[class*="cta"]:active,
body[data-cortex-page] button[class*="btn"]:active,
body[data-cortex-page] button[type="submit"]:active,
body[data-cortex-page] .btn-submit:active,
body[data-cortex-page] .btn-mail:active { transform: translateY(0) scale(.97); }
body[data-cortex-page] a[class*="btn"]:focus-visible,
body[data-cortex-page] a[class*="cta"]:focus-visible,
body[data-cortex-page] button[class*="btn"]:focus-visible,
body[data-cortex-page] .btn-submit:focus-visible,
body[data-cortex-page] .btn-mail:focus-visible,
body[data-cortex-page] button[type="submit"]:focus-visible { outline: 2px solid var(--cx-h-blush); outline-offset: 4px; }
body[data-cortex-page] a[class*="btn"][class~="bg-white"],
body[data-cortex-page] a[class*="cta"][class~="bg-white"] { color: var(--cx-h-red) !important; background: var(--cx-h-ink) !important; font-family: "Inter", system-ui, sans-serif !important; font-weight: 800 !important; letter-spacing: -.01em !important; }
body[data-cortex-page] a[class*="btn"][class~="bg-white"]::first-letter,
body[data-cortex-page] a[class*="cta"][class~="bg-white"]::first-letter { color: var(--cx-h-red) !important; }
body[data-cortex-page] a.cx-action-cta,
body[data-cortex-page] a.cx-action-cta * { font-family: "Inter", system-ui, sans-serif !important; font-weight: 750 !important; letter-spacing: -.005em !important; text-transform: none !important; }
body[data-cortex-page] input:focus,
body[data-cortex-page] select:focus,
body[data-cortex-page] textarea:focus { outline: 2px solid rgba(255, 180, 168, .72); outline-offset: 2px; }

/* Superficies, tablas, formularios y footer hablan el mismo idioma sin tocar su orden ni su contenido. */
body[data-cortex-page] .brutal-card,
body[data-cortex-page] .contact-card,
body[data-cortex-page] .form-box,
body[data-cortex-page] .scada-card,
body[data-cortex-page] .early-card,
body[data-cortex-page] .before-after-card { border-color: var(--cx-h-line); }
body[data-cortex-page] .brutal-card:hover,
body[data-cortex-page] .contact-card:hover,
body[data-cortex-page] .cx-card-hover:hover { border-color: rgba(255, 180, 168, .45) !important; box-shadow: 0 18px 40px rgba(0, 0, 0, .28) !important; }
body[data-cortex-page] main > section[class*="border-"] { border-color: transparent !important; }
body[data-cortex-page] main > section + section { border-top-color: transparent !important; }
body[data-cortex-page] footer { position: relative; background: var(--cx-h-bg-deep) !important; border-top: 1px solid var(--cx-h-line) !important; }
body[data-cortex-page] footer::before { content: ""; position: absolute; top: 28px; left: clamp(20px, 4vw, 64px); width: 12px; height: 12px; border: 2px solid var(--cx-h-red); border-radius: 50%; box-shadow: 12px 0 0 -4px var(--cx-h-blush), 0 0 0 4px rgba(139,0,0,.12); pointer-events: none; }
body[data-cortex-page] footer::after { content: none; display: none; }
body[data-cortex-page] footer a:hover { color: var(--cx-h-blush) !important; }
body[data-cortex-page] .floating-whatsapp,
body[data-cortex-page] .cx-whatsapp-float,
body[data-cortex-page] a[aria-label="WhatsApp"][href*="wa.me"],
body[data-cortex-page] a[aria-label="Contactar por WhatsApp"][href*="wa.me"] { position: fixed !important; right: 24px !important; bottom: 24px !important; z-index: 120 !important; width: 60px !important; height: 60px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: var(--cx-h-green) !important; color: #fff !important; box-shadow: 0 8px 24px rgba(37,211,102,.28) !important; animation: none !important; transform: none !important; transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms var(--cx-h-ease) !important; }
body[data-cortex-page] .floating-whatsapp:hover,
body[data-cortex-page] .cx-whatsapp-float:hover,
body[data-cortex-page] a[aria-label="WhatsApp"][href*="wa.me"]:hover,
body[data-cortex-page] a[aria-label="Contactar por WhatsApp"][href*="wa.me"]:hover { background: #1fb95a !important; box-shadow: 0 10px 28px rgba(37,211,102,.36) !important; transform: translateY(-2px) scale(1.03) !important; }
body[data-cortex-page] .floating-whatsapp:active,
body[data-cortex-page] .cx-whatsapp-float:active,
body[data-cortex-page] a[aria-label="WhatsApp"][href*="wa.me"]:active,
body[data-cortex-page] a[aria-label="Contactar por WhatsApp"][href*="wa.me"]:active { transform: scale(.97) !important; }
body[data-cortex-page] .floating-whatsapp i,
body[data-cortex-page] .cx-whatsapp-float i,
body[data-cortex-page] a[aria-label="WhatsApp"][href*="wa.me"] i,
body[data-cortex-page] a[aria-label="Contactar por WhatsApp"][href*="wa.me"] i { color: #fff !important; font-size: 30px !important; line-height: 1 !important; }

/* “Tres cosas que resuelvo”: la referencia usa módulos pequeños, sólidos y con texto bien contrastado. */
body[data-cortex-page="nosotros_modificado"] .cx-nosotros-solve { margin-top: 10px; }
body[data-cortex-page="nosotros_modificado"] .cx-nosotros-solve > p { color: var(--cx-h-ink) !important; font-family: var(--cx-font-display) !important; font-size: 16px; letter-spacing: -.015em; }
body[data-cortex-page="nosotros_modificado"] .cx-solve-list { display: grid; gap: 18px !important; }
body[data-cortex-page="nosotros_modificado"] .cx-solve-item { align-items: flex-start; gap: 16px; }
body[data-cortex-page="nosotros_modificado"] .cx-solve-icon { flex: 0 0 48px; width: 48px; height: 48px; margin-top: 0; border-color: rgba(139,0,0,.34); background: rgba(139,0,0,.16); box-shadow: inset 0 0 0 1px rgba(255,180,168,.04); }
body[data-cortex-page="nosotros_modificado"] .cx-solve-icon i { color: var(--cx-h-red) !important; font-size: 1.15rem !important; line-height: 1; }
body[data-cortex-page="nosotros_modificado"] .cx-solve-item > div:last-child > p:first-child { margin-bottom: 4px; color: var(--cx-h-ink) !important; font-family: var(--cx-font-display) !important; font-weight: 700 !important; font-size: 17px; letter-spacing: -.02em; }
body[data-cortex-page="nosotros_modificado"] .cx-solve-item > div:last-child > p:last-child { color: #b9a4a5 !important; font-size: 15px; line-height: 1.55; }
body[data-cortex-page="nosotros_modificado"] .cx-solve-item:hover .cx-solve-icon { border-color: var(--cx-h-blush); background: rgba(139,0,0,.28); transform: translateY(-1px); }
body[data-cortex-page="nosotros_modificado"] .cx-solve-item:hover .cx-solve-icon i { color: var(--cx-h-blush) !important; }

/* Contraste: texto oscuro en botones claros, sin cambiar los CTA borgoña. */
body[data-cortex-page] a[class~="bg-on-primary"],
body[data-cortex-page] a[class~="bg-white"],
body[data-cortex-page] a[class~="bg-on-primary"] * ,
body[data-cortex-page] a[class~="bg-white"] * { color: #5b171d !important; }
body[data-cortex-page] a[class~="bg-on-primary"],
body[data-cortex-page] a[class~="bg-white"] { background: #fff1ec !important; }
body[data-cortex-page] a[class~="text-bordo"]:not([class~="bg-white"]):not([class~="bg-on-primary"]) { color: var(--cx-h-blush) !important; }

/* Control compartido: aparece después de recorrer la página y convive con el contenido sin bloquearlo. */
.cx-back-to-top { position: fixed; right: clamp(16px, 3vw, 32px); bottom: 88px; z-index: 120; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(255,180,168,.45); border-radius: 50%; background: rgba(16,10,11,.94); color: var(--cx-h-blush); box-shadow: 0 12px 30px rgba(0,0,0,.28); font: 700 22px/1 "Inter", system-ui, sans-serif; opacity: 0; transform: translateY(12px) scale(.94); pointer-events: none; cursor: pointer; transition: opacity 180ms var(--cx-h-ease), transform 180ms var(--cx-h-ease), background-color 180ms var(--cx-h-ease), border-color 180ms var(--cx-h-ease); }
.cx-back-to-top-visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.cx-back-to-top:hover { background: var(--cx-h-red); border-color: var(--cx-h-blush); color: #fff1ec; transform: translateY(-2px) scale(1.02); }
.cx-back-to-top:active { transform: translateY(0) scale(.96); }
.cx-back-to-top:focus-visible { outline: 2px solid var(--cx-h-blush); outline-offset: 4px; }

/* Acciones rápidas: el contenedor acompaña al viewport, no al final del documento. */
.cx-floating-actions { position: fixed; inset-inline-end: max(18px, env(safe-area-inset-right)); inset-block-end: max(18px, env(safe-area-inset-bottom)); z-index: 120; display: flex; flex-direction: column; align-items: center; gap: 12px; pointer-events: none; }
.cx-floating-actions > * { pointer-events: auto; }
.cx-floating-actions .cx-back-to-top { position: static !important; inset: auto !important; }
body[data-cortex-page] .cx-floating-actions a.floating-whatsapp,
body[data-cortex-page] .cx-floating-actions a.cx-whatsapp-float,
body[data-cortex-page] .cx-floating-actions a[aria-label="WhatsApp"][href*="wa.me"],
body[data-cortex-page] .cx-floating-actions a[aria-label="Contactar por WhatsApp"][href*="wa.me"] { position: static !important; inset: auto !important; }
@media (max-width: 640px) {
  .cx-floating-actions { inset-inline-end: max(14px, env(safe-area-inset-right)); inset-block-end: max(14px, env(safe-area-inset-bottom)); gap: 10px; }
  body[data-cortex-page] .cx-floating-actions a[aria-label="Contactar por WhatsApp"][href*="wa.me"],
  body[data-cortex-page] .cx-floating-actions a[aria-label="WhatsApp"][href*="wa.me"] { width: 56px !important; height: 56px !important; }
  .cx-floating-actions .cx-back-to-top { width: 44px; height: 44px; }
}

body[data-cortex-page] [class*="glow-bordo"] { box-shadow: 0 8px 22px rgba(139,0,0,.2) !important; }

/* Glifos deterministas: el mismo símbolo se ve igual aunque el CSS del CDN llegue antes o después. */
body[data-cortex-page] i.fab.fa-whatsapp::before { content: "\f232" !important; font-family: "Font Awesome 6 Brands" !important; font-weight: 400 !important; }
body[data-cortex-page] i.fas.fa-envelope::before { content: "\f0e0" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-arrow-down::before { content: "\f063" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-arrow-right::before { content: "\f061" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-arrow-up-right::before { content: "\f35d" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-code::before { content: "\f121" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-industry::before { content: "\f275" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-robot::before { content: "\f544" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-globe::before { content: "\f0ac" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-user-hard-hat::before { content: "\f82c" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-map-marker-alt::before { content: "\f3c5" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-bars::before { content: "\f0c9" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }
body[data-cortex-page] i.fas.fa-times::before { content: "\f00d" !important; font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }

/* Los banners de Inicio y PLC/CNC siguen existiendo; la capa solo iguala su altura, tipografía y lectura. */
body[data-cortex-page] > [class*="fixed"][class*="top-0"] { font-family: "JetBrains Mono", monospace; letter-spacing: .03em; }
body[data-cortex-page="inicio"] main,
body[data-cortex-page="plc-cnc"] main { scroll-margin-top: 110px; }

@media (max-width: 767px) {
  body[data-cortex-page] > [id="offer-banner"],
  body[data-cortex-page] > [class*="fixed"][class*="top-0"] { position: relative !important; inset: auto !important; transform: none !important; }
  body[data-cortex-page] nav.cx-harmonized-nav { position: sticky !important; top: 0 !important; right: auto !important; bottom: auto !important; left: auto !important; width: 100% !important; z-index: 90 !important; }
  body[data-cortex-page] main { padding-top: 0 !important; }
  body[data-cortex-page="inicio"] nav.cx-harmonized-nav,
  body[data-cortex-page="plc-cnc"] nav.cx-harmonized-nav { top: 0 !important; margin-top: 0 !important; }
  body[data-cortex-page] nav.cx-harmonized-nav { height: 64px !important; background: linear-gradient(180deg, rgba(26,17,18,.98) 0%, rgba(26,17,18,.86) 62%, rgba(26,17,18,0) 100%) !important; }
  body[data-cortex-page] nav.cx-harmonized-nav::after { bottom: -34px; height: 34px; background: linear-gradient(180deg, rgba(26,17,18,.22) 0%, rgba(26,17,18,0) 100%); }
  body[data-cortex-page] nav.cx-harmonized-nav > .cx-nav-shell { width: calc(100% - 32px); height: 64px; gap: 16px; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-links { display: none !important; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-links,
  body[data-cortex-page] nav.cx-harmonized-nav .cx-harmonized-cta { display: none !important; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand { font-size: 18px; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-menu-button { position: relative; z-index: 120; display: inline-flex !important; visibility: visible !important; opacity: 1 !important; align-items: center; justify-content: center; width: 52px !important; height: 52px !important; margin-left: auto !important; padding: 0 !important; color: var(--cx-h-ink) !important; background: transparent !important; border: 0 !important; font-size: 0 !important; pointer-events: auto !important; touch-action: manipulation; cursor: pointer; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-menu-button > * { display: none !important; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-menu-button::before { content: "☰"; display: block; color: var(--cx-h-ink); font-family: Arial, sans-serif; font-size: 26px; line-height: 1; }
  body[data-cortex-page] .cx-harmonized-mobile { top: var(--cx-menu-top, 64px) !important; bottom: 0 !important; height: calc(100vh - var(--cx-menu-top, 64px)) !important; max-height: calc(100vh - var(--cx-menu-top, 64px)) !important; overflow-y: auto !important; }
  body[data-cortex-page] .cx-harmonized-mobile-overlay { top: var(--cx-menu-top, 64px) !important; bottom: 0 !important; height: calc(100vh - var(--cx-menu-top, 64px)) !important; }
  body[data-cortex-page] .cx-harmonized-mobile { width: min(360px, calc(100vw - 110px)) !important; min-width: 245px; }
  body[data-cortex-page] nav .hidden.md\:flex,
  body[data-cortex-page] nav .hidden.lg\:flex { display: none !important; }
  body[data-cortex-page] nav button.md\:hidden,
  body[data-cortex-page] nav button.lg\:hidden { display: block !important; }
  body[data-cortex-page] .max-w-7xl,
  body[data-cortex-page] .max-w-6xl,
  body[data-cortex-page] .max-w-5xl,
  body[data-cortex-page] .max-w-4xl,
  body[data-cortex-page] .max-w-3xl { width: 100%; max-width: 100%; }
  body[data-cortex-page] [class*="w-screen"],
  body[data-cortex-page] [style*="100vw"] { width: 100% !important; max-width: 100%; }
}

@media (max-width: 640px) {
  body[data-cortex-page] nav.navbar,
  body[data-cortex-page] nav.cx-navbar,
  body[data-cortex-page] nav.cortex-nav,
  body[data-cortex-page] nav#navbar { min-height: 62px; }
  body[data-cortex-page="inicio"] nav.cortex-nav,
  body[data-cortex-page="plc-cnc"] nav { top: 0 !important; }
  body[data-cortex-page="inicio"] nav.cx-harmonized-nav { top: 0 !important; }
  body[data-cortex-page] > [id="offer-banner"],
  body[data-cortex-page] > [class*="fixed"][class*="top-0"] { width: 100%; max-width: 100vw; min-height: 38px; padding: 9px 14px !important; font-size: 12px !important; line-height: 1.35 !important; white-space: normal !important; overflow-wrap: anywhere; }
  body[data-cortex-page] > [id="offer-banner"] > span,
  body[data-cortex-page] > [class*="fixed"][class*="top-0"] > span { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 5px 8px; max-width: 100%; }
  body[data-cortex-page] section .grid.lg\:grid-cols-2,
  body[data-cortex-page] section .grid.md\:grid-cols-2,
  body[data-cortex-page] section .grid.lg\:grid-cols-3,
  body[data-cortex-page] section .grid.md\:grid-cols-3,
  body[data-cortex-page] section .grid.lg\:grid-cols-4,
  body[data-cortex-page] section .grid.md\:grid-cols-4 { grid-template-columns: 1fr !important; }
  body[data-cortex-page] section .flex.items-center.justify-between { flex-wrap: wrap; gap: 16px; }
  body[data-cortex-page] .overflow-x-auto { max-width: 100%; }
  body[data-cortex-page] .hero, body[data-cortex-page] main, body[data-cortex-page] section { max-width: 100%; }
  body[data-cortex-page] .hero h1 { line-height: 1.02; }
  body[data-cortex-page] .nav-cta,
  body[data-cortex-page] .nav-cta-brutal { width: 100%; text-align: center; }
  body[data-cortex-page] .cx-harmonized-mobile { left: 0 !important; right: 0 !important; width: 100vw !important; max-width: none !important; min-width: 0 !important; padding: 0 28px 32px !important; background: #100a0b !important; background-image: none !important; opacity: 1 !important; backdrop-filter: none !important; border-left: 0 !important; box-shadow: none !important; }
  body[data-cortex-page] .cx-harmonized-mobile > button:first-child,
  body[data-cortex-page] .cx-harmonized-mobile .cx-mobile-close,
  body[data-cortex-page] .cx-harmonized-mobile #closeMenuBtn { position: sticky; top: 0; z-index: 2; display: flex !important; align-items: center; justify-content: flex-end; width: 100%; min-height: 48px; margin: 0 0 18px !important; padding: 0 2px 12px !important; color: #fff1ec !important; background: #100a0b !important; border: 0; border-bottom: 1px solid rgba(255,241,236,.16); font-size: 30px !important; line-height: 1; }
  body[data-cortex-page] .cx-harmonized-mobile > button:first-child,
  body[data-cortex-page] .cx-harmonized-mobile .cx-mobile-close { position: sticky; top: 0; z-index: 2; display: flex !important; align-items: center; justify-content: flex-end; width: calc(100% + 56px); min-height: 64px; margin: 0 -28px 24px !important; padding: 0 28px 10px !important; color: #fff1ec !important; background: #100a0b !important; border: 0; border-bottom: 1px solid rgba(255,241,236,.16); font-size: 30px !important; line-height: 1; }
  body[data-cortex-page] .cx-harmonized-mobile > div,
  body[data-cortex-page] .cx-harmonized-mobile .flex.flex-col,
  body[data-cortex-page] .cx-harmonized-mobile .cx-mobile-generated-links { display: flex !important; flex-direction: column !important; gap: 0 !important; width: 100%; }
  body[data-cortex-page] .cx-harmonized-mobile .cx-mobile-generated-links,
  body[data-cortex-page] .cx-harmonized-mobile > div.flex.flex-col,
  body[data-cortex-page] .cx-harmonized-mobile nav { max-width: 390px; margin: 0 auto; }
  body[data-cortex-page] .cx-harmonized-mobile a { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 72px; padding: 16px 0 !important; color: #fff1ec !important; font-size: 20px; line-height: 1.2; text-align: center; white-space: normal; overflow-wrap: anywhere; border-bottom: 1px solid rgba(255,241,236,.12); }
  body[data-cortex-page] .cx-harmonized-mobile a.cx-current { color: var(--cx-h-blush) !important; }
  body[data-cortex-page] .cx-harmonized-mobile a,
  body[data-cortex-page] nav.cx-harmonized-nav a.cx-nav-link { position: relative; transition: color 160ms cubic-bezier(.22, 1, .36, 1), background-color 160ms cubic-bezier(.22, 1, .36, 1), transform 160ms cubic-bezier(.22, 1, .36, 1); -webkit-tap-highlight-color: rgba(255, 177, 160, .18); }
  body[data-cortex-page] .cx-harmonized-mobile a::before,
  body[data-cortex-page] nav.cx-harmonized-nav a.cx-nav-link::before { content: ""; position: absolute; inset: 8px -10px; z-index: -1; border-radius: 10px; background: rgba(176, 0, 0, .0); transition: background-color 160ms cubic-bezier(.22, 1, .36, 1); }
  body[data-cortex-page] .cx-harmonized-mobile a:active,
  body[data-cortex-page] .cx-harmonized-mobile a.cx-link-pressed,
  body[data-cortex-page] nav.cx-harmonized-nav a.cx-nav-link:active,
  body[data-cortex-page] nav.cx-harmonized-nav a.cx-nav-link.cx-link-pressed { color: #fff !important; transform: translateY(1px); }
  body[data-cortex-page] .cx-harmonized-mobile a:active::before,
  body[data-cortex-page] .cx-harmonized-mobile a.cx-link-pressed::before,
  body[data-cortex-page] nav.cx-harmonized-nav a.cx-nav-link:active::before,
  body[data-cortex-page] nav.cx-harmonized-nav a.cx-link-pressed::before { background: rgba(176, 0, 0, .34); }
  body[data-cortex-page] .cx-harmonized-mobile a:focus-visible,
  body[data-cortex-page] nav.cx-harmonized-nav a.cx-nav-link:focus-visible { outline: 2px solid var(--cx-h-blush); outline-offset: 4px; }
  body[data-cortex-page] .cx-harmonized-mobile { will-change: transform; transition: transform 280ms cubic-bezier(.22, 1, .36, 1) !important; }
  body[data-cortex-page] .cx-harmonized-mobile.cx-menu-open { transform: translateX(0) !important; }
  body[data-cortex-page] .cx-harmonized-mobile-overlay { background: rgba(5, 3, 7, .62) !important; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); opacity: 0; visibility: hidden; transition: opacity 240ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 240ms !important; }
  body[data-cortex-page] .cx-harmonized-mobile-overlay.cx-menu-open { opacity: 1; visibility: visible; transition: opacity 240ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 0s !important; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand::before { width: 7px; height: 7px; margin-right: 7px; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand::after { width: 10px; height: 7px; margin-left: 7px; }
  body[data-cortex-page] footer::before { top: 22px; left: 20px; }
  body[data-cortex-page] footer::after { top: 24px; right: 20px; font-size: 8px; }
  .cx-back-to-top { right: 16px; bottom: 84px; width: 44px; height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-cortex-page] *, body[data-cortex-page] *::before, body[data-cortex-page] *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  body[data-cortex-page] .cx-page-transition { display: none !important; }
  body[data-cortex-page] .cx-share-button:hover { transform: none; }
  .cx-back-to-top { transition-duration: .01ms !important; }
}

.cx-cookie-manage-row { display: flex; justify-content: flex-end; width: 100%; box-sizing: border-box; margin-top: 12px; padding-inline: 18px; }
.cx-cookie-manage { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; border: 0; padding: 6px 10px; background: transparent; color: var(--cx-h-blush); cursor: pointer; font: 500 10px/1.4 'JetBrains Mono', monospace; text-decoration: underline; text-underline-offset: 3px; }
.cx-cookie-manage:hover { color: var(--cx-h-ink); }
.cx-cookie-manage:focus-visible { outline: 2px solid var(--cx-h-blush); outline-offset: 4px; }
@media (max-width: 640px) {
  .cx-cookie-manage-row { justify-content: center; margin-top: 18px; padding-inline: 28px; }
  .cx-cookie-manage { min-height: 40px; padding: 10px 14px; text-align: center; }
  body[data-cortex-page] .cx-legal-footer-links,
  body[data-cortex-page] .cx-terms-footer-links { justify-content: center; width: 100%; box-sizing: border-box; padding-inline: 18px; text-align: center; }
  body[data-cortex-page] .cx-legal-footer-links .cx-cookie-manage,
  body[data-cortex-page] .cx-terms-footer-links .cx-cookie-manage { margin-inline: 6px; }
}

/* CORTEX IA / Marca modular y líneas de sistema: una única infraestructura visual en todas las rutas. */
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand::before,
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand::after { display: none; }
body[data-cortex-page] .cx-brand-mark { display: grid !important; grid-template-columns: repeat(3, 4px); grid-template-rows: repeat(3, 4px); gap: 2px; width: 16px; height: 16px; margin: 0 10px 0 0; }
body[data-cortex-page] .cx-brand-mark i { display: block; width: 4px; height: 4px; background: var(--cx-h-red); box-shadow: 0 0 0 1px rgba(255,180,168,.48); }
body[data-cortex-page] .cx-brand-mark i:nth-child(1) { grid-area: 1 / 1; }
body[data-cortex-page] .cx-brand-mark i:nth-child(2) { grid-area: 1 / 2; }
body[data-cortex-page] .cx-brand-mark i:nth-child(3) { grid-area: 2 / 1; }
body[data-cortex-page] .cx-brand-mark i:nth-child(4) { grid-area: 3 / 1; }
body[data-cortex-page] .cx-brand-mark i:nth-child(5) { grid-area: 3 / 2; }
body[data-cortex-page] .cx-brand-name { display: inline-flex !important; align-items: center; }
body[data-cortex-page] footer::before { width: 6px; height: 6px; border: 0; border-radius: 0; background: var(--cx-h-red); box-shadow: 8px 0 0 var(--cx-h-red), 0 8px 0 var(--cx-h-red), 0 16px 0 var(--cx-h-red), 8px 16px 0 var(--cx-h-red), 0 0 0 1px rgba(255,180,168,.48), 8px 0 0 1px rgba(255,180,168,.48), 0 8px 0 1px rgba(255,180,168,.48), 0 16px 0 1px rgba(255,180,168,.48), 8px 16px 0 1px rgba(255,180,168,.48); }
body[data-cortex-page] .cx-share-kicker::before { content: ""; display: inline-block; width: 4px; height: 4px; margin: 0 8px 1px 0; vertical-align: middle; background: var(--cx-h-red); box-shadow: 6px 0 0 var(--cx-h-red), 0 6px 0 var(--cx-h-red), 0 12px 0 var(--cx-h-red), 6px 12px 0 var(--cx-h-red); }

/* CORTEX IA / Contenido técnico confirmado: alcance, estados y condiciones visibles antes de cualquier promesa específica. */
body[data-cortex-page] .cx-tech-section { position: relative; overflow: hidden; padding: clamp(68px, 8vw, 116px) 24px; background: linear-gradient(135deg, rgba(16,10,11,.99), rgba(42,31,32,.58) 52%, rgba(16,10,11,.99)); border-top: 1px solid rgba(255,180,168,.14); border-bottom: 1px solid rgba(139,0,0,.18); }
body[data-cortex-page] .cx-tech-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,180,168,.032) 1px, transparent 1px), linear-gradient(90deg, rgba(255,180,168,.032) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(90deg, transparent, black 20%, black 80%, transparent); }
body[data-cortex-page] .cx-tech-shell { position: relative; width: min(100%, 1180px); margin: 0 auto; padding-top: 28px; }
body[data-cortex-page] .cx-tech-shell::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, var(--cx-h-red) 0 84px, rgba(255,180,168,.32) 84px 100%); }
body[data-cortex-page] .cx-tech-shell::after { content: "CORTEX IA / SISTEMA"; position: absolute; top: -6px; right: 0; padding-left: 12px; color: rgba(255,180,168,.62); background: var(--cx-h-bg); font: 700 8px/1 "JetBrains Mono", monospace; letter-spacing: .14em; }
body[data-cortex-page] .cx-tech-eyebrow { margin: 0 0 14px; color: var(--cx-h-blush); font: 700 10px/1.3 "JetBrains Mono", monospace !important; letter-spacing: .18em; text-transform: uppercase; }
body[data-cortex-page] .cx-tech-heading { max-width: 920px; margin: 0; color: var(--cx-h-ink) !important; font-size: clamp(30px, 4vw, 52px) !important; line-height: 1.04; }
body[data-cortex-page] .cx-tech-lede { max-width: 850px; margin: 22px 0 0; color: var(--cx-h-muted) !important; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.65; }
body[data-cortex-page] .cx-tech-grid { display: grid; gap: 14px; margin-top: clamp(32px, 4vw, 52px); }
body[data-cortex-page] .cx-tech-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body[data-cortex-page] .cx-tech-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body[data-cortex-page] .cx-tech-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body[data-cortex-page] .cx-tech-card { position: relative; min-height: 196px; padding: 28px 24px 24px; background: linear-gradient(160deg, rgba(26,17,18,.92), rgba(16,10,11,.9)); border: 1px solid rgba(255,180,168,.16); border-top: 2px solid rgba(255,180,168,.28); box-shadow: inset 0 1px rgba(255,255,255,.025); transition: transform 180ms var(--cx-h-ease), border-color 180ms ease, background-color 180ms ease; }
body[data-cortex-page] .cx-tech-card::before { content: ""; position: absolute; top: 10px; right: 12px; width: 3px; height: 3px; background: var(--cx-h-red); box-shadow: 5px 0 0 var(--cx-h-red), 0 5px 0 var(--cx-h-red), 0 10px 0 var(--cx-h-red), 5px 10px 0 var(--cx-h-red); opacity: .78; }
body[data-cortex-page] .cx-tech-card:hover { background: rgba(55,30,32,.78); border-color: rgba(255,180,168,.46); transform: translateY(-3px); }
body[data-cortex-page] .cx-tech-index { display: block; margin-bottom: 24px; color: var(--cx-h-blush); font: 700 9px/1.25 "JetBrains Mono", monospace; letter-spacing: .14em; }
body[data-cortex-page] .cx-tech-card h3, body[data-cortex-page] .cx-tech-product h3 { margin: 0 0 10px; color: var(--cx-h-ink) !important; font-size: 18px !important; line-height: 1.22; }
body[data-cortex-page] .cx-tech-card p, body[data-cortex-page] .cx-tech-product p { margin: 0; color: var(--cx-h-muted) !important; font-size: 14px; line-height: 1.6; }
body[data-cortex-page] .cx-tech-note { margin-top: 18px; padding: 18px 20px 18px 24px; color: var(--cx-h-muted); border-left: 3px solid var(--cx-h-red); background: rgba(139,0,0,.12); font-size: 14px; line-height: 1.65; }
body[data-cortex-page] .cx-tech-note strong { color: var(--cx-h-ink); }
body[data-cortex-page] .cx-tech-cta { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; padding: 14px 18px; background: var(--cx-h-red); border: 1px solid rgba(255,180,168,.4); color: #fff !important; font: 700 11px/1 "JetBrains Mono", monospace !important; letter-spacing: .08em; text-decoration: none; }
body[data-cortex-page] .cx-tech-cta:hover { background: #a50000; border-color: var(--cx-h-blush); transform: translateY(-2px); box-shadow: 0 12px 26px rgba(139,0,0,.24); }
body[data-cortex-page] .cx-tech-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
body[data-cortex-page] .cx-tech-product { padding: 18px; background: rgba(16,10,11,.74); border: 1px solid rgba(255,180,168,.14); }
body[data-cortex-page] .cx-tech-product h3 { margin-top: 14px; font-size: 16px !important; }
body[data-cortex-page] .cx-tech-product p { color: var(--cx-h-blush) !important; font: 600 12px/1.45 "JetBrains Mono", monospace !important; }
body[data-cortex-page] .cx-tech-status { display: inline-block; padding: 5px 7px; font: 700 8px/1.2 "JetBrains Mono", monospace; letter-spacing: .08em; border: 1px solid; }
body[data-cortex-page] .cx-tech-status.is-available { color: #8ee6b0; border-color: rgba(37,211,102,.42); background: rgba(37,211,102,.08); }
body[data-cortex-page] .cx-tech-status.is-pilot { color: #f3c578; border-color: rgba(242,168,75,.48); background: rgba(242,168,75,.08); }
body[data-cortex-page] .cx-tech-status.is-custom { color: var(--cx-h-blush); border-color: rgba(255,180,168,.36); background: rgba(139,0,0,.13); }
body[data-cortex-page] .cx-tech-caption { margin: 18px 0 0; color: var(--cx-h-muted) !important; font-size: 13px; line-height: 1.55; }
body[data-cortex-page] .cx-tech-matrix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 36px; border: 1px solid rgba(255,180,168,.16); background: rgba(255,180,168,.16); }
body[data-cortex-page] .cx-tech-matrix-row { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(0, 2fr); gap: 16px; padding: 20px; background: rgba(26,17,18,.9); }
body[data-cortex-page] .cx-tech-matrix-row span { color: var(--cx-h-blush); font: 700 10px/1.45 "JetBrains Mono", monospace; letter-spacing: .12em; }
body[data-cortex-page] .cx-tech-matrix-row p { margin: 0; color: var(--cx-h-muted) !important; font-size: 14px; line-height: 1.55; }
body[data-cortex-page] .cx-tech-hours { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 18px; border: 1px solid rgba(255,180,168,.16); background: rgba(255,180,168,.16); }
body[data-cortex-page] .cx-tech-hours > div { display: grid; gap: 8px; padding: 20px; background: rgba(16,10,11,.8); }
body[data-cortex-page] .cx-tech-hours span { color: var(--cx-h-muted); font: 700 9px/1.3 "JetBrains Mono", monospace; letter-spacing: .12em; }
body[data-cortex-page] .cx-tech-hours strong { color: var(--cx-h-ink); font: 700 18px/1.25 "Sora", sans-serif; }
@media (max-width: 1000px) { body[data-cortex-page] .cx-tech-grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } body[data-cortex-page] .cx-tech-grid-4, body[data-cortex-page] .cx-tech-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { body[data-cortex-page] .cx-tech-section { padding: 58px 18px; } body[data-cortex-page] .cx-tech-grid-3, body[data-cortex-page] .cx-tech-grid-4, body[data-cortex-page] .cx-tech-grid-5, body[data-cortex-page] .cx-tech-product-grid, body[data-cortex-page] .cx-tech-matrix, body[data-cortex-page] .cx-tech-hours { grid-template-columns: 1fr; } body[data-cortex-page] .cx-tech-card { min-height: 0; padding: 22px; } body[data-cortex-page] .cx-tech-matrix-row { grid-template-columns: 1fr; gap: 8px; } }

/* CORTEX IA / Infraestructura de página: secciones, promociones y superficies bajo una misma lectura técnica. */
body[data-cortex-page] main > section.cx-system-section { position: relative; isolation: isolate; }
body[data-cortex-page] .cx-system-rail { position: absolute; top: 18px; left: clamp(18px, 4vw, 64px); right: clamp(18px, 4vw, 64px); z-index: 3; display: flex; align-items: center; gap: 9px; height: 10px; color: rgba(255,180,168,.56); font: 700 8px/1 "JetBrains Mono", monospace; letter-spacing: .14em; pointer-events: none; }
body[data-cortex-page] .cx-system-rail i { display: block; width: 4px; height: 4px; background: var(--cx-h-red); box-shadow: 6px 0 0 var(--cx-h-red), 0 6px 0 var(--cx-h-red), 0 12px 0 var(--cx-h-red), 6px 12px 0 var(--cx-h-red); transform: scale(.58); transform-origin: left center; }
body[data-cortex-page] .cx-system-rail b { flex: 1; height: 1px; margin-left: 5px; background: linear-gradient(90deg, rgba(255,180,168,.3), transparent); }
body[data-cortex-page] .cx-system-promo { z-index: 150 !important; display: flex !important; align-items: center; justify-content: center; min-height: 36px; padding: 9px 20px !important; color: #fff1ec !important; background: linear-gradient(90deg, #720000, #8b0000 45%, #720000) !important; border-bottom: 1px solid rgba(255,180,168,.34) !important; box-shadow: 0 8px 28px rgba(16,10,11,.34); font: 700 10px/1.25 "JetBrains Mono", monospace !important; letter-spacing: .06em; text-align: center; }
body[data-cortex-page] .cx-system-promo a { color: #fff1ec !important; text-underline-offset: 3px; }
body[data-cortex-page] main [class*="card"] { border-radius: 2px !important; border-color: rgba(255,180,168,.18) !important; box-shadow: inset 0 1px rgba(255,255,255,.025), 0 12px 28px rgba(0,0,0,.13); }
body[data-cortex-page] main [class*="card"]:hover { border-color: rgba(255,180,168,.42) !important; box-shadow: inset 0 1px rgba(255,255,255,.035), 0 18px 38px rgba(0,0,0,.2); }
body[data-cortex-page] main table { border-collapse: collapse; border: 1px solid rgba(255,180,168,.18); background: rgba(16,10,11,.42); }
body[data-cortex-page] main table th { color: var(--cx-h-ink) !important; background: rgba(139,0,0,.12); font-family: "JetBrains Mono", monospace !important; font-size: 10px; letter-spacing: .06em; }
body[data-cortex-page] main table th, body[data-cortex-page] main table td { border-color: rgba(255,180,168,.14) !important; }
body[data-cortex-page] .form-box, body[data-cortex-page] form { border-radius: 2px; }
body[data-cortex-page] .form-box::before { content: "CORTEX IA / CONSULTA"; display: block; margin: -10px 0 24px; color: var(--cx-h-blush); font: 700 9px/1.2 "JetBrains Mono", monospace; letter-spacing: .14em; }
body[data-cortex-page] .cx-share-panel { border-top-color: rgba(255,180,168,.34); }
@media (max-width: 680px) { body[data-cortex-page] .cx-system-rail { top: 13px; left: 18px; right: 18px; font-size: 7px; } body[data-cortex-page] .cx-system-promo { min-height: 34px; padding: 8px 14px !important; font-size: 9px !important; } }

/* CORTEX IA / Evidencia en primera pantalla: cada servicio se presenta con un artefacto funcional propio. */
body[data-cortex-page] .cx-hero-artifact { width: min(100%, 620px); margin: 22px auto 8px; padding: 12px 14px 14px; border: 1px solid rgba(255,180,168,.22); border-top: 2px solid var(--cx-h-red); background: rgba(16,10,11,.62); box-shadow: inset 0 1px rgba(255,255,255,.025); text-align: left; }
body[data-cortex-page] .cx-hero-artifact-label { display: flex; align-items: center; gap: 8px; color: var(--cx-h-blush); font: 700 8px/1.2 "JetBrains Mono", monospace; letter-spacing: .16em; }
body[data-cortex-page] .cx-hero-artifact-label i { width: 4px; height: 4px; background: var(--cx-h-red); box-shadow: 6px 0 0 var(--cx-h-red), 0 6px 0 var(--cx-h-red), 0 12px 0 var(--cx-h-red), 6px 12px 0 var(--cx-h-red); transform: scale(.6); transform-origin: left center; }
body[data-cortex-page] .cx-hero-artifact-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
body[data-cortex-page] .cx-hero-artifact-flow > span { position: relative; display: grid; gap: 5px; min-height: 48px; padding: 9px 26px 8px 10px; border: 1px solid rgba(255,180,168,.12); background: rgba(42,31,32,.48); }
body[data-cortex-page] .cx-hero-artifact-flow b { color: var(--cx-h-blush); font: 700 10px/1 "JetBrains Mono", monospace; }
body[data-cortex-page] .cx-hero-artifact-flow em { color: var(--cx-h-ink); font: 700 10px/1.2 "JetBrains Mono", monospace; font-style: normal; letter-spacing: .04em; }
body[data-cortex-page] .cx-hero-artifact-flow small { position: absolute; top: 50%; right: -11px; z-index: 2; color: var(--cx-h-red); font: 700 14px/1 "JetBrains Mono", monospace; transform: translateY(-50%); }
body[data-cortex-page] .cx-hero-artifact-build .cx-hero-artifact-flow > span { border-top-color: rgba(255,180,168,.4); background: linear-gradient(145deg, rgba(139,0,0,.13), rgba(16,10,11,.58)); }
body[data-cortex-page] .cx-hero-artifact-route .cx-hero-artifact-flow > span:nth-child(1) b { color: #54d889; }
body[data-cortex-page] .cx-hero-artifact-route .cx-hero-artifact-flow > span:nth-child(2) b { color: var(--cx-h-blush); }
body[data-cortex-page] .cx-hero-artifact-route .cx-hero-artifact-flow > span:nth-child(3) b { color: #c9b7b9; }
body[data-cortex-page="webs"] main > section:first-of-type h1, body[data-cortex-page="webs"] main > section:first-of-type h1 em, body[data-cortex-page="webs"] main > section:first-of-type h1 i, body[data-cortex-page="webs"] body > section:first-of-type h1, body[data-cortex-page="webs"] body > section:first-of-type h1 span { font-style: normal !important; }
body[data-cortex-page="webs"] .cx-hero-artifact { border-left: 3px solid var(--cx-h-red); }
body[data-cortex-page="automatizaciones"] .cx-hero-artifact { border-right: 3px solid var(--cx-h-red); }
body[data-cortex-page="contacto"] .cx-hero-artifact { width: min(100%, 540px); }
@media (max-width: 680px) { body[data-cortex-page] .cx-hero-artifact { margin-top: 18px; padding: 11px; } body[data-cortex-page] .cx-hero-artifact-flow { gap: 5px; } body[data-cortex-page] .cx-hero-artifact-flow > span { min-height: 46px; padding: 8px 6px; } body[data-cortex-page] .cx-hero-artifact-flow small { display: none; } body[data-cortex-page] .cx-hero-artifact-flow em { font-size: 8px; } }

/* CORTEX IA / Menú móvil: panel de viewport completo sin ancho residual ni scroll lateral. */
@media (max-width: 767px) {
  html, body, body[data-cortex-page] { max-width: 100vw !important; overflow-x: clip !important; }
  body[data-cortex-page] .cx-harmonized-mobile {
    position: fixed !important;
    top: var(--cx-menu-top, 64px) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: calc(100dvh - var(--cx-menu-top, 64px)) !important;
    max-height: calc(100dvh - var(--cx-menu-top, 64px)) !important;
    margin: 0 !important;
    padding: 94px 28px 36px !important;
    box-sizing: border-box !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    transform: translate3d(100%, 0, 0) !important;
    touch-action: pan-y;
  }
  body[data-cortex-page] .cx-harmonized-mobile.cx-menu-open {
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto;
  }
  body[data-cortex-page] .cx-harmonized-mobile:not(.cx-menu-open) { pointer-events: none; }
  body[data-cortex-page] .cx-harmonized-mobile-overlay {
    top: var(--cx-menu-top, 64px) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: calc(100dvh - var(--cx-menu-top, 64px)) !important;
  }
  body[data-cortex-page] .cx-harmonized-mobile > button:first-child,
  body[data-cortex-page] .cx-harmonized-mobile .cx-mobile-close,
  body[data-cortex-page] .cx-harmonized-mobile #closeMenuBtn {
    position: absolute !important;
    top: 18px !important;
    right: 20px !important;
    left: auto !important;
    width: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }
  body[data-cortex-page] .cx-harmonized-mobile > div,
  body[data-cortex-page] .cx-harmonized-mobile .flex.flex-col,
  body[data-cortex-page] .cx-harmonized-mobile .cx-mobile-generated-links {
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }
  body[data-cortex-page] .cx-harmonized-mobile a { max-width: 100%; }
  body[data-cortex-page] #mobile-menu.cx-harmonized-mobile > div:first-child {
    position: absolute !important;
    top: 18px !important;
    right: 20px !important;
    left: auto !important;
    display: block !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  body[data-cortex-page] #mobile-menu.cx-harmonized-mobile > div:first-child button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff1ec !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 34px !important;
    line-height: 1 !important;
  }
  body.cx-menu-lock[data-cortex-page] nav.cx-harmonized-nav .cx-nav-menu-button::before {
    content: "×";
    font-size: 33px;
    font-weight: 300;
  }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-menu-button.cx-menu-toggle-open::before {
    content: "×";
    font-size: 33px;
    font-weight: 300;
  }
  body[data-cortex-page]:has(.cx-harmonized-mobile.cx-menu-open) nav.cx-harmonized-nav .cx-nav-menu-button::before {
    content: "×";
    font-size: 33px;
    font-weight: 300;
  }
  body[data-cortex-page]:has(#mobile-menu.cx-menu-open, #mobileMenu.cx-menu-open) nav.cx-harmonized-nav .cx-nav-menu-button::before {
    content: "×";
    font-size: 33px;
    font-weight: 300;
  }
}

/* CORTEX IA / Limpieza solicitada: sin rótulos ni líneas “SISTEMA” en las páginas públicas. */
body[data-cortex-page] .cx-system-rail,
body[data-cortex-page] .cx-tech-shell::before,
body[data-cortex-page] .cx-tech-shell::after { display: none !important; content: none !important; }

/* CORTEX IA / Estado inicial: el panel no existe visualmente hasta recibir cx-menu-open. */
body[data-cortex-page] .cx-harmonized-mobile:not(.cx-menu-open),
body[data-cortex-page] .cx-harmonized-mobile.hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body[data-cortex-page] .cx-harmonized-mobile.cx-menu-open {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
body[data-cortex-page] .cx-harmonized-mobile-overlay:not(.cx-menu-open),
body[data-cortex-page] .cx-harmonized-mobile-overlay.hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body[data-cortex-page] .cx-harmonized-mobile-overlay.cx-menu-open {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* CORTEX IA / Identidad oficial: borgoña, negro, marfil, celeste y dorado. */
:root {
  --cx-brand-burgundy: #7A1935;
  --cx-brand-black: #17171B;
  --cx-brand-white: #FAF9F6;
  --cx-brand-blue: #75AADB;
  --cx-brand-gold: #F2C14E;
}
body[data-cortex-page] .cx-brand-mark {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 46px !important;
  height: 46px !important;
  margin: 0 12px 0 0 !important;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body[data-cortex-page] .cx-brand-mark i { display: none !important; }
body[data-cortex-page] .cx-brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .34));
}
body[data-cortex-page] .cx-footer-brand-official {
  width: min(220px, calc(100% - 40px));
  margin: 0 0 24px;
  padding: 8px;
  border: 1px solid rgba(102, 159, 208, .42);
  border-bottom-color: rgba(242, 189, 53, .68);
  background: linear-gradient(145deg, #7A1935, #460818);
  box-shadow: inset 0 0 0 1px rgba(250, 249, 246, .06), 0 14px 28px rgba(0, 0, 0, .24);
}
body[data-cortex-page] .cx-footer-brand-official img {
  display: block;
  width: 100%;
  height: auto;
}
/* Variantes disponibles: blanca para fondos oscuros y grafito para superficies marfil o blancas. */
body[data-cortex-page] .cx-logo-variant-dark { content: url('/manus-storage/cortex-ia-logo-completo-blanco_e927e186.png'); }
body[data-cortex-page] .cx-logo-variant-light { content: url('/manus-storage/cortex-ia-logo-completo-grafito_66119f42.png'); }
body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand:focus-visible {
  outline-color: var(--cx-brand-blue);
}
@media (max-width: 767px) {
  body[data-cortex-page] .cx-brand-mark { width: 40px !important; height: 40px !important; margin-right: 10px !important; }
  body[data-cortex-page] .cx-footer-brand-official { width: min(200px, calc(100% - 32px)); margin-inline: auto; }
}

/* CORTEX IA / Composición solicitada: opciones centradas, X independiente arriba a la derecha. */
body[data-cortex-page] #mobile-menu.cx-harmonized-mobile > div:nth-child(2),
body[data-cortex-page] .cx-harmonized-mobile .cx-mobile-generated-links {
  display: flex !important;
  flex: 1 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 420px) !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}
body[data-cortex-page] #mobile-menu.cx-harmonized-mobile > div:nth-child(2) a,
body[data-cortex-page] .cx-harmonized-mobile .cx-mobile-generated-links a {
  justify-content: center !important;
  width: 100% !important;
  min-height: 64px !important;
  padding: 16px 0 !important;
  text-align: center !important;
}

/* CORTEX IA / Restauración solicitada: sin módulos técnicos, logotipo grande ni líneas decorativas agregadas. */
body[data-cortex-page] .cx-footer-brand-official,
body[data-cortex-page] .cx-hero-artifact,
body[data-cortex-page] .cx-system-rail { display: none !important; }
body[data-cortex-page] .cx-tech-section {
  border: 0 !important;
  background: transparent !important;
}
body[data-cortex-page] .cx-tech-section::before,
body[data-cortex-page] .cx-tech-shell::before,
body[data-cortex-page] .cx-tech-shell::after {
  content: none !important;
  display: none !important;
}
body[data-cortex-page] .cx-tech-shell { padding-top: 0 !important; }

/* CORTEX IA / Corrección móvil de Nosotros basada en revisión de video. */
@media (max-width: 767px) {
  body[data-cortex-page="nosotros_modificado"] {
    overflow-x: clip !important;
    scroll-padding-top: 84px !important;
  }
  body[data-cortex-page="nosotros_modificado"] #mobileOverlay,
  body[data-cortex-page="nosotros_modificado"] .cx-harmonized-mobile-overlay {
    z-index: 130 !important;
    background: rgba(5, 3, 7, .88) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }
  body[data-cortex-page="nosotros_modificado"] #mobileMenu,
  body[data-cortex-page="nosotros_modificado"] .cx-harmonized-mobile {
    z-index: 140 !important;
    background: #100a0b !important;
    background-image: none !important;
    border-left: 1px solid rgba(255, 180, 168, .22) !important;
    padding-top: max(76px, calc(52px + env(safe-area-inset-top))) !important;
    padding-right: 24px !important;
    padding-bottom: calc(56px + env(safe-area-inset-bottom)) !important;
    padding-left: 24px !important;
  }
  body[data-cortex-page="nosotros_modificado"] #mobileMenu > div:first-child,
  body[data-cortex-page="nosotros_modificado"] .cx-harmonized-mobile > button:first-child,
  body[data-cortex-page="nosotros_modificado"] .cx-harmonized-mobile .cx-mobile-close {
    background: #100a0b !important;
  }
  body[data-cortex-page="nosotros_modificado"] #mobileMenu > div:last-child,
  body[data-cortex-page="nosotros_modificado"] .cx-harmonized-mobile > div:last-child {
    margin-top: auto !important;
    padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  }
  body[data-cortex-page="nosotros_modificado"] #mobileMenu > div:last-child a,
  body[data-cortex-page="nosotros_modificado"] .cx-harmonized-mobile > div:last-child a {
    min-height: 52px !important;
    padding: 14px 16px !important;
  }
  body[data-cortex-page="nosotros_modificado"] #quien-soy {
    scroll-margin-top: 88px !important;
  }
  body[data-cortex-page="nosotros_modificado"] main > section:first-of-type,
  body[data-cortex-page="nosotros_modificado"] main > section,
  body[data-cortex-page="nosotros_modificado"] .relative.overflow-hidden {
    max-width: 100% !important;
    overflow-x: clip !important;
  }
}


/* CORTEX IA / Transición de navegación refinada: feedback breve, sin pantalla oscura ni spinner invasivo. */
body[data-cortex-page] .cx-page-transition {
  z-index: 10000;
  padding: 0 !important;
  background: rgba(16, 10, 11, .08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: opacity 180ms var(--cx-h-ease), visibility 0s linear 180ms !important;
}
body[data-cortex-page] .cx-page-transition::before {
  height: 2px !important;
  background: linear-gradient(90deg, var(--cx-h-red), var(--cx-h-blush), var(--cx-h-red)) !important;
  transition: transform 220ms var(--cx-h-ease) !important;
}
body[data-cortex-page] .cx-page-transition::after,
body[data-cortex-page] .cx-transition-loader { display: none !important; }
body[data-cortex-page] .cx-page-transition.cx-page-leaving {
  opacity: 1;
  transition: opacity 180ms var(--cx-h-ease), visibility 0s linear 0s !important;
}
body[data-cortex-page] .cx-link-navigating {
  color: var(--cx-h-ink) !important;
  transform: translateY(1px) scale(.98) !important;
}
@media (prefers-reduced-motion: no-preference) {
  body[data-cortex-page] { animation-duration: 260ms !important; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-cortex-page] .cx-link-navigating { transform: none !important; }
}


/* ===== REPARACIONES VISUALES SOLICITADAS / 2026-08 ===== */
/* Webs: el CTA rojo necesita texto claro; el CTA blanco conserva texto borgoña. */
body[data-cortex-page="webs"] section.bg-primary .text-on-primary,
body[data-cortex-page="webs"] section.bg-primary .text-on-primary\/90,
body[data-cortex-page="webs"] section.bg-primary h2 { color: #fff1ec !important; }
body[data-cortex-page="webs"] section.bg-primary a.bg-on-primary { color: #8b0000 !important; background: #fff1ec !important; border-color: #fff1ec !important; }
body[data-cortex-page="webs"] section.bg-primary a.border-on-primary\/40 { color: #fff1ec !important; border-color: rgba(255,241,236,.62) !important; }
body[data-cortex-page="webs"] section.bg-primary a.border-on-primary\/40:hover { background: rgba(255,241,236,.12) !important; }
/* PLC/CNC: las tablas abiertas deben ocupar el ancho del detalle en escritorio. En móvil mantienen scroll horizontal. */
body[data-cortex-page="plc-cnc"] .col-span-full > div > .overflow-x-auto { width: 100%; max-width: 100%; overflow-x: auto; }
body[data-cortex-page="plc-cnc"] .col-span-full > div > .overflow-x-auto table { display: table !important; width: 100% !important; max-width: none !important; min-width: 760px; table-layout: fixed; }
body[data-cortex-page="plc-cnc"] .col-span-full > div > .overflow-x-auto th,
body[data-cortex-page="plc-cnc"] .col-span-full > div > .overflow-x-auto td { overflow-wrap: anywhere; }
/* Móvil: el footer deja un área segura para WhatsApp y Volver arriba, sin tapar Gestionar cookies. */
@media (max-width: 640px) {
  body[data-cortex-page] footer { padding-bottom: 160px !important; }
  body[data-cortex-page] .cx-legal-footer-links,
  body[data-cortex-page] .cx-terms-footer-links { position: relative; z-index: 1; }
}

/* PLC/CNC: el historial expandido es un bloque de ancho completo. */
body[data-cortex-page="plc-cnc"] [x-show="showHistory"] { width: 100% !important; max-width: 100% !important; }
body[data-cortex-page="plc-cnc"] [x-show="showHistory"] > .overflow-x-auto { display: block; width: 100% !important; max-width: 100% !important; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body[data-cortex-page="plc-cnc"] [x-show="showHistory"] > .overflow-x-auto table { display: table !important; width: 100% !important; min-width: 100% !important; table-layout: fixed; }
body[data-cortex-page="plc-cnc"] .cx-whatsapp-svg { display: block; width: 32px; height: 32px; color: #fff; }
@media (max-width: 640px) {
  body[data-cortex-page="plc-cnc"] [x-show="showHistory"] > .overflow-x-auto table { min-width: 680px !important; }
}

/* Navegación compacta para tablets y capturas intermedias: seis enlaces sin solapamiento. */
@media (min-width: 768px) and (max-width: 1000px) {
  body[data-cortex-page] nav.cx-harmonized-nav > .cx-nav-shell { width: 100%; height: 68px; gap: 0; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-brand,
  body[data-cortex-page] nav.cx-harmonized-nav .cx-harmonized-cta { display: none !important; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-links { position: static; width: 100%; min-width: 0; transform: none; justify-content: space-evenly; gap: clamp(12px, 2vw, 24px); padding: 0 42px; }
  body[data-cortex-page] nav.cx-harmonized-nav .cx-nav-link { font-size: 14px; }
}

/* WhatsApp uniforme en todas las páginas: evita glifos de chat incompletos si falla una fuente externa. */
body[data-cortex-page] a.floating-whatsapp .cx-whatsapp-svg,
body[data-cortex-page] a.cx-whatsapp-float .cx-whatsapp-svg { display: block; width: 32px; height: 32px; color: #fff; flex: 0 0 auto; }

/* Contacto: WhatsApp refinado, reconocible y sin depender de un glifo de fuente. */
body[data-cortex-page="contacto"] .cx-floating-actions a.cx-contact-whatsapp { width: 56px !important; height: 56px !important; border-radius: 50% !important; background: #25D366 !important; color: #fff !important; box-shadow: 0 6px 18px rgba(37, 211, 102, .24) !important; }
body[data-cortex-page="contacto"] .cx-floating-actions a.cx-contact-whatsapp:hover { background: #20bd5a !important; box-shadow: 0 8px 22px rgba(37, 211, 102, .30) !important; transform: translateY(-2px) scale(1.04) !important; }
body[data-cortex-page="contacto"] .cx-floating-actions a.cx-contact-whatsapp:focus-visible { outline: 3px solid #fff1ec; outline-offset: 4px; }
body[data-cortex-page="contacto"] .cx-floating-actions a.cx-contact-whatsapp .cx-whatsapp-svg { width: 30px; height: 30px; stroke-width: 2.2; }
body[data-cortex-page="contacto"] .cx-floating-actions a.cx-contact-whatsapp::after { content: attr(data-tooltip); position: absolute; right: calc(100% + 10px); top: 50%; transform: translateY(-50%) translateX(4px); width: max-content; max-width: 190px; padding: 7px 10px; border: 1px solid rgba(255, 241, 236, .18); border-radius: 6px; background: #1a1112; color: #fff1ec; font: 600 12px/1.2 "Inter", system-ui, sans-serif; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 160ms ease, transform 160ms ease; }
body[data-cortex-page="contacto"] .cx-floating-actions a.cx-contact-whatsapp:hover::after,
body[data-cortex-page="contacto"] .cx-floating-actions a.cx-contact-whatsapp:focus-visible::after { opacity: 1; transform: translateY(-50%) translateX(0); }
@media (max-width: 640px) {
  body[data-cortex-page="contacto"] .cx-floating-actions a.cx-contact-whatsapp { width: 56px !important; height: 56px !important; }
  body[data-cortex-page="contacto"] .cx-floating-actions a.cx-contact-whatsapp::after { display: none; }
}
