{"id":400,"date":"2026-09-13T22:33:41","date_gmt":"2026-09-14T04:33:41","guid":{"rendered":"https:\/\/diremex.com.mx\/sitiosia\/kpis-marketing-digital-saltillo\/"},"modified":"2026-09-13T22:33:41","modified_gmt":"2026-09-14T04:33:41","slug":"kpis-marketing-digital-saltillo","status":"publish","type":"post","link":"https:\/\/diremex.com.mx\/sitiosia\/kpis-marketing-digital-saltillo\/","title":{"rendered":"KPIs marketing digital | Qu\u00e9 medir en Saltillo"},"content":{"rendered":"\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\">\n<style>\/* Diremex v3 \u2014 Nimo-inspired \u00b7 light \u00b7 Poppins \u00b7 .dmx-* *\/\n\n:root {\n  --dmx-bg: #ffffff;\n  --dmx-bg-soft: #f4f6fb;\n  --dmx-bg-blue: #eef3ff;\n  --dmx-bg-red: #fff5f5;\n  --dmx-surface: #ffffff;\n  --dmx-ink: #0f1d3a;\n  --dmx-ink-soft: #4a5568;\n  --dmx-ink-muted: #8b95a8;\n  --dmx-red: #dc2626;\n  --dmx-red-dark: #b91c1c;\n  --dmx-red-soft: rgba(220, 38, 38, 0.1);\n  --dmx-blue: #1e40af;\n  --dmx-blue-dark: #1e3a8a;\n  --dmx-blue-soft: rgba(30, 64, 175, 0.08);\n  --dmx-gradient: linear-gradient(135deg, var(--dmx-red) 0%, #ef4444 45%, var(--dmx-blue) 100%);\n  --dmx-gradient-blue: linear-gradient(135deg, var(--dmx-blue) 0%, #3b82f6 100%);\n  --dmx-gradient-red: linear-gradient(135deg, var(--dmx-red-dark) 0%, var(--dmx-red) 100%);\n  --dmx-border: rgba(15, 29, 58, 0.08);\n  --dmx-border-strong: rgba(15, 29, 58, 0.14);\n  --dmx-font: \"Poppins\", sans-serif;\n  --dmx-font-display: var(--dmx-font);\n  --dmx-font-body: var(--dmx-font);\n  --dmx-radius: 20px;\n  --dmx-radius-lg: 28px;\n  --dmx-radius-pill: 999px;\n  --dmx-shadow: 0 4px 24px rgba(15, 29, 58, 0.06);\n  --dmx-shadow-lg: 0 24px 64px rgba(15, 29, 58, 0.12);\n  --dmx-ease: cubic-bezier(0.22, 1, 0.36, 1);\n  --dmx-speed: 0.45s;\n  --dmx-container-max: 1200px;\n  --dmx-gutter: clamp(24px, 5vw, 72px);\n  --dmx-header-offset: 88px;\n}\n\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\nhtml {\n  scroll-behavior: smooth;\n  -webkit-text-size-adjust: 100%;\n  font-family: var(--dmx-font);\n  overflow-x: hidden;\n  max-width: 100%;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  html { scroll-behavior: auto; }\n  *, *::before, *::after {\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n  }\n}\n\nbody.dmx-body {\n  font-family: var(--dmx-font-body);\n  font-size: clamp(0.9375rem, 0.9rem + 0.15vw, 1.0625rem);\n  line-height: 1.75;\n  color: var(--dmx-ink);\n  background: var(--dmx-bg);\n  overflow-x: hidden;\n  max-width: 100%;\n  width: 100%;\n  -webkit-font-smoothing: antialiased;\n}\n\nbody.dmx-body > main {\n  overflow-x: clip;\n  max-width: 100%;\n}\n\nimg, svg { display: block; max-width: 100%; height: auto; }\na { color: inherit; text-decoration: none; }\nbutton { font: inherit; cursor: pointer; border: none; background: none; }\n\n.dmx-container {\n  width: 100%;\n  max-width: none;\n  margin-inline: 0;\n  padding-inline: max(var(--dmx-gutter), calc((100vw - var(--dmx-container-max)) \/ 2));\n  min-width: 0;\n  box-sizing: border-box;\n}\n\n\/* Portafolio y 404 \u2014 m\u00e1rgenes laterales moderados *\/\n[data-dmx-page=\"portafolio\"] .dmx-container,\n[data-dmx-page=\"portafolio\"] ~ * .dmx-container,\n[data-dmx-page=\"404\"] .dmx-container,\n[data-dmx-page=\"404\"] ~ * .dmx-container {\n  width: min(100%, var(--dmx-container-max)) !important;\n  max-width: var(--dmx-container-max) !important;\n  margin-inline: auto !important;\n  padding-inline: clamp(16px, 3.5vw, 40px) !important;\n}\n\n\/* P\u00e1gina 404 + mapa del sitio *\/\n.dmx-error-hero {\n  text-align: center;\n  padding-top: calc(var(--dmx-header-offset) + 48px);\n  padding-bottom: clamp(32px, 5vw, 56px);\n}\n.dmx-error-hero__code {\n  display: block;\n  font-family: var(--dmx-font-display);\n  font-size: clamp(4rem, 14vw, 7rem);\n  font-weight: 800;\n  line-height: 1;\n  background: var(--dmx-gradient);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 16px;\n}\n.dmx-sitemap {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 32px 24px;\n  margin-top: 40px;\n}\n.dmx-sitemap__col {\n  min-width: 0;\n}\n.dmx-sitemap__title {\n  font-size: 0.8125rem;\n  font-weight: 700;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n  color: var(--dmx-blue);\n  margin-bottom: 14px;\n}\n.dmx-sitemap__list {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n}\n.dmx-sitemap__list a {\n  font-size: 0.9375rem;\n  font-weight: 500;\n  color: var(--dmx-ink-soft);\n  transition: color 0.2s;\n}\n.dmx-sitemap__list a:hover {\n  color: var(--dmx-red);\n}\n@media (max-width: 1024px) {\n  .dmx-sitemap { grid-template-columns: repeat(2, 1fr); }\n}\n@media (max-width: 640px) {\n  .dmx-sitemap { grid-template-columns: 1fr; }\n}\n\n.dmx-section { padding-block: clamp(72px, 9vw, 112px); position: relative; }\n.dmx-section--soft { background: var(--dmx-bg-soft); }\n.dmx-section--blue { background: var(--dmx-bg-blue); }\n.dmx-section--red { background: var(--dmx-bg-red); }\n.dmx-section--dark {\n  background: var(--dmx-ink);\n  color: #fff;\n}\n.dmx-section--dark .dmx-text-muted { color: rgba(255, 255, 255, 0.65); }\n\n\/* Typography *\/\n.dmx-display { font-family: var(--dmx-font-display); font-weight: 700; }\n\n.dmx-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  font-family: var(--dmx-font-body);\n  font-size: 0.6875rem;\n  font-weight: 600;\n  letter-spacing: 0.16em;\n  text-transform: uppercase;\n  color: var(--dmx-red);\n  margin-bottom: 18px;\n}\n\n.dmx-eyebrow--blue { color: var(--dmx-blue); }\n\n.dmx-eyebrow__line {\n  width: 32px;\n  height: 2px;\n  background: var(--dmx-gradient);\n  border-radius: 2px;\n}\n\n.dmx-h1 {\n  font-size: clamp(2.375rem, 1.5rem + 3.6vw, 4.25rem);\n  line-height: 1.08;\n  letter-spacing: -0.02em;\n}\n.dmx-h2 {\n  font-size: clamp(1.875rem, 1.25rem + 2.2vw, 3rem);\n  line-height: 1.12;\n  letter-spacing: -0.02em;\n}\n.dmx-h3 {\n  font-size: clamp(1.125rem, 1rem + 0.35vw, 1.375rem);\n  line-height: 1.3;\n}\n\n.dmx-accent-red { color: var(--dmx-red); }\n.dmx-accent-blue { color: var(--dmx-blue); }\n\n.dmx-gradient-text {\n  background: var(--dmx-gradient);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n}\n\n.dmx-text-muted { color: var(--dmx-ink-soft); }\n\n.dmx-breadcrumb {\n  padding-top: calc(var(--dmx-header-offset) + 0.75rem);\n  padding-bottom: 0.35rem;\n  font-size: 0.8125rem;\n  max-width: 100%;\n  position: relative;\n  z-index: 10;\n}\n\n.dmx-breadcrumb + .dmx-hub-home-hero,\n.dmx-breadcrumb + .dmx-svc-hero,\n.dmx-breadcrumb + .dmx-hero {\n  padding-top: clamp(20px, 3vw, 36px);\n}\n.dmx-breadcrumb__list {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 0.35rem 0.5rem;\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  color: var(--dmx-ink-muted);\n}\n.dmx-lead { font-size: clamp(1rem, 0.95rem + 0.25vw, 1.1875rem); line-height: 1.7; }\n.dmx-link { color: var(--dmx-blue); font-weight: 600; transition: color 0.25s; }\n.dmx-link:hover { color: var(--dmx-red); }\n\n\/* Buttons *\/\n.dmx-btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 10px;\n  min-height: 52px;\n  padding: 14px 22px;\n  font-family: var(--dmx-font-body);\n  font-size: 0.875rem;\n  font-weight: 600;\n  border-radius: var(--dmx-radius-pill);\n  border: 2px solid transparent;\n  transition: transform var(--dmx-speed) var(--dmx-ease), box-shadow var(--dmx-speed), background var(--dmx-speed), color var(--dmx-speed);\n}\n\n.dmx-btn:focus-visible { outline: 2px solid var(--dmx-blue); outline-offset: 3px; }\n\n.dmx-btn--red {\n  background: var(--dmx-red);\n  color: #fff;\n  box-shadow: 0 8px 28px rgba(220, 38, 38, 0.28);\n}\n.dmx-btn--red:hover { transform: translateY(-2px); background: var(--dmx-red-dark); }\n\n.dmx-btn--blue {\n  background: var(--dmx-blue);\n  color: #fff;\n  box-shadow: 0 8px 28px rgba(30, 64, 175, 0.25);\n}\n.dmx-btn--blue:hover { transform: translateY(-2px); background: var(--dmx-blue-dark); }\n\n.dmx-btn--outline {\n  background: transparent;\n  border-color: var(--dmx-border-strong);\n  color: var(--dmx-ink);\n}\n.dmx-btn--outline:hover {\n  border-color: var(--dmx-blue);\n  color: var(--dmx-blue);\n  background: var(--dmx-blue-soft);\n}\n\n.dmx-section--dark .dmx-btn--outline {\n  border-color: rgba(255, 255, 255, 0.25);\n  color: #fff;\n}\n.dmx-section--dark .dmx-btn--outline:hover {\n  background: rgba(255, 255, 255, 0.08);\n  border-color: #fff;\n  color: #fff;\n}\n\n.dmx-btn-group { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }\n\n.dmx-btn__arrow {\n  width: 18px;\n  height: 18px;\n  transition: transform var(--dmx-speed) var(--dmx-ease);\n}\n.dmx-btn:hover .dmx-btn__arrow { transform: translateX(4px); }\n\n\/* Header *\/\n.dmx-header {\n  position: fixed;\n  inset: 0 0 auto;\n  z-index: 200;\n  padding: 20px 0;\n  transition: padding var(--dmx-speed), background var(--dmx-speed), box-shadow var(--dmx-speed);\n}\n\n.dmx-header--scrolled {\n  padding: 12px 0;\n  background: rgba(255, 255, 255, 0.92);\n  backdrop-filter: blur(16px);\n  box-shadow: 0 1px 0 var(--dmx-border), 0 8px 32px rgba(15, 29, 58, 0.06);\n}\n\n.dmx-header__inner {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 24px;\n  position: relative;\n  min-width: 0;\n}\n\n.dmx-logo img { width: auto; height: 38px; }\n\n.dmx-nav {\n  display: flex;\n  align-items: center;\n  gap: 18px;\n  overflow: visible;\n}\n\n.dmx-nav__link {\n  font-size: 0.8125rem;\n  font-weight: 500;\n  color: var(--dmx-ink-soft);\n  transition: color 0.25s;\n  position: relative;\n}\n\n.dmx-nav__link::after {\n  content: \"\";\n  position: absolute;\n  bottom: -4px;\n  left: 0;\n  width: 0;\n  height: 2px;\n  background: var(--dmx-red);\n  transition: width 0.3s var(--dmx-ease);\n}\n\n.dmx-nav__link:hover { color: var(--dmx-ink); }\n.dmx-nav__link:hover::after { width: 100%; }\n\n.dmx-nav-toggle {\n  display: none;\n  padding: 8px;\n  color: var(--dmx-ink);\n}\n\n\/* Mega men\u00fa *\/\n.dmx-nav__trigger {\n  display: inline-flex;\n  align-items: center;\n  gap: 4px;\n  font-size: 0.8125rem;\n  font-weight: 500;\n  color: var(--dmx-ink-soft);\n  background: none;\n  border: none;\n  padding: 0;\n  cursor: pointer;\n  font-family: inherit;\n  transition: color 0.25s;\n}\n.dmx-nav__trigger:hover,\n.dmx-nav__trigger[aria-expanded=\"true\"] { color: var(--dmx-ink); }\n.dmx-nav__chevron { transition: transform 0.25s var(--dmx-ease); }\n.dmx-nav__trigger[aria-expanded=\"true\"] .dmx-nav__chevron { transform: rotate(180deg); }\n.dmx-nav__anchors {\n  display: none;\n  flex-direction: column;\n  width: 100%;\n  gap: 4px;\n  padding-top: 12px;\n  margin-top: 8px;\n  border-top: 1px solid var(--dmx-border);\n}\n.dmx-nav__anchors .dmx-nav__link--page { display: block; padding: 10px 0; }\n\n.dmx-mega { position: relative; }\n.dmx-mega-backdrop {\n  position: fixed;\n  inset: 0;\n  top: var(--dmx-header-offset, 88px);\n  background: rgba(15, 29, 58, 0.35);\n  z-index: 150;\n  backdrop-filter: blur(2px);\n}\n.dmx-mega__panel {\n  position: fixed;\n  left: 0;\n  right: 0;\n  top: var(--dmx-header-offset, 88px);\n  z-index: 160;\n  padding: 0;\n  border-top: 1px solid var(--dmx-border);\n  background: #fff;\n  box-shadow: 0 24px 48px rgba(15, 29, 58, 0.12);\n  max-height: calc(100svh - var(--dmx-header-offset, 88px));\n  overflow-y: auto;\n}\n.dmx-mega__panel:not([hidden]) { display: block; }\n\n\/* Panel con tabs (Servicios) *\/\n.dmx-mega__panel--tabs {\n  max-height: none;\n  overflow: visible;\n}\n.dmx-mega__inner--tabs {\n  padding: 20px max(var(--dmx-gutter), calc((100vw - var(--dmx-container-max)) \/ 2)) 24px;\n  max-width: 640px;\n}\n.dmx-mega__tabs {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-bottom: 16px;\n}\n.dmx-mega__tab {\n  font-size: 0.8125rem;\n  font-weight: 600;\n  color: var(--dmx-ink-soft);\n  background: var(--dmx-bg-blue);\n  border: 1px solid transparent;\n  border-radius: 999px;\n  padding: 8px 16px;\n  cursor: pointer;\n  font-family: inherit;\n  transition: color 0.2s, background 0.2s, border-color 0.2s;\n}\n.dmx-mega__tab:hover { color: var(--dmx-ink); }\n.dmx-mega__tab.is-active,\n.dmx-mega__tab[aria-selected=\"true\"] {\n  color: var(--dmx-blue);\n  background: #fff;\n  border-color: var(--dmx-blue);\n}\n.dmx-mega__tabpanels { min-height: 0; }\n.dmx-mega__tabpanel:not(.is-active) { display: none; }\n.dmx-mega__tabpanel.is-active { display: block; }\n.dmx-mega__list--tabs {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 4px;\n}\n.dmx-mega__cta--inline {\n  margin-top: 16px;\n  padding-top: 0;\n  border-top: none;\n  justify-content: flex-start;\n}\n\n\/* Panel compacto (Sectores, Proyectos, Recursos, Empresa) *\/\n.dmx-mega__panel.dmx-mega__panel--compact {\n  position: absolute;\n  left: 0;\n  top: calc(100% + 10px);\n  right: auto;\n  width: max-content;\n  min-width: 220px;\n  max-width: min(280px, calc(100vw - 32px));\n  max-height: none;\n  overflow: hidden;\n  border-radius: 12px;\n  border: 1px solid var(--dmx-border);\n  border-top: 1px solid var(--dmx-border);\n  box-shadow: 0 12px 32px rgba(15, 29, 58, 0.14);\n  background: #fff;\n}\n.dmx-mega__panel.dmx-mega__panel--compact .dmx-mega__inner,\n.dmx-mega__inner.dmx-mega__inner--compact {\n  padding: 10px;\n  max-width: none;\n}\n.dmx-mega__compact-list {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n.dmx-mega__compact-link {\n  display: block;\n  padding: 10px 14px;\n  font-size: 0.8125rem;\n  font-weight: 500;\n  color: var(--dmx-ink);\n  border-radius: 8px;\n  transition: background 0.2s, color 0.2s;\n  white-space: nowrap;\n}\n.dmx-mega__compact-link:hover {\n  background: var(--dmx-bg-blue);\n  color: var(--dmx-blue);\n}\n.dmx-mega__compact-footer {\n  display: block;\n  margin-top: 4px;\n  padding: 10px 14px;\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: var(--dmx-blue);\n  border-top: 1px solid var(--dmx-border);\n}\n\n.dmx-mega__panel--tabs .dmx-mega__inner:not(.dmx-mega__inner--compact) {\n  padding: 28px max(var(--dmx-gutter), calc((100vw - var(--dmx-container-max)) \/ 2));\n}\n.dmx-mega__grid {\n  display: grid;\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n  gap: 28px 32px;\n}\n.dmx-mega__label {\n  font-size: 0.6875rem;\n  font-weight: 700;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  color: var(--dmx-blue);\n  margin-bottom: 12px;\n}\n.dmx-mega__list {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n}\n.dmx-mega__link {\n  display: block;\n  padding: 10px 12px;\n  border-radius: 10px;\n  transition: background 0.2s;\n}\n.dmx-mega__link:hover {\n  background: var(--dmx-bg-blue);\n}\n.dmx-mega__link-title {\n  display: block;\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: var(--dmx-ink);\n  line-height: 1.35;\n}\n.dmx-mega__link-desc {\n  display: block;\n  font-size: 0.75rem;\n  color: var(--dmx-ink-soft);\n  margin-top: 2px;\n  line-height: 1.4;\n}\n.dmx-mega__cta {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 16px;\n  margin-top: 24px;\n  padding-top: 20px;\n  border-top: 1px solid var(--dmx-border);\n}\n.dmx-mega__cta p {\n  margin: 0;\n  font-size: 0.875rem;\n  color: var(--dmx-ink-soft);\n}\n\n@media (max-width: 1100px) {\n  .dmx-mega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n}\n\n\/* Hero \u2014 Nimo-style split with shapes *\/\n.dmx-hero {\n  position: relative;\n  min-height: 100svh;\n  display: flex;\n  align-items: center;\n  padding-top: 110px;\n  overflow: hidden;\n  background: var(--dmx-bg);\n}\n\n.dmx-hero__bg-text {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -55%);\n  font-family: var(--dmx-font-display);\n  font-size: clamp(6rem, 18vw, 16rem);\n  font-weight: 700;\n  color: transparent;\n  -webkit-text-stroke: 1px rgba(30, 64, 175, 0.06);\n  white-space: nowrap;\n  pointer-events: none;\n  user-select: none;\n  letter-spacing: -0.04em;\n}\n\n.dmx-hero__shape {\n  position: absolute;\n  border-radius: 50%;\n  pointer-events: none;\n}\n\n.dmx-hero__shape--1 {\n  width: 420px;\n  height: 420px;\n  top: -120px;\n  right: -80px;\n  background: radial-gradient(circle, var(--dmx-red-soft), transparent 70%);\n}\n\n.dmx-hero__shape--2 {\n  width: 280px;\n  height: 280px;\n  bottom: 10%;\n  left: -60px;\n  background: radial-gradient(circle, var(--dmx-blue-soft), transparent 70%);\n}\n\n.dmx-hero__inner {\n  position: relative;\n  display: grid;\n  grid-template-columns: 1.05fr 0.95fr;\n  gap: clamp(40px, 5vw, 72px);\n  align-items: center;\n}\n\n.dmx-hero__badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  padding: 8px 18px 8px 8px;\n  background: var(--dmx-bg-blue);\n  border: 1px solid rgba(30, 64, 175, 0.12);\n  border-radius: var(--dmx-radius-pill);\n  font-size: 0.8125rem;\n  font-weight: 500;\n  color: var(--dmx-blue);\n  margin-bottom: 24px;\n}\n\n.dmx-hero__badge-num {\n  display: grid;\n  place-items: center;\n  width: 32px;\n  height: 32px;\n  border-radius: 50%;\n  background: var(--dmx-red);\n  color: #fff;\n  font-size: 0.75rem;\n  font-weight: 700;\n}\n\n.dmx-hero__visual { position: relative; }\n\n.dmx-hero__img-wrap {\n  position: relative;\n  border-radius: var(--dmx-radius-lg);\n  overflow: hidden;\n  box-shadow: var(--dmx-shadow-lg);\n  border: 1px solid var(--dmx-border);\n}\n\n.dmx-hero__img-wrap::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(180deg, transparent 60%, rgba(15, 29, 58, 0.35));\n  z-index: 1;\n  pointer-events: none;\n}\n\n.dmx-hero__img-wrap img {\n  width: 100%;\n  aspect-ratio: 4 \/ 3;\n  object-fit: cover;\n}\n\n.dmx-hero__float {\n  position: absolute;\n  z-index: 2;\n  padding: 16px 20px;\n  background: #fff;\n  border-radius: var(--dmx-radius);\n  box-shadow: var(--dmx-shadow-lg);\n  border: 1px solid var(--dmx-border);\n  font-size: 0.8125rem;\n  font-weight: 500;\n  animation: dmx-float 5s ease-in-out infinite;\n}\n\n.dmx-hero__float--1 { bottom: -16px; left: -24px; }\n.dmx-hero__float--2 { top: 20px; right: -20px; animation-delay: -2.5s; }\n\n.dmx-hero__float strong {\n  display: block;\n  font-family: var(--dmx-font-display);\n  font-size: 1.5rem;\n  color: var(--dmx-red);\n  line-height: 1.1;\n}\n\n.dmx-hero__float--2 strong { color: var(--dmx-blue); }\n\n@keyframes dmx-float {\n  0%, 100% { transform: translateY(0); }\n  50% { transform: translateY(-8px); }\n}\n\n.dmx-hero__stats {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 20px;\n  margin-top: 48px;\n  padding-top: 32px;\n  border-top: 1px solid var(--dmx-border);\n}\n\n.dmx-hero__stat strong {\n  display: block;\n  font-family: var(--dmx-font-display);\n  font-size: 1.75rem;\n  color: var(--dmx-ink);\n  line-height: 1.1;\n}\n\n.dmx-hero__stat span {\n  font-size: 0.75rem;\n  color: var(--dmx-ink-muted);\n  font-weight: 500;\n}\n\n\/* Marquee *\/\n.dmx-marquee {\n  overflow: hidden;\n  max-width: 100%;\n  background: var(--dmx-blue);\n  padding-block: 20px;\n}\n\n.dmx-marquee__track {\n  display: flex;\n  width: max-content;\n  animation: dmx-marquee 28s linear infinite;\n}\n\n.dmx-marquee__track:hover { animation-play-state: paused; }\n\n.dmx-marquee__item {\n  flex-shrink: 0;\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding-inline: 40px;\n  font-size: 0.875rem;\n  font-weight: 600;\n  letter-spacing: 0.04em;\n  text-transform: uppercase;\n  color: rgba(255, 255, 255, 0.85);\n  white-space: nowrap;\n}\n\n.dmx-marquee__dot {\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background: var(--dmx-red);\n  flex-shrink: 0;\n}\n\n@keyframes dmx-marquee {\n  0% { transform: translateX(0); }\n  100% { transform: translateX(-50%); }\n}\n\n\/* Section head *\/\n.dmx-section-head {\n  max-width: 640px;\n  margin-bottom: clamp(40px, 5vw, 56px);\n}\n\n.dmx-section-head--center {\n  margin-inline: auto;\n  text-align: center;\n}\n\n\/* Problem *\/\n.dmx-problem {\n  display: grid;\n  grid-template-columns: 1.05fr 0.95fr;\n  gap: clamp(40px, 6vw, 80px);\n  align-items: center;\n}\n\n.dmx-problem__visual {\n  display: grid;\n  gap: 20px;\n}\n\n.dmx-media {\n  margin: 0;\n  overflow: hidden;\n  border-radius: var(--dmx-radius-lg);\n  box-shadow: var(--dmx-shadow-lg);\n}\n\n.dmx-media img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  aspect-ratio: 4 \/ 3;\n}\n\n.dmx-media--problem img { aspect-ratio: 7 \/ 5; }\n.dmx-media--sale img { aspect-ratio: 5 \/ 4; min-height: 280px; }\n.dmx-media--agenda {\n  margin-top: 28px;\n  box-shadow: var(--dmx-shadow);\n}\n\n.dmx-media--agenda img { aspect-ratio: 4 \/ 3; }\n\n.dmx-problem-card {\n  position: relative;\n  padding: clamp(48px, 6vw, 64px);\n  background: var(--dmx-gradient-red);\n  border-radius: var(--dmx-radius-lg);\n  color: #fff;\n  text-align: center;\n  overflow: hidden;\n}\n\n.dmx-problem-card::after {\n  content: \"\";\n  position: absolute;\n  width: 200px;\n  height: 200px;\n  border-radius: 50%;\n  background: rgba(255, 255, 255, 0.08);\n  top: -60px;\n  right: -40px;\n}\n\n.dmx-problem-card__num {\n  font-family: var(--dmx-font-display);\n  font-size: clamp(4rem, 10vw, 6.5rem);\n  font-weight: 700;\n  line-height: 1;\n  margin-bottom: 12px;\n}\n\n.dmx-problem-card p { opacity: 0.9; font-size: 1rem; }\n\n\/* Benefits grid *\/\n.dmx-benefits {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 20px;\n}\n\n.dmx-benefit {\n  padding: clamp(28px, 3vw, 36px);\n  background: var(--dmx-surface);\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius);\n  transition: transform var(--dmx-speed), box-shadow var(--dmx-speed), border-color var(--dmx-speed);\n}\n\n.dmx-benefit:hover {\n  transform: translateY(-6px);\n  box-shadow: var(--dmx-shadow-lg);\n  border-color: rgba(30, 64, 175, 0.2);\n}\n\n.dmx-benefit--featured {\n  grid-column: span 2;\n  grid-row: span 2;\n  background: var(--dmx-bg-blue);\n  border-color: rgba(30, 64, 175, 0.15);\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n}\n\n.dmx-benefit__icon {\n  width: 52px;\n  height: 52px;\n  display: grid;\n  place-items: center;\n  margin-bottom: 20px;\n  border-radius: 14px;\n  font-size: 1.375rem;\n  background: var(--dmx-red-soft);\n}\n\n.dmx-benefit--featured .dmx-benefit__icon { background: var(--dmx-blue); color: #fff; }\n\n.dmx-benefit__num {\n  font-family: var(--dmx-font-display);\n  font-size: 2.75rem;\n  color: var(--dmx-red);\n  line-height: 1;\n  margin-bottom: 8px;\n}\n\n\/* Portfolio *\/\n.dmx-portfolio-head {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: flex-end;\n  justify-content: space-between;\n  gap: 24px;\n  margin-bottom: 40px;\n}\n\n.dmx-filters {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n\n.dmx-filter {\n  padding: 10px 20px;\n  font-size: 0.8125rem;\n  font-weight: 500;\n  border-radius: var(--dmx-radius-pill);\n  border: 1px solid var(--dmx-border);\n  background: var(--dmx-surface);\n  color: var(--dmx-ink-soft);\n  transition: all 0.3s var(--dmx-ease);\n}\n\n.dmx-filter:hover,\n.dmx-filter.is-active {\n  background: var(--dmx-blue);\n  color: #fff;\n  border-color: var(--dmx-blue);\n}\n\n.dmx-portfolio-grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 24px;\n}\n\n.dmx-portfolio-card {\n  position: relative;\n  background: var(--dmx-surface);\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius);\n  overflow: hidden;\n  transition: transform var(--dmx-speed), box-shadow var(--dmx-speed);\n}\n\n.dmx-portfolio-card:nth-child(3n+1) { margin-top: 0; }\n.dmx-portfolio-card:nth-child(3n+2) { margin-top: 24px; }\n\n.dmx-portfolio-card:hover {\n  transform: translateY(-8px);\n  box-shadow: var(--dmx-shadow-lg);\n}\n\n.dmx-portfolio-card.is-hidden { display: none; }\n\n.dmx-portfolio-card__visual {\n  aspect-ratio: 16 \/ 10;\n  overflow: hidden;\n  background: var(--dmx-bg-soft);\n  position: relative;\n}\n\n.dmx-portfolio-card__visual img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: transform 0.7s var(--dmx-ease);\n}\n\n@media (hover: hover) {\n  .dmx-portfolio-card__visual img {\n    height: auto;\n    min-height: 140%;\n    object-fit: cover;\n    object-position: top;\n    transition: transform 5s ease;\n  }\n  .dmx-portfolio-card:hover .dmx-portfolio-card__visual img {\n    transform: translateY(calc(-100% + 420px));\n  }\n}\n\n.dmx-portfolio-card__overlay {\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(to top, rgba(15, 29, 58, 0.75), transparent 55%);\n  opacity: 0;\n  transition: opacity var(--dmx-speed);\n  display: flex;\n  align-items: flex-end;\n  padding: 20px;\n}\n\n.dmx-portfolio-card:hover .dmx-portfolio-card__overlay { opacity: 1; }\n\n.dmx-portfolio-card__arrow {\n  width: 44px;\n  height: 44px;\n  border-radius: 50%;\n  background: var(--dmx-red);\n  color: #fff;\n  display: grid;\n  place-items: center;\n  margin-left: auto;\n}\n\n.dmx-portfolio-card__body { padding: 22px 24px 26px; }\n\n.dmx-portfolio-card__tag {\n  display: inline-block;\n  font-size: 0.6875rem;\n  font-weight: 600;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  color: var(--dmx-red);\n  margin-bottom: 8px;\n}\n\n.dmx-portfolio-card__desc {\n  margin-top: 8px;\n  font-size: 0.875rem;\n  color: var(--dmx-ink-soft);\n  line-height: 1.55;\n}\n\n.dmx-portfolio-card__kw {\n  margin-top: 10px;\n  padding-top: 10px;\n  border-top: 1px solid var(--dmx-border);\n  font-size: 0.8125rem;\n  font-weight: 500;\n  color: var(--dmx-blue);\n}\n\n\/* Process *\/\n.dmx-process {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 20px;\n}\n\n.dmx-process__step {\n  position: relative;\n  padding: 32px 28px;\n  background: rgba(255, 255, 255, 0.06);\n  border: 1px solid rgba(255, 255, 255, 0.1);\n  border-radius: var(--dmx-radius);\n  transition: transform var(--dmx-speed), background var(--dmx-speed), border-color var(--dmx-speed);\n}\n\n.dmx-process__step.is-active,\n.dmx-process__step:hover {\n  background: rgba(255, 255, 255, 0.1);\n  border-color: rgba(220, 38, 38, 0.4);\n  transform: translateY(-4px);\n}\n\n.dmx-process__num {\n  font-family: var(--dmx-font-display);\n  font-size: 3rem;\n  font-weight: 700;\n  line-height: 1;\n  margin-bottom: 20px;\n  color: var(--dmx-red);\n  opacity: 0.85;\n}\n\n.dmx-process__step:nth-child(even) .dmx-process__num { color: #60a5fa; }\n\n\/* Sale block *\/\n.dmx-sale {\n  display: grid;\n  grid-template-columns: 0.85fr 1fr 0.9fr;\n  gap: clamp(32px, 4vw, 48px);\n  align-items: center;\n  padding: clamp(48px, 6vw, 72px);\n  background: var(--dmx-surface);\n  border-radius: var(--dmx-radius-lg);\n  border: 1px solid var(--dmx-border);\n  box-shadow: var(--dmx-shadow);\n  overflow: hidden;\n  position: relative;\n}\n\n.dmx-sale__deco {\n  position: absolute;\n  width: 300px;\n  height: 300px;\n  border-radius: 50%;\n  background: var(--dmx-blue-soft);\n  top: -100px;\n  right: -80px;\n  pointer-events: none;\n}\n\n.dmx-checklist {\n  list-style: none;\n  display: grid;\n  gap: 14px;\n  margin: 28px 0 0;\n}\n\n.dmx-checklist li {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  font-weight: 500;\n  font-size: 0.9375rem;\n}\n\n.dmx-checklist li::before {\n  content: \"\";\n  flex-shrink: 0;\n  width: 22px;\n  height: 22px;\n  border-radius: 50%;\n  background: var(--dmx-red);\n  mask: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 13l4 4L19 7'\/%3E%3C\/svg%3E\") center\/12px no-repeat;\n  -webkit-mask: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 13l4 4L19 7'\/%3E%3C\/svg%3E\") center\/12px no-repeat;\n}\n\n.dmx-sale__cta { margin-top: 32px; }\n\n\/* Services *\/\n.dmx-services {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 16px;\n}\n\n.dmx-service {\n  display: grid;\n  grid-template-columns: 88px 48px 1fr;\n  gap: 20px;\n  align-items: center;\n  padding: 28px;\n  background: var(--dmx-surface);\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius);\n  transition: transform var(--dmx-speed), box-shadow var(--dmx-speed), border-color var(--dmx-speed);\n}\n\n.dmx-service__thumb {\n  width: 88px;\n  height: 64px;\n  object-fit: cover;\n  border-radius: 12px;\n  box-shadow: var(--dmx-shadow);\n}\n\n.dmx-service--featured {\n  grid-template-columns: 120px 56px 1fr;\n  padding: 32px;\n}\n\n.dmx-service--featured .dmx-service__thumb {\n  width: 120px;\n  height: 80px;\n}\n\n.dmx-service:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--dmx-shadow);\n  border-color: rgba(220, 38, 38, 0.2);\n}\n\n.dmx-service--featured {\n  grid-column: span 2;\n  background: var(--dmx-gradient-blue);\n  color: #fff;\n  border-color: transparent;\n}\n\n.dmx-service--featured .dmx-text-muted { color: rgba(255, 255, 255, 0.75); }\n.dmx-service--featured .dmx-service__idx { color: rgba(255, 255, 255, 0.5); }\n\n.dmx-service__idx {\n  flex-shrink: 0;\n  font-family: var(--dmx-font-display);\n  font-size: 2.5rem;\n  font-weight: 700;\n  line-height: 1;\n  color: var(--dmx-red);\n  opacity: 0.35;\n}\n\n\/* Stats band *\/\n.dmx-stats {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 32px;\n  text-align: center;\n}\n\n.dmx-stat__val {\n  font-family: var(--dmx-font-display);\n  font-size: clamp(2.5rem, 4vw, 3.5rem);\n  font-weight: 700;\n  line-height: 1;\n  color: #fff;\n  margin-bottom: 8px;\n}\n\n.dmx-section--dark .dmx-stat__val {\n  background: linear-gradient(135deg, #fca5a5, #93c5fd);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n}\n\n\/* FAQ *\/\n.dmx-faq {\n  max-width: 780px;\n  margin-inline: auto;\n  display: grid;\n  gap: 12px;\n}\n\n.dmx-faq__item {\n  background: var(--dmx-surface);\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius);\n  overflow: hidden;\n  transition: border-color var(--dmx-speed);\n}\n\n.dmx-faq__item.is-open {\n  border-color: rgba(30, 64, 175, 0.25);\n  box-shadow: var(--dmx-shadow);\n}\n\n.dmx-faq__q {\n  width: 100%;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 16px;\n  padding: 22px 24px;\n  text-align: left;\n  color: var(--dmx-ink);\n  font-weight: 600;\n  font-size: 0.9375rem;\n}\n\n.dmx-faq__icon {\n  flex-shrink: 0;\n  width: 36px;\n  height: 36px;\n  display: grid;\n  place-items: center;\n  border-radius: 50%;\n  background: var(--dmx-bg-blue);\n  color: var(--dmx-blue);\n  font-size: 1.25rem;\n  font-weight: 400;\n  transition: transform var(--dmx-speed), background var(--dmx-speed), color var(--dmx-speed);\n}\n\n.dmx-faq__item.is-open .dmx-faq__icon {\n  transform: rotate(45deg);\n  background: var(--dmx-red);\n  color: #fff;\n}\n\n.dmx-faq__a {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height var(--dmx-speed) var(--dmx-ease);\n}\n\n.dmx-faq__a-inner {\n  padding: 0 24px 22px;\n  color: var(--dmx-ink-soft);\n}\n\n.dmx-faq__item.is-open .dmx-faq__a { max-height: 280px; }\n\n\/* Agenda *\/\n.dmx-agenda {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: clamp(40px, 5vw, 72px);\n  align-items: start;\n}\n\n.dmx-form {\n  padding: clamp(32px, 4vw, 44px);\n  background: var(--dmx-surface);\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius-lg);\n  box-shadow: var(--dmx-shadow-lg);\n  position: relative;\n}\n\n.dmx-form::before {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 32px;\n  right: 32px;\n  height: 4px;\n  border-radius: 0 0 4px 4px;\n  background: var(--dmx-gradient);\n}\n\n.dmx-field { margin-bottom: 18px; }\n\n.dmx-field label {\n  display: block;\n  font-size: 0.8125rem;\n  font-weight: 600;\n  margin-bottom: 8px;\n  color: var(--dmx-ink-soft);\n}\n\n.dmx-field input,\n.dmx-field textarea,\n.dmx-field select {\n  width: 100%;\n  padding: 14px 16px;\n  font: inherit;\n  border: 1px solid var(--dmx-border);\n  border-radius: 12px;\n  background: var(--dmx-bg-soft);\n  color: var(--dmx-ink);\n  transition: border-color 0.25s, box-shadow 0.25s;\n}\n\n.dmx-field input:focus,\n.dmx-field textarea:focus,\n.dmx-field select:focus {\n  outline: none;\n  border-color: var(--dmx-blue);\n  box-shadow: 0 0 0 3px var(--dmx-blue-soft);\n  background: #fff;\n}\n\n.dmx-field textarea { min-height: 110px; resize: vertical; }\n\n.dmx-form-note {\n  margin-top: 14px;\n  font-size: 0.8125rem;\n  color: var(--dmx-ink-muted);\n  text-align: center;\n}\n\n.dmx-form-feedback {\n  display: none;\n  margin-bottom: 16px;\n  padding: 14px 16px;\n  border-radius: 12px;\n  font-size: 0.875rem;\n  font-weight: 500;\n  line-height: 1.5;\n}\n\n.dmx-form-feedback:not(:empty) { display: block; }\n\n.dmx-form-feedback--success {\n  background: rgba(34, 197, 94, 0.12);\n  color: #15803d;\n  border: 1px solid rgba(34, 197, 94, 0.25);\n}\n\n.dmx-form-feedback--error {\n  background: rgba(220, 38, 38, 0.08);\n  color: var(--dmx-red-dark);\n  border: 1px solid rgba(220, 38, 38, 0.2);\n}\n\n.dmx-form-submit:disabled {\n  opacity: 0.7;\n  cursor: wait;\n  transform: none;\n}\n\n\/* CTA band *\/\n.dmx-cta-band {\n  text-align: center;\n  background: var(--dmx-gradient-red);\n  color: #fff;\n  position: relative;\n  overflow: hidden;\n}\n\n.dmx-cta-band__shape {\n  position: absolute;\n  width: 500px;\n  height: 500px;\n  border-radius: 50%;\n  background: rgba(255, 255, 255, 0.06);\n  top: -200px;\n  right: -100px;\n  pointer-events: none;\n}\n\n.dmx-cta-band .dmx-text-muted { color: rgba(255, 255, 255, 0.8); }\n\n.dmx-cta-band .dmx-btn--outline {\n  border-color: rgba(255, 255, 255, 0.5);\n  color: #fff;\n}\n.dmx-cta-band .dmx-btn--outline:hover {\n  background: rgba(255, 255, 255, 0.12);\n  border-color: #fff;\n}\n\n\/* Footer *\/\n.dmx-footer {\n  padding-block: 56px 36px;\n  background: var(--dmx-ink);\n  color: rgba(255, 255, 255, 0.75);\n}\n\n.dmx-footer__grid {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n  gap: 40px;\n}\n\n.dmx-footer a {\n  display: block;\n  margin-top: 8px;\n  font-size: 0.9375rem;\n  color: rgba(255, 255, 255, 0.65);\n  transition: color 0.25s;\n}\n\n.dmx-footer a:hover { color: #fca5a5; }\n\n.dmx-footer__brand p { margin-top: 14px; font-size: 0.875rem; }\n.dmx-footer__label { font-size: 0.8125rem; opacity: 0.55; margin-bottom: 4px; }\n.dmx-footer__legal {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n  gap: 12px;\n  margin-top: 40px;\n  padding-top: 24px;\n  border-top: 1px solid rgba(255, 255, 255, 0.12);\n  font-size: 0.8125rem;\n  opacity: 0.55;\n}\n.dmx-footer__legal a { display: inline; margin: 0; }\n\n\/* Hero showcase *\/\n.dmx-hero__checks {\n  list-style: none;\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 10px 20px;\n  margin-top: 32px;\n  font-size: 0.875rem;\n  color: var(--dmx-ink-soft);\n}\n.dmx-hero__checks li::before {\n  content: \"\u2713\";\n  color: var(--dmx-blue);\n  font-weight: 700;\n  margin-right: 8px;\n}\n.dmx-hero__showcase {\n  position: relative;\n  min-height: 420px;\n}\n.dmx-hero__device {\n  position: absolute;\n  border-radius: var(--dmx-radius);\n  overflow: hidden;\n  box-shadow: var(--dmx-shadow-lg);\n  border: 1px solid var(--dmx-border);\n  background: #fff;\n}\n.dmx-hero__device img { width: 100%; height: auto; display: block; }\n.dmx-hero__device-label {\n  position: absolute;\n  bottom: 10px;\n  left: 10px;\n  padding: 4px 10px;\n  background: rgba(255, 255, 255, 0.92);\n  border-radius: var(--dmx-radius-pill);\n  font-size: 0.6875rem;\n  font-weight: 600;\n}\n.dmx-hero__device--laptop { width: 72%; top: 8%; left: 0; z-index: 2; }\n.dmx-hero__device--phone { width: 34%; bottom: 4%; right: 0; z-index: 3; }\n.dmx-hero__device--tablet { width: 42%; bottom: 18%; left: 28%; z-index: 1; opacity: 0.95; }\n.dmx-hero__tags {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  justify-content: center;\n  margin-top: 20px;\n}\n.dmx-hero__tags span {\n  padding: 6px 12px;\n  background: var(--dmx-bg-blue);\n  border-radius: var(--dmx-radius-pill);\n  font-size: 0.75rem;\n  font-weight: 600;\n  color: var(--dmx-blue);\n}\n\n\/* Bento grid *\/\n.dmx-bento {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 20px;\n  margin-top: 40px;\n}\n.dmx-bento__card {\n  padding: 28px;\n  background: var(--dmx-surface);\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius-lg);\n  box-shadow: var(--dmx-shadow);\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n}\n.dmx-bento__card--wide { grid-column: span 1; }\n.dmx-btn--sm { min-height: 44px; padding: 10px 18px; font-size: 0.8125rem; align-self: flex-start; }\n\n\/* Funnel *\/\n.dmx-funnel {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 24px;\n  margin-top: 40px;\n}\n.dmx-funnel__col {\n  padding: 32px;\n  border-radius: var(--dmx-radius-lg);\n  border: 1px solid var(--dmx-border);\n  background: #fff;\n}\n.dmx-funnel__col--before { background: var(--dmx-bg-red); }\n.dmx-funnel__col--after { background: var(--dmx-bg-blue); border-color: rgba(30, 64, 175, 0.15); }\n.dmx-funnel__steps {\n  list-style: none;\n  margin-top: 20px;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n}\n.dmx-funnel__steps li {\n  padding: 12px 16px;\n  background: rgba(255, 255, 255, 0.7);\n  border-radius: var(--dmx-radius);\n  font-weight: 500;\n}\n.dmx-funnel__steps li::after {\n  content: \"\u2193\";\n  display: block;\n  text-align: center;\n  opacity: 0.35;\n  margin-top: 8px;\n}\n.dmx-funnel__steps li:last-child::after { display: none; }\n.dmx-funnel__dead { opacity: 0.55; text-decoration: line-through; }\n.dmx-funnel__steps--active li { background: rgba(255, 255, 255, 0.85); color: var(--dmx-blue-dark); }\n\n\/* Audit *\/\n.dmx-audit {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 32px;\n  align-items: center;\n}\n.dmx-audit-form label { display: block; font-weight: 600; margin-bottom: 10px; }\n.dmx-audit-form__row {\n  display: flex;\n  gap: 12px;\n  flex-wrap: wrap;\n}\n.dmx-audit-form input {\n  flex: 1;\n  min-width: 200px;\n  min-height: 52px;\n  padding: 12px 16px;\n  border: 1px solid var(--dmx-border-strong);\n  border-radius: var(--dmx-radius);\n  font: inherit;\n}\n\n\/* Chat form *\/\n.dmx-form--chat { min-height: 320px; }\n.dmx-chat-step__label { font-size: 0.75rem; color: var(--dmx-ink-muted); margin-bottom: 8px; }\n.dmx-chat-options {\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  margin-top: 16px;\n}\n.dmx-chat-options--row { flex-direction: row; }\n.dmx-chat-options button {\n  min-height: 48px;\n  padding: 12px 16px;\n  text-align: left;\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius);\n  background: #fff;\n  font: inherit;\n  font-weight: 500;\n  transition: border-color 0.2s, background 0.2s;\n}\n.dmx-chat-options button:hover {\n  border-color: var(--dmx-blue);\n  background: var(--dmx-bg-blue);\n}\n.dmx-btn--wa { background: #25d366; box-shadow: 0 8px 28px rgba(37, 211, 102, 0.28); }\n\n\/* WhatsApp sticky *\/\n.dmx-wa-sticky {\n  position: fixed;\n  bottom: 16px;\n  right: 16px;\n  left: 16px;\n  z-index: 210;\n  display: flex;\n  justify-content: center;\n  pointer-events: none;\n  padding-bottom: env(safe-area-inset-bottom);\n  transition: opacity 0.3s, transform 0.3s;\n}\n.dmx-wa-sticky.is-hidden {\n  opacity: 0;\n  transform: translateY(12px);\n  pointer-events: none;\n}\n.dmx-wa-sticky__btn {\n  pointer-events: auto;\n  min-height: 48px;\n  padding: 12px 20px;\n  border: none;\n  border-radius: var(--dmx-radius-pill);\n  background: #25d366;\n  color: #fff;\n  font: inherit;\n  font-weight: 600;\n  box-shadow: 0 10px 35px rgba(15, 23, 42, 0.18);\n  cursor: pointer;\n}\n.dmx-wa-sticky__btn--mobile { display: none; width: 100%; max-width: 420px; }\n.dmx-wa-sticky__btn--desktop { display: inline-flex; align-items: center; gap: 8px; }\n\n\/* WhatsApp modal *\/\n.dmx-wa-modal[hidden] { display: none !important; }\n.dmx-wa-modal {\n  position: fixed;\n  inset: 0;\n  z-index: 300;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: max(16px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));\n  box-sizing: border-box;\n}\nbody.dmx-wa-open { overflow: hidden; }\n.dmx-wa-modal__backdrop {\n  position: absolute;\n  inset: 0;\n  background: rgba(15, 29, 58, 0.55);\n}\n.dmx-wa-modal__panel {\n  position: relative;\n  flex: 0 1 auto;\n  width: 100%;\n  max-width: min(440px, calc(100vw - 32px));\n  max-height: min(90vh, calc(100dvh - 32px));\n  overflow: auto;\n  overflow-x: hidden;\n  background: #fff;\n  border-radius: var(--dmx-radius-lg);\n  padding: 28px 20px 24px;\n  box-shadow: var(--dmx-shadow-lg);\n  box-sizing: border-box;\n}\n.dmx-wa-modal__close {\n  position: absolute;\n  top: 12px;\n  right: 12px;\n  width: 40px;\n  height: 40px;\n  border: none;\n  background: var(--dmx-bg-soft);\n  border-radius: 50%;\n  font-size: 1.5rem;\n  line-height: 1;\n  cursor: pointer;\n}\n.dmx-wa-modal__options {\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  margin-top: 16px;\n}\n.dmx-wa-modal__options--row { flex-direction: row; }\n.dmx-wa-modal__options button {\n  width: 100%;\n  max-width: 100%;\n  min-height: 48px;\n  padding: 12px 16px;\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius);\n  background: #fff;\n  font: inherit;\n  font-weight: 500;\n  cursor: pointer;\n  text-align: left;\n  box-sizing: border-box;\n  overflow-wrap: anywhere;\n}\n.dmx-wa-modal__options button:hover { border-color: var(--dmx-blue); background: var(--dmx-bg-blue); }\n.dmx-wa-preview {\n  margin-top: 16px;\n  padding: 14px;\n  background: var(--dmx-bg-soft);\n  border-radius: var(--dmx-radius);\n  font-size: 0.8125rem;\n  white-space: pre-wrap;\n  font-family: inherit;\n}\n.dmx-wa-modal__skip {\n  display: inline-block;\n  margin-top: 16px;\n  background: none;\n  border: none;\n  cursor: pointer;\n  font: inherit;\n  color: var(--dmx-blue);\n  text-decoration: underline;\n}\n.dmx-nav__link--wa { color: var(--dmx-blue); font-weight: 600; }\n\na:focus-visible,\nbutton:focus-visible,\ninput:focus-visible,\nselect:focus-visible,\ntextarea:focus-visible {\n  outline: 3px solid var(--dmx-blue);\n  outline-offset: 3px;\n}\n\n\/* Reveal *\/\n.dmx-reveal {\n  opacity: 0;\n  transform: translateY(24px);\n  transition: opacity 0.75s var(--dmx-ease), transform 0.75s var(--dmx-ease);\n}\n\n.dmx-reveal.is-visible {\n  opacity: 1;\n  transform: none;\n}\n\n\/* Responsive *\/\n@media (max-width: 1024px) {\n  .dmx-hero__inner,\n  .dmx-problem,\n  .dmx-agenda,\n  .dmx-sale { grid-template-columns: 1fr; }\n\n  .dmx-sale .dmx-media--sale { order: -1; }\n\n  .dmx-benefits {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  .dmx-benefit--featured {\n    grid-column: span 2;\n    grid-row: span 1;\n  }\n\n  .dmx-portfolio-grid { grid-template-columns: repeat(2, 1fr); }\n  .dmx-portfolio-card:nth-child(3n+2) { margin-top: 0; }\n\n  .dmx-process { grid-template-columns: repeat(2, 1fr); }\n\n  .dmx-services { grid-template-columns: 1fr; }\n  .dmx-service--featured { grid-column: span 1; }\n\n  .dmx-stats { grid-template-columns: repeat(2, 1fr); }\n}\n\n@media (max-width: 768px) {\n  :root {\n    --dmx-gutter: clamp(20px, 5.5vw, 32px);\n    --dmx-header-offset: 76px;\n  }\n\n  .dmx-breadcrumb {\n    padding-top: calc(var(--dmx-header-offset) + 0.5rem);\n  }\n\n  .dmx-h1 {\n    font-size: clamp(1.625rem, 5.5vw + 0.75rem, 2.375rem);\n    overflow-wrap: anywhere;\n    word-break: break-word;\n  }\n\n  .dmx-h2 {\n    font-size: clamp(1.375rem, 4vw + 0.75rem, 1.875rem);\n    overflow-wrap: anywhere;\n  }\n\n  .dmx-wa-modal__panel {\n    max-width: calc(100vw - 24px);\n    padding: 24px 16px 20px;\n  }\n\n  .dmx-wa-modal__options--row {\n    flex-direction: column;\n  }\n\n  .dmx-wa-modal__options button:focus-visible {\n    outline-offset: 0;\n  }\n\n  .dmx-wa-modal__close {\n    top: 8px;\n    right: 8px;\n  }\n\n  .dmx-eyebrow {\n    flex-wrap: wrap;\n    max-width: 100%;\n  }\n\n  .dmx-btn-group {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .dmx-btn-group .dmx-btn {\n    width: 100%;\n    justify-content: center;\n  }\n\n  .dmx-nav { display: none; }\n\n  .dmx-nav.is-open {\n    display: flex;\n    flex-direction: column;\n    position: fixed;\n    top: var(--dmx-header-offset);\n    left: var(--dmx-gutter);\n    right: var(--dmx-gutter);\n    max-height: calc(100svh - var(--dmx-header-offset) - 16px);\n    overflow-y: auto;\n    padding: 24px;\n    background: #fff;\n    border: 1px solid var(--dmx-border);\n    border-radius: var(--dmx-radius);\n    box-shadow: var(--dmx-shadow-lg);\n    z-index: 210;\n  }\n\n  .dmx-nav-toggle { display: block; }\n\n  .dmx-mega-backdrop { display: none !important; }\n  .dmx-mega { width: 100%; }\n  .dmx-nav__trigger {\n    width: 100%;\n    justify-content: space-between;\n    padding: 12px 0;\n    border-bottom: 1px solid var(--dmx-border);\n    font-size: 0.9375rem;\n  }\n  .dmx-mega__panel {\n    position: static;\n    box-shadow: none;\n    border: none;\n    background: transparent;\n  }\n  .dmx-mega__panel:not([hidden]) { display: block; }\n  .dmx-mega__panel--tabs .dmx-mega__inner { padding: 8px 0 16px; }\n  .dmx-mega__panel--compact .dmx-mega__inner { padding: 0 0 8px; }\n  .dmx-mega__grid { grid-template-columns: 1fr; gap: 16px; }\n  .dmx-mega__cta {\n    flex-direction: column;\n    align-items: stretch;\n    text-align: center;\n  }\n  .dmx-mega__cta .dmx-btn { width: 100%; justify-content: center; }\n  .dmx-nav__link {\n    display: block;\n    width: 100%;\n    padding: 12px 0;\n    border-bottom: 1px solid var(--dmx-border);\n    font-size: 0.9375rem;\n  }\n  .dmx-nav__link::after { display: none; }\n\n  .dmx-nav.is-open .dmx-nav__anchors { display: flex; }\n  .dmx-mega__panel--compact {\n    position: static;\n    width: 100%;\n    max-width: none;\n    min-width: 0;\n    border-radius: 0;\n    box-shadow: none;\n    border: none;\n  }\n  .dmx-mega__inner--tabs { max-width: none; padding-left: 0; padding-right: 0; }\n  .dmx-mega__compact-link { white-space: normal; }\n\n  .dmx-hero__stats { grid-template-columns: 1fr; gap: 16px; }\n  .dmx-hero__float { display: none; }\n  .dmx-hero__bg-text { font-size: 4rem; }\n\n  .dmx-benefits,\n  .dmx-benefit--featured { grid-template-columns: 1fr; grid-column: span 1; }\n\n  .dmx-portfolio-grid { grid-template-columns: 1fr; }\n\n  .dmx-process { grid-template-columns: 1fr; }\n\n  body.dmx-body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }\n  .dmx-wa-sticky { left: 12px; right: 12px; bottom: 12px; }\n  .dmx-wa-sticky__btn--desktop { display: none; }\n  .dmx-wa-sticky__btn--mobile { display: flex; align-items: center; justify-content: center; }\n  .dmx-bento { grid-template-columns: 1fr; }\n  .dmx-funnel { grid-template-columns: 1fr; }\n  .dmx-audit { grid-template-columns: 1fr; }\n  .dmx-hero__checks { grid-template-columns: 1fr; }\n  .dmx-hero__device--laptop { width: 88%; }\n  .dmx-hero__device--phone { width: 40%; }\n  .dmx-footer__grid { flex-direction: column; }\n\n  .dmx-header .dmx-btn--red { display: none; }\n\n  .dmx-portfolio-head { flex-direction: column; align-items: flex-start; }\n\n  .dmx-service,\n  .dmx-service--featured {\n    grid-template-columns: 72px 1fr;\n    gap: 16px;\n  }\n\n  .dmx-service__idx { display: none; }\n\n  .dmx-service__thumb,\n  .dmx-service--featured .dmx-service__thumb {\n    width: 72px;\n    height: 54px;\n  }\n}\n\n\/* WordPress embed \u2014 ancho completo y reset del tema *\/\n.wp-site-blocks > header.wp-block-template-part,\nbody.home footer.wp-block-template-part,\nbody.page footer.wp-block-template-part,\nbody.single-post footer.wp-block-template-part,\n.wp-site-blocks > footer,\n.wp-site-blocks footer:not(.dmx-footer),\n.wp-block-template-part,\n.wp-block-site-title,\n.wp-block-navigation,\n.wp-block-site-tagline,\nbody > .skip-link {\n  display: none !important;\n  visibility: hidden !important;\n  height: 0 !important;\n  overflow: hidden !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  pointer-events: none !important;\n}\n\n.dmx-footer {\n  display: block !important;\n  visibility: visible !important;\n  height: auto !important;\n  overflow: visible !important;\n  pointer-events: auto !important;\n}\n\n.wp-site-blocks,\nmain.wp-block-group,\n.entry-content.wp-block-post-content,\n.wp-block-post-content,\n.has-global-padding,\n.is-layout-constrained,\n.is-layout-flow {\n  max-width: none !important;\n  width: 100% !important;\n  padding: 0 !important;\n  margin: 0 !important;\n  overflow-x: hidden !important;\n}\n\n.wp-block-html,\n.entry-content .wp-block-html {\n  overflow-x: hidden;\n  max-width: 100%;\n  box-sizing: border-box;\n}\n\n.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.wp-block-html)),\n.wp-block-post-content > :not(.wp-block-html),\n.entry-content > :not(.wp-block-html) {\n  max-width: none !important;\n  width: 100% !important;\n  margin-inline: 0 !important;\n}\n\n\/* Proteger m\u00e1rgenes laterales dentro del bloque HTML embebido *\/\n.wp-block-html .dmx-container,\n.entry-content .dmx-container,\n.dmx-body .dmx-container,\n.dmx-header .dmx-container,\nmain .dmx-container,\nfooter .dmx-container {\n  width: 100% !important;\n  max-width: none !important;\n  margin-inline: 0 !important;\n  padding-inline: max(var(--dmx-gutter), calc((100vw - var(--dmx-container-max)) \/ 2)) !important;\n  box-sizing: border-box !important;\n}\n\n:where(.wp-site-blocks) > * { margin-block-start: 0 !important; }\n\nbody.home,\nbody.page,\nbody.single-post,\nbody.page-template-page-no-title {\n  --wp--style--root--padding-top: 0;\n  --wp--style--root--padding-right: 0;\n  --wp--style--root--padding-bottom: 0;\n  --wp--style--root--padding-left: 0;\n  --wp--style--global--content-size: 100%;\n  --wp--style--global--wide-size: 100%;\n  font-family: var(--dmx-font-body);\n  font-size: clamp(0.9375rem, 0.9rem + 0.15vw, 1.0625rem);\n  line-height: 1.75;\n  color: var(--dmx-ink);\n  background: var(--dmx-bg);\n  overflow-x: hidden;\n  max-width: 100%;\n  -webkit-font-smoothing: antialiased;\n}\n\nbody.admin-bar {\n  --dmx-header-offset: calc(88px + 32px);\n}\n\nbody.admin-bar .dmx-header { top: 32px; }\n\n@media (max-width: 782px) {\n  body.admin-bar {\n    --dmx-header-offset: calc(76px + 46px);\n  }\n\n  body.admin-bar .dmx-header { top: 46px; }\n}\n\n.dmx-body,\n.dmx-body p,\n.dmx-body a,\n.dmx-body button,\n.dmx-body input,\n.dmx-body textarea,\n.dmx-body select {\n  font-family: var(--dmx-font-body);\n}\n\n.dmx-body h1,\n.dmx-body h2,\n.dmx-body h3,\n.dmx-body h4,\n.dmx-body h5,\n.dmx-body h6 {\n  font-family: var(--dmx-font-display);\n  font-weight: 700;\n  letter-spacing: inherit;\n  line-height: inherit;\n  text-wrap: balance;\n}\n\/* Diremex v4 \u2014 estilo agencia digital moderna (Digiora-inspired) \u00b7 azul + rojo *\/\n\n:root {\n  --dmx-mesh-blue: rgba(30, 64, 175, 0.14);\n  --dmx-mesh-red: rgba(220, 38, 38, 0.12);\n  --dmx-glass: rgba(255, 255, 255, 0.72);\n  --dmx-glass-border: rgba(255, 255, 255, 0.9);\n  --dmx-pattern: url(\"data:image\/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231e40af' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'\/%3E%3C\/g%3E%3C\/g%3E%3C\/svg%3E\");\n}\n\n\/* Mesh background utility *\/\n.dmx-mesh {\n  position: relative;\n  isolation: isolate;\n  overflow: hidden;\n}\n.dmx-mesh::before,\n.dmx-mesh::after {\n  content: \"\";\n  position: absolute;\n  border-radius: 50%;\n  filter: blur(80px);\n  pointer-events: none;\n  z-index: -1;\n}\n.dmx-mesh::before {\n  width: min(520px, 70vw);\n  height: min(520px, 70vw);\n  top: -120px;\n  right: -80px;\n  background: var(--dmx-mesh-blue);\n}\n.dmx-mesh::after {\n  width: min(420px, 55vw);\n  height: min(420px, 55vw);\n  bottom: -100px;\n  left: -60px;\n  background: var(--dmx-mesh-red);\n}\n\n.dmx-glass {\n  background: var(--dmx-glass);\n  backdrop-filter: blur(20px);\n  -webkit-backdrop-filter: blur(20px);\n  border: 1px solid var(--dmx-glass-border);\n  box-shadow: var(--dmx-shadow-lg);\n}\n\n\/* \u2500\u2500 Service page hero v4 \u2500\u2500 *\/\n.dmx-svc-hero {\n  position: relative;\n  min-height: 92svh;\n  display: flex;\n  align-items: center;\n  padding: 120px 0 80px;\n  overflow: hidden;\n  background: var(--dmx-bg);\n}\n.dmx-svc-hero__grid {\n  display: grid;\n  grid-template-columns: 1.05fr 0.95fr;\n  gap: clamp(32px, 5vw, 64px);\n  align-items: center;\n}\n.dmx-svc-hero__badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  padding: 8px 16px 8px 10px;\n  background: #fff;\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius-pill);\n  font-size: 0.75rem;\n  font-weight: 700;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n  color: var(--dmx-blue);\n  box-shadow: var(--dmx-shadow);\n  margin-bottom: 20px;\n}\n.dmx-svc-hero__badge-dot {\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background: var(--dmx-gradient);\n  animation: dmx-pulse 2s ease infinite;\n}\n@keyframes dmx-pulse {\n  0%, 100% { opacity: 1; transform: scale(1); }\n  50% { opacity: 0.6; transform: scale(1.2); }\n}\n.dmx-svc-hero__title {\n  font-size: clamp(2.25rem, 1.4rem + 3.8vw, 4rem);\n  line-height: 1.06;\n  letter-spacing: -0.03em;\n}\n.dmx-svc-hero__visual-wrap {\n  position: relative;\n}\n.dmx-svc-hero__card {\n  position: relative;\n  padding: 28px;\n  border-radius: var(--dmx-radius-lg);\n  overflow: hidden;\n}\n.dmx-svc-hero__card::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: var(--dmx-gradient);\n  opacity: 0.06;\n  pointer-events: none;\n}\n.dmx-svc-hero__flow {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n}\n.dmx-svc-hero__flow-item {\n  display: flex;\n  align-items: center;\n  gap: 14px;\n  padding: 14px 18px;\n  background: #fff;\n  border-radius: var(--dmx-radius);\n  border: 1px solid var(--dmx-border);\n  font-weight: 600;\n  font-size: 0.875rem;\n  transition: transform 0.3s var(--dmx-ease), box-shadow 0.3s;\n}\n.dmx-svc-hero__flow-item:hover {\n  transform: translateX(6px);\n  box-shadow: var(--dmx-shadow);\n}\n.dmx-svc-hero__flow-num {\n  flex-shrink: 0;\n  width: 32px;\n  height: 32px;\n  display: grid;\n  place-items: center;\n  background: var(--dmx-gradient);\n  color: #fff;\n  font-size: 0.8125rem;\n  font-weight: 800;\n  border-radius: 10px;\n}\n.dmx-svc-hero__float {\n  position: absolute;\n  padding: 12px 18px;\n  background: #fff;\n  border-radius: var(--dmx-radius);\n  box-shadow: var(--dmx-shadow-lg);\n  font-weight: 700;\n  font-size: 0.8125rem;\n  border: 1px solid var(--dmx-border);\n}\n.dmx-svc-hero__float--1 { top: -16px; right: 12px; color: var(--dmx-red); }\n.dmx-svc-hero__float--2 { bottom: 24px; left: -20px; color: var(--dmx-blue); }\n\n\/* Trust pills *\/\n.dmx-trust-pills {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 10px;\n  margin-top: 32px;\n}\n.dmx-trust-pill {\n  padding: 10px 16px;\n  background: var(--dmx-bg-blue);\n  border-radius: var(--dmx-radius-pill);\n  font-size: 0.8125rem;\n  font-weight: 600;\n  color: var(--dmx-blue-dark);\n  border: 1px solid rgba(30, 64, 175, 0.12);\n}\n.dmx-trust-pill strong { color: var(--dmx-red); margin-right: 4px; }\n\n\/* Problem cards v4 *\/\n.dmx-problem-v4 {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 24px;\n  margin-top: 48px;\n}\n.dmx-problem-v4__card {\n  position: relative;\n  padding: 32px 28px 28px;\n  background: #fff;\n  border-radius: var(--dmx-radius-lg);\n  border: 1px solid var(--dmx-border);\n  overflow: hidden;\n  transition: transform 0.35s var(--dmx-ease), box-shadow 0.35s;\n}\n.dmx-problem-v4__card::before {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  height: 4px;\n  background: var(--dmx-gradient);\n}\n.dmx-problem-v4__card:hover {\n  transform: translateY(-6px);\n  box-shadow: 0 20px 48px rgba(15, 29, 58, 0.1);\n}\n.dmx-problem-v4__icon {\n  width: 48px;\n  height: 48px;\n  display: grid;\n  place-items: center;\n  background: var(--dmx-bg-blue);\n  border-radius: 14px;\n  font-size: 1.25rem;\n  margin-bottom: 18px;\n}\n.dmx-problem-v4__tag {\n  font-size: 0.6875rem;\n  font-weight: 700;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  color: var(--dmx-red);\n  margin-bottom: 10px;\n}\n.dmx-problem-v4__fix {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  margin-top: 16px;\n  padding: 8px 14px;\n  background: var(--dmx-blue-soft);\n  border-radius: var(--dmx-radius-pill);\n  font-size: 0.8125rem;\n  font-weight: 600;\n  color: var(--dmx-blue);\n}\n\n\/* Steps timeline v4 *\/\n.dmx-timeline {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 0;\n  margin-top: 48px;\n  position: relative;\n}\n.dmx-timeline::before {\n  content: \"\";\n  position: absolute;\n  top: 28px;\n  left: 12.5%;\n  right: 12.5%;\n  height: 2px;\n  background: linear-gradient(90deg, var(--dmx-red), var(--dmx-blue));\n  opacity: 0.25;\n  z-index: 0;\n}\n.dmx-timeline__step {\n  position: relative;\n  z-index: 1;\n  text-align: center;\n  padding: 0 12px;\n}\n.dmx-timeline__dot {\n  width: 56px;\n  height: 56px;\n  margin: 0 auto 20px;\n  display: grid;\n  place-items: center;\n  background: #fff;\n  border: 3px solid var(--dmx-blue);\n  border-radius: 50%;\n  font-weight: 800;\n  font-size: 1.125rem;\n  color: var(--dmx-blue);\n  box-shadow: var(--dmx-shadow);\n  transition: transform 0.3s, background 0.3s, color 0.3s;\n}\n.dmx-timeline__step:hover .dmx-timeline__dot {\n  background: var(--dmx-gradient);\n  border-color: transparent;\n  color: #fff;\n  transform: scale(1.08);\n}\n\n\/* Includes grid v4 *\/\n.dmx-includes-v4 {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 16px;\n  margin-top: 40px;\n  list-style: none;\n  padding: 0;\n}\n.dmx-includes-v4 li {\n  display: flex;\n  align-items: flex-start;\n  gap: 14px;\n  padding: 22px 20px;\n  background: #fff;\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius);\n  font-weight: 500;\n  font-size: 0.9375rem;\n  transition: border-color 0.25s, box-shadow 0.25s;\n}\n.dmx-includes-v4 li:hover {\n  border-color: rgba(30, 64, 175, 0.25);\n  box-shadow: var(--dmx-shadow);\n}\n.dmx-includes-v4__check {\n  flex-shrink: 0;\n  width: 28px;\n  height: 28px;\n  display: grid;\n  place-items: center;\n  background: var(--dmx-gradient);\n  color: #fff;\n  font-size: 0.75rem;\n  font-weight: 800;\n  border-radius: 8px;\n}\n\n\/* Related v4 *\/\n.dmx-related-v4 {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 16px;\n  margin-top: 40px;\n}\n.dmx-related-v4 a {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n  padding: 22px 24px;\n  background: #fff;\n  border: 1px solid var(--dmx-border);\n  border-radius: var(--dmx-radius-lg);\n  font-weight: 600;\n  font-size: 0.9375rem;\n  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;\n}\n.dmx-related-v4 a::after {\n  content: \"\u2192\";\n  flex-shrink: 0;\n  width: 36px;\n  height: 36px;\n  display: grid;\n  place-items: center;\n  background: var(--dmx-bg-blue);\n  border-radius: 50%;\n  color: var(--dmx-blue);\n  transition: background 0.3s, color 0.3s, transform 0.3s;\n}\n.dmx-related-v4 a:hover {\n  transform: translateY(-3px);\n  box-shadow: var(--dmx-shadow-lg);\n  border-color: rgba(30, 64, 175, 0.2);\n  color: var(--dmx-blue);\n}\n.dmx-related-v4 a:hover::after {\n  background: var(--dmx-gradient);\n  color: #fff;\n  transform: translateX(4px);\n}\n\n\/* CTA v4 *\/\n.dmx-cta-v4 {\n  position: relative;\n  padding: clamp(64px, 8vw, 96px) 0;\n  background: linear-gradient(135deg, var(--dmx-ink) 0%, #1e3a8a 50%, var(--dmx-red-dark) 100%);\n  overflow: hidden;\n}\n.dmx-cta-v4::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: var(--dmx-pattern);\n  opacity: 0.5;\n  pointer-events: none;\n}\n.dmx-cta-v4 .dmx-container { position: relative; z-index: 1; text-align: center; }\n.dmx-cta-v4 .dmx-h2 { color: #fff; }\n.dmx-cta-v4 .dmx-text-muted { color: rgba(255,255,255,0.75); }\n\n\/* Section headers v4 *\/\n.dmx-section-v4-head {\n  text-align: center;\n  max-width: 680px;\n  margin-inline: auto;\n}\n.dmx-section-v4-head .dmx-eyebrow { justify-content: center; }\n.dmx-section-v4-head .dmx-eyebrow__line { display: none; }\n.dmx-section-v4-head .dmx-eyebrow::before,\n.dmx-section-v4-head .dmx-eyebrow::after {\n  content: \"\";\n  width: 24px;\n  height: 2px;\n  background: var(--dmx-gradient);\n  border-radius: 2px;\n}\n\n\/* Home hub v4 enhancements *\/\n.dmx-hub-home-hero {\n  background: var(--dmx-pattern), linear-gradient(180deg, #fff 0%, var(--dmx-bg-soft) 100%);\n}\n.dmx-hub-home-hero__visual {\n  position: relative;\n}\n.dmx-hub-home-hero__visual::before {\n  content: \"\";\n  position: absolute;\n  inset: -20px;\n  background: var(--dmx-gradient);\n  border-radius: calc(var(--dmx-radius-lg) + 8px);\n  opacity: 0.15;\n  z-index: -1;\n  transform: rotate(-3deg);\n}\n.dmx-hub-stat {\n  position: relative;\n  overflow: hidden;\n  transition: transform 0.35s var(--dmx-ease);\n}\n.dmx-hub-stat:hover { transform: translateY(-4px); }\n.dmx-hub-stat::after {\n  content: \"\";\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  height: 3px;\n  background: var(--dmx-gradient);\n  transform: scaleX(0);\n  transition: transform 0.35s var(--dmx-ease);\n}\n.dmx-hub-stat:hover::after { transform: scaleX(1); }\n\n.dmx-hub-svc-card {\n  position: relative;\n  overflow: hidden;\n}\n.dmx-hub-svc-card::before {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  background: var(--dmx-gradient);\n  opacity: 0;\n  transition: opacity 0.35s;\n  pointer-events: none;\n}\n.dmx-hub-svc-card:hover::before { opacity: 0.04; }\n.dmx-hub-svc-card__num {\n  position: absolute;\n  top: 16px;\n  right: 20px;\n  font-size: 3rem;\n  font-weight: 800;\n  line-height: 1;\n  color: var(--dmx-bg-blue);\n  opacity: 0.6;\n}\n\n.dmx-section--pattern {\n  background: var(--dmx-pattern), var(--dmx-bg-soft);\n}\n\n\/* FAQ v4 accent *\/\n.dmx-faq__item {\n  border-radius: var(--dmx-radius);\n  overflow: hidden;\n  transition: box-shadow 0.25s;\n}\n.dmx-faq__item:has(.dmx-faq__q[aria-expanded=\"true\"]) {\n  box-shadow: var(--dmx-shadow);\n  border-color: rgba(30, 64, 175, 0.15);\n}\n\n@media (max-width: 1024px) {\n  .dmx-svc-hero__grid { grid-template-columns: 1fr; }\n  .dmx-svc-hero__visual-wrap { max-width: 520px; margin-inline: auto; }\n  .dmx-problem-v4 { grid-template-columns: 1fr; }\n  .dmx-timeline { grid-template-columns: 1fr 1fr; gap: 32px; }\n  .dmx-timeline::before { display: none; }\n  .dmx-includes-v4 { grid-template-columns: 1fr 1fr; }\n  .dmx-related-v4 { grid-template-columns: 1fr 1fr; }\n}\n@media (max-width: 768px) {\n  .dmx-timeline { grid-template-columns: 1fr; }\n  .dmx-includes-v4 { grid-template-columns: 1fr; }\n  .dmx-related-v4 { grid-template-columns: 1fr; }\n  .dmx-svc-hero__float { display: none; }\n  .dmx-mesh::before,\n  .dmx-mesh::after {\n    filter: blur(48px);\n    opacity: 0.65;\n  }\n  .dmx-mesh::before {\n    width: min(280px, 55vw);\n    height: min(280px, 55vw);\n    top: -60px;\n    right: -40px;\n  }\n  .dmx-mesh::after {\n    width: min(220px, 45vw);\n    height: min(220px, 45vw);\n    bottom: -50px;\n    left: -30px;\n  }\n  .dmx-hub-home-hero__visual::before {\n    inset: -8px;\n    transform: rotate(-2deg);\n  }\n  .dmx-hero__shape--1,\n  .dmx-hero__shape--2 {\n    opacity: 0.45;\n    transform: scale(0.65);\n  }\n  .dmx-hero__shape--1 {\n    top: -80px;\n    right: -40px;\n  }\n  .dmx-hero__shape--2 {\n    bottom: 5%;\n    left: -30px;\n  }\n  .dmx-problem-v4__card,\n  .dmx-portfolio-card,\n  .dmx-hub-svc-card {\n    min-width: 0;\n  }\n}\n\/* Diremex blog single \u2014 inspirado en layout DigeCo, colores Diremex *\/\n\n.dmx-blog-wrap {\n  --dmx-blog-accent: var(--dmx-blue, #1e40af);\n  --dmx-blog-accent-2: var(--dmx-red, #dc2626);\n  --dmx-blog-muted: #646464;\n  --dmx-blog-bg: #f8f8f8;\n  --dmx-blog-sidebar-bg: #fff;\n  font-family: var(--dmx-font, \"Poppins\", sans-serif);\n  color: var(--dmx-ink, #0f1d3a);\n  margin: 0 calc(-1 * var(--wp--style--root--padding-left, 0px));\n  width: calc(100% + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px));\n  max-width: none;\n}\n\n\/* Shell embebido en WP: full-bleed + offset del header fijo *\/\n.dmx-blog-shell {\n  --dmx-shell-pad-l: var(--wp--style--root--padding-left, 0px);\n  --dmx-shell-pad-r: var(--wp--style--root--padding-right, 0px);\n  margin-left: calc(-1 * var(--dmx-shell-pad-l));\n  margin-right: calc(-1 * var(--dmx-shell-pad-r));\n  width: calc(100% + var(--dmx-shell-pad-l) + var(--dmx-shell-pad-r));\n  max-width: none;\n  box-sizing: border-box;\n}\n.dmx-blog-shell .dmx-header {\n  position: fixed;\n  left: 0;\n  right: 0;\n  width: 100%;\n  z-index: 200;\n}\n.dmx-blog-shell .dmx-blog-wrap {\n  margin-left: 0;\n  margin-right: 0;\n  width: 100%;\n  padding-top: 0;\n}\n.dmx-blog-shell .dmx-blog-banner__inner {\n  padding: calc(var(--dmx-header-offset, 88px) + 8px) 24px clamp(32px, 5vw, 56px);\n}\n.dmx-blog-shell .dmx-footer {\n  display: block !important;\n  visibility: visible !important;\n  height: auto !important;\n  overflow: visible !important;\n  pointer-events: auto !important;\n}\n\n\/* Ocultar bloques del tema WP (refuerzo; el JS tambi\u00e9n los quita del DOM) *\/\nbody.dmx-blog-single main.wp-block-group,\n.single-post:has(.dmx-blog-shell) main.wp-block-group {\n  margin-top: 0 !important;\n}\nbody.dmx-blog-single main .wp-block-post-title,\nbody.dmx-blog-single main .wp-block-group.has-small-font-size,\nbody.dmx-blog-single main .wp-block-post-author-name,\nbody.dmx-blog-single main .wp-block-post-terms,\nbody.dmx-blog-single main .wp-block-query,\nbody.dmx-blog-single main .wp-block-post-template,\nbody.dmx-blog-single main nav[aria-label=\"Navegaci\u00f3n de entradas\"],\nbody.dmx-blog-single main .wp-block-post-navigation-link,\nbody.dmx-blog-single main .wp-block-group:has(.wp-block-query),\nbody.dmx-blog-single main .wp-block-group:has(nav[aria-label=\"Navegaci\u00f3n de entradas\"]),\nbody.dmx-blog-single footer.wp-block-template-part,\n.single-post:has(.dmx-blog-shell) .wp-block-post-title,\n.single-post:has(.dmx-blog-shell) .wp-block-post-featured-image,\n.single-post:has(.dmx-blog-shell) .wp-block-post-author-name,\n.single-post:has(.dmx-blog-shell) .wp-block-post-terms,\n.single-post:has(.dmx-blog-shell) main .wp-block-post-content ~ *,\n.single-post:has(.dmx-blog-shell) .entry-content > .wp-block-group,\n.single-post:has(.dmx-blog-shell) .wp-block-query,\n.single-post:has(.dmx-blog-shell) .wp-block-post-template,\n.single-post:has(.dmx-blog-shell) nav[aria-label=\"Navegaci\u00f3n de entradas\"],\n.single-post:has(.dmx-blog-shell) .wp-block-post-navigation-link,\n.single-post:has(.dmx-blog-shell) .wp-block-group:has(.wp-block-query),\n.single-post:has(.dmx-blog-shell) .wp-block-group:has(nav[aria-label=\"Navegaci\u00f3n de entradas\"]),\n.single-post:has(.dmx-blog-shell) footer.wp-block-template-part {\n  display: none !important;\n  visibility: hidden !important;\n  height: 0 !important;\n  overflow: hidden !important;\n  margin: 0 !important;\n  padding: 0 !important;\n  pointer-events: none !important;\n}\nbody.dmx-blog-single main > .wp-block-group:has(.entry-content) {\n  padding-top: 0 !important;\n  padding-bottom: 0 !important;\n}\n\n\/* \u2500\u2500 Banner \u2500\u2500 *\/\n.dmx-blog-banner {\n  position: relative;\n  background: var(--dmx-blog-bg);\n  overflow: hidden;\n  text-align: center;\n}\n.dmx-blog-banner::after {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(60deg, var(--dmx-blue) 0%, var(--dmx-red) 93%);\n  opacity: 0.92;\n  z-index: 0;\n}\n.dmx-blog-banner__shape {\n  position: absolute;\n  border-radius: 50%;\n  opacity: 0.12;\n  z-index: 0;\n  pointer-events: none;\n}\n.dmx-blog-banner__shape--1 {\n  width: 420px; height: 420px;\n  top: -120px; right: -80px;\n  background: radial-gradient(circle, #fff 0%, transparent 70%);\n}\n.dmx-blog-banner__shape--2 {\n  width: 280px; height: 280px;\n  bottom: -100px; left: -60px;\n  background: radial-gradient(circle, rgba(255,255,255,.4) 0%, transparent 70%);\n}\n.dmx-blog-banner__inner {\n  position: relative;\n  z-index: 1;\n  max-width: 900px;\n  margin: 0 auto;\n  padding: clamp(64px, 10vw, 120px) 24px;\n}\n.dmx-blog-breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  align-items: center;\n  gap: 6px 10px;\n  list-style: none;\n  margin: 0 0 20px;\n  padding: 0;\n  font-size: 0.875rem;\n}\n.dmx-blog-breadcrumb a {\n  color: rgba(255,255,255,.95);\n  text-decoration: none;\n}\n.dmx-blog-breadcrumb a:hover { color: #fff; }\n.dmx-blog-breadcrumb li:not(:last-child)::after {\n  content: \"\u203a\";\n  margin-left: 10px;\n  color: rgba(255,255,255,.6);\n}\n.dmx-blog-breadcrumb li[aria-current=\"page\"] {\n  color: rgba(255,255,255,.75);\n}\n.dmx-blog-banner__title {\n  margin: 0;\n  font-size: clamp(1.75rem, 4vw, 2.25rem);\n  line-height: 1.25;\n  font-weight: 700;\n  color: #fff;\n}\n\n\/* \u2500\u2500 Layout \u2500\u2500 *\/\n.dmx-blog-area {\n  background: #fff;\n  padding: clamp(48px, 6vw, 100px) 0;\n}\n.dmx-blog-grid {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) 340px;\n  gap: clamp(32px, 4vw, 48px);\n  max-width: 1200px;\n  margin: 0 auto;\n  padding: 0 clamp(20px, 4vw, 32px);\n}\n@media (max-width: 991px) {\n  .dmx-blog-grid { grid-template-columns: 1fr; }\n  .dmx-blog-sidebar { order: 2; }\n}\n\n\/* \u2500\u2500 Entry header \u2500\u2500 *\/\n.dmx-blog-entry-header { margin-bottom: 28px; }\n.dmx-blog-thumb {\n  margin: 0 0 24px;\n  border-radius: 8px;\n  overflow: hidden;\n  box-shadow: 0 8px 32px rgba(15,29,58,.08);\n}\n.dmx-blog-thumb img {\n  width: 100%;\n  max-height: 440px;\n  object-fit: cover;\n  display: block;\n}\n.dmx-blog-meta {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px 20px;\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  font-size: 0.875rem;\n  color: var(--dmx-blog-muted);\n}\n.dmx-blog-meta li {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n}\n.dmx-blog-meta svg {\n  width: 14px; height: 14px;\n  flex-shrink: 0;\n  color: var(--dmx-blog-accent);\n}\n.dmx-blog-meta a {\n  color: inherit;\n  text-decoration: none;\n}\n.dmx-blog-meta a:hover { color: var(--dmx-blog-accent); }\n\n\/* \u2500\u2500 Content \u2500\u2500 *\/\n.dmx-blog-entry-content {\n  font-size: 1rem;\n  line-height: 1.85;\n  color: var(--dmx-blog-muted);\n}\n.dmx-blog-entry-content h2 {\n  margin: 2rem 0 0.75rem;\n  font-size: clamp(1.25rem, 2vw, 1.625rem);\n  line-height: 1.35;\n  color: var(--dmx-ink);\n  font-weight: 600;\n}\n.dmx-blog-entry-content h3 {\n  margin: 1.5rem 0 0.5rem;\n  font-size: 1.125rem;\n  color: var(--dmx-ink);\n  font-weight: 600;\n}\n.dmx-blog-entry-content p { margin-bottom: 1rem; }\n.dmx-blog-entry-content ul,\n.dmx-blog-entry-content ol {\n  margin: 0 0 1.25rem 1.25rem;\n  padding: 0;\n}\n.dmx-blog-entry-content ol { list-style: none; counter-reset: dmx-ol; }\n.dmx-blog-entry-content ol li {\n  counter-increment: dmx-ol;\n  position: relative;\n  padding-left: 2rem;\n  margin-bottom: 0.5rem;\n}\n.dmx-blog-entry-content ol li::before {\n  content: counter(dmx-ol);\n  position: absolute;\n  left: 0; top: 2px;\n  width: 22px; height: 22px;\n  border-radius: 50%;\n  background: var(--dmx-blog-accent);\n  color: #fff;\n  font-size: 0.75rem;\n  font-weight: 600;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  line-height: 1;\n}\n.dmx-blog-entry-content blockquote {\n  margin: 1.75rem 0;\n  padding: 1.25rem 1.5rem 1.25rem 1.75rem;\n  border-left: 4px solid var(--dmx-blog-accent);\n  background: var(--dmx-bg-soft, #f4f6fb);\n  border-radius: 0 8px 8px 0;\n  font-style: italic;\n  color: var(--dmx-ink);\n}\n.dmx-blog-entry-content a {\n  color: var(--dmx-blog-accent);\n  text-decoration: underline;\n  text-underline-offset: 3px;\n}\n.dmx-blog-entry-content a:hover { color: var(--dmx-blog-accent-2); }\n.dmx-blog-entry-content strong { color: var(--dmx-ink); font-weight: 600; }\n\n\/* \u2500\u2500 CTA band \u2500\u2500 *\/\n.dmx-blog-cta {\n  margin: 2.5rem 0;\n  padding: 1.75rem 2rem;\n  border-radius: 8px;\n  background: linear-gradient(135deg, var(--dmx-bg-blue, #eef3ff) 0%, #fff 100%);\n  border: 1px solid var(--dmx-border, rgba(15,29,58,.08));\n}\n.dmx-blog-cta--final {\n  background: linear-gradient(135deg, var(--dmx-ink) 0%, #1e3a5f 100%);\n  border: none;\n  color: #fff;\n}\n.dmx-blog-cta--final h3,\n.dmx-blog-cta--final p { color: rgba(255,255,255,.92); }\n.dmx-blog-cta h3 {\n  margin: 0 0 0.5rem;\n  font-size: 1.25rem;\n  font-weight: 600;\n}\n.dmx-blog-cta p { margin: 0 0 1.25rem; }\n\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\n.dmx-blog-faq {\n  margin-top: 2.5rem;\n  padding-top: 2rem;\n  border-top: 1px solid var(--dmx-border);\n}\n.dmx-blog-faq__title {\n  margin: 0 0 1.25rem;\n  font-size: 1.375rem;\n  font-weight: 600;\n}\n.dmx-blog-faq .dmx-faq { max-width: none; }\n\n\/* \u2500\u2500 Footer tags \u2500\u2500 *\/\n.dmx-blog-entry-footer {\n  margin-top: 2rem;\n  padding-top: 1.5rem;\n  border-top: 1px solid var(--dmx-border);\n}\n.dmx-blog-tags {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 10px;\n}\n.dmx-blog-tags__label {\n  font-weight: 600;\n  font-size: 0.9375rem;\n  color: var(--dmx-ink);\n}\n.dmx-blog-tags a {\n  display: inline-block;\n  padding: 6px 14px;\n  border-radius: 999px;\n  background: var(--dmx-bg-soft);\n  color: var(--dmx-blog-muted);\n  font-size: 0.8125rem;\n  text-decoration: none;\n  transition: background .2s, color .2s;\n}\n.dmx-blog-tags a:hover {\n  background: var(--dmx-blog-accent);\n  color: #fff;\n}\n\n\/* \u2500\u2500 Related posts \u2500\u2500 *\/\n.dmx-blog-related {\n  margin-top: 3rem;\n  padding-top: 2rem;\n  border-top: 1px solid var(--dmx-border);\n}\n.dmx-blog-related__title {\n  margin: 0 0 1.5rem;\n  font-size: 1.375rem;\n  font-weight: 600;\n  position: relative;\n  padding-bottom: 12px;\n}\n.dmx-blog-related__title::after {\n  content: \"\";\n  position: absolute;\n  left: 0; bottom: 0;\n  width: 48px; height: 3px;\n  background: linear-gradient(90deg, var(--dmx-red), var(--dmx-blue));\n  border-radius: 2px;\n}\n.dmx-blog-related__grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 20px;\n}\n@media (max-width: 767px) {\n  .dmx-blog-related__grid { grid-template-columns: 1fr; }\n}\n.dmx-blog-related-card {\n  border-radius: 8px;\n  overflow: hidden;\n  background: #fff;\n  box-shadow: 0 4px 20px rgba(15,29,58,.06);\n  transition: transform .25s, box-shadow .25s;\n}\n.dmx-blog-related-card:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 12px 32px rgba(15,29,58,.1);\n}\n.dmx-blog-related-card__img {\n  aspect-ratio: 16\/10;\n  overflow: hidden;\n}\n.dmx-blog-related-card__img img {\n  width: 100%; height: 100%;\n  object-fit: cover;\n  transition: transform .35s;\n}\n.dmx-blog-related-card:hover .dmx-blog-related-card__img img {\n  transform: scale(1.05);\n}\n.dmx-blog-related-card__body { padding: 16px; }\n.dmx-blog-related-card__date {\n  font-size: 0.75rem;\n  color: var(--dmx-blog-muted);\n  margin-bottom: 6px;\n}\n.dmx-blog-related-card__title {\n  margin: 0;\n  font-size: 0.9375rem;\n  line-height: 1.4;\n  font-weight: 600;\n}\n.dmx-blog-related-card__title a {\n  color: var(--dmx-ink);\n  text-decoration: none;\n}\n.dmx-blog-related-card__title a:hover { color: var(--dmx-blog-accent); }\n\n\/* \u2500\u2500 Sidebar \u2500\u2500 *\/\n.dmx-blog-sidebar { display: flex; flex-direction: column; gap: 28px; }\n.dmx-blog-widget {\n  background: var(--dmx-blog-sidebar-bg);\n  border-radius: 8px;\n  padding: 0;\n}\n.dmx-blog-widget__title {\n  margin: 0 0 1rem;\n  padding: 12px 16px;\n  font-size: 1rem;\n  font-weight: 600;\n  color: #fff;\n  background: var(--dmx-blog-accent);\n  border-radius: 8px 8px 0 0;\n  position: relative;\n}\n.dmx-blog-widget__title span {\n  display: block;\n  width: 40px; height: 3px;\n  background: rgba(255,255,255,.5);\n  margin-top: 6px;\n  border-radius: 2px;\n}\n.dmx-blog-widget__body {\n  padding: 16px;\n  border: 1px solid var(--dmx-border);\n  border-top: none;\n  border-radius: 0 0 8px 8px;\n}\n\n\/* Search *\/\n.dmx-blog-search {\n  display: flex;\n  border: 1px solid var(--dmx-border);\n  border-radius: 6px;\n  overflow: hidden;\n}\n.dmx-blog-search input {\n  flex: 1;\n  border: none;\n  padding: 12px 14px;\n  font: inherit;\n  outline: none;\n}\n.dmx-blog-search button {\n  border: none;\n  background: linear-gradient(245deg, var(--dmx-blue), var(--dmx-red));\n  color: #fff;\n  padding: 0 16px;\n  cursor: pointer;\n}\n\n\/* Recent posts widget *\/\n.dmx-blog-recent { list-style: none; margin: 0; padding: 0; }\n.dmx-blog-recent li {\n  display: grid;\n  grid-template-columns: 72px 1fr;\n  gap: 12px;\n  padding: 12px 0;\n  border-bottom: 1px solid var(--dmx-border);\n}\n.dmx-blog-recent li:last-child { border-bottom: none; padding-bottom: 0; }\n.dmx-blog-recent li:first-child { padding-top: 0; }\n.dmx-blog-recent__thumb {\n  border-radius: 6px;\n  overflow: hidden;\n  aspect-ratio: 1;\n}\n.dmx-blog-recent__thumb img {\n  width: 100%; height: 100%;\n  object-fit: cover;\n}\n.dmx-blog-recent__title {\n  margin: 0 0 4px;\n  font-size: 0.875rem;\n  line-height: 1.35;\n  font-weight: 500;\n}\n.dmx-blog-recent__title a {\n  color: var(--dmx-ink);\n  text-decoration: none;\n}\n.dmx-blog-recent__title a:hover { color: var(--dmx-blog-accent); }\n.dmx-blog-recent__date { font-size: 0.75rem; color: var(--dmx-blog-muted); }\n\n\/* Categories *\/\n.dmx-blog-cats { list-style: none; margin: 0; padding: 0; }\n.dmx-blog-cats li {\n  position: relative;\n  padding: 8px 0 8px 18px;\n  border-bottom: 1px dashed var(--dmx-border);\n}\n.dmx-blog-cats li:last-child { border-bottom: none; }\n.dmx-blog-cats li::before {\n  content: \"\";\n  position: absolute;\n  left: 0; top: 50%;\n  transform: translateY(-50%);\n  width: 8px; height: 8px;\n  border-radius: 50%;\n  background: var(--dmx-blog-accent);\n}\n.dmx-blog-cats a {\n  color: var(--dmx-blog-muted);\n  text-decoration: none;\n  font-size: 0.9375rem;\n}\n.dmx-blog-cats a:hover { color: var(--dmx-blog-accent); }\n\n\/* Sidebar CTA *\/\n.dmx-blog-sidebar-cta {\n  padding: 1.5rem;\n  border-radius: 8px;\n  background: linear-gradient(135deg, var(--dmx-blue) 0%, #1e3a8a 100%);\n  color: #fff;\n  text-align: center;\n}\n.dmx-blog-sidebar-cta h4 {\n  margin: 0 0 0.5rem;\n  font-size: 1.0625rem;\n  color: #fff;\n}\n.dmx-blog-sidebar-cta p {\n  margin: 0 0 1rem;\n  font-size: 0.875rem;\n  opacity: 0.9;\n  line-height: 1.5;\n}\n.dmx-blog-sidebar-cta .dmx-btn {\n  width: 100%;\n  justify-content: center;\n}\n<\/style>\n<div class=\"dmx-blog-shell\">\n<header class=\"dmx-header\" role=\"banner\">\n  <div class=\"dmx-container dmx-header__inner\">\n    <a href=\"https:\/\/diremex.com.mx\/sitiosia\/\" class=\"dmx-logo\" aria-label=\"Diremex \u2014 Inicio\">\n      <img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/wp-content\/uploads\/2024\/04\/logo-diremex.png\" alt=\"Diremex\" width=\"160\" height=\"38\" fetchpriority=\"high\">\n    <\/a>\n    <nav class=\"dmx-nav\" aria-label=\"Principal\">\n      <div class=\"dmx-mega dmx-mega--tabs\" data-dmx-mega=\"servicios\">\n        <button type=\"button\" class=\"dmx-nav__trigger\" aria-expanded=\"false\" aria-controls=\"dmx-mega-servicios\">\n          Servicios<svg class=\"dmx-nav__chevron\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg>\n        <\/button>\n        <div class=\"dmx-mega__panel dmx-mega__panel--tabs\" id=\"dmx-mega-servicios\" hidden>\n          <div class=\"dmx-mega__inner dmx-mega__inner--tabs dmx-container\">\n            <div class=\"dmx-mega__tabs\" role=\"tablist\" aria-label=\"Servicios\">\n              <button type=\"button\" class=\"dmx-mega__tab is-active\" role=\"tab\" aria-selected=\"true\" aria-controls=\"dmx-tab-servicios-publicidad\" id=\"dmx-tabbtn-servicios-publicidad\" data-dmx-tab=\"publicidad\">Publicidad<\/button>\n              <button type=\"button\" class=\"dmx-mega__tab\" role=\"tab\" aria-selected=\"false\" aria-controls=\"dmx-tab-servicios-web\" id=\"dmx-tabbtn-servicios-web\" data-dmx-tab=\"web\">Web<\/button>\n              <button type=\"button\" class=\"dmx-mega__tab\" role=\"tab\" aria-selected=\"false\" aria-controls=\"dmx-tab-servicios-contenido\" id=\"dmx-tabbtn-servicios-contenido\" data-dmx-tab=\"contenido\">Contenido<\/button>\n            <\/div>\n            <div class=\"dmx-mega__tabpanels\">\n            <div class=\"dmx-mega__tabpanel is-active\" role=\"tabpanel\" id=\"dmx-tab-servicios-publicidad\" data-dmx-tabpanel=\"publicidad\">\n              <ul class=\"dmx-mega__list dmx-mega__list--tabs\">\n              <li>\n                <a href=\"https:\/\/diremex.com.mx\/sitiosia\/google-ads-saltillo\/\" class=\"dmx-mega__link\">\n                  <span class=\"dmx-mega__link-title\">Google Ads<\/span>\n                  <span class=\"dmx-mega__link-desc\">B\u00fasqueda y conversi\u00f3n<\/span>\n                <\/a>\n              <\/li>\n              <li>\n                <a href=\"https:\/\/diremex.com.mx\/sitiosia\/publicidad-facebook-instagram-meta-ads-saltillo\/\" class=\"dmx-mega__link\">\n                  <span class=\"dmx-mega__link-title\">Meta Ads<\/span>\n                  <span class=\"dmx-mega__link-desc\">Facebook e Instagram<\/span>\n                <\/a>\n              <\/li>\n              <li>\n                <a href=\"https:\/\/diremex.com.mx\/sitiosia\/servicio-estrategias-seo-saltillo-coahuila\/\" class=\"dmx-mega__link\">\n                  <span class=\"dmx-mega__link-title\">SEO Saltillo<\/span>\n                  <span class=\"dmx-mega__link-desc\">Posicionamiento org\u00e1nico<\/span>\n                <\/a>\n              <\/li>\n              <\/ul>\n            <\/div>\n            <div class=\"dmx-mega__tabpanel\" role=\"tabpanel\" id=\"dmx-tab-servicios-web\" data-dmx-tabpanel=\"web\" hidden>\n              <ul class=\"dmx-mega__list dmx-mega__list--tabs\">\n              <li>\n                <a href=\"https:\/\/diremex.com.mx\/sitiosia\/diseno-sitios-web-saltillo\/\" class=\"dmx-mega__link\">\n                  <span class=\"dmx-mega__link-title\">Dise\u00f1o de sitios web<\/span>\n                  <span class=\"dmx-mega__link-desc\">Sitios que venden<\/span>\n                <\/a>\n              <\/li>\n              <li>\n                <a href=\"https:\/\/diremex.com.mx\/sitiosia\/landing-pages-saltillo\/\" class=\"dmx-mega__link\">\n                  <span class=\"dmx-mega__link-title\">Landing pages<\/span>\n                  <span class=\"dmx-mega__link-desc\">Captaci\u00f3n de leads<\/span>\n                <\/a>\n              <\/li>\n              <li>\n                <a href=\"https:\/\/diremex.com.mx\/sitiosia\/tiendas-online-saltillo\/\" class=\"dmx-mega__link\">\n                  <span class=\"dmx-mega__link-title\">Tiendas online<\/span>\n                  <span class=\"dmx-mega__link-desc\">Ecommerce WooCommerce<\/span>\n                <\/a>\n              <\/li>\n              <\/ul>\n            <\/div>\n            <div class=\"dmx-mega__tabpanel\" role=\"tabpanel\" id=\"dmx-tab-servicios-contenido\" data-dmx-tabpanel=\"contenido\" hidden>\n              <ul class=\"dmx-mega__list dmx-mega__list--tabs\">\n              <li>\n                <a href=\"https:\/\/diremex.com.mx\/sitiosia\/creacion-contenido-redes-sociales-saltillo\/\" class=\"dmx-mega__link\">\n                  <span class=\"dmx-mega__link-title\">Redes sociales<\/span>\n                  <span class=\"dmx-mega__link-desc\">Calendario editorial<\/span>\n                <\/a>\n              <\/li>\n              <li>\n                <a href=\"https:\/\/diremex.com.mx\/sitiosia\/fotografia-video-publicitario-saltillo\/\" class=\"dmx-mega__link\">\n                  <span class=\"dmx-mega__link-title\">Foto y video<\/span>\n                  <span class=\"dmx-mega__link-desc\">Producci\u00f3n publicitaria<\/span>\n                <\/a>\n              <\/li>\n              <\/ul>\n            <\/div>\n            <\/div>\n            <div class=\"dmx-mega__cta dmx-mega__cta--inline\">\n              <a href=\"https:\/\/diremex.com.mx\/sitiosia\/diagnostico-digital\/\" class=\"dmx-link\">Diagn\u00f3stico digital gratuito \u2192<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"dmx-mega dmx-mega--compact\" data-dmx-mega=\"sectores\">\n        <button type=\"button\" class=\"dmx-nav__trigger\" aria-expanded=\"false\" aria-controls=\"dmx-mega-sectores\">\n          Sectores<svg class=\"dmx-nav__chevron\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg>\n        <\/button>\n        <div class=\"dmx-mega__panel dmx-mega__panel--compact\" id=\"dmx-mega-sectores\" hidden>\n          <div class=\"dmx-mega__inner dmx-mega__inner--compact\">\n            <ul class=\"dmx-mega__compact-list\">\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-industrial-saltillo\/\" class=\"dmx-mega__compact-link\">Marketing industrial<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-para-restaurantes-saltillo\/\" class=\"dmx-mega__compact-link\">Restaurantes<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-medico-saltillo\/\" class=\"dmx-mega__compact-link\">M\u00e9dicos y cl\u00ednicas<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-inmobiliario-saltillo\/\" class=\"dmx-mega__compact-link\">Inmobiliarias<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-pymes-saltillo\/\" class=\"dmx-mega__compact-link\">PyMEs y servicios<\/a><\/li>\n            <\/ul>\n\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"dmx-mega dmx-mega--compact\" data-dmx-mega=\"proyectos\">\n        <button type=\"button\" class=\"dmx-nav__trigger\" aria-expanded=\"false\" aria-controls=\"dmx-mega-proyectos\">\n          Proyectos<svg class=\"dmx-nav__chevron\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg>\n        <\/button>\n        <div class=\"dmx-mega__panel dmx-mega__panel--compact\" id=\"dmx-mega-proyectos\" hidden>\n          <div class=\"dmx-mega__inner dmx-mega__inner--compact\">\n            <ul class=\"dmx-mega__compact-list\">\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/portafolio\/\" class=\"dmx-mega__compact-link\">Portafolio<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/casos-de-exito\/\" class=\"dmx-mega__compact-link\">Casos de \u00e9xito<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/casos\/diseno-web-seo-empresa-industrial-saltillo\/\" class=\"dmx-mega__compact-link\">Caso IIEMCO industrial<\/a><\/li>\n            <\/ul>\n\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"dmx-mega dmx-mega--compact\" data-dmx-mega=\"recursos\">\n        <button type=\"button\" class=\"dmx-nav__trigger\" aria-expanded=\"false\" aria-controls=\"dmx-mega-recursos\">\n          Recursos<svg class=\"dmx-nav__chevron\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg>\n        <\/button>\n        <div class=\"dmx-mega__panel dmx-mega__panel--compact\" id=\"dmx-mega-recursos\" hidden>\n          <div class=\"dmx-mega__inner dmx-mega__inner--compact\">\n            <ul class=\"dmx-mega__compact-list\">\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\" class=\"dmx-mega__compact-link\">Hub de gu\u00edas<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/blog\/\" class=\"dmx-mega__compact-link\">Blog<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/seo-vs-google-ads-saltillo\/\" class=\"dmx-mega__compact-link\">SEO vs Google Ads<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/cuanto-cuesta-google-ads-saltillo\/\" class=\"dmx-mega__compact-link\">Costo de Google Ads<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/landing-page-vs-sitio-web-saltillo\/\" class=\"dmx-mega__compact-link\">Landing vs sitio web<\/a><\/li>\n            <\/ul>\n            <a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\" class=\"dmx-mega__compact-footer\">Ver todas las gu\u00edas \u2192<\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"dmx-mega dmx-mega--compact\" data-dmx-mega=\"empresa\">\n        <button type=\"button\" class=\"dmx-nav__trigger\" aria-expanded=\"false\" aria-controls=\"dmx-mega-empresa\">\n          Empresa<svg class=\"dmx-nav__chevron\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"\/><\/svg>\n        <\/button>\n        <div class=\"dmx-mega__panel dmx-mega__panel--compact\" id=\"dmx-mega-empresa\" hidden>\n          <div class=\"dmx-mega__inner dmx-mega__inner--compact\">\n            <ul class=\"dmx-mega__compact-list\">\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/agencia-de-publicidad-digital-saltillo\/\" class=\"dmx-mega__compact-link\">Agencia<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/nosotros\/\" class=\"dmx-mega__compact-link\">Nosotros<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/contacto\/\" class=\"dmx-mega__compact-link\">Contacto<\/a><\/li>\n              <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/diagnostico-digital\/\" class=\"dmx-mega__compact-link\">Diagn\u00f3stico gratuito<\/a><\/li>\n            <\/ul>\n\n          <\/div>\n        <\/div>\n      <\/div>\n      <button type=\"button\" class=\"dmx-btn dmx-btn--red\" data-wa-open data-wa-context=\"hero\">Solicitar diagn\u00f3stico<\/button>\n    <\/nav>\n    <button class=\"dmx-nav-toggle\" type=\"button\" aria-label=\"Abrir men\u00fa\" aria-expanded=\"false\">\n      <svg width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\"><path d=\"M4 6h16M4 12h16M4 18h16\"\/><\/svg>\n    <\/button>\n  <\/div>\n  <div class=\"dmx-mega-backdrop\" hidden aria-hidden=\"true\"><\/div>\n<\/header>\n<div class=\"dmx-blog-wrap\">\n<section class=\"dmx-blog-banner\" aria-label=\"Encabezado del art\u00edculo\">\n  <div class=\"dmx-blog-banner__shape dmx-blog-banner__shape--1\"><\/div>\n  <div class=\"dmx-blog-banner__shape dmx-blog-banner__shape--2\"><\/div>\n  <div class=\"dmx-blog-banner__inner\">\n    <ol class=\"dmx-blog-breadcrumb\">\n      <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/\">Inicio<\/a><\/li>\n      <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Blog<\/a><\/li>\n      <li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Marketing digital<\/a><\/li>\n      <li aria-current=\"page\">KPIs marketing digital | Qu\u00e9 medir en Saltillo<\/li>\n    <\/ol>\n    <h1 class=\"dmx-blog-banner__title\">KPIs de marketing digital: las m\u00e9tricas que un negocio deber\u00eda revisar antes de invertir m\u00e1s<\/h1>\n  <\/div>\n<\/section>\n<div class=\"dmx-blog-area\">\n  <div class=\"dmx-blog-grid\">\n    <main class=\"dmx-blog-main\">\n      <article>\n        <header class=\"dmx-blog-entry-header\">\n          <figure class=\"dmx-blog-thumb\"><img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/sitiosia\/wp-content\/uploads\/2026\/09\/kpis-marketing-digital-saltillo.jpg\" alt=\"KPIs y m\u00e9tricas de marketing digital para negocios en Saltillo\" loading=\"lazy\" width=\"1210\" height=\"660\"><\/figure>\n          <ul class=\"dmx-blog-meta\">\n            <li><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><path d=\"M16 2v4M8 2v4M3 10h18\"\/><\/svg> 1 de diciembre de 2026<\/li>\n            <li><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg> por <a href=\"https:\/\/diremex.com.mx\/sitiosia\/nosotros\/\">Diremex<\/a><\/li>\n            <li class=\"blog-cat\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\"><path d=\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\"\/><line x1=\"7\" y1=\"7\" x2=\"7.01\" y2=\"7\"\/><\/svg> <a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Marketing digital<\/a><\/li>\n          <\/ul>\n        <\/header>\n        <div class=\"dmx-blog-entry-content rt-single-content\">\n          <p>Antes de subir presupuesto en <strong>publicidad digital en Saltillo<\/strong>, define qu\u00e9 vas a medir. Seguidores y likes son vanidad si no se conectan con prospectos, cotizaciones y ventas. Muchos negocios invierten en Meta o Google Ads, miran impresiones crecientes y no saben si la campa\u00f1a gener\u00f3 un solo cliente \u2014 porque nunca configuraron conversiones ni cruzaron datos con ventas reales.<\/p>\n<p>Esta gu\u00eda ordena los KPIs que importan para PyMEs en Coahuila: qu\u00e9 significan, cu\u00e1ndo preocuparse y qu\u00e9 acci\u00f3n tomar. Sin promesas de resultados garantizados \u2014 con disciplina de medici\u00f3n que evita quemar presupuesto a ciegas.<\/p>\n<!-- IMAGEN: Dashboard ejecutivo ficticio sin resultados inventados Diremex | Ubicaci\u00f3n: Tras intro | Archivo: dashboard-kpis-marketing-saltillo.webp | ALT: Dashboard de KPIs de marketing digital para negocios | Prompt: Pantalla dashboard m\u00e9tricas gen\u00e9ricas sin logos reales, estilo ejecutivo limpio, 16:9 -->\n<h2>El problema de medir solo seguidores y likes<\/h2>\n<p>Un reel viral no paga n\u00f3mina. Un post con cientos de likes no confirma que alguien pidi\u00f3 cotizaci\u00f3n. Las m\u00e9tricas de vanidad \u2014 seguidores, impresiones gen\u00e9ricas, engagement sin contexto \u2014 pueden subir mientras ventas se estancan.<\/p>\n<p>Las m\u00e9tricas \u00fatiles responden preguntas de negocio:<\/p>\n<ul>\n<li>\u00bfCu\u00e1nto cuesta conseguir un prospecto calificado?<\/li>\n<li>\u00bfCu\u00e1ntos de esos prospectos cierran venta?<\/li>\n<li>\u00bfCu\u00e1nto vale un cliente en su relaci\u00f3n total con tu empresa?<\/li>\n<li>\u00bfQu\u00e9 canal trae clientes rentables y cu\u00e1l solo trae curiosos?<\/li>\n<\/ul>\n<p>Sin esas respuestas, cada decisi\u00f3n de presupuesto es intuici\u00f3n. En mercados competitivos como Saltillo \u2014 industria, servicios profesionales, retail \u2014 la intuici\u00f3n sin datos agota recursos r\u00e1pido.<\/p>\n<h3>Vanidad vs acci\u00f3n<\/h3>\n<p><strong>Vanidad:<\/strong> seguidores totales, likes por post, impresiones sin clic, alcance sin conversi\u00f3n.<\/p>\n<p><strong>Acci\u00f3n:<\/strong> clics a web, formularios enviados, llamadas desde anuncio, chats calificados, ventas atribuidas, costo por lead, tasa de cierre.<\/p>\n<p>Publica en redes para visibilidad, pero mide conversiones en destino (web, WhatsApp con etiqueta, formulario). Si no hay destino medible, no hay KPI \u00fatil.<\/p>\n<h2>M\u00e9tricas de alcance y clic<\/h2>\n<p>Son la primera capa del embudo: \u00bftu mensaje llega? \u00bfgenera inter\u00e9s suficiente para un clic?<\/p>\n<h3>Alcance e impresiones<\/h3>\n<p><strong>Alcance:<\/strong> personas \u00fanicas que vieron tu anuncio o publicaci\u00f3n.<\/p>\n<p><strong>Impresiones:<\/strong> veces totales que se mostr\u00f3 el anuncio (una persona puede generar varias impresiones).<\/p>\n<p>Alcance alto con clics bajos indica mensaje o segmentaci\u00f3n d\u00e9bil. Impresiones alt\u00edsimas con alcance bajo sugiere fatiga: est\u00e1s mostrando demasiadas veces al mismo grupo.<\/p>\n<h3>CTR (Click-Through Rate)<\/h3>\n<p>Porcentaje de personas que hicieron clic respecto a impresiones. CTR bajo en <a href=\"https:\/\/diremex.com.mx\/sitiosia\/google-ads-saltillo\/\">Google Ads<\/a> puede indicar anuncio poco relevante para la b\u00fasqueda. CTR bajo en Meta puede indicar creativo d\u00e9bil o audiencia incorrecta.<\/p>\n<p>Acci\u00f3n: prueba variaciones de titular, imagen y llamada a la acci\u00f3n. Compara CTR entre audiencias y placements.<\/p>\n<h3>CPC (Costo por clic)<\/h3>\n<p>Cu\u00e1nto pagas por cada visita a tu sitio o landing. \u00datil para comparar keywords, creativos o campa\u00f1as entre s\u00ed. CPC alto no es malo per se si el lead convierte bien \u2014 CPC bajo tampoco es bueno si nadie compra despu\u00e9s.<\/p>\n<h2>M\u00e9tricas de conversi\u00f3n y costo<\/h2>\n<p>Aqu\u00ed el marketing se conecta con ventas. Sin conversi\u00f3n definida, optimizas a ciegas.<\/p>\n<h3>Conversiones<\/h3>\n<p>Acciones valiosas: formulario de contacto, llamada telef\u00f3nica, chat iniciado, descarga de cotizaci\u00f3n, compra online. Define una conversi\u00f3n primaria por campa\u00f1a y config\u00farala en la plataforma (Google, Meta) y en Google Analytics 4.<\/p>\n<h3>CPL (Costo por lead)<\/h3>\n<p>Inversi\u00f3n en marketing \u00f7 n\u00famero de leads en el periodo. Ejemplo ficticio: $3,000 invertidos \u00f7 15 leads = $200 CPL. Compara CPL entre canales y contra tu margen comercial. Un CPL de $200 es excelente si cierras ventas de $50,000; es inviable si vendes productos de $300 con margen estrecho.<\/p>\n<h3>Tasa de conversi\u00f3n<\/h3>\n<p>Leads \u00f7 visitas (o ventas \u00f7 visitas en ecommerce). Ejemplo ficticio: 500 visitas, 10 leads = 2%. Tasa baja con tr\u00e1fico cualificado sugiere problema en landing \u2014 no necesariamente en ads.<\/p>\n<h3>ROAS (Return on Ad Spend)<\/h3>\n<p>Ingresos atribuidos a ads \u00f7 gasto en ads. Ejemplo ficticio: $10,000 ventas \u00f7 $2,000 ads = ROAS 5. Interpreta seg\u00fan margen: ROAS 3 puede ser excelente en servicios de alto ticket y malo en producto de bajo margen.<\/p>\n<h3>CPA (Costo por adquisici\u00f3n)<\/h3>\n<p>Similar al CAC pero a nivel campa\u00f1a: cu\u00e1nto cuesta conseguir una venta o cliente a trav\u00e9s de un canal espec\u00edfico. \u00datil para decidir d\u00f3nde escalar presupuesto.<\/p>\n<h2>M\u00e9tricas comerciales: CAC, ticket, LTV<\/h2>\n<p>El marketing no termina en el lead. Ventas y operaci\u00f3n completan la ecuaci\u00f3n.<\/p>\n<h3>CAC (Costo de adquisici\u00f3n de cliente)<\/h3>\n<p>Marketing total (ads + agencia + herramientas + contenido atribuible) \u00f7 clientes nuevos en el periodo. Incluye todos los canales, no solo uno. Si CAC supera el margen del primer pedido, necesitas mejor tasa de cierre, mayor ticket o recurrencia.<\/p>\n<h3>Ticket promedio<\/h3>\n<p>Ingreso total \u00f7 n\u00famero de ventas. Subir ticket mediante upsell o bundling mejora ROAS sin bajar CPL. En B2B industrial de Saltillo, un solo contrato anual puede justificar CPL alto si ticket lo soporta.<\/p>\n<h3>Valor del cliente (LTV)<\/h3>\n<p>Cu\u00e1nto aporta un cliente en toda su relaci\u00f3n con tu negocio \u2014 compras repetidas, contratos de mantenimiento, referidos. Cr\u00edtico en negocios recurrentes: gimnasios, suscripciones, servicios de limpieza industrial, refacciones. LTV alto permite CPL m\u00e1s agresivo en captaci\u00f3n.<\/p>\n<h3>Tasa de cierre comercial<\/h3>\n<p>Leads calificados \u00f7 ventas cerradas. Si marketing entrega leads pero ventas cierra poco, el cuello de botella no es ads \u2014 es proceso comercial, precio o ti tiempos de respuesta. Medir solo CPL sin cierre es autoenga\u00f1arse.<\/p>\n<h2>Qu\u00e9 medir en Meta, Google, SEO, web y WhatsApp<\/h2>\n<p>Cada canal tiene KPIs prioritarios. No compares impresiones de Meta con posiciones de SEO \u2014 compara conversiones y costo por resultado.<\/p>\n<h3>Meta Ads<\/h3>\n<ul>\n<li>CPL y costo por conversi\u00f3n<\/li>\n<li>Frecuencia (evitar saturaci\u00f3n)<\/li>\n<li>CTR por creativo<\/li>\n<li>Conversiones en landing o eventos de mensaje<\/li>\n<li>ROAS si vendes directo online<\/li>\n<\/ul>\n<h3>Google Ads<\/h3>\n<ul>\n<li>CPC por keyword y campa\u00f1a<\/li>\n<li>Calidad de keywords (search terms report)<\/li>\n<li>Conversiones de llamada, formulario, compra<\/li>\n<li>Impresiones perdidas por presupuesto o ranking<\/li>\n<\/ul>\n<h3>SEO<\/h3>\n<ul>\n<li>Posiciones en keywords objetivo (local + servicio)<\/li>\n<li>Tr\u00e1fico org\u00e1nico y p\u00e1ginas de entrada<\/li>\n<li>Conversiones org\u00e1nicas (formularios, llamadas)<\/li>\n<li>Impresiones y CTR en Google Search Console<\/li>\n<\/ul>\n<p>SEO compite con <a href=\"https:\/\/diremex.com.mx\/sitiosia\/seo-vs-google-ads-saltillo\/\">Google Ads<\/a> en algunas keywords \u2014 mide cu\u00e1l trae leads m\u00e1s baratos a largo plazo, no solo cu\u00e1l trae tr\u00e1fico r\u00e1pido.<\/p>\n<h3>Web<\/h3>\n<ul>\n<li>Tasa de rebote en p\u00e1ginas clave<\/li>\n<li>P\u00e1ginas por sesi\u00f3n y tiempo en sitio<\/li>\n<li>Eventos: clic en tel\u00e9fono, env\u00edo de formulario, scroll en landing<\/li>\n<li>Velocidad de carga en m\u00f3vil<\/li>\n<\/ul>\n<h3>WhatsApp<\/h3>\n<ul>\n<li>Tiempo de primera respuesta<\/li>\n<li>Tasa de cotizaci\u00f3n enviada vs consultas recibidas<\/li>\n<li>Cierres atribuidos (pregunta origen en ventas)<\/li>\n<\/ul>\n<p>WhatsApp es canal de cierre en muchos negocios saltillenses \u2014 si no mides respuesta y cierre, pierdes visibilidad de la mitad del embudo.<\/p>\n<table><thead><tr><th>M\u00e9trica<\/th><th>Qu\u00e9 significa<\/th><th>Cu\u00e1ndo preocuparse<\/th><th>Acci\u00f3n<\/th><\/tr><\/thead><tbody>\n<tr><td>CTR bajo<\/td><td>Anuncio poco atractivo o irrelevante<\/td><td>Consistente bajo benchmark del sector<\/td><td>Probar creativos, copy y audiencias<\/td><\/tr>\n<tr><td>CPL alto<\/td><td>Lead caro para tu margen<\/td><td>Sin ventas que lo justifiquen<\/td><td>Optimizar landing, segmentaci\u00f3n y oferta<\/td><\/tr>\n<tr><td>Conversiones cero<\/td><td>Roto post-clic<\/td><td>Con tr\u00e1fico pagado activo<\/td><td>Auditar landing, CTA, formulario y tracking<\/td><\/tr>\n<tr><td>Frecuencia alta<\/td><td>Misma persona ve anuncio muchas veces<\/td><td>Sube sin mejorar conversiones<\/td><td>Ampliar audiencia o refrescar creativos<\/td><\/tr>\n<tr><td>Rebote alto<\/td><td>Visitante sale sin interactuar<\/td><td>En landing de campa\u00f1a<\/td><td>Alinear mensaje ad con contenido p\u00e1gina<\/td><\/tr>\n<\/tbody><\/table>\n<h2>Tablero ejecutivo simple<\/h2>\n<p>No necesitas software enterprise para empezar. Un Google Sheet o Looker Studio conectado a Analytics y exportaciones de ads basta para muchas PyMEs.<\/p>\n<h3>Columnas m\u00ednimas del tablero<\/h3>\n<ul>\n<li>Periodo (semana o quincena)<\/li>\n<li>Inversi\u00f3n por canal (Google, Meta, otros)<\/li>\n<li>Leads o conversiones por canal<\/li>\n<li>CPL por canal<\/li>\n<li>Ventas cerradas atribuidas (registro manual cruzado con ventas)<\/li>\n<li>CAC global del periodo<\/li>\n<li>ROAS donde aplique<\/li>\n<\/ul>\n<h3>Ritmo de revisi\u00f3n<\/h3>\n<p>Revisi\u00f3n quincenal con responsable de marketing y ventas \u2014 no solo cuando \u00absobra presupuesto\u00bb o cuando \u00abno hay resultados\u00bb. Comparen tendencia, no solo snapshot. Un mal mes no cancela un canal; tres meses de CPL creciente sin ajuste s\u00ed exige acci\u00f3n.<\/p>\n<h3>Atribuci\u00f3n honesta<\/h3>\n<p>Pregunta en ventas: \u00ab\u00bfC\u00f3mo nos encontr\u00f3?\u00bb Usa UTM en campa\u00f1as. Cruza CRM o hoja de seguimiento con plataformas. Ning\u00fan modelo de atribuci\u00f3n es perfecto; la disciplina de registro supera la herramienta m\u00e1s cara mal usada.<\/p>\n<h3>Ejemplos por sector (sin datos inventados de clientes)<\/h3>\n<p><strong>Restaurante:<\/strong> mide reservas o pedidos desde Google Maps, clics en men\u00fa desde ads, costo por reserva en campa\u00f1as locales.<\/p>\n<p><strong>Despacho profesional:<\/strong> mide formularios de consulta, llamadas, CPL y tasa de cierre a contrato.<\/p>\n<p><strong>Ecommerce:<\/strong> mide ROAS, ticket promedio, tasa de carrito abandonado, productos m\u00e1s vendidos por canal.<\/p>\n<p><strong>Industria B2B:<\/strong> mide solicitudes de cotizaci\u00f3n, tiempo de respuesta comercial, valor de pipeline \u2014 no ventas impulsivas.<\/p>\n<h3>Errores comunes al medir marketing<\/h3>\n<ul>\n<li>Optimizar campa\u00f1a para clics en lugar de conversiones.<\/li>\n<li>Comparar resultados de un solo d\u00eda en lugar de tendencias semanales.<\/li>\n<li>No excluir tr\u00e1fico interno o bots en anal\u00edtica.<\/li>\n<li>Atribuir venta solo al \u00faltimo clic ignorando contactos previos.<\/li>\n<li>Cambiar estrategia cada semana sin datos suficientes.<\/li>\n<li>Contratar m\u00e1s ads cuando el problema es landing o ventas.<\/li>\n<\/ul>\n<h3>Benchmarks: c\u00f3mo interpretar sin obsesionarte<\/h3>\n<p>Existen rangos orientativos por industria para CTR, CPL o ROAS \u2014 var\u00edan por ticket, margen y competencia local. \u00dasalos como referencia, no como verdad absoluta. Lo que importa es tu tendencia: \u00bfCPL sube tres meses seguidos? \u00bfTasa de cierre mejor\u00f3 despu\u00e9s de cambiar landing? \u00bfSEO trae m\u00e1s leads este trimestre que el anterior?<\/p>\n<h3>KPIs por etapa del negocio<\/h3>\n<p><strong>Etapa inicial (validaci\u00f3n):<\/strong> costo por lead, volumen de consultas, calidad cualitativa de prospectos.<\/p>\n<p><strong>Etapa crecimiento:<\/strong> CAC, ROAS, tasa de cierre, canal con mejor CPL sostenido.<\/p>\n<p><strong>Etapa madurez:<\/strong> LTV, CAC payback period, mix de canales, dependencia de un solo origen de leads.<\/p>\n<h3>Reuni\u00f3n de revisi\u00f3n: agenda de 30 minutos<\/h3>\n<ol>\n<li>Inversi\u00f3n total vs presupuesto planeado.<\/li>\n<li>Leads y CPL por canal.<\/li>\n<li>Conversiones en web: formularios, llamadas, compras.<\/li>\n<li>Feedback de ventas sobre calidad de leads.<\/li>\n<li>Una decisi\u00f3n concreta: pausar, escalar, probar creativo, arreglar landing.<\/li>\n<\/ol>\n<h3>Conclusi\u00f3n<\/h3>\n<p>Si no sabes qu\u00e9 pasa despu\u00e9s del clic, administras publicidad con informaci\u00f3n incompleta. Antes de escalar inversi\u00f3n en <a href=\"https:\/\/diremex.com.mx\/sitiosia\/publicidad-facebook-instagram-meta-ads-saltillo\/\">Meta Ads<\/a> o Google, asegura tracking, define conversiones y construye tablero simple.<\/p>\n<p>Puedes solicitar un <a href=\"https:\/\/diremex.com.mx\/sitiosia\/diagnostico-digital\/\">diagn\u00f3stico de medici\u00f3n<\/a> o revisar c\u00f3mo integramos KPIs en estrategias de <a href=\"https:\/\/diremex.com.mx\/sitiosia\/\">marketing digital para empresas<\/a>. Medir no garantiza \u00e9xito \u2014 pero no medir garantiza repetir errores costosos.<\/p>\n<h3>Plantilla semanal de seguimiento<\/h3>\n<p>Registra cada lunes: gasto acumulado del mes, leads totales, CPL promedio, ventas cerradas reportadas por equipo comercial, notas cualitativas (\u00ableads de Google m\u00e1s calificados que Meta esta semana\u00bb). Cinco minutos de registro semanal evitan sorpresas al cierre del mes.<\/p>\n<h3>Cu\u00e1ndo pausar una campa\u00f1a<\/h3>\n<p>Pausa si conversiones son cero con tr\u00e1fico significativo y landing verificada \u2014 algo est\u00e1 roto. Pausa si CPL duplica tu umbral sostenible tres semanas consecutivas sin mejora tras ajustes. No pauses por un mal d\u00eda: las plataformas fluct\u00faan. Decide con tendencia, no con p\u00e1nico.<\/p>\n<h3>Conectar marketing con finanzas<\/h3>\n<p>Marketing debe hablar con contabilidad: \u00bfcu\u00e1nto vendiste este mes atribuible a digital? \u00bfCu\u00e1nto cost\u00f3? \u00bfMargen neto despu\u00e9s de CAC? Sin ese cruce, optimizas CPL pero pierdes dinero en producto o servicio mal cotizado. KPIs de marketing sin contexto financiero son incompletos.<\/p>\n<p>Empieza simple: una hoja, cinco columnas, revisi\u00f3n quincenal. La sofisticaci\u00f3n llega cuando la disciplina b\u00e1sica ya es h\u00e1bito.<\/p>\n<h3>Roles: qui\u00e9n mide qu\u00e9<\/h3>\n<p>Marketing reporta CPL, tr\u00e1fico y conversiones en plataforma. Ventas reporta calidad de lead y cierres. Direcci\u00f3n revisa CAC y margen. Sin responsables claros, cada quien mira m\u00e9tricas distintas y la reuni\u00f3n termina en opiniones. Define un due\u00f1o del tablero y un ritual de revisi\u00f3n compartido.<\/p>\n<h3>Se\u00f1ales de salud del embudo digital<\/h3>\n<p>Tr\u00e1fico crece y conversiones tambi\u00e9n: escala con cautela. Tr\u00e1fico crece, conversiones planas: arregla landing o propuesta. Tr\u00e1fico cae, conversiones estables: diversifica fuentes. CPL sube, cierre mejora: puede ser calidad superior \u2014 valida con ventas antes de recortar presupuesto.<\/p>\n<p>En Saltillo, muchos negocios compiten por el mismo cliente local. Medir bien no te garantiza ganar \u2014 pero te permite aprender m\u00e1s r\u00e1pido que quien sigue invirtiendo sin saber qu\u00e9 funciona.<\/p>\n        <\/div>\n        <aside class=\"dmx-blog-cta\">\n  <h3>Si no sabes qu\u00e9 pasa despu\u00e9s del clic<\/h3>\n  <p>Est\u00e1s administrando publicidad con informaci\u00f3n incompleta. Revisemos medici\u00f3n en Saltillo.<\/p>\n  <a class=\"dmx-btn dmx-btn--blue\" href=\"https:\/\/diremex.com.mx\/sitiosia\/diagnostico-digital\/\">Solicitar diagn\u00f3stico de medici\u00f3n<span class=\"dmx-btn__arrow\" aria-hidden=\"true\">\u2192<\/span><\/a>\n<\/aside>\n        <section class=\"dmx-blog-faq\">\n  <h2 class=\"dmx-blog-faq__title\">Preguntas frecuentes<\/h2>\n  <div class=\"dmx-faq\"><div class=\"dmx-faq__item\">\n  <button type=\"button\" class=\"dmx-faq__q\" aria-expanded=\"false\">\u00bfCu\u00e1l es el KPI m\u00e1s importante?<span class=\"dmx-faq__icon\" aria-hidden=\"true\">+<\/span><\/button>\n  <div class=\"dmx-faq__a\"><div class=\"dmx-faq__a-inner\"><p>Depende del objetivo. Para captaci\u00f3n suele ser CPL y tasa de cierre comercial. Para ecommerce, ROAS y valor de pedido.<\/p><\/div><\/div>\n<\/div>\n<div class=\"dmx-faq__item\">\n  <button type=\"button\" class=\"dmx-faq__q\" aria-expanded=\"false\">\u00bfROAS bueno para PyME en Saltillo?<span class=\"dmx-faq__icon\" aria-hidden=\"true\">+<\/span><\/button>\n  <div class=\"dmx-faq__a\"><div class=\"dmx-faq__a-inner\"><p>Var\u00eda por margen. Un ROAS 3 puede ser excelente en servicios de alto ticket y malo en producto de bajo margen. Contextualiza con tu negocio.<\/p><\/div><\/div>\n<\/div>\n<div class=\"dmx-faq__item\">\n  <button type=\"button\" class=\"dmx-faq__q\" aria-expanded=\"false\">\u00bfC\u00f3mo atribuyo ventas a marketing?<span class=\"dmx-faq__icon\" aria-hidden=\"true\">+<\/span><\/button>\n  <div class=\"dmx-faq__a\"><div class=\"dmx-faq__a-inner\"><p>Pregunta en ventas origen del contacto, usa UTM en campa\u00f1as, cruce con CRM y revisa conversiones en plataforma.<\/p><\/div><\/div>\n<\/div>\n<div class=\"dmx-faq__item\">\n  <button type=\"button\" class=\"dmx-faq__q\" aria-expanded=\"false\">\u00bfNecesito herramientas caras?<span class=\"dmx-faq__icon\" aria-hidden=\"true\">+<\/span><\/button>\n  <div class=\"dmx-faq__a\"><div class=\"dmx-faq__a-inner\"><p>No al inicio. Analytics, hoja de c\u00e1lculo y disciplina de registro bastan para muchas PyMEs.<\/p><\/div><\/div>\n<\/div>\n<div class=\"dmx-faq__item\">\n  <button type=\"button\" class=\"dmx-faq__q\" aria-expanded=\"false\">\u00bfCada cu\u00e1nto revisar KPIs de marketing?<span class=\"dmx-faq__icon\" aria-hidden=\"true\">+<\/span><\/button>\n  <div class=\"dmx-faq__a\"><div class=\"dmx-faq__a-inner\"><p>Revisi\u00f3n quincenal para campa\u00f1as activas; mensual para SEO y tendencias. Evita microgestionar diariamente \u2014 las fluctuaciones normales distorsionan decisiones.<\/p><\/div><\/div>\n<\/div>\n<div class=\"dmx-faq__item\">\n  <button type=\"button\" class=\"dmx-faq__q\" aria-expanded=\"false\">\u00bfQu\u00e9 hago si marketing genera leads pero ventas no cierra?<span class=\"dmx-faq__icon\" aria-hidden=\"true\">+<\/span><\/button>\n  <div class=\"dmx-faq__a\"><div class=\"dmx-faq__a-inner\"><p>El cuello de botella es comercial: tiempos de respuesta, calificaci\u00f3n, precio o propuesta. Mide tasa de cierre antes de cortar presupuesto de ads.<\/p><\/div><\/div>\n<\/div><\/div>\n<\/section>\n        <footer class=\"dmx-blog-entry-footer\">\n  <div class=\"dmx-blog-tags\">\n    <span class=\"dmx-blog-tags__label\">Etiquetas:<\/span>\n    <a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">m\u00e9tricas marketing digital<\/a>\n<a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">KPIs publicidad digital<\/a>\n<a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">medir campa\u00f1as Saltillo<\/a>\n<a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">retorno publicidad<\/a>\n<a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">marketing para empresas<\/a>\n  <\/div>\n<\/footer>\n        <section class=\"dmx-blog-related\">\n  <h2 class=\"dmx-blog-related__title\">Art\u00edculos relacionados<\/h2>\n  <div class=\"dmx-blog-related__grid\"><article class=\"dmx-blog-related-card\">\n  <a href=\"https:\/\/diremex.com.mx\/sitiosia\/como-elegir-agencia-marketing-digital-saltillo\" class=\"dmx-blog-related-card__img\"><img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/sitiosia\/wp-content\/uploads\/2026\/09\/elegir-agencia-marketing-digital-saltillo.jpg\" alt=\"Empresario evaluando propuestas de agencia de marketing digital en Saltillo\" loading=\"lazy\" width=\"530\" height=\"330\"><\/a>\n  <div class=\"dmx-blog-related-card__body\">\n    <p class=\"dmx-blog-related-card__date\">15 de septiembre de 2026<\/p>\n    <h3 class=\"dmx-blog-related-card__title\"><a href=\"https:\/\/diremex.com.mx\/sitiosia\/como-elegir-agencia-marketing-digital-saltillo\">C\u00f3mo elegir agencia de marketing digital en Saltillo<\/a><\/h3>\n  <\/div>\n<\/article>\n<article class=\"dmx-blog-related-card\">\n  <a href=\"https:\/\/diremex.com.mx\/sitiosia\/cuanto-cuesta-agencia-publicidad-saltillo\" class=\"dmx-blog-related-card__img\"><img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/sitiosia\/wp-content\/uploads\/2026\/09\/cuanto-cuesta-agencia-publicidad-saltillo.jpg\" alt=\"Empresario revisando propuesta de agencia de publicidad en Saltillo\" loading=\"lazy\" width=\"530\" height=\"330\"><\/a>\n  <div class=\"dmx-blog-related-card__body\">\n    <p class=\"dmx-blog-related-card__date\">22 de septiembre de 2026<\/p>\n    <h3 class=\"dmx-blog-related-card__title\"><a href=\"https:\/\/diremex.com.mx\/sitiosia\/cuanto-cuesta-agencia-publicidad-saltillo\">Cu\u00e1nto cuesta una agencia de publicidad en Saltillo<\/a><\/h3>\n  <\/div>\n<\/article>\n<article class=\"dmx-blog-related-card\">\n  <a href=\"https:\/\/diremex.com.mx\/sitiosia\/que-hace-agencia-publicidad-saltillo\" class=\"dmx-blog-related-card__img\"><img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/sitiosia\/wp-content\/uploads\/2026\/09\/que-hace-agencia-publicidad-saltillo.jpg\" alt=\"Equipo de agencia de publicidad trabajando en Saltillo\" loading=\"lazy\" width=\"530\" height=\"330\"><\/a>\n  <div class=\"dmx-blog-related-card__body\">\n    <p class=\"dmx-blog-related-card__date\">27 de octubre de 2026<\/p>\n    <h3 class=\"dmx-blog-related-card__title\"><a href=\"https:\/\/diremex.com.mx\/sitiosia\/que-hace-agencia-publicidad-saltillo\">\u00bfQu\u00e9 hace una agencia de publicidad en Saltillo?<\/a><\/h3>\n  <\/div>\n<\/article><\/div>\n<\/section>\n        <aside class=\"dmx-blog-cta dmx-blog-cta--final\">\n  <h3>Marketing medido, no adivinado<\/h3>\n  <p>Estrategia digital con KPIs claros \u2014 Diremex Saltillo.<\/p>\n  <a class=\"dmx-btn dmx-btn--red\" href=\"https:\/\/diremex.com.mx\/sitiosia\/diagnostico-digital\/\">Hablar con Diremex<span class=\"dmx-btn__arrow\" aria-hidden=\"true\">\u2192<\/span><\/a>\n<\/aside>\n      <\/article>\n    <\/main>\n    <aside class=\"dmx-blog-sidebar\">\n  <div class=\"dmx-blog-widget\">\n    <h3 class=\"dmx-blog-widget__title\">Buscar<span><\/span><\/h3>\n    <div class=\"dmx-blog-widget__body\">\n      <form class=\"dmx-blog-search\" action=\"https:\/\/diremex.com.mx\/sitiosia\/\" method=\"get\" role=\"search\">\n        <input type=\"search\" name=\"s\" placeholder=\"Buscar en el sitio\u2026\" aria-label=\"Buscar\">\n        <button type=\"submit\" aria-label=\"Buscar\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.35-4.35\"\/><\/svg><\/button>\n      <\/form>\n    <\/div>\n  <\/div>\n  <div class=\"dmx-blog-widget\">\n    <h3 class=\"dmx-blog-widget__title\">Entradas recientes<span><\/span><\/h3>\n    <div class=\"dmx-blog-widget__body\">\n      <ul class=\"dmx-blog-recent\"><li>\n  <a href=\"https:\/\/diremex.com.mx\/sitiosia\/como-elegir-agencia-marketing-digital-saltillo\" class=\"dmx-blog-recent__thumb\"><img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/sitiosia\/wp-content\/uploads\/2026\/09\/elegir-agencia-marketing-digital-saltillo.jpg\" alt=\"Empresario evaluando propuestas de agencia de marketing digital en Saltillo\" loading=\"lazy\" width=\"72\" height=\"72\"><\/a>\n  <div>\n    <h4 class=\"dmx-blog-recent__title\"><a href=\"https:\/\/diremex.com.mx\/sitiosia\/como-elegir-agencia-marketing-digital-saltillo\">C\u00f3mo elegir agencia de marketing digital en Saltillo<\/a><\/h4>\n    <span class=\"dmx-blog-recent__date\">15 de septiembre de 2026<\/span>\n  <\/div>\n<\/li>\n<li>\n  <a href=\"https:\/\/diremex.com.mx\/sitiosia\/seo-saltillo-que-es-como-funciona\" class=\"dmx-blog-recent__thumb\"><img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/sitiosia\/wp-content\/uploads\/2026\/09\/seo-saltillo-posicionamiento-google.jpg\" alt=\"Dashboard de posicionamiento SEO para negocio local en Saltillo\" loading=\"lazy\" width=\"72\" height=\"72\"><\/a>\n  <div>\n    <h4 class=\"dmx-blog-recent__title\"><a href=\"https:\/\/diremex.com.mx\/sitiosia\/seo-saltillo-que-es-como-funciona\">SEO en Saltillo: qu\u00e9 es y c\u00f3mo funciona<\/a><\/h4>\n    <span class=\"dmx-blog-recent__date\">18 de septiembre de 2026<\/span>\n  <\/div>\n<\/li>\n<li>\n  <a href=\"https:\/\/diremex.com.mx\/sitiosia\/cuanto-cuesta-agencia-publicidad-saltillo\" class=\"dmx-blog-recent__thumb\"><img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/sitiosia\/wp-content\/uploads\/2026\/09\/cuanto-cuesta-agencia-publicidad-saltillo.jpg\" alt=\"Empresario revisando propuesta de agencia de publicidad en Saltillo\" loading=\"lazy\" width=\"72\" height=\"72\"><\/a>\n  <div>\n    <h4 class=\"dmx-blog-recent__title\"><a href=\"https:\/\/diremex.com.mx\/sitiosia\/cuanto-cuesta-agencia-publicidad-saltillo\">Cu\u00e1nto cuesta una agencia de publicidad en Saltillo<\/a><\/h4>\n    <span class=\"dmx-blog-recent__date\">22 de septiembre de 2026<\/span>\n  <\/div>\n<\/li>\n<li>\n  <a href=\"https:\/\/diremex.com.mx\/sitiosia\/como-aparecer-en-google-saltillo\" class=\"dmx-blog-recent__thumb\"><img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/sitiosia\/wp-content\/uploads\/2026\/09\/como-aparecer-google-saltillo-negocio.jpg\" alt=\"Resultados de Google mostrando negocios locales en Saltillo\" loading=\"lazy\" width=\"72\" height=\"72\"><\/a>\n  <div>\n    <h4 class=\"dmx-blog-recent__title\"><a href=\"https:\/\/diremex.com.mx\/sitiosia\/como-aparecer-en-google-saltillo\">C\u00f3mo aparecer en Google en Saltillo | Gu\u00eda pr\u00e1ctica<\/a><\/h4>\n    <span class=\"dmx-blog-recent__date\">25 de septiembre de 2026<\/span>\n  <\/div>\n<\/li>\n<li>\n  <a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-b2b-saltillo\" class=\"dmx-blog-recent__thumb\"><img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/sitiosia\/wp-content\/uploads\/2026\/09\/marketing-b2b-saltillo-industrial.jpg\" alt=\"Equipo industrial revisando estrategia de marketing B2B en Saltillo\" loading=\"lazy\" width=\"72\" height=\"72\"><\/a>\n  <div>\n    <h4 class=\"dmx-blog-recent__title\"><a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-b2b-saltillo\">Marketing B2B en Saltillo | Prospectos industriales<\/a><\/h4>\n    <span class=\"dmx-blog-recent__date\">29 de septiembre de 2026<\/span>\n  <\/div>\n<\/li><\/ul>\n    <\/div>\n  <\/div>\n  <div class=\"dmx-blog-widget\">\n    <h3 class=\"dmx-blog-widget__title\">Categor\u00edas<span><\/span><\/h3>\n    <div class=\"dmx-blog-widget__body\">\n      <ul class=\"dmx-blog-cats\"><li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Marketing digital<\/a><\/li>\n<li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Google Ads<\/a><\/li>\n<li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">SEO<\/a><\/li>\n<li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Dise\u00f1o web<\/a><\/li>\n<li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Marketing industrial<\/a><\/li>\n<li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Restaurantes<\/a><\/li>\n<li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Marketing m\u00e9dico<\/a><\/li>\n<li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Inmobiliario<\/a><\/li>\n<li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Negocios locales<\/a><\/li>\n<li><a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Conversi\u00f3n<\/a><\/li><\/ul>\n    <\/div>\n  <\/div>\n  <div class=\"dmx-blog-sidebar-cta\">\n    <h4>\u00bfNecesitas ayuda en Saltillo?<\/h4>\n    <p>Diagn\u00f3stico digital gratuito para tu negocio.<\/p>\n    <a class=\"dmx-btn dmx-btn--red\" href=\"https:\/\/diremex.com.mx\/sitiosia\/diagnostico-digital\/\">Solicitar diagn\u00f3stico<\/a>\n  <\/div>\n<\/aside>\n  <\/div>\n<\/div>\n<\/div>\n  <footer class=\"dmx-footer\" role=\"contentinfo\">\n    <div class=\"dmx-container dmx-footer__grid\">\n      <div class=\"dmx-footer__brand\">\n        <img decoding=\"async\" src=\"https:\/\/diremex.com.mx\/wp-content\/uploads\/2024\/04\/logo-diremex.png\" alt=\"Diremex\" width=\"140\" height=\"33\" loading=\"lazy\">\n        <p>Diremex \u2014 Agencia de publicidad y marketing digital en Saltillo, Coahuila, M\u00e9xico.<\/p>\n        <p style=\"margin-top: 12px; font-size: 0.8125rem; line-height: 1.8;\">\n          <strong>Diremex<\/strong><br>\n          <a href=\"tel:+528446105105\">844 610 5105<\/a> \u00b7 Saltillo<br>\n          <a href=\"tel:+528672847256\">867 284 7256<\/a> \u00b7 Nuevo Laredo<br>\n          <a href=\"mailto:mike@diremex.mx\">mike@diremex.mx<\/a>\n        <\/p>\n      <\/div>\n      <nav aria-label=\"Diremex\">\n        <p class=\"dmx-footer__label\">Diremex<\/p>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/agencia-de-publicidad-digital-saltillo\/\">Agencia de publicidad<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/nosotros\/\">Nosotros<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/portafolio\/\">Portafolio<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/casos-de-exito\/\">Casos de \u00e9xito<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Recursos<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/contacto\/\">Contacto<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/diagnostico-digital\/\">Diagn\u00f3stico digital<\/a>\n        <a href=\"https:\/\/diremex.mx\/aviso-de-privacidad\/\">Aviso de privacidad<\/a>\n      <\/nav>\n      <nav aria-label=\"Servicios\">\n        <p class=\"dmx-footer__label\">Servicios<\/p>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/google-ads-saltillo\/\">Google Ads<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/publicidad-facebook-instagram-meta-ads-saltillo\/\">Meta Ads<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/servicio-estrategias-seo-saltillo-coahuila\/\">SEO<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/diseno-sitios-web-saltillo\/\">Dise\u00f1o Web<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/landing-pages-saltillo\/\">Landing Pages<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/creacion-contenido-redes-sociales-saltillo\/\">Contenido<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/fotografia-video-publicitario-saltillo\/\">Foto y video<\/a>\n      <\/nav>\n      <nav aria-label=\"Soluciones\">\n        <p class=\"dmx-footer__label\">Soluciones<\/p>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-industrial-saltillo\/\">Marketing Industrial<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-para-restaurantes-saltillo\/\">Restaurantes<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-medico-saltillo\/\">M\u00e9dicos<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-inmobiliario-saltillo\/\">Inmobiliarias<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/marketing-pymes-saltillo\/\">PyMEs<\/a>\n      <\/nav>\n      <nav aria-label=\"Recursos\">\n        <p class=\"dmx-footer__label\">Recursos<\/p>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/blog\/\">Blog<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/recursos\/\">Gu\u00edas<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/seo-vs-google-ads-saltillo\/\">SEO vs Ads<\/a>\n        <a href=\"https:\/\/diremex.com.mx\/sitiosia\/como-aparecer-en-google-maps-saltillo\/\">Google Maps<\/a>\n      <\/nav>\n    <\/div>\n    <div class=\"dmx-container dmx-footer__legal\">\n      <a href=\"https:\/\/diremex.mx\/aviso-de-privacidad\/\">Aviso de Privacidad<\/a>\n      <span>\u00a9 2026 Diremex \u00b7 Saltillo, Coahuila<\/span>\n    <\/div>\n  <\/footer>\n<div class=\"dmx-wa-sticky\" id=\"dmx-wa-sticky\">\n  <button type=\"button\" class=\"dmx-wa-sticky__btn dmx-wa-sticky__btn--desktop\" data-wa-open data-wa-context=\"sticky\"><span aria-hidden=\"true\">\ud83d\udcac<\/span> \u00bfTienes un proyecto? Plat\u00edcanoslo<\/button>\n  <button type=\"button\" class=\"dmx-wa-sticky__btn dmx-wa-sticky__btn--mobile\" data-wa-open data-wa-context=\"sticky\">WhatsApp \u00b7 Diagn\u00f3stico<\/button>\n<\/div>\n<div class=\"dmx-wa-modal\" id=\"dmx-wa-modal\" hidden role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dmx-wa-title\">\n  <div class=\"dmx-wa-modal__backdrop\" data-wa-close><\/div>\n  <div class=\"dmx-wa-modal__panel\">\n    <button type=\"button\" class=\"dmx-wa-modal__close\" data-wa-close aria-label=\"Cerrar\">\u00d7<\/button>\n    <div data-wa-step=\"0\">\n      <h2 id=\"dmx-wa-title\" class=\"dmx-display dmx-h3\">\u00bfQu\u00e9 necesitas?<\/h2>\n      <div class=\"dmx-wa-modal__options\">\n        <button type=\"button\" data-wa-need=\"Publicidad Google Ads\">Google Ads<\/button>\n        <button type=\"button\" data-wa-need=\"Publicidad Meta Ads\">Meta Ads<\/button>\n        <button type=\"button\" data-wa-need=\"SEO \/ posicionamiento\">SEO<\/button>\n        <button type=\"button\" data-wa-need=\"Sitio web\">Sitio web<\/button>\n        <button type=\"button\" data-wa-need=\"Estrategia integral\">Estrategia integral<\/button>\n      <\/div>\n      <button type=\"button\" class=\"dmx-link dmx-wa-modal__skip\" data-wa-quick=\"hero\">Ir directo a WhatsApp<\/button>\n    <\/div>\n    <div data-wa-step=\"1\" hidden>\n      <h2 class=\"dmx-display dmx-h3\">\u00bfYa tienes p\u00e1gina web?<\/h2>\n      <div class=\"dmx-wa-modal__options dmx-wa-modal__options--row\">\n        <button type=\"button\" data-wa-has=\"S\u00ed\">S\u00ed<\/button>\n        <button type=\"button\" data-wa-has=\"No\">No<\/button>\n      <\/div>\n    <\/div>\n    <div data-wa-step=\"2\" hidden>\n      <h2 class=\"dmx-display dmx-h3\">\u00bfCu\u00e1l es tu principal objetivo?<\/h2>\n      <div class=\"dmx-wa-modal__options\">\n        <button type=\"button\" data-wa-goal=\"Aparecer en Google\">Aparecer en Google<\/button>\n        <button type=\"button\" data-wa-goal=\"Conseguir prospectos\">Conseguir prospectos<\/button>\n        <button type=\"button\" data-wa-goal=\"Vender en l\u00ednea\">Vender en l\u00ednea<\/button>\n        <button type=\"button\" data-wa-goal=\"Mejorar mi imagen\">Mejorar mi imagen<\/button>\n      <\/div>\n    <\/div>\n    <div data-wa-step=\"3\" hidden>\n      <h2 class=\"dmx-display dmx-h3\">Hablar con Diremex por WhatsApp<\/h2>\n      <pre class=\"dmx-wa-preview\" data-wa-preview aria-live=\"polite\"><\/pre>\n      <button type=\"button\" class=\"dmx-btn dmx-btn--wa dmx-btn--red\" data-wa-send style=\"width: 100%;\">Abrir WhatsApp \u2192<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n<\/div>\n<script>(function () {\n  'use strict';\n\n  var PHONE = '528446105105';\n\n  var CONTEXT_MSG = {\n    hero: 'Hola Diremex, vi su servicio de dise\u00f1o de sitios web en Saltillo. Quiero platicarles sobre mi proyecto.',\n    header: 'Hola Diremex, vi su servicio de dise\u00f1o de sitios web en Saltillo. Quiero platicarles sobre mi proyecto.',\n    portfolio: 'Hola Diremex, estuve viendo sus proyectos web y quiero algo similar para mi negocio.',\n    seo: 'Hola Diremex, me interesa posicionar mi negocio en Google en Saltillo.',\n    ecommerce: 'Hola Diremex, quiero cotizar una tienda online para vender mis productos.',\n    final: 'Hola Diremex, ya revis\u00e9 su propuesta de dise\u00f1o web y quiero saber qu\u00e9 recomendar\u00edan para mi negocio.',\n    sticky: 'Hola Diremex, quiero cotizar mi p\u00e1gina web.',\n    corporativo: 'Hola Diremex, necesito un sitio corporativo para mi empresa.',\n    landing: 'Hola Diremex, necesito una landing page para campa\u00f1as.',\n    tienda: 'Hola Diremex, quiero cotizar una tienda online WooCommerce.',\n    rediseno: 'Hola Diremex, ya tengo sitio web pero necesito redise\u00f1arlo.',\n    audit: 'Hola Diremex, me gustar\u00eda que revisaran mi sitio web actual sin costo.',\n    gads: 'Hola Diremex, quiero cotizar campa\u00f1as de Google Ads en Saltillo.',\n    meta: 'Hola Diremex, me interesa publicidad en Facebook e Instagram para mi negocio.',\n    contenido: 'Hola Diremex, necesito estrategia y creaci\u00f3n de contenido para redes sociales.',\n    foto: 'Hola Diremex, busco fotograf\u00eda y video publicitario para mi marca.',\n    industrial: 'Hola Diremex, necesito marketing digital B2B para mi empresa industrial.',\n    restaurantes: 'Hola Diremex, quiero marketing digital para mi restaurante en Saltillo.',\n    medico: 'Hola Diremex, busco marketing digital para mi consultorio o cl\u00ednica en Saltillo.',\n    inmobiliario: 'Hola Diremex, necesito marketing inmobiliario para generar prospectos en Saltillo.',\n    pymes: 'Hola Diremex, soy PyME en Saltillo y quiero publicidad digital con presupuesto controlado.',\n    diagnostico: 'Hola Diremex, quiero solicitar un diagn\u00f3stico digital gratuito para mi empresa.',\n    agencia: 'Hola Diremex. Estoy buscando una agencia de publicidad en Saltillo y quiero platicar sobre mi proyecto.'\n  };\n\n  var state = { need: '', hasWeb: '', goal: '', context: 'hero' };\n\n  var modal = document.getElementById('dmx-wa-modal');\n  var stepEls = modal ? modal.querySelectorAll('[data-wa-step]') : [];\n  var stickyBar = document.getElementById('dmx-wa-sticky');\n  var agendaSection = document.getElementById('agenda');\n\n  function encodeMsg(text) {\n    return encodeURIComponent(text);\n  }\n\n  function waUrl(text) {\n    return 'https:\/\/wa.me\/' + PHONE + '?text=' + encodeMsg(text);\n  }\n\n  function serviceLabel() {\n    var body = document.body;\n    return (body && body.dataset.dmxService) || 'marketing digital';\n  }\n\n  function buildQualifiedMessage() {\n    return [\n      'Hola Diremex.',\n      'Estoy buscando ' + (state.need || 'estrategia digital') + ',',\n      'ya tengo ' + (state.hasWeb === 'S\u00ed' ? 'sitio web' : state.hasWeb === 'No' ? 'sin sitio web' : 'sitio web por definir') + ',',\n      'y mi objetivo es ' + (state.goal || 'conseguir prospectos') + '.'\n    ].join(' ');\n  }\n\n  var PRESET_NEED = {\n    corporativo: 'Sitio corporativo',\n    landing: 'Landing page',\n    tienda: 'Tienda online',\n    ecommerce: 'Tienda online',\n    rediseno: 'Redise\u00f1ar mi p\u00e1gina'\n  };\n\n  function openModal(context) {\n    if (!modal) return;\n    var ctx = context || 'hero';\n    var preset = PRESET_NEED[ctx];\n    state = { need: preset || '', hasWeb: '', goal: '', context: ctx };\n    var startStep = preset ? 1 : 0;\n    goStep(startStep);\n    modal.hidden = false;\n    document.body.classList.add('dmx-wa-open');\n    var focusEl = modal.querySelector('[data-wa-step=\"' + startStep + '\"] button');\n    if (focusEl) focusEl.focus();\n  }\n\n  function closeModal() {\n    if (!modal) return;\n    modal.hidden = true;\n    document.body.classList.remove('dmx-wa-open');\n  }\n\n  function goStep(n) {\n    stepEls.forEach(function (el) {\n      el.hidden = parseInt(el.dataset.waStep, 10) !== n;\n    });\n  }\n\n  function track(eventName) {\n    if (typeof window.gtag === 'function') {\n      window.gtag('event', eventName, { send_to: 'default' });\n    }\n  }\n\n  document.querySelectorAll('[data-wa-open]').forEach(function (btn) {\n    btn.addEventListener('click', function (e) {\n      e.preventDefault();\n      var ctx = btn.getAttribute('data-wa-context') || 'hero';\n      track('whatsapp_' + ctx);\n      openModal(ctx);\n    });\n  });\n\n  if (modal) {\n    modal.querySelectorAll('[data-wa-close]').forEach(function (el) {\n      el.addEventListener('click', closeModal);\n    });\n\n    modal.addEventListener('click', function (e) {\n      if (e.target === modal.querySelector('.dmx-wa-modal__backdrop')) closeModal();\n    });\n\n    document.addEventListener('keydown', function (e) {\n      if (e.key === 'Escape' && !modal.hidden) closeModal();\n    });\n\n    modal.querySelectorAll('[data-wa-need]').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        state.need = btn.dataset.waNeed;\n        goStep(1);\n      });\n    });\n\n    modal.querySelectorAll('[data-wa-has]').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        state.hasWeb = btn.dataset.waHas;\n        goStep(2);\n      });\n    });\n\n    modal.querySelectorAll('[data-wa-goal]').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        state.goal = btn.dataset.waGoal;\n        goStep(3);\n        var preview = modal.querySelector('[data-wa-preview]');\n        if (preview) preview.textContent = buildQualifiedMessage();\n      });\n    });\n\n    var sendBtn = modal.querySelector('[data-wa-send]');\n    if (sendBtn) {\n      sendBtn.addEventListener('click', function () {\n        track('whatsapp_qualified_' + state.context);\n        window.open(waUrl(buildQualifiedMessage()), '_blank', 'noopener,noreferrer');\n        closeModal();\n      });\n    }\n\n    modal.querySelectorAll('[data-wa-quick]').forEach(function (link) {\n      link.addEventListener('click', function (e) {\n        e.preventDefault();\n        var ctx = link.dataset.waQuick || 'hero';\n        var msg = CONTEXT_MSG[ctx] || CONTEXT_MSG.hero;\n        track('whatsapp_quick_' + ctx);\n        window.open(waUrl(msg), '_blank', 'noopener,noreferrer');\n        closeModal();\n      });\n    });\n  }\n\n  if (stickyBar && agendaSection) {\n    var stickyObs = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        stickyBar.classList.toggle('is-hidden', entry.isIntersecting);\n      });\n    }, { threshold: 0.15 });\n    stickyObs.observe(agendaSection);\n  }\n\n  window.DmxWhatsApp = {\n    url: waUrl,\n    open: openModal,\n    messages: CONTEXT_MSG\n  };\n})();\n<\/script>\n<script>(function () {\n  'use strict';\n\n  var header = document.querySelector('.dmx-header');\n  var navToggle = document.querySelector('.dmx-nav-toggle');\n  var nav = document.querySelector('.dmx-nav');\n  var megaBackdrop = document.querySelector('.dmx-mega-backdrop');\n  var filterBtns = document.querySelectorAll('.dmx-filter');\n  var portfolioCards = document.querySelectorAll('.dmx-portfolio-card');\n  var timelineSteps = document.querySelectorAll('.dmx-process__step');\n  var faqItems = document.querySelectorAll('.dmx-faq__item');\n  var reveals = document.querySelectorAll('.dmx-reveal');\n\n  if (header) {\n    window.addEventListener('scroll', function () {\n      header.classList.toggle('dmx-header--scrolled', window.scrollY > 40);\n    }, { passive: true });\n  }\n\n  function closeMegaMenus() {\n    document.querySelectorAll('.dmx-nav__trigger[aria-expanded=\"true\"]').forEach(function (btn) {\n      btn.setAttribute('aria-expanded', 'false');\n      var panel = btn.parentElement && btn.parentElement.querySelector('.dmx-mega__panel');\n      if (panel) panel.hidden = true;\n    });\n    if (megaBackdrop) megaBackdrop.hidden = true;\n  }\n\n  function closeMobileNav() {\n    if (nav) nav.classList.remove('is-open');\n    if (navToggle) navToggle.setAttribute('aria-expanded', 'false');\n    closeMegaMenus();\n  }\n\n  document.querySelectorAll('.dmx-mega').forEach(function (mega) {\n    var trigger = mega.querySelector('.dmx-nav__trigger');\n    var panel = mega.querySelector('.dmx-mega__panel');\n    if (!trigger || !panel) return;\n\n    trigger.addEventListener('click', function () {\n      var willOpen = trigger.getAttribute('aria-expanded') !== 'true';\n      closeMegaMenus();\n      if (willOpen) {\n        trigger.setAttribute('aria-expanded', 'true');\n        panel.hidden = false;\n        if (megaBackdrop && window.matchMedia('(min-width: 981px)').matches && mega.classList.contains('dmx-mega--tabs')) {\n          megaBackdrop.hidden = false;\n        }\n      }\n    });\n  });\n\n  if (megaBackdrop) {\n    megaBackdrop.addEventListener('click', closeMegaMenus);\n  }\n\n  document.querySelectorAll('.dmx-mega__tabs').forEach(function (tablist) {\n    var tabs = tablist.querySelectorAll('.dmx-mega__tab');\n    var mega = tablist.closest('.dmx-mega');\n    if (!mega) return;\n    var panels = mega.querySelectorAll('.dmx-mega__tabpanel');\n\n    tabs.forEach(function (tab) {\n      tab.addEventListener('click', function () {\n        var id = tab.getAttribute('data-dmx-tab');\n        tabs.forEach(function (t) {\n          t.classList.remove('is-active');\n          t.setAttribute('aria-selected', 'false');\n        });\n        tab.classList.add('is-active');\n        tab.setAttribute('aria-selected', 'true');\n        panels.forEach(function (panel) {\n          var active = panel.getAttribute('data-dmx-tabpanel') === id;\n          panel.classList.toggle('is-active', active);\n          panel.hidden = !active;\n        });\n      });\n    });\n  });\n\n  document.addEventListener('click', function (e) {\n    if (window.matchMedia('(min-width: 981px)').matches && !e.target.closest('.dmx-mega')) {\n      closeMegaMenus();\n    }\n  });\n\n  document.addEventListener('keydown', function (e) {\n    if (e.key === 'Escape') closeMegaMenus();\n  });\n\n  if (navToggle && nav) {\n    navToggle.addEventListener('click', function () {\n      var open = nav.classList.toggle('is-open');\n      navToggle.setAttribute('aria-expanded', open);\n      if (!open) closeMegaMenus();\n    });\n\n    nav.querySelectorAll('a').forEach(function (link) {\n      link.addEventListener('click', closeMobileNav);\n    });\n  }\n\n  filterBtns.forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      var filter = btn.dataset.filter;\n      filterBtns.forEach(function (b) {\n        b.classList.remove('is-active');\n        b.setAttribute('aria-selected', 'false');\n      });\n      btn.classList.add('is-active');\n      btn.setAttribute('aria-selected', 'true');\n\n      portfolioCards.forEach(function (card) {\n        var cat = card.dataset.category;\n        var tags = card.dataset.filter ? card.dataset.filter.split(\/\\s+\/) : [];\n        var match = filter === 'all' || cat === filter || tags.indexOf(filter) !== -1;\n        card.classList.toggle('is-hidden', !match);\n      });\n    });\n  });\n\n  if (timelineSteps.length && 'IntersectionObserver' in window) {\n    var stepObs = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (entry.isIntersecting) {\n          timelineSteps.forEach(function (s) { s.classList.remove('is-active'); });\n          entry.target.classList.add('is-active');\n        }\n      });\n    }, { threshold: 0.5, rootMargin: '-10% 0px' });\n\n    timelineSteps.forEach(function (step) { stepObs.observe(step); });\n  }\n\n  faqItems.forEach(function (item) {\n    var btn = item.querySelector('.dmx-faq__q');\n    btn.addEventListener('click', function () {\n      var isOpen = item.classList.contains('is-open');\n      faqItems.forEach(function (i) {\n        i.classList.remove('is-open');\n        i.querySelector('.dmx-faq__q').setAttribute('aria-expanded', 'false');\n      });\n      if (!isOpen) {\n        item.classList.add('is-open');\n        btn.setAttribute('aria-expanded', 'true');\n      }\n    });\n  });\n\n  if (reveals.length && 'IntersectionObserver' in window) {\n    var revealObs = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (entry.isIntersecting) {\n          entry.target.classList.add('is-visible');\n          revealObs.unobserve(entry.target);\n        }\n      });\n    }, { threshold: 0.12, rootMargin: '0px 0px -40px 0px' });\n\n    reveals.forEach(function (el) { revealObs.observe(el); });\n  } else {\n    reveals.forEach(function (el) { el.classList.add('is-visible'); });\n  }\n\n  var chatState = { need: '', has: '', goal: '' };\n  var chatSteps = document.querySelectorAll('[data-chat-step]');\n\n  function showChatStep(n) {\n    chatSteps.forEach(function (el) {\n      el.hidden = parseInt(el.dataset.chatStep, 10) !== n;\n    });\n  }\n\n  document.querySelectorAll('[data-chat-need]').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      chatState.need = btn.dataset.chatNeed;\n      showChatStep(1);\n    });\n  });\n\n  document.querySelectorAll('[data-chat-has]').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      chatState.has = btn.dataset.chatHas;\n      showChatStep(2);\n    });\n  });\n\n  document.querySelectorAll('[data-chat-goal]').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      chatState.goal = btn.dataset.chatGoal;\n      showChatStep(3);\n    });\n  });\n\n  var chatWaBtn = document.getElementById('dmx-chat-wa-send');\n  if (chatWaBtn && window.DmxWhatsApp) {\n    chatWaBtn.addEventListener('click', function () {\n      var msg = [\n        'Hola Diremex \ud83d\udc4b',\n        'Vi su servicio de dise\u00f1o web.',\n        '',\n        'Necesito: ' + chatState.need,\n        'Ya tengo web: ' + chatState.has,\n        'Objetivo: ' + chatState.goal,\n        '',\n        'Me gustar\u00eda recibir una propuesta.'\n      ].join('\\n');\n      window.open(window.DmxWhatsApp.url(msg), '_blank', 'noopener,noreferrer');\n    });\n  }\n\n  var diagState = { goal: '', have: '', sector: '', objective: '' };\n  var diagSteps = document.querySelectorAll('[data-diag-step]');\n\n  function showDiagStep(n) {\n    diagSteps.forEach(function (el) {\n      el.hidden = parseInt(el.dataset.diagStep, 10) !== n;\n    });\n  }\n\n  document.querySelectorAll('[data-diag-goal]').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      diagState.goal = btn.dataset.diagGoal;\n      showDiagStep(1);\n    });\n  });\n\n  document.querySelectorAll('[data-diag-have]').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      diagState.have = btn.dataset.diagHave;\n      showDiagStep(2);\n    });\n  });\n\n  document.querySelectorAll('[data-diag-sector]').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      diagState.sector = btn.dataset.diagSector;\n      showDiagStep(3);\n    });\n  });\n\n  document.querySelectorAll('[data-diag-objective]').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      diagState.objective = btn.dataset.diagObjective;\n      showDiagStep(4);\n    });\n  });\n\n  var diagWaBtn = document.getElementById('dmx-diag-wa-send');\n  if (diagWaBtn && window.DmxWhatsApp) {\n    diagWaBtn.addEventListener('click', function () {\n      var msg = [\n        'Hola Diremex \ud83d\udc4b',\n        'Solicito diagn\u00f3stico digital.',\n        '',\n        'Quiero conseguir: ' + diagState.goal,\n        'Situaci\u00f3n actual: ' + diagState.have,\n        'Sector: ' + diagState.sector,\n        'Objetivo principal: ' + diagState.objective,\n        '',\n        'Me gustar\u00eda recibir orientaci\u00f3n.'\n      ].join('\\n');\n      window.open(window.DmxWhatsApp.url(msg), '_blank', 'noopener,noreferrer');\n    });\n  }\n\n  function cleanBlogPostThemeBlocks() {\n    if (!document.body.classList.contains('single-post') || !document.querySelector('.dmx-blog-shell')) {\n      return;\n    }\n\n    document.body.classList.add('dmx-blog-single');\n\n    if (!document.getElementById('dmx-blog-single-fix')) {\n      var fixStyle = document.createElement('style');\n      fixStyle.id = 'dmx-blog-single-fix';\n      fixStyle.textContent = [\n        'body.dmx-blog-single main.wp-block-group{margin-top:0!important}',\n        'body.dmx-blog-single main .wp-block-post-title,',\n        'body.dmx-blog-single main .wp-block-group.has-small-font-size,',\n        'body.dmx-blog-single main .wp-block-post-author-name,',\n        'body.dmx-blog-single main .wp-block-post-terms,',\n        'body.dmx-blog-single main .wp-block-query,',\n        'body.dmx-blog-single main nav[aria-label=\"Navegaci\u00f3n de entradas\"],',\n        'body.dmx-blog-single main .wp-block-post-navigation-link,',\n        'body.dmx-blog-single main .wp-block-group:has(.wp-block-query),',\n        'body.dmx-blog-single main .wp-block-group:has(nav[aria-label=\"Navegaci\u00f3n de entradas\"])',\n        '{display:none!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}',\n        'body.dmx-blog-single main>.wp-block-group:has(.entry-content){padding-top:0!important;padding-bottom:0!important}'\n      ].join('');\n      document.head.appendChild(fixStyle);\n    }\n\n    var entry = document.querySelector('.entry-content');\n    if (entry && entry.parentElement) {\n      var wrap = entry.parentElement;\n      wrap.querySelectorAll(':scope > .wp-block-post-title, :scope > .wp-block-group.has-small-font-size').forEach(function (el) {\n        el.remove();\n      });\n      wrap.style.setProperty('padding-top', '0', 'important');\n      wrap.style.setProperty('padding-bottom', '0', 'important');\n      wrap.style.setProperty('margin-top', '0', 'important');\n\n      var after = wrap.nextElementSibling;\n      while (after) {\n        var next = after.nextElementSibling;\n        after.remove();\n        after = next;\n      }\n    }\n\n    if (entry) {\n      var node = entry.nextElementSibling;\n      while (node) {\n        var siblingNext = node.nextElementSibling;\n        node.remove();\n        node = siblingNext;\n      }\n    }\n\n    var main = document.querySelector('main');\n    if (main) {\n      main.style.setProperty('margin-top', '0', 'important');\n    }\n\n    document.querySelectorAll('main .wp-block-query, main nav[aria-label=\"Navegaci\u00f3n de entradas\"], main .wp-block-post-navigation-link').forEach(function (el) {\n      if (el.closest('.dmx-blog-shell')) return;\n      var group = el.closest('.wp-block-group');\n      if (group && !group.closest('.dmx-blog-shell')) group.remove();\n      else el.remove();\n    });\n\n    document.querySelectorAll('main .wp-block-heading').forEach(function (heading) {\n      if (\/m\u00e1s entradas\/i.test(heading.textContent)) {\n        var group = heading.closest('.wp-block-group');\n        if (group && !group.closest('.dmx-blog-shell')) group.remove();\n      }\n    });\n  }\n\n  cleanBlogPostThemeBlocks();\n  document.addEventListener('DOMContentLoaded', cleanBlogPostThemeBlocks);\n  window.addEventListener('load', cleanBlogPostThemeBlocks);\n  setTimeout(cleanBlogPostThemeBlocks, 0);\n  setTimeout(cleanBlogPostThemeBlocks, 250);\n\n  var auditForm = document.getElementById('dmx-audit-form');\n  if (auditForm && window.DmxWhatsApp) {\n    auditForm.addEventListener('submit', function (e) {\n      e.preventDefault();\n      var url = auditForm.url.value.trim();\n      var msg = [\n        'Hola Diremex \ud83d\udc4b',\n        'Me gustar\u00eda una revisi\u00f3n gratuita de mi sitio web.',\n        '',\n        'URL: ' + url,\n        '',\n        'Quiero saber oportunidades en velocidad, SEO, m\u00f3vil y conversi\u00f3n.'\n      ].join('\\n');\n      window.open(window.DmxWhatsApp.url(msg), '_blank', 'noopener,noreferrer');\n    });\n  }\n\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>KPIs de marketing digital para negocios en Saltillo: CTR, CPL, ROAS, CAC y tablero simple. M\u00e9tricas por canal antes de invertir m\u00e1s.<\/p>\n","protected":false},"author":1,"featured_media":387,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-400","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-marketing-digital"],"_links":{"self":[{"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/posts\/400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/comments?post=400"}],"version-history":[{"count":0,"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/posts\/400\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/media\/387"}],"wp:attachment":[{"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/media?parent=400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/categories?post=400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diremex.com.mx\/sitiosia\/wp-json\/wp\/v2\/tags?post=400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}