
/* ── Dropdown Hardware — estilo homologado al Software ── */
/* ── Dropdown Hardware — mismo ancho y composición que Software ── */
.kyt-dropdown.drop-hardware {
  width: min(720px, calc(100vw - 48px));
  max-width: 720px;
  min-width: 420px;
  box-sizing: border-box;
  padding: 20px 24px 18px;
  overflow: visible;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
}
.kyt-nav > li:hover > .kyt-dropdown.drop-hardware {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  visibility: visible;
}
.kyt-dropdown.drop-hardware .drop-label { display: none; }
/* Responsive hardware dropdown */
@media (max-width: 1199px) {
  .kyt-dropdown.drop-hardware {
    width: unset; min-width: unset; max-width: unset;
    left: 0; transform: none; padding: 8px 0 10px;
  }
}

/* ═══════════════════════════════════════════════════════
   KYT GLOBAL — Paleta oficial + Navbar + Tipografía
   Paleta: Verde #308b1d | Azul #00009c | Azul oscuro #01004e
           Azul medio #6666c4 | Verde claro #d3ebb6 | Azul muy claro #efefff
═══════════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
  --kyt-green:        #308b1d;
  --kyt-green-light:  #d3ebb6;
  --kyt-green-dark:   #236514;
  --kyt-blue:         #00009c;
  --kyt-blue-dark:    #01004e;
  --kyt-blue-mid:     #6666c4;
  --kyt-blue-pale:    #efefff;
  --kyt-text:         #1a1a3e;
  --kyt-text-muted:   #5a5a8a;
  --kyt-border:       rgba(0,0,156,0.10);

  /* Nav dark (sobre hero) */
  --nav-bg-dark:          rgba(1,0,78,0.55);
  --nav-border-dark:      rgba(255,255,255,0.13);
  --nav-link-dark:        rgba(255,255,255,0.90);
  --nav-link-hover-dark:  #ffffff;
  --nav-divider-dark:     rgba(255,255,255,0.18);
  --nav-ham-bg-dark:      rgba(255,255,255,0.12);
  --nav-ham-border-dark:  rgba(255,255,255,0.22);
  --nav-ham-color-dark:   #ffffff;

  /* Nav light (páginas internas, fondo claro) */
  --nav-bg-light:         rgba(255,255,255,1.00);
  --nav-border-light:     rgba(1,0,78,0.10);
  --nav-link-light:       #01004e;
  --nav-link-hover-light: #308b1d;
  --nav-divider-light:    rgba(1,0,78,0.12);
  --nav-ham-bg-light:     rgba(48,139,29,0.07);
  --nav-ham-border-light: rgba(48,139,29,0.22);
  --nav-ham-color-light:  #01004e;
}

/* ══════════════════════════════════════════
   TIPOGRAFÍA GLOBAL — estilo ACF/enterprise
══════════════════════════════════════════ */
.section-title span,
.kyt-eyebrow {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--kyt-green) !important;
  display: block;
  margin-bottom: 10px;
}
.section-title h2 {
  font-size: clamp(28px, 3.2vw, 46px) !important;
  font-weight: 800 !important;
  color: var(--kyt-blue-dark) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.section-title.light h2  { color: #ffffff !important; }
.section-title.light span{ color: var(--kyt-green-light) !important; }

/* ══════════════════════════════════════════
   NAVBAR — Wrapper
══════════════════════════════════════════ */
.kyt-header-wrap {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 999;
  padding: 12px 0;
  transition: padding .35s ease;
}
.kyt-header-wrap.kyt-light { padding: 6px 0; }

/* ── Inner pill ── */
.kyt-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--nav-bg-dark);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border: 1px solid var(--nav-border-dark);
  border-radius: 14px;
  padding: 0 20px;
  height: 64px;
  max-width: 1260px;
  margin: 0 auto;
  position: relative;
  box-shadow: 0 4px 24px rgba(1,0,78,0.18);
  transition: background .35s ease, border-color .35s ease,
              box-shadow .35s ease, border-radius .35s ease, height .35s ease;
}
.kyt-header-wrap.kyt-light .kyt-header-inner {
  background: #ffffff;
  border-color: rgba(1,0,78,0.08);
  box-shadow: 0 2px 16px rgba(0,0,0,0.08), 0 1px 0 rgba(1,0,78,0.06);
  border-radius: 10px;
  height: 60px;
}

/* ── Logo ── */
.kyt-logo img {
  height: 38px; width: auto; display: block;
  transition: filter .35s ease;
}
.kyt-header-wrap.kyt-light .kyt-logo img {
  /* Logo en versión oscura limpia — sin tinte morado */
  filter: brightness(0) saturate(100%);
}

/* ── Nav links ── */
.kyt-nav { display: flex; align-items: center; gap: 2px; height: 100%; }
.kyt-nav > li {
  list-style: none;
  position: relative;
  height: 64px;
  display: flex;
  align-items: center;
  transition: height .35s;
}
.kyt-header-wrap.kyt-light .kyt-nav > li { height: 60px; }

.kyt-nav > li > a {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--nav-link-dark);
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding: 0 12px;
  height: 100%;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color .25s ease, border-color .25s ease;
}
.kyt-header-wrap.kyt-light .kyt-nav > li > a { color: var(--nav-link-light); }
.kyt-nav > li > a:hover { color: var(--nav-link-hover-dark); border-bottom-color: var(--kyt-green); }
.kyt-header-wrap.kyt-light .kyt-nav > li > a:hover { color: var(--nav-link-hover-light); border-bottom-color: var(--kyt-blue); }
.kyt-nav > li.active > a { border-bottom-color: var(--kyt-green); }
.kyt-nav > li > a i { font-size: 10px; transition: transform .2s; }
.kyt-nav > li:hover > a i { transform: rotate(180deg); }

/* ── Divisor ── */
.kyt-nav .nav-divider {
  width: 1px; height: 20px;
  background: var(--nav-divider-dark);
  margin: 0 4px;
  pointer-events: none;
  transition: background .35s;
}
.kyt-header-wrap.kyt-light .kyt-nav .nav-divider { background: var(--nav-divider-light); }

/* ══════════════════════════════════════════
   DROPDOWNS — fondo claro premium
══════════════════════════════════════════ */
.kyt-nav > li > .kyt-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 210px;
  background: #ffffff;
  border: 1px solid var(--kyt-border);
  border-radius: 14px;
  padding: 8px 0 10px;
  box-shadow: 0 12px 40px rgba(0,0,156,0.10), 0 2px 8px rgba(48,139,29,0.06);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
  z-index: 1000;
}
.kyt-nav > li:hover > .kyt-dropdown {
  opacity: 1; visibility: visible; transform: translateY(0);
}

.kyt-dropdown li { list-style: none; }
.kyt-dropdown li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  color: var(--kyt-blue-dark);
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none;
  border-radius: 8px;
  margin: 1px 6px;
  transition: color .15s, background .15s;
}
.kyt-dropdown li a:hover {
  color: var(--kyt-blue);
  background: var(--kyt-blue-pale);
}

/* Ícono drop */
.kyt-dropdown li a .drop-icon {
  width: 30px; height: 30px;
  border-radius: 8px;
  background: rgba(48,139,29,0.12);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 13px;
  color: var(--kyt-green-dark);
  transition: background .15s;
}
.kyt-dropdown li a:hover .drop-icon {
  background: rgba(0,0,156,0.10);
  color: var(--kyt-blue);
}

/* Etiqueta sección */
.kyt-dropdown .drop-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--kyt-blue-mid);
  padding: 10px 22px 4px;
  display: block;
}

/* Separador */
.kyt-dropdown .drop-sep {
  height: 1px;
  background: rgba(0,0,156,0.08);
  margin: 6px 14px;
}

/* ══════════════════════════════════════════
   MEGA MENÚ SOFTWARE — 2 columnas premium
   720px · SUITE K&T | SOLUCIONES DIGITALES
══════════════════════════════════════════ */

.kyt-dropdown.drop-software {
  width: min(720px, calc(100vw - 48px));
  max-width: 720px;
  min-width: 420px;
  box-sizing: border-box;
  padding: 20px 24px 18px;
  overflow: visible;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
}
.kyt-nav > li:hover > .kyt-dropdown.drop-software {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  visibility: visible;
}

/* ── Elementos heredados no usados ── */
.sw-single-label { display: none; }
.sw-col-header   { display: none; }
.kyt-dropdown.drop-software .drop-label { display: none; }

/* ── Grid 2 columnas ── */
.sw-mega-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 24px;
  position: relative;
}
.sw-mega-grid::before {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(102,102,196,0.12);
  pointer-events: none;
}

.sw-mega-col { padding: 0; border: none !important; }

/* ── Título de columna ── */
.sw-col-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #6666c4;
  display: block;
  padding: 0 6px 9px;
  border-bottom: 1px solid rgba(102,102,196,0.12);
  margin-bottom: 4px;
}

/* ── Item ── */
.sw-mega-col li { list-style: none; }
.sw-mega-col li a {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: 11px;
  padding: 8px 6px;
  margin: 2px 0;
  border-radius: 9px;
  text-decoration: none;
  color: #01004e;
  transition: background .15s;
}
.sw-mega-col li a:hover { background: #f4f4ff; }

/* ── Ícono ── */
.sw-mega-col li a .drop-icon {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(48,139,29,0.10);
  display: flex; align-items: center; justify-content: center;
  font-size: 13px;
  color: #308b1d;
  transition: background .15s;
  align-self: center;
  flex-shrink: 0;
}
.sw-mega-col li a:hover .drop-icon { background: rgba(48,139,29,0.18); }

/* ── Nombre + descripción ── */
.sw-item-body { display: contents; }
.sw-item-name {
  grid-column: 2;
  grid-row: 1;
  font-size: 13px;
  font-weight: 600;
  color: #01004e;
  white-space: nowrap;
  display: block;
  line-height: 1.3;
  transition: color .15s;
  align-self: end;
}
.sw-mega-col li a:hover .sw-item-name { color: #00009c; }

.sw-item-desc {
  grid-column: 2;
  grid-row: 2;
  font-size: 11px;
  color: #6666c4;
  white-space: normal;
  display: block;
  line-height: 1.3;
  margin-top: 1px;
  align-self: start;
}

/* ── Badge ── */
.sw-badge {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  font-size: 9px;
  font-weight: 600;
  color: #00009c;
  background: #efefff;
  border: 1px solid #c8c8f4;
  border-radius: 4px;
  padding: 2px 7px;
  white-space: nowrap;
  transition: background .15s;
}
.sw-mega-col li a:hover .sw-badge { background: #d8d8f8; }

/* ── Responsive ── */
@media (max-width: 1199px) {
  .kyt-dropdown.drop-software {
    width: unset; min-width: unset; max-width: unset;
    left: 0; transform: none; padding: 8px 0 10px;
  }
  .kyt-nav > li:hover > .kyt-dropdown.drop-software { transform: none; }
  .sw-mega-grid { grid-template-columns: 1fr; gap: 0; }
  .sw-mega-grid::before { display: none; }
  .sw-mega-col li a { padding: 7px 14px; margin: 1px 6px; }
  .sw-col-title { padding: 8px 20px 6px; }
}

/* ══════════════════════════════════════════
   MEGAMENÚ SECTORES — fondo claro
══════════════════════════════════════════ */
.kyt-nav > li > .kyt-mega {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 700px;
  background: #ffffff;
  border: 1px solid var(--kyt-border);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 16px 52px rgba(0,0,156,0.11), 0 2px 8px rgba(48,139,29,0.05);
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
  z-index: 1000;
}
.kyt-nav > li:hover > .kyt-mega {
  opacity: 1; visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.kyt-mega .mega-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.kyt-mega .mega-item {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: pointer;
  border: 1px solid rgba(0,0,0,0.06);
}
.kyt-mega .mega-item img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .3s;
}
.kyt-mega .mega-item:hover img { transform: scale(1.06); }
.kyt-mega .mega-item .mega-label {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(1,0,78,0.78));
  padding: 18px 8px 8px;
  text-align: center;
}
.kyt-mega .mega-item .mega-label a {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  display: block;
  transition: color .15s;
}
.kyt-mega .mega-item .mega-label a:hover { color: var(--kyt-green-light); }
/* Overlay clickeable para tarjetas del mega menú Sectores */
.kyt-mega .mega-item { position: relative; }
.kyt-mega .mega-item-link {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: block;
  cursor: pointer;
}
.kyt-mega .mega-item .mega-label {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(1,0,78,0.78));
  padding: 18px 8px 8px;
  text-align: center;
  z-index: 3;
  pointer-events: none;
}
.kyt-mega .mega-item .mega-label span {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  display: block;
}


/* ══════════════════════════════════════════
   CTA BUTTON
══════════════════════════════════════════ */
.kyt-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--kyt-green);
  color: #fff !important;
  font-size: 13.5px;
  font-weight: 700;
  padding: 7px 16px;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .2s, transform .15s, box-shadow .2s;
  box-shadow: 0 2px 12px rgba(48,139,29,0.28);
}
.kyt-cta-btn:hover {
  background: var(--kyt-green-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 18px rgba(48,139,29,0.38);
  color: #fff !important;
}

/* ── Hamburger mobile ── */
.kyt-hamburger {
  display: none;
  background: var(--nav-ham-bg-dark);
  border: 1px solid var(--nav-ham-border-dark);
  border-radius: 8px;
  padding: 8px 12px;
  cursor: pointer;
  color: var(--nav-ham-color-dark);
  font-size: 18px;
  line-height: 1;
  transition: background .35s, border-color .35s, color .35s;
}
.kyt-header-wrap.kyt-light .kyt-hamburger {
  background: var(--nav-ham-bg-light);
  border-color: var(--nav-ham-border-light);
  color: var(--nav-ham-color-light);
}

/* ── Responsive ── */
@media (max-width: 1199px) {
  .kyt-nav, .kyt-cta-btn { display: none !important; }
  .kyt-hamburger { display: flex; align-items: center; }
  .kyt-header-inner { padding: 0 16px; }
}
@media (max-width: 575px) {
  .kyt-header-wrap { padding: 8px 12px; }
  .kyt-header-inner { border-radius: 10px; height: 56px; }
  .kyt-logo img { height: 32px; }
}
/* Páginas internas: el body tiene padding para que el breadcrumb no quede bajo la navbar */
body.kyt-inner { padding-top: 88px; }
@media (max-width: 1199px) { body.kyt-inner { padding-top: 78px; } }
/* Home y páginas con hero fullscreen: sin padding, la navbar va sobre el hero */
body { padding-top: 0; }

/* ══════════════════════════════════════════
   PALETA GLOBAL — Secciones del sitio
══════════════════════════════════════════ */

/* Hero eyebrow */
.hero-eyebrow {
  background: rgba(48,139,29,0.18) !important;
  border: 1px solid rgba(48,139,29,0.40) !important;
  color: #d3ebb6 !important;
}
.hero-eyebrow span { background: #d3ebb6 !important; }

/* Hero headline em */
.hero-headline em { color: #308b1d !important; }

/* Stats bar */
.hero-stat-item .stat-num { color: #308b1d !important; }

/* CTAs hero */
.btn-cta-primary { background: var(--kyt-green) !important; }
.btn-cta-primary:hover { background: var(--kyt-green-dark) !important; }

/* ─────────────────────────────────────────────
   Solutions · Bento cards (Home rediseño 02)
────────────────────────────────────────────── */
.solutions-grid.kyt-solutions-bento {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr);
  gap: 22px;
  margin-top: 40px;
}
.solutions-grid.kyt-solutions-bento .kyt-sol-card {
  grid-column: span 3;
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(15,23,42,0.06);
  border: 1px solid rgba(15,23,42,0.06);
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease, border-color .3s ease;
  min-height: 380px;
}
.solutions-grid.kyt-solutions-bento .kyt-sol-featured {
  grid-column: span 12;
  flex-direction: row;
  min-height: 300px;
}
.kyt-sol-media {
  position: relative;
  background-size: cover;
  background-position: center;
  height: 170px;
  flex-shrink: 0;
  overflow: hidden;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.kyt-sol-media::after {
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(2,6,38,0) 40%, rgba(2,6,38,.35) 100%);
  transition: opacity .3s ease;
}
.kyt-sol-featured .kyt-sol-media {
  height: auto;
  width: 44%;
  min-height: 300px;
}
.kyt-sol-featured .kyt-sol-media::after {
  background: linear-gradient(90deg, rgba(2,6,38,0) 55%, rgba(2,6,38,.25) 100%);
}
.kyt-sol-tag {
  position: absolute; top: 16px; left: 16px; z-index: 2;
  background: var(--kyt-green, #308b1d);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(48,139,29,.35);
}
.kyt-sol-body {
  position: relative;
  padding: 22px 22px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 8px;
  background: #fff;
}
.kyt-sol-featured .kyt-sol-body {
  padding: 36px 40px 32px;
  justify-content: center;
  gap: 12px;
}
.kyt-sol-icon {
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: var(--kyt-blue-pale, #eef2ff);
  color: var(--kyt-blue, #1e40af);
  font-size: 20px;
  margin-top: -46px;
  border: 4px solid #fff;
  box-shadow: 0 6px 18px rgba(30,64,175,.18);
  transition: transform .35s ease, background .3s ease, color .3s ease;
}
.kyt-sol-featured .kyt-sol-icon {
  margin-top: 0;
  border: none;
  box-shadow: 0 6px 18px rgba(30,64,175,.15);
}
.kyt-sol-body h4 {
  color: var(--kyt-blue-dark, #0b1f4d) !important;
  font-size: 19px;
  line-height: 1.3;
  margin: 0;
  font-weight: 700;
}
.kyt-sol-featured .kyt-sol-body h4 { font-size: 28px; }
.kyt-sol-body p {
  color: #475569;
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  text-align: left;
  text-wrap: pretty;
  hyphens: none;
  word-spacing: normal;
  max-width: 42ch;
}
.kyt-sol-featured .kyt-sol-body p { font-size: 16px; max-width: 560px; line-height: 1.65; }
.kyt-sol-body .sol-sectors {
  color: var(--kyt-green-dark, #206214) !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .3px;
  padding-top: 8px;
  border-top: 1px solid rgba(15,23,42,0.08);
  margin-top: auto;
}
.kyt-sol-body .sol-link {
  color: var(--kyt-blue, #1e40af) !important;
  font-weight: 600;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  transition: gap .3s ease, color .3s ease;
}
.kyt-sol-body .sol-link i {
  transition: transform .3s ease;
}


/* Hover: elevation + media zoom + icon pop + CTA slide */
.solutions-grid.kyt-solutions-bento .kyt-sol-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 44px -18px rgba(15,23,42,.25);
  border-color: rgba(30,64,175,.18);
}
.solutions-grid.kyt-solutions-bento .kyt-sol-card:hover .kyt-sol-media {
  transform: scale(1.06);
}
.solutions-grid.kyt-solutions-bento .kyt-sol-card:hover .kyt-sol-icon {
  background: var(--kyt-blue, #1e40af);
  color: #fff;
  transform: translateY(-4px) rotate(-4deg);
}
.solutions-grid.kyt-solutions-bento .kyt-sol-card:hover .sol-link {
  color: var(--kyt-green-dark, #206214) !important;
  gap: 12px;
}
.solutions-grid.kyt-solutions-bento .kyt-sol-card:hover .sol-link i {
  transform: translateX(3px);
}

/* Tablet */
@media (max-width: 1199px) {
  .solutions-grid.kyt-solutions-bento { grid-template-columns: repeat(12, 1fr); }
  .solutions-grid.kyt-solutions-bento .kyt-sol-card { grid-column: span 6; }
  .solutions-grid.kyt-solutions-bento .kyt-sol-featured { grid-column: span 12; }
}
@media (max-width: 767px) {
  .solutions-grid.kyt-solutions-bento { grid-template-columns: 1fr; gap: 20px; }
  .solutions-grid.kyt-solutions-bento .kyt-sol-card,
  .solutions-grid.kyt-solutions-bento .kyt-sol-featured { grid-column: span 1; }
  .solutions-grid.kyt-solutions-bento .kyt-sol-featured { flex-direction: column; min-height: 0; }
  .kyt-sol-featured .kyt-sol-media { width: 100%; height: 200px; min-height: 200px; }
  .kyt-sol-featured .kyt-sol-body { padding: 28px 24px 26px; }
  .kyt-sol-featured .kyt-sol-icon { margin-top: -50px; border: 4px solid #fff; }
  .kyt-sol-featured .kyt-sol-body h4 { font-size: 22px; }
}

/* Mid CTA section */
.mid-cta-section {
  background: linear-gradient(135deg, var(--kyt-blue-dark) 0%, var(--kyt-blue) 100%) !important;
}
.btn-white { color: var(--kyt-blue) !important; }
.btn-white:hover { background: var(--kyt-blue-pale) !important; color: var(--kyt-blue-dark) !important; }

/* Service box */
.service-box-items h3 { color: var(--kyt-blue-dark) !important; }
.service-box-items:hover h3 { color: var(--kyt-blue) !important; }

/* ─────────────────────────────────────────────
   4 Pilares (Home rediseño 03)
────────────────────────────────────────────── */
.kyt-pillars-section { background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); }
.kyt-pillars-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.kyt-pillar {
  --pillar-accent: #1e40af;
  position: relative;
  background: #fff;
  border-radius: 18px;
  padding: 40px 28px 32px;
  border: 1px solid rgba(15,23,42,.07);
  box-shadow: 0 2px 10px rgba(15,23,42,.04);
  display: flex;
  flex-direction: column;
  gap: 20px;
  overflow: hidden;
  transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, border-color .3s ease;
}
.kyt-pillar[data-accent="blue"]   { --pillar-accent: #1e40af; }
.kyt-pillar[data-accent="green"]  { --pillar-accent: #308b1d; }
.kyt-pillar[data-accent="indigo"] { --pillar-accent: #4338ca; }
.kyt-pillar[data-accent="teal"]   { --pillar-accent: #0f766e; }

.kyt-pillar::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--pillar-accent);
  transform-origin: left;
  transform: scaleX(.28);
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.kyt-pillar-index {
  position: absolute;
  top: 20px;
  right: 24px;
  font-size: 44px;
  font-weight: 800;
  line-height: 1;
  color: rgba(15,23,42,.05);
  letter-spacing: -.02em;
  transition: color .3s ease;
  pointer-events: none;
}
.kyt-pillar-icon {
  width: 60px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: color-mix(in oklab, var(--pillar-accent) 10%, #fff);
  color: var(--pillar-accent);
  border: 1px solid color-mix(in oklab, var(--pillar-accent) 18%, transparent);
  transition: transform .35s ease, background .3s ease, color .3s ease, border-color .3s ease;
}
.kyt-pillar-icon svg { width: 28px; height: 28px; display: block; }
.kyt-pillar .content h3 {
  color: var(--kyt-blue-dark, #0b1f4d) !important;
  font-size: 19px;
  line-height: 1.35;
  font-weight: 700;
  margin: 0 0 10px;
}
.kyt-pillar .content p {
  color: #475569;
  font-size: 14.5px;
  line-height: 1.65;
  margin: 0;
  text-align: left;
}

/* Hover: subtle lift + accent bar reveal + icon fill */
.kyt-pillar:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px -18px rgba(15,23,42,.22);
  border-color: color-mix(in oklab, var(--pillar-accent) 25%, transparent);
}
.kyt-pillar:hover::before { transform: scaleX(1); }
.kyt-pillar:hover .kyt-pillar-icon {
  background: var(--pillar-accent);
  color: #fff;
  border-color: var(--pillar-accent);
  transform: translateY(-2px);
}
.kyt-pillar:hover .kyt-pillar-index {
  color: color-mix(in oklab, var(--pillar-accent) 14%, transparent);
}
.kyt-pillar:hover .content h3 {
  color: var(--pillar-accent) !important;
}

@media (max-width: 1199px) {
  .kyt-pillars-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 575px) {
  .kyt-pillars-grid { grid-template-columns: 1fr; }
  .kyt-pillar { padding: 32px 24px 26px; }
  .kyt-pillar-index { font-size: 38px; top: 18px; right: 20px; }
}

/* Close section */
.close-section { background: var(--kyt-blue-pale) !important; }
.close-section h2 { color: var(--kyt-blue-dark) !important; }
.close-section p  { color: var(--kyt-blue-mid)  !important; }
.btn-green { background: var(--kyt-green) !important; }
.btn-green:hover { background: var(--kyt-green-dark) !important; }
.btn-green-outline { border-color: var(--kyt-green) !important; color: var(--kyt-green-dark) !important; }
.btn-green-outline:hover { background: var(--kyt-green-light) !important; }

/* About section */
.about-content .section-title span { color: var(--kyt-green) !important; }
.about-content .section-title h2   { color: var(--kyt-blue-dark) !important; word-break: normal !important; overflow-wrap: break-word !important; }
.about-list li i { color: var(--kyt-green) !important; }

/* Footer */
.footer-section { background: var(--kyt-blue-dark) !important; }
.single-footer-widget h5 { color: var(--kyt-green-light) !important; }
.footer-content .link { color: var(--kyt-green-light) !important; }
.list-items li a { color: rgba(255,255,255,0.7) !important; }
.list-items li a:hover { color: var(--kyt-green-light) !important; }
.footer-bottom { background: var(--kyt-blue-dark) !important; border-top: 1px solid rgba(255,255,255,0.08) !important; }
.footer-bottom p, .footer-bottom a { color: rgba(255,255,255,0.55) !important; }
.footer-bottom a:hover { color: var(--kyt-green-light) !important; }
.support-text h3 a { color: var(--kyt-green-light) !important; }

/* ══════════════════════════════════════════════════════
   FOOTER ENTERPRISE KYT — estilo TIGlobal BPM
   Borde claro visible, copyright fuera, sin navbar encima
══════════════════════════════════════════════════════ */

/* ── Fondo externo ── */
.kyt-footer {
    background: #01004e;
    font-family: inherit;
    /* Margen lateral igual que TIGlobal — deja ver el fondo a los lados */
    padding: 0 40px 32px;
    /* Separación generosa de la sección anterior */
    margin-top: 0;
    padding-top: 110px;
}

/* ── Contenedor con borde visible — corazón del footer ── */
.kf-container {
    max-width: 1480px;
    width: 100%;
    margin: 0 auto;
    /* Borde blanco/claro bien visible, como TIGlobal */
    border: 1.5px solid rgba(255,255,255,0.28);
    border-radius: 20px;
    overflow: hidden;
    background: transparent;
}

/* ── Bloque superior: título + logo + redes ── */
.kf-top {
    padding: 32px 56px 18px;
}
.kf-top-inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 14px;
}
.kf-top-text { flex: 1; min-width: 0; }

/* Eyebrow eliminado — igual que TIGlobal */
.kf-eyebrow { display: none; }

/* Título grande y fuerte — igual que TIGlobal */
.kf-headline {
    font-size: clamp(28px, 3.8vw, 52px);
    font-weight: 900;
    line-height: 1.08;
    color: #ffffff;
    margin-bottom: 16px;
    letter-spacing: -0.03em;
}

/* Elementos ocultos */
.kf-sub   { display: none; }
.kf-ctas  { display: none; }
.kf-btn-primary   { display: none; }
.kf-btn-secondary { display: none; }

/* Logo arriba derecha — alineado visualmente con el título */
.kf-hero-logo {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    padding-top: 2px;
}
.kf-hero-logo img {
    height: 44px; width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.90;
}

/* Redes sociales */
.kf-social-bar {
    display: flex; align-items: center; gap: 14px; padding-bottom: 4px;
}
.kf-social-label {
    font-size: 14px; font-weight: 400;
    color: rgba(239,239,255,0.55); white-space: nowrap;
}
.kf-social-icons { display: flex; gap: 10px; }
.kf-social-icon {
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.20);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.75); font-size: 16px;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}
.kf-social-icon:hover {
    background: rgba(48,139,29,0.25);
    border-color: rgba(48,139,29,0.50);
    color: #308b1d;
}

/* ── Columnas — separadas por UNA línea sutil ── */
.kf-links {
    padding: 18px 56px 28px;
    border-top: 1px solid rgba(255,255,255,0.10);
}
.kf-links-inner {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.kf-col-title {
    font-size: 11px; font-weight: 700;
    letter-spacing: 2.5px; text-transform: uppercase;
    color: rgba(255,255,255,0.40);
    margin-bottom: 10px; display: block;
}
.kf-col-list {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 7px;
}
.kf-col-list li a {
    color: rgba(255,255,255,0.72);
    font-size: 13.5px; font-weight: 400;
    text-decoration: none;
    transition: color .18s; display: inline-block;
}
.kf-col-list li a:hover { color: #ffffff; }
.kf-col-list sup { font-size: 9px; }

/* Columna contacto */
.kf-contact-list li { display: flex; align-items: flex-start; gap: 10px; }
.kf-contact-list span,
.kf-contact-list a {
    color: rgba(255,255,255,0.72); font-size: 13.5px;
    text-decoration: none; transition: color .18s; line-height: 1.4;
}
.kf-contact-list a:hover { color: #ffffff; }
.kf-ci {
    color: #308b1d; font-size: 12px;
    width: 16px; flex-shrink: 0; margin-top: 3px;
}

/* ── Copyright FUERA del borde — estilo TIGlobal exacto ── */
.kf-outside {
    max-width: 1480px;
    width: 100%;
    margin: 0 auto;
    padding: 24px 4px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}
.kf-copy {
    font-size: 13px;
    color: rgba(255,255,255,0.38);
    margin: 0; text-align: center;
}
.kf-copy a {
    color: rgba(255,255,255,0.50);
    text-decoration: none; transition: color .18s;
}
.kf-copy a:hover { color: rgba(255,255,255,0.80); }
.kf-legal {
    list-style: none; padding: 0; margin: 0;
    display: flex; gap: 20px;
}
.kf-legal li a {
    font-size: 13px; color: rgba(255,255,255,0.38);
    text-decoration: none; transition: color .18s;
}
.kf-legal li a:hover { color: rgba(255,255,255,0.72); }
.kf-scroll-top {
    width: 30px; height: 30px; border-radius: 6px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.15);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.45); font-size: 11px;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
    flex-shrink: 0; order: -1;
}
.kf-scroll-top:hover {
    background: rgba(48,139,29,0.20);
    border-color: rgba(48,139,29,0.45);
    color: #308b1d;
}

/* Spacer y bottom ocultos */
.kyt-footer-spacer { display: none; }
.kf-bottom { display: none; }

/* ── Responsive ── */
@media (max-width: 1200px) {
    .kyt-footer { padding: 60px 28px 28px; }
    .kf-links-inner { grid-template-columns: repeat(3, 1fr); }
    .kf-top, .kf-links { padding-left: 40px; padding-right: 40px; }
}
@media (max-width: 768px) {
    .kyt-footer { padding: 110px 16px 24px; }
    .kf-container { border-radius: 16px; }
    .kf-top { padding: 32px 24px 24px; }
    .kf-top-inner { flex-direction: column; gap: 20px; }
    .kf-hero-logo { display: none; }
    .kf-headline { font-size: clamp(28px, 7.5vw, 44px); }
    .kf-links { padding: 24px 24px 32px; }
    .kf-links-inner { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .kf-outside { padding: 18px 4px 0; gap: 12px; }
    .kf-legal { flex-wrap: wrap; gap: 12px; }
}
@media (max-width: 480px) {
    .kyt-footer { padding: 40px 10px 20px; }
    .kf-links-inner { grid-template-columns: 1fr 1fr; gap: 16px; }
    .kf-outside { flex-direction: column; align-items: center; text-align: center; }
}


/* ══════════════════════════════════════════
   OVERRIDE: Neutralizar overlay negro de main.css en el hero
   main.css aplica rgba(0,0,0,0.4) en .video-overlay — lo cancelamos
══════════════════════════════════════════ */
.hero-section.hero-1 .video-overlay {
    background: linear-gradient(
        105deg,
        rgba(11,35,74,0.78) 0%,
        rgba(11,35,74,0.58) 45%,
        rgba(11,35,74,0.36) 75%,
        rgba(11,35,74,0.22) 100%
    ) !important;
}

/* ══════════════════════════════════════════
   NAVBAR EN PÁGINAS INTERNAS
   - Breadcrumb con imagen: navbar glass oscura (sin kyt-light)
   - Páginas sin hero: navbar blanca premium (kyt-light)
══════════════════════════════════════════ */

/* Páginas internas con breadcrumb/hero oscuro:
   el script de scroll detecta .breadcrumb-wrapper y ajusta automáticamente.
   Pero al cargar, algunas páginas arrancan con kyt-light sobre imagen oscura.
   Esta regla da un padding-top adecuado al breadcrumb */
.breadcrumb-wrapper {
    padding-top: 88px !important;
}
@media (max-width: 1199px) {
    .breadcrumb-wrapper { padding-top: 78px !important; }
}

/* Hover en links del nav modo claro → verde KYT */
.kyt-header-wrap.kyt-light .kyt-nav > li > a:hover {
    color: #308b1d !important;
    border-bottom-color: #308b1d !important;
}

/* CTA en modo claro — mismo verde, buen contraste */
.kyt-header-wrap.kyt-light .kyt-cta-btn {
    background: #308b1d;
    box-shadow: 0 2px 10px rgba(48,139,29,0.22);
}
.kyt-header-wrap.kyt-light .kyt-cta-btn:hover {
    background: #236514;
    box-shadow: 0 4px 16px rgba(48,139,29,0.32);
}

/* Hamburger en modo claro */
.kyt-header-wrap.kyt-light .kyt-hamburger {
    background: rgba(48,139,29,0.06);
    border-color: rgba(48,139,29,0.20);
    color: #01004e;
}

/* ════════════════════════════════════════════════════════
   HERO INTERNO — PageHero / breadcrumb-wrapper mejorado
   Aplica a todas las páginas internas con imagen de fondo
════════════════════════════════════════════════════════ */

/* 1. El breadcrumb-wrapper arranca desde el top absoluto
      (body.kyt-inner NO lleva padding-top — la navbar flota encima) */
body.kyt-inner {
    padding-top: 0 !important;
}

/* 2. Proporciones del hero interno */
.breadcrumb-wrapper {
    position: relative;
    min-height: 580px;
    display: flex;
    align-items: center;
    overflow: hidden;
    /* padding-top: alto navbar + margen visual */
    padding-top: 108px !important;
    padding-bottom: 72px !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
@media (max-width: 1199px) {
    .breadcrumb-wrapper {
        min-height: 500px;
        padding-top: 96px !important;
        padding-bottom: 60px !important;
    }
}
@media (max-width: 767px) {
    .breadcrumb-wrapper {
        min-height: 440px;
        padding-top: 86px !important;
        padding-bottom: 48px !important;
    }
}
@media (max-width: 480px) {
    .breadcrumb-wrapper {
        min-height: 380px;
        padding-top: 78px !important;
        padding-bottom: 40px !important;
    }
}

/* 3. Overlay suave — reemplaza el rgba(16,10,47,0.58) del tema */
.breadcrumb-wrapper::before {
    background: linear-gradient(
        105deg,
        rgba(1,0,78,0.68) 0%,
        rgba(1,0,78,0.42) 45%,
        rgba(1,0,78,0.20) 75%,
        rgba(0,0,0,0.10)  100%
    ) !important;
}

/* 4. Container centrado verticalmente */
.breadcrumb-wrapper .container {
    position: relative;
    z-index: 5;
    width: 100%;
}

/* 5. Page-heading — alineado a la izquierda, ancho controlado */
.breadcrumb-wrapper .page-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    gap: 12px;
    max-width: 760px;
}

/* 6. Título del hero interno — tipografía premium */
.breadcrumb-wrapper .page-heading h1 {
    font-size: clamp(42px, 5.5vw, 76px) !important;
    font-weight: 800 !important;
    line-height: 1.10 !important;
    letter-spacing: -0.02em !important;
    color: #ffffff !important;
    margin-bottom: 0 !important;
    text-shadow: 0 2px 20px rgba(0,0,0,0.25);
}
@media (max-width: 991px) {
    .breadcrumb-wrapper .page-heading h1 {
        font-size: clamp(36px, 6vw, 56px) !important;
    }
}
@media (max-width: 575px) {
    .breadcrumb-wrapper .page-heading h1 {
        font-size: clamp(30px, 8vw, 42px) !important;
    }
    .breadcrumb-wrapper .page-heading {
        align-items: center !important;
    }
}

/* 7. Subtítulo del hero interno (si existe) */
.breadcrumb-wrapper .page-heading .page-subtitle {
    font-size: clamp(14px, 1.4vw, 17px);
    color: rgba(239,239,255,0.80);
    line-height: 1.65;
    max-width: 540px;
    margin-top: 6px;
    font-weight: 400;
}

/* 8. Breadcrumb items — más discretos */
.breadcrumb-wrapper .page-heading .breadcrumb-items {
    margin-top: 14px;
}
.breadcrumb-wrapper .page-heading .breadcrumb-items li {
    font-size: 13px !important;
    color: rgba(239,239,255,0.65) !important;
}
.breadcrumb-wrapper .page-heading .breadcrumb-items li a {
    color: #308b1d !important;
}
.breadcrumb-wrapper .page-heading .breadcrumb-items li i {
    color: rgba(239,239,255,0.45) !important;
    font-size: 11px !important;
}

/* 9. Navbar sobre páginas internas con breadcrumb:
      arranca en modo glass oscuro (sin kyt-light) cuando hay imagen */
body.kyt-inner .kyt-header-wrap:not(.kyt-light) .kyt-header-inner {
    background: rgba(1,0,78,0.50);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-color: rgba(255,255,255,0.12);
    box-shadow: 0 4px 24px rgba(0,0,0,0.18);
}
body.kyt-inner .kyt-header-wrap:not(.kyt-light) .kyt-nav > li > a {
    color: rgba(255,255,255,0.90);
}
body.kyt-inner .kyt-header-wrap:not(.kyt-light) .kyt-logo img {
    filter: brightness(0) invert(1);
}
body.kyt-inner .kyt-header-wrap:not(.kyt-light) .kyt-nav .nav-divider {
    background: rgba(255,255,255,0.18);
}
body.kyt-inner .kyt-header-wrap:not(.kyt-light) .kyt-hamburger {
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.22);
    color: #ffffff;
}

/* 10. Páginas sin imagen de fondo (service-modalidad, etc.) → kyt-light inmediato */
body.kyt-inner.no-hero .kyt-header-wrap {
    padding-top: 0;
}
body.kyt-inner.no-hero {
    padding-top: 88px !important;
}
@media (max-width: 1199px) {
    body.kyt-inner.no-hero { padding-top: 78px !important; }
}

/* ============================================================
   V1 BASELINE FIXES
   ============================================================ */

/* Fix 1 — Contraste H2 "Soluciones que transforman..." sobre fondo
   navy en la sección "Nuestros productos". El H2 hereda
   color: var(--kyt-blue-dark) desde .section-title h2. */
.grow-section.products-showcase .section-title h2,
.grow-section.products-showcase .section-title span {
    color: #ffffff !important;
}

/* Fix 3 — "Sectores que atendemos" partía la palabra "atendemos"
   por overflow-wrap: break-word heredado. Permitir sólo saltos
   naturales entre palabras dentro del título de sectores. */
.service-section .sector-static-content .section-title h2 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
}


/* ═══════════════════════════════════════════════════════
   HOME — About section (fotografía real + badge moderno)
   ═══════════════════════════════════════════════════════ */
.about-section .about-image-items--real{
  position:relative;
  padding: 0 12px 84px 0;
}
.about-section .about-image-items--real .about-image{
  position:relative;
  width:100%;
  min-height: 520px;
  border-radius: 22px;
  overflow: visible;
  background-size: cover;
  background-position: center;
  box-shadow: 0 30px 60px -30px rgba(1,0,78,.28), 0 10px 24px -18px rgba(0,0,0,.18);
  transition: transform .5s ease, box-shadow .5s ease;
}
.about-section .about-image-items--real .about-image::after{
  content:"";
  position:absolute; inset:0;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(1,0,78,0) 55%, rgba(1,0,78,.18) 100%);
  pointer-events:none;
}
.about-section .about-image-items--real .about-image:hover{
  transform: translateY(-4px);
  box-shadow: 0 40px 70px -30px rgba(1,0,78,.35), 0 14px 30px -18px rgba(0,0,0,.22);
}
.about-section .about-image-items--real .about-image-2{
  position:absolute;
  right: -18px;
  bottom: -60px;
  width: 46%;
  max-width: 300px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 40px -18px rgba(1,0,78,.35), 0 6px 16px -10px rgba(0,0,0,.2);
  border: 6px solid #fff;
  background:#fff;
  transition: transform .5s ease;
}
.about-section .about-image-items--real .about-image-2 img{
  display:block; width:100%; height:100%; object-fit:cover;
  transition: transform .8s ease;
}
.about-section .about-image-items--real .about-image:hover .about-image-2{
  transform: translateY(-3px);
}
.about-section .about-image-items--real .about-image-2:hover img{
  transform: scale(1.05);
}

/* Badge "8+ años" moderno, integrado con la foto */
.about-section .about-image-items--real .experience-badge{
  position:absolute;
  left: -18px;
  top: 32px;
  display:flex; align-items:center; gap:14px;
  background:#fff;
  padding: 14px 20px 14px 16px;
  border-radius: 16px;
  border-left: 4px solid #308b1d;
  box-shadow: 0 18px 40px -18px rgba(1,0,78,.35), 0 4px 10px -6px rgba(0,0,0,.12);
  min-width: 220px;
  z-index: 3;
}
.about-section .about-image-items--real .experience-badge__number{
  display:flex; align-items:baseline;
  font-family: inherit;
  color:#01004e;
  line-height:1;
}
.about-section .about-image-items--real .experience-badge__number .count{
  font-size: 44px; font-weight: 800;
}
.about-section .about-image-items--real .experience-badge__number .plus{
  font-size: 26px; font-weight: 700; color:#308b1d; margin-left: 2px;
}
.about-section .about-image-items--real .experience-badge__text{
  display:flex; flex-direction:column; line-height:1.2;
}
.about-section .about-image-items--real .experience-badge__text strong{
  color:#01004e; font-weight:700; font-size:15px;
}
.about-section .about-image-items--real .experience-badge__text span{
  color:#5a6079; font-size:12.5px; margin-top:2px;
}

/* Responsive */
@media (max-width: 991px){
  .about-section .about-image-items--real{ padding: 0 0 72px 0; max-width: 560px; margin: 0 auto; }
  .about-section .about-image-items--real .about-image{ min-height: 420px; }
  .about-section .about-image-items--real .about-image-2{ right: 12px; bottom: -48px; width: 45%; }
  .about-section .about-image-items--real .experience-badge{ left: 12px; }
}
@media (max-width: 575px){
  .about-section .about-image-items--real .about-image{ min-height: 340px; border-radius: 18px; }
  .about-section .about-image-items--real .about-image-2{ width: 50%; right: 10px; bottom: -40px; border-width:4px; }
  .about-section .about-image-items--real .experience-badge{
    left: 10px; top: 16px; padding: 10px 14px; min-width: 0; gap:10px;
  }
  .about-section .about-image-items--real .experience-badge__number .count{ font-size: 34px; }
  .about-section .about-image-items--real .experience-badge__number .plus{ font-size: 20px; }
  .about-section .about-image-items--real .experience-badge__text strong{ font-size: 13.5px; }
  .about-section .about-image-items--real .experience-badge__text span{ font-size: 11.5px; }
}

/* ═══════════════════════════════════════════════════════
   HOME — About section · refinamiento premium
   ═══════════════════════════════════════════════════════ */

/* Foto secundaria: menos protagonismo */
.about-section .about-image-items--real .about-image-2{
  right: -8px;
  bottom: -44px;
  width: 38%;
  max-width: 240px;
  border-width: 5px;
  z-index: 2;
  opacity: .96;
}

/* Badge "8+" · protagonista */
.about-section .about-image-items--real .experience-badge--pro{
  left: -28px;
  bottom: -36px;
  top: auto;
  right: auto;
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 340px;
  max-width: 380px;
  padding: 22px 26px;
  border-radius: 20px;
  background: #ffffff;
  border-left: 6px solid #308b1d;
  box-shadow:
    0 30px 60px -24px rgba(1,0,78,.35),
    0 10px 24px -14px rgba(0,0,0,.18),
    0 1px 0 rgba(1,0,78,.04);
  z-index: 4;
}
.about-section .about-image-items--real .experience-badge--pro .experience-badge__number{
  display: flex;
  align-items: baseline;
  line-height: .9;
  color: #01004e;
}
.about-section .about-image-items--real .experience-badge--pro .experience-badge__number .count{
  font-size: 72px;
  font-weight: 800;
  letter-spacing: -.02em;
  background: linear-gradient(180deg, #01004e 0%, #00009c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.about-section .about-image-items--real .experience-badge--pro .experience-badge__number .plus{
  font-size: 40px;
  font-weight: 700;
  color: #308b1d;
  margin-left: 4px;
}
.about-section .about-image-items--real .experience-badge--pro .experience-badge__divider{
  width: 1px;
  align-self: stretch;
  background: linear-gradient(180deg, transparent, rgba(1,0,78,.15), transparent);
  margin: 4px 0;
}
.about-section .about-image-items--real .experience-badge--pro .experience-badge__text{
  display: flex; flex-direction: column; gap: 4px;
}
.about-section .about-image-items--real .experience-badge--pro .experience-badge__text strong{
  color: #01004e;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -.01em;
}
.about-section .about-image-items--real .experience-badge--pro .experience-badge__text > span{
  color: #5a6079;
  font-size: 13px;
  line-height: 1.35;
}
.about-section .about-image-items--real .experience-badge--pro .experience-badge__meta{
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 600;
  color: #01004e;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.about-section .about-image-items--real .experience-badge--pro .experience-badge__meta .dot{
  width: 6px; height: 6px; border-radius: 50%;
  background: #308b1d;
  box-shadow: 0 0 0 4px rgba(48,139,29,.15);
}

/* Íconos corporativos (line-icons) */
.about-section .icon-area--pro .icon-items{
  align-items: flex-start;
  gap: 16px;
}
.about-section .icon-area--pro .icon-items .icon-pro{
  flex: 0 0 auto;
  width: 52px; height: 52px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #01004e;
  background: #ffffff;
  border: 1px solid rgba(1,0,78,.10);
  box-shadow: 0 6px 18px -10px rgba(1,0,78,.25);
  transition: color .3s ease, border-color .3s ease, transform .3s ease;
}
.about-section .icon-area--pro .icon-items:hover .icon-pro{
  color: #308b1d;
  border-color: rgba(48,139,29,.35);
  transform: translateY(-2px);
}
.about-section .icon-area--pro .icon-items .icon-pro svg{
  display: block;
}
.about-section .icon-area--pro .icon-items .content h5{
  color: #01004e;
  font-weight: 700;
  letter-spacing: -.005em;
  margin-bottom: 4px;
}
.about-section .icon-area--pro .icon-items .content p{
  color: #5a6079;
}

/* Responsive · badge */
@media (max-width: 1199px){
  .about-section .about-image-items--real .experience-badge--pro{
    min-width: 300px; padding: 18px 22px;
  }
  .about-section .about-image-items--real .experience-badge--pro .experience-badge__number .count{ font-size: 60px; }
  .about-section .about-image-items--real .experience-badge--pro .experience-badge__number .plus{ font-size: 34px; }
}
@media (max-width: 991px){
  .about-section .about-image-items--real{ padding-bottom: 96px; }
  .about-section .about-image-items--real .experience-badge--pro{
    left: 16px; bottom: -32px;
  }
  .about-section .about-image-items--real .about-image-2{
    right: 16px; bottom: -32px; width: 34%;
  }
}
@media (max-width: 575px){
  .about-section .about-image-items--real .experience-badge--pro{
    left: 12px; right: 12px; bottom: -28px;
    min-width: 0; max-width: none;
    padding: 14px 16px; gap: 12px;
    border-radius: 16px; border-left-width: 4px;
  }
  .about-section .about-image-items--real .experience-badge--pro .experience-badge__number .count{ font-size: 48px; }
  .about-section .about-image-items--real .experience-badge--pro .experience-badge__number .plus{ font-size: 28px; }
  .about-section .about-image-items--real .experience-badge--pro .experience-badge__text strong{ font-size: 15px; }
  .about-section .about-image-items--real .experience-badge--pro .experience-badge__text > span{ font-size: 12px; }
  .about-section .about-image-items--real .experience-badge--pro .experience-badge__meta{ font-size: 10.5px; }
  .about-section .about-image-items--real .about-image-2{
    width: 42%; right: 10px; bottom: auto; top: 14px;
  }
}

/* About · Fix overlap con columna de texto (desktop) */
@media (min-width: 992px){
  .about-section .about-image-items--real{
    max-width: 460px;
    margin-right: auto;
    padding: 0 0 80px 0;
  }
  .about-section .about-image-items--real .about-image{
    min-height: 460px;
  }
  .about-section .about-image-items--real .about-image-2{
    right: 12px;
    bottom: -36px;
    width: 34%;
    max-width: 190px;
  }
  .about-section .about-image-items--real .experience-badge--pro{
    left: -16px;
    bottom: -28px;
    min-width: 300px;
    max-width: 320px;
    padding: 18px 20px;
    gap: 14px;
  }
  .about-section .about-image-items--real .experience-badge--pro .experience-badge__number .count{
    font-size: 56px;
  }
  .about-section .about-image-items--real .experience-badge--pro .experience-badge__number .plus{
    font-size: 30px;
  }
}

/* ═══════════════════════════════════════════════════════
   HOME — Sectores que atendemos (Rediseño 04)
   Fotografía real + overlay premium + microinteracciones
   ═══════════════════════════════════════════════════════ */
.service-section.section-bg{
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
}
.service-section .sector-static-content{
  padding-right: 12px;
}
.service-section .sector-static-content .section-title h2{
  font-size: 44px !important;
  line-height: 1.15 !important;
  color: var(--kyt-blue-dark, #01004e);
  max-width: 340px;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
}
@media (min-width: 1200px){
  .service-section .sector-static-content .section-title h2{
    max-width: 360px;
  }
}
.service-section .sector-nav-btn{
  width: 46px; height: 46px; border-radius: 50%;
  border: 1.5px solid rgba(1,0,78,.15);
  background: #ffffff;
  color: var(--kyt-blue-dark, #01004e);
  display: inline-flex; align-items: center; justify-content: center;
  transition: all .28s ease;
  box-shadow: 0 4px 14px rgba(1,0,78,.06);
}
.service-section .sector-nav-btn:hover{
  background: var(--kyt-blue-dark, #01004e);
  color: #fff;
  border-color: var(--kyt-blue-dark, #01004e);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(1,0,78,.18);
}

/* Cards */
.service-section .sector-card-wrapper{ padding: 0 12px; }
.service-section .sector-card{
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  height: 460px;
  isolation: isolate;
  box-shadow: 0 10px 30px rgba(1,0,78,.10);
  transition: transform .5s ease, box-shadow .5s ease;
}
.service-section .sector-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 24px 50px rgba(1,0,78,.22);
}
.service-section .sector-card .sector-bg-img{
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  transition: transform 1.1s cubic-bezier(.2,.7,.2,1), filter .6s ease;
  filter: saturate(1.02);
  z-index: 0;
}
.service-section .sector-card:hover .sector-bg-img{
  transform: scale(1.12);
  filter: saturate(1.1);
}
/* Overlay premium — gradiente sostenido para legibilidad */
.service-section .sector-card .sector-overlay{
  position: absolute; inset: 0;
  background: linear-gradient(180deg,
      rgba(1,0,78,0) 0%,
      rgba(1,0,78,.10) 35%,
      rgba(1,0,78,.72) 78%,
      rgba(1,0,78,.92) 100%);
  z-index: 1;
  transition: background .5s ease;
}
.service-section .sector-card:hover .sector-overlay{
  background: linear-gradient(180deg,
      rgba(1,0,78,.05) 0%,
      rgba(1,0,78,.30) 30%,
      rgba(1,0,78,.82) 70%,
      rgba(1,0,78,.96) 100%);
}
/* Content */
.service-section .sector-card .sector-content{
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 26px 26px 24px;
  color: #fff;
  z-index: 2;
  transform: translateY(28px);
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.service-section .sector-card:hover .sector-content{
  transform: translateY(0);
}
.service-section .sector-card .sector-content h3{
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  margin: 0 0 10px;
  letter-spacing: .2px;
  position: relative;
  padding-bottom: 12px;
}
.service-section .sector-card .sector-content h3::after{
  content: "";
  position: absolute; left: 0; bottom: 0;
  width: 42px; height: 3px;
  background: #30c853;
  border-radius: 2px;
  transition: width .45s ease;
}
.service-section .sector-card:hover .sector-content h3::after{ width: 72px; }
.service-section .sector-card .sector-content p{
  color: rgba(255,255,255,.92);
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0 0 16px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .5s ease, opacity .35s ease, margin .35s ease;
}
.service-section .sector-card:hover .sector-content p{
  max-height: 140px;
  opacity: 1;
}
.service-section .sector-card .sector-btn{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px;
  background: #30c853;
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .3px;
  border-radius: 999px;
  text-transform: uppercase;
  transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
  box-shadow: 0 6px 16px rgba(48,200,83,.35);
}
.service-section .sector-card .sector-btn i{ font-size: 11px; transition: transform .3s ease; }
.service-section .sector-card:hover .sector-btn{
  background: #22a845;
  transform: translateX(2px);
}
.service-section .sector-card:hover .sector-btn i{ transform: translateX(3px); }
.service-section .sector-card .sector-link{
  position: absolute; inset: 0; z-index: 3;
  text-indent: -9999px;
}

/* En pantallas táctiles: contenido siempre visible */
@media (hover: none){
  .service-section .sector-card .sector-content{ transform: translateY(0); }
  .service-section .sector-card .sector-content p{
    max-height: 140px; opacity: 1;
  }
}

/* Responsive */
@media (max-width: 991px){
  .service-section .sector-static-content{ padding: 0 15px 20px; }
  .service-section .sector-static-content .section-title h2{
    font-size: 36px !important;
    max-width: none;
  }
  .service-section .sector-card{ height: 420px; }
}
@media (max-width: 575px){
  .service-section .sector-card{ height: 380px; }
  .service-section .sector-card .sector-content h3{ font-size: 22px; }
}

/* ═══════════════════════════════════════════════════════
   HOME — Calidad, certificaciones y respaldo (Rediseño 05)
   Grid corporativo, cards blancas, logos uniformes
   ═══════════════════════════════════════════════════════ */
.brand-section-2.kyt-certifications{
  background: linear-gradient(180deg, #f6f8fb 0%, #ffffff 100%);
  padding: 90px 0 100px;
}
.brand-section-2.kyt-certifications .kyt-cert-header{
  text-align: center;
  max-width: 720px;
  margin: 0 auto 48px;
}
.brand-section-2.kyt-certifications .kyt-cert-eyebrow{
  display: inline-block;
  color: #30c853;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.brand-section-2.kyt-certifications h6{
  font-size: 32px !important;
  line-height: 1.2;
  font-weight: 700;
  color: var(--kyt-blue-dark, #01004e);
  margin: 0 0 14px;
  letter-spacing: -.2px;
}
.brand-section-2.kyt-certifications .kyt-cert-sub{
  font-size: 15.5px;
  line-height: 1.6;
  color: #5b6478;
  margin: 0;
}
.brand-section-2.kyt-certifications .kyt-cert-grid{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
  max-width: 1180px;
  margin: 0 auto;
}
.brand-section-2.kyt-certifications .kyt-cert-card{
  background: #ffffff;
  border: 1px solid #e7ebf1;
  border-radius: 16px;
  height: 148px;
  display: flex; align-items: center; justify-content: center;
  padding: 22px 26px;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  box-shadow: 0 2px 8px rgba(1,0,78,.03);
}
.brand-section-2.kyt-certifications .kyt-cert-card img{
  max-width: 100%;
  max-height: 84px;
  width: auto; height: auto;
  object-fit: contain;
  filter: grayscale(15%);
  opacity: .92;
  transition: filter .35s ease, opacity .35s ease, transform .35s ease;
}
.brand-section-2.kyt-certifications .kyt-cert-card:hover{
  transform: translateY(-4px);
  border-color: rgba(1,0,78,.18);
  box-shadow: 0 14px 32px rgba(1,0,78,.10);
}
.brand-section-2.kyt-certifications .kyt-cert-card:hover img{
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.04);
}

/* Responsive */
@media (max-width: 1199px){
  .brand-section-2.kyt-certifications .kyt-cert-grid{ gap: 18px; }
  .brand-section-2.kyt-certifications .kyt-cert-card{ height: 138px; padding: 20px; }
}
@media (max-width: 991px){
  .brand-section-2.kyt-certifications{ padding: 70px 0 80px; }
  .brand-section-2.kyt-certifications h6{ font-size: 26px !important; }
  .brand-section-2.kyt-certifications .kyt-cert-grid{
    grid-template-columns: repeat(3, 1fr);
  }
  .brand-section-2.kyt-certifications .kyt-cert-card:nth-child(4),
  .brand-section-2.kyt-certifications .kyt-cert-card:nth-child(5){ height: 130px; }
}
@media (max-width: 575px){
  .brand-section-2.kyt-certifications .kyt-cert-grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
  .brand-section-2.kyt-certifications .kyt-cert-card{ height: 120px; padding: 16px; }
  .brand-section-2.kyt-certifications .kyt-cert-card img{ max-height: 68px; }
  .brand-section-2.kyt-certifications .kyt-cert-card:last-child:nth-child(odd){
    grid-column: span 2;
  }
}

/* Cert header — evitar herencia de link/underline y forzar visibilidad
   aunque wow.js no dispare (paridad visual segura) */
.brand-section-2.kyt-certifications h6,
.brand-section-2.kyt-certifications h6 a{
  text-decoration: none !important;
  text-transform: none !important;
  color: var(--kyt-blue-dark, #01004e) !important;
}
.brand-section-2.kyt-certifications .wow{
  visibility: visible !important; opacity: 1 !important;
  animation-fill-mode: both;
}

/* ============================================================
   REDISEÑO 06 — Sección "Nuestros productos" (products-showcase-v2)
   ============================================================ */
.products-showcase-v2 {
    background: #f5f7fa;
    background-image: radial-gradient(circle at 15% 10%, rgba(37,99,235,0.05), transparent 45%),
                      radial-gradient(circle at 85% 90%, rgba(16,185,129,0.05), transparent 45%);
    position: relative;
}
.products-showcase-v2 .ps2-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 40px;
}
.products-showcase-v2 .ps2-eyebrow {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #10b981;
    margin-bottom: 16px;
}
.products-showcase-v2 .ps2-title {
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1.15;
    color: #0f2340;
    font-weight: 700;
    margin-bottom: 18px;
}
.products-showcase-v2 .ps2-subtitle {
    color: #4b5b74;
    font-size: 17px;
    line-height: 1.55;
    margin: 0;
}
.products-showcase-v2 .ps2-stack {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.products-showcase-v2 .ps2-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 26px;
    align-items: stretch;
}
.products-showcase-v2 .ps2-card {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(15,35,64,0.06);
    border: 1px solid rgba(15,35,64,0.06);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
/* Horizontal-row variant: image on top, body below, uniform height */
.products-showcase-v2 .ps2-card-h {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.products-showcase-v2 .ps2-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(15,35,64,0.14);
    border-color: rgba(37,99,235,0.25);
}
.products-showcase-v2 .ps2-card.reverse { grid-template-columns: 1fr 1.05fr; }
.products-showcase-v2 .ps2-card.reverse .ps2-media { order: 2; }
.products-showcase-v2 .ps2-card.reverse .ps2-body  { order: 1; }

.products-showcase-v2 .ps2-media {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    background: #0f2340;
}
.products-showcase-v2 .ps2-card-h .ps2-media {
    min-height: 0;
    height: 180px;
    background: #f1f4f8;
}
.products-showcase-v2 .ps2-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}
.products-showcase-v2 .ps2-media-contain {
    background: #ffffff;
}
.products-showcase-v2 .ps2-media-contain img {
    object-fit: contain;
    padding: 18px;
    background: #ffffff;
    image-rendering: -webkit-optimize-contrast;
}
.products-showcase-v2 .ps2-card:hover .ps2-media img { transform: scale(1.04); }
.products-showcase-v2 .ps2-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(255,255,255,0.95);
    color: #0f2340;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 5px 11px;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
.products-showcase-v2 .ps2-body {
    padding: 20px 22px 22px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1;
}
.products-showcase-v2 .ps2-kicker {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #2563eb;
    margin-bottom: 8px;
}
.products-showcase-v2 .ps2-body h3 {
    font-size: 20px;
    color: #0f2340;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.25;
}
.products-showcase-v2 .ps2-body p {
    color: #4b5b74;
    font-size: 14.5px;
    line-height: 1.55;
    margin: 0 0 14px;
}
.products-showcase-v2 .ps2-features {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
}
.products-showcase-v2 .ps2-features li {
    font-size: 12px;
    font-weight: 600;
    color: #0f2340;
    background: #eef2f7;
    padding: 5px 11px;
    border-radius: 999px;
}
.products-showcase-v2 .ps2-features li::before {
    content: "";
    display: inline-block;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #10b981;
    margin-right: 6px;
    vertical-align: middle;
}
.products-showcase-v2 .ps2-cta {
    align-self: flex-start;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #0f2340;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 999px;
    text-decoration: none;
    transition: background .3s ease, gap .3s ease;
}
.products-showcase-v2 .ps2-cta i { transition: transform .3s ease; }
.products-showcase-v2 .ps2-cta:hover { background: #2563eb; gap: 14px; }
.products-showcase-v2 .ps2-cta:hover i { transform: translateX(4px); }

@media (max-width: 1199px) {
    .products-showcase-v2 .ps2-grid-3 { gap: 20px; }
    .products-showcase-v2 .ps2-card-h .ps2-media { height: 160px; }
    .products-showcase-v2 .ps2-body { padding: 18px 18px 20px; }
    .products-showcase-v2 .ps2-body h3 { font-size: 18px; }
}
@media (max-width: 991px) {
    .products-showcase-v2 .ps2-grid-3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .products-showcase-v2 .ps2-grid-3 > article:nth-child(3) { grid-column: 1 / -1; max-width: 560px; margin: 0 auto; width: 100%; }
    .products-showcase-v2 .ps2-card,
    .products-showcase-v2 .ps2-card.reverse { grid-template-columns: 1fr; }
    .products-showcase-v2 .ps2-card.reverse .ps2-media { order: 1; }
    .products-showcase-v2 .ps2-card.reverse .ps2-body  { order: 2; }
    .products-showcase-v2 .ps2-media { min-height: 220px; }
    .products-showcase-v2 .ps2-card-h .ps2-media { height: 200px; }
}
@media (max-width: 640px) {
    .products-showcase-v2 .ps2-grid-3 { grid-template-columns: 1fr; }
    .products-showcase-v2 .ps2-grid-3 > article:nth-child(3) { max-width: none; }
    .products-showcase-v2 .ps2-card-h .ps2-media { height: 190px; }
}

/* ============================================================
   REDISEÑO 07 — Sección "Clientes" (brand-section-v2) — Carrusel
   ============================================================ */
.brand-section-v2 { background: #ffffff; padding-top: 70px; padding-bottom: 70px; }
.brand-section-v2 .bv2-header {
    text-align: center;
    max-width: 780px;
    margin: 0 auto 32px;
}
.brand-section-v2 .bv2-eyebrow {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #10b981;
    margin-bottom: 14px;
}
.brand-section-v2 .bv2-title {
    font-size: clamp(24px, 2.6vw, 34px);
    line-height: 1.2;
    color: #0f2340;
    font-weight: 700;
    margin: 0 0 12px;
    text-transform: none;
}
.brand-section-v2 .bv2-subtitle {
    color: #4b5b74;
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 22px;
}
.brand-section-v2 .bv2-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    background: #f1f4f8;
    padding: 6px;
    border-radius: 999px;
}
.brand-section-v2 .bv2-tab {
    appearance: none;
    border: 0;
    background: transparent;
    color: #4b5b74;
    font-size: 14px;
    font-weight: 600;
    padding: 9px 18px;
    border-radius: 999px;
    cursor: pointer;
    transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}
.brand-section-v2 .bv2-tab:hover { color: #0f2340; }
.brand-section-v2 .bv2-tab.active {
    background: #0f2340;
    color: #ffffff;
    box-shadow: 0 6px 16px rgba(15,35,64,0.18);
}
.brand-section-v2 .bv2-carousel-wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
}
.brand-section-v2 .bv2-viewport {
    flex: 1;
    overflow: hidden;
    scroll-behavior: smooth;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
}
.brand-section-v2 .bv2-viewport::-webkit-scrollbar { display: none; }
.brand-section-v2 .bv2-track {
    display: flex;
    gap: 16px;
    padding: 4px 2px;
}
.brand-section-v2 .bv2-track .brand-image {
    flex: 0 0 calc((100% - 16px * 5) / 6);
    background: #ffffff;
    border-radius: 14px;
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px 26px;
    box-shadow: 0 2px 8px rgba(15,35,64,0.05);
    border: 1px solid rgba(15,35,64,0.06);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    scroll-snap-align: start;
}
.brand-section-v2 .bv2-track .brand-image[hidden] { display: none !important; }
.brand-section-v2 .bv2-track .brand-image:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(15,35,64,0.12);
    border-color: rgba(37,99,235,0.2);
}
.brand-section-v2 .bv2-track .brand-image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(20%);
    transition: filter .3s ease, transform .3s ease;
}
.brand-section-v2 .bv2-track .brand-image:hover img {
    filter: grayscale(0%);
    transform: scale(1.03);
}
.brand-section-v2 .bv2-nav {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(15,35,64,0.12);
    background: #ffffff;
    color: #0f2340;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(15,35,64,0.08);
    transition: background .25s ease, color .25s ease, transform .25s ease;
}
.brand-section-v2 .bv2-nav:hover {
    background: #0f2340;
    color: #ffffff;
    transform: translateY(-1px);
}
@media (max-width: 1199px) {
    .brand-section-v2 .bv2-track .brand-image { flex-basis: calc((100% - 16px * 4) / 5); }
}
@media (max-width: 991px) {
    .brand-section-v2 .bv2-track .brand-image { flex-basis: calc((100% - 16px * 3) / 4); height: 110px; padding: 18px 20px; }
}
@media (max-width: 767px) {
    .brand-section-v2 .bv2-track .brand-image { flex-basis: calc((100% - 16px * 2) / 3); }
}
@media (max-width: 520px) {
    .brand-section-v2 .bv2-track .brand-image { flex-basis: calc((100% - 16px) / 2); height: 96px; padding: 14px 16px; }
    .brand-section-v2 .bv2-nav { width: 38px; height: 38px; }
}


/* ============================================================
   REDISEÑO 08 — Sección "Blog y recursos" (news-section-v2)
   ============================================================ */
.news-section-v2 { background: #f5f7fa; }
.news-section-v2 .nv2-header { text-align: center; max-width: 780px; margin: 0 auto 50px; }
.news-section-v2 .nv2-eyebrow {
    display: inline-block; font-size: 13px; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase;
    color: #10b981; margin-bottom: 14px;
}
.news-section-v2 .nv2-title {
    font-size: clamp(26px, 3vw, 40px); line-height: 1.2;
    color: #0f2340; font-weight: 700; margin: 0;
}
.news-section-v2 .nv2-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 28px;
    align-items: stretch;
}
.news-section-v2 .nv2-card {
    display: flex; flex-direction: column;
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(15,35,64,0.06);
    box-shadow: 0 4px 18px rgba(15,35,64,0.05);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    height: 100%;
}
.news-section-v2 .nv2-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(15,35,64,0.14);
    border-color: rgba(37,99,235,0.22);
}
.news-section-v2 .nv2-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #0f2340;
}
.news-section-v2 .nv2-media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .6s ease;
}
.news-section-v2 .nv2-card:hover .nv2-media img { transform: scale(1.06); }
.news-section-v2 .nv2-date {
    position: absolute; top: 16px; left: 16px;
    background: #ffffff; color: #0f2340;
    border-radius: 12px;
    padding: 8px 12px;
    text-align: center;
    line-height: 1;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    min-width: 52px;
}
.news-section-v2 .nv2-date strong {
    display: block; font-size: 20px; font-weight: 700; color: #0f2340;
}
.news-section-v2 .nv2-date span {
    display: block; font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 1px;
    color: #2563eb; margin-top: 2px;
}
.news-section-v2 .nv2-cat {
    position: absolute; top: 16px; right: 16px;
    background: rgba(16,185,129,0.95); color: #ffffff;
    font-size: 12px; font-weight: 700;
    letter-spacing: 0.5px; text-transform: uppercase;
    padding: 6px 12px; border-radius: 999px;
    box-shadow: 0 4px 12px rgba(16,185,129,0.35);
}
.news-section-v2 .nv2-body {
    display: flex; flex-direction: column;
    padding: 26px 26px 28px;
    flex: 1 1 auto;
}
.news-section-v2 .nv2-meta {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; margin-bottom: 14px;
    font-size: 13px; color: #4b5b74;
}
.news-section-v2 .nv2-author {
    display: inline-flex; align-items: center; gap: 8px;
    font-weight: 600; color: #0f2340;
}
.news-section-v2 .nv2-author i {
    width: 26px; height: 26px; border-radius: 50%;
    background: #10b981; color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 12px;
}
.news-section-v2 .nv2-read { font-size: 12px; color: #6b7a90; }
.news-section-v2 .nv2-h {
    font-size: 19px; line-height: 1.35;
    color: #0f2340; font-weight: 700;
    margin: 0 0 22px;
    flex: 1 1 auto;
}
.news-section-v2 .nv2-h a { color: inherit; text-decoration: none; transition: color .25s ease; }
.news-section-v2 .nv2-card:hover .nv2-h a { color: #2563eb; }
.news-section-v2 .nv2-cta {
    align-self: flex-start;
    display: inline-flex; align-items: center; gap: 8px;
    color: #0f2340; font-weight: 700; font-size: 14px;
    text-decoration: none;
    padding: 10px 0;
    border-bottom: 2px solid transparent;
    transition: color .25s ease, gap .25s ease, border-color .25s ease;
}
.news-section-v2 .nv2-cta i { transition: transform .25s ease; }
.news-section-v2 .nv2-cta:hover {
    color: #2563eb; gap: 12px; border-color: #2563eb;
}
.news-section-v2 .nv2-cta:hover i { transform: translateX(4px); }

@media (max-width: 991px) {
    .news-section-v2 .nv2-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .news-section-v2 .nv2-grid .nv2-card:nth-child(3) { grid-column: 1 / -1; max-width: 560px; margin: 0 auto; width: 100%; }
}
@media (max-width: 640px) {
    .news-section-v2 .nv2-grid { grid-template-columns: 1fr; }
    .news-section-v2 .nv2-grid .nv2-card:nth-child(3) { max-width: none; }
    .news-section-v2 .nv2-body { padding: 22px 20px 24px; }
}

/* ═══════════════════════════════════════════
   CIERRE CTA v2 — Hablemos de su proyecto
═══════════════════════════════════════════ */
.close-section.close-v2 {
    background: linear-gradient(180deg, #ffffff 0%, #f5f7fa 100%);
    padding: 68px 0 76px;
    position: relative;
    overflow: hidden;
}
.close-section.close-v2 .cv2-card {
    position: relative;
    background: linear-gradient(135deg, #0f2547 0%, #1a3a6b 55%, #22c55e 220%);
    border-radius: 24px;
    padding: 64px 72px;
    color: #fff;
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 56px;
    align-items: center;
    box-shadow: 0 30px 70px -25px rgba(15,37,71,0.45), 0 10px 25px -15px rgba(15,37,71,0.3);
    overflow: hidden;
    isolation: isolate;
}
.close-section.close-v2 .cv2-pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
        radial-gradient(circle at 90% 15%, rgba(34,197,94,0.22) 0%, transparent 45%),
        radial-gradient(circle at 10% 90%, rgba(59,130,246,0.18) 0%, transparent 40%),
        linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
    background-size: auto, auto, 42px 42px, 42px 42px;
    opacity: 0.9;
}
.close-section.close-v2 .cv2-content,
.close-section.close-v2 .cv2-actions {
    position: relative;
    z-index: 1;
}
.close-section.close-v2 .cv2-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #4ade80;
    margin-bottom: 18px;
}
.close-section.close-v2 .cv2-eyebrow::before {
    content: "";
    width: 28px;
    height: 2px;
    background: #4ade80;
}
.close-section.close-v2 h2 {
    color: #ffffff !important;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.15;
    font-weight: 700;
    margin: 0 0 18px;
    letter-spacing: -0.5px;
}
.close-section.close-v2 p {
    color: rgba(255,255,255,0.92);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
    max-width: 620px;
}
.close-section.close-v2 .cv2-actions {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.close-section.close-v2 .cv2-primary {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.close-section.close-v2 .cv2-btn {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 18px 26px;
    border-radius: 14px;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none !important;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
    position: relative;
}
.close-section.close-v2 .cv2-btn span {
    flex: 1;
}
.close-section.close-v2 .cv2-btn .cv2-arrow {
    transition: transform .25s ease;
}
.close-section.close-v2 .cv2-btn:hover .cv2-arrow {
    transform: translateX(6px);
}
.close-section.close-v2 .cv2-btn-primary {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: #ffffff !important;
    box-shadow: 0 12px 28px -10px rgba(34,197,94,0.55);
}
.close-section.close-v2 .cv2-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 36px -12px rgba(34,197,94,0.7);
}
.close-section.close-v2 .cv2-btn-secondary {
    background: #ffffff;
    color: #0f2547 !important;
    box-shadow: 0 10px 24px -12px rgba(0,0,0,0.35);
}
.close-section.close-v2 .cv2-btn-secondary:hover {
    transform: translateY(-3px);
    background: #f8fafc;
    box-shadow: 0 16px 32px -12px rgba(0,0,0,0.4);
}
.close-section.close-v2 .cv2-secondary {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    border-top: 1px solid rgba(255,255,255,0.14);
    margin-top: 6px;
    padding-top: 20px;
}
.close-section.close-v2 .cv2-link {
    color: rgba(255,255,255,0.9) !important;
    font-size: 14.5px;
    font-weight: 500;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.04);
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.close-section.close-v2 .cv2-link:hover {
    color: #ffffff !important;
    background: rgba(255,255,255,0.1);
    border-color: rgba(74,222,128,0.5);
    transform: translateY(-1px);
}
.close-section.close-v2 .cv2-link i {
    font-size: 13px;
    opacity: 0.9;
}
.close-section.close-v2 .cv2-sep {
    display: none;
}

@media (max-width: 991px) {
    .close-section.close-v2 { padding: 54px 0 60px; }
    .close-section.close-v2 .cv2-card {
        grid-template-columns: 1fr;
        padding: 48px 40px;
        gap: 36px;
    }
    .close-section.close-v2 p { max-width: 100%; }
}
@media (max-width: 575px) {
    .close-section.close-v2 .cv2-card { padding: 40px 26px; border-radius: 20px; }
    .close-section.close-v2 .cv2-btn { padding: 16px 20px; font-size: 15px; }
    .close-section.close-v2 .cv2-secondary { gap: 12px; }
}

/* ═══════════════════════════════════════════
   ABOUT / LA EMPRESA — Redesign premium v2
═══════════════════════════════════════════ */
.ka-container{max-width:1240px;margin:0 auto;padding:0 24px;}
.ka-eyebrow{display:inline-block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#2ecc71;margin-bottom:14px;}
.ka-eyebrow-dark{color:#1a8a4e;}
.ka-eyebrow-white{color:#7cf0a7;}
.ka-h2{font-size:clamp(28px,3.4vw,44px);line-height:1.12;color:#062044;font-weight:800;letter-spacing:-.02em;margin:0 0 14px;}

/* Botones */
.ka-btn-primary,.ka-btn-ghost{display:inline-flex;align-items:center;gap:9px;padding:14px 22px;border-radius:12px;font-weight:600;font-size:15px;text-decoration:none;transition:all .25s ease;border:1px solid transparent;line-height:1;}
.ka-btn-primary{background:#2ecc71;color:#fff;}
.ka-btn-primary:hover{background:#25b361;color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(46,204,113,.55);}
.ka-btn-ghost{background:transparent;color:#062044;border-color:#062044;}
.ka-btn-ghost:hover{background:#062044;color:#fff;}
.ka-btn-ghost-white{color:#fff;border-color:rgba(255,255,255,.55);}
.ka-btn-ghost-white:hover{background:#fff;color:#062044;}

/* HERO */
.ka-hero{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;padding:120px 0 72px;}
.ka-hero-media{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2;transform:scale(1.02);}
.ka-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,32,68,.55) 0%,rgba(6,32,68,.85) 100%);z-index:-1;}
.ka-hero-inner{width:100%;max-width:1240px;margin:0 auto;padding:0 24px;color:#fff;}
.ka-hero .ka-eyebrow{color:#7cf0a7;}
.ka-crumbs{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:rgba(255,255,255,.75);}
.ka-crumbs a{color:#fff;text-decoration:none;}
.ka-crumbs a:hover{color:#7cf0a7;}
.ka-crumbs i{font-size:10px;color:rgba(255,255,255,.4);}
.ka-hero-title{font-size:clamp(34px,4.6vw,60px);line-height:1.05;font-weight:800;letter-spacing:-.025em;margin:0 0 18px;color:#fff;max-width:820px;}
.ka-hero-sub{font-size:17px;line-height:1.6;color:rgba(255,255,255,.88);max-width:640px;margin:0 0 28px;}
.ka-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;}
.ka-hero .ka-btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);}
.ka-hero .ka-btn-ghost:hover{background:#fff;color:#062044;}

/* SNAPSHOT */
.ka-snapshot{background:#f6f9fd;padding:36px 0;border-bottom:1px solid #e8eef7;}
.ka-snap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.ka-snap-item{text-align:center;padding:8px 4px;}
.ka-snap-num{font-size:clamp(30px,3.4vw,42px);font-weight:800;color:#166FD3;line-height:1;letter-spacing:-.02em;}
.ka-snap-lbl{margin-top:8px;font-size:13.5px;color:#4a5b78;line-height:1.35;}

/* INTRO */
.ka-intro{padding:76px 0;background:#fff;}
.ka-intro-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:center;}
.ka-intro-media{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(6,32,68,.35);}
.ka-intro-media img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover;}
.ka-intro-badge{position:absolute;left:20px;bottom:20px;right:20px;background:rgba(6,32,68,.94);color:#fff;border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;backdrop-filter:blur(6px);}
.ka-badge-num{font-size:36px;font-weight:800;color:#7cf0a7;line-height:1;letter-spacing:-.02em;}
.ka-badge-txt{font-size:13px;line-height:1.35;color:rgba(255,255,255,.9);}
.ka-lead{font-size:16.5px;line-height:1.65;color:#3d4c6a;margin:0 0 22px;max-width:560px;}
.ka-pill-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ka-pill{display:flex;gap:13px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:#f6f9fd;border:1px solid #e8eef7;}
.ka-pill i{color:#166FD3;font-size:20px;flex-shrink:0;margin-top:2px;}
.ka-pill strong{display:block;color:#062044;font-size:14.5px;font-weight:700;margin-bottom:2px;}
.ka-pill span{font-size:12.5px;color:#5a6a85;line-height:1.35;}

/* MV */
.ka-mv{padding:80px 0;background:#f6f9fd;}
.ka-mv-header{text-align:center;max-width:720px;margin:0 auto 44px;}
.ka-mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.ka-mv-card{background:#fff;border-radius:20px;padding:38px 34px;border:1px solid #e8eef7;box-shadow:0 8px 24px -18px rgba(6,32,68,.25);transition:transform .3s ease,box-shadow .3s ease;}
.ka-mv-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -22px rgba(6,32,68,.25);}
.ka-mv-card-alt{background:linear-gradient(160deg,#062044 0%,#0b3775 100%);color:#fff;border-color:transparent;}
.ka-mv-icon{width:56px;height:56px;border-radius:14px;background:rgba(46,204,113,.15);color:#1a8a4e;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:20px;}
.ka-mv-card-alt .ka-mv-icon{background:rgba(124,240,167,.18);color:#7cf0a7;}
.ka-mv-card h3{font-size:24px;font-weight:800;color:#062044;margin:0 0 12px;}
.ka-mv-card-alt h3{color:#fff;}
.ka-mv-card p{font-size:15px;line-height:1.6;color:#3d4c6a;margin:0 0 18px;}
.ka-mv-card-alt p{color:rgba(255,255,255,.85);}
.ka-mv-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;}
.ka-mv-list li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#3d4c6a;}
.ka-mv-list i{color:#2ecc71;font-size:12px;}
.ka-mv-card-alt .ka-mv-list li{color:rgba(255,255,255,.88);}
.ka-mv-card-alt .ka-mv-list i{color:#7cf0a7;}

/* CAPACIDAD */
.ka-cap{padding:88px 0;background:#fff;}
.ka-cap-header{text-align:center;max-width:760px;margin:0 auto 44px;}
.ka-cap-sub{font-size:16px;color:#4a5b78;line-height:1.6;margin:12px 0 0;}
.ka-cap-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:auto auto;gap:20px;}
.ka-cap-card{background:#f6f9fd;border:1px solid #e8eef7;border-radius:18px;padding:28px 26px;transition:all .3s ease;}
.ka-cap-card:hover{transform:translateY(-4px);border-color:#166FD3;box-shadow:0 20px 40px -20px rgba(22,111,211,.28);}
.ka-cap-featured{grid-row:span 2;padding:0;background-size:cover;background-position:center;color:#fff;position:relative;overflow:hidden;min-height:360px;display:flex;align-items:flex-end;border:none;}
.ka-cap-featured:hover{transform:translateY(-4px);}
.ka-cap-featured .ka-cap-body{padding:32px 30px;width:100%;}
.ka-cap-chip{display:inline-block;background:rgba(46,204,113,.95);color:#062044;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:12px;}
.ka-cap-featured h3{font-size:26px;font-weight:800;color:#fff;margin:0 0 10px;line-height:1.2;}
.ka-cap-featured p{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.88);margin:0;max-width:420px;}
.ka-cap-icon{width:48px;height:48px;border-radius:12px;background:rgba(22,111,211,.1);color:#166FD3;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;}
.ka-cap-card h4{font-size:18px;font-weight:700;color:#062044;margin:0 0 8px;}
.ka-cap-card p{font-size:14px;line-height:1.55;color:#4a5b78;margin:0;}

/* TIMELINE */
.ka-timeline{padding:88px 0;background:linear-gradient(180deg,#f6f9fd 0%,#eef4fb 100%);}
.ka-tl-header{text-align:center;max-width:720px;margin:0 auto 36px;}
.ka-tl-sub{font-size:15.5px;color:#4a5b78;line-height:1.55;margin:10px 0 0;}
.ka-tl-years{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;background:#fff;border:1px solid #e8eef7;border-radius:999px;padding:8px;max-width:fit-content;margin:0 auto 32px;box-shadow:0 8px 24px -18px rgba(6,32,68,.2);}
.ka-tl-year{background:transparent;border:none;padding:10px 18px;font-size:14px;font-weight:700;color:#4a5b78;border-radius:999px;cursor:pointer;transition:all .25s ease;font-family:inherit;}
.ka-tl-year:hover{color:#166FD3;background:#f6f9fd;}
.ka-tl-year.active{background:#062044;color:#fff;box-shadow:0 6px 14px -6px rgba(6,32,68,.4);}
.ka-tl-panels{position:relative;min-height:260px;}
.ka-tl-panel{display:none;background:#fff;border-radius:20px;padding:38px 40px;border:1px solid #e8eef7;box-shadow:0 12px 40px -24px rgba(6,32,68,.25);position:relative;overflow:hidden;}
.ka-tl-panel.active{display:block;animation:kaFadeUp .35s ease;}
@keyframes kaFadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.ka-tl-year-big{position:absolute;top:24px;right:36px;font-size:88px;font-weight:800;color:#f0f5fc;line-height:1;letter-spacing:-.03em;pointer-events:none;}
.ka-tl-panel h3{font-size:22px;font-weight:800;color:#062044;margin:0 0 8px;max-width:70%;}
.ka-tl-lead{font-size:15px;color:#4a5b78;line-height:1.55;margin:0 0 18px;max-width:70%;}
.ka-tl-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;}
.ka-tl-chips li{background:#f6f9fd;border:1px solid #e2ebf5;color:#062044;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;}
.ka-tl-tag{display:inline-block;margin-top:16px;background:rgba(46,204,113,.14);color:#1a8a4e;font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:999px;letter-spacing:.02em;}

/* PILARES */
.ka-pillars{padding:88px 0;background:#fff;}
.ka-pillars-header{text-align:center;max-width:760px;margin:0 auto 48px;}
.ka-pillars-sub{font-size:16px;color:#4a5b78;line-height:1.6;margin:12px 0 0;}
.ka-pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.ka-pillar{position:relative;background:#f6f9fd;border:1px solid #e8eef7;border-top:3px solid #166FD3;border-radius:16px;padding:32px 24px 26px;transition:all .3s ease;}
.ka-pillar:nth-child(2){border-top-color:#2ecc71;}
.ka-pillar:nth-child(3){border-top-color:#f3b338;}
.ka-pillar:nth-child(4){border-top-color:#062044;}
.ka-pillar:hover{transform:translateY(-6px);box-shadow:0 24px 40px -22px rgba(6,32,68,.25);background:#fff;}
.ka-pillar-num{position:absolute;top:22px;right:22px;font-size:14px;font-weight:800;color:#c4d1e3;letter-spacing:.05em;}
.ka-pillar-icon{width:52px;height:52px;border-radius:14px;background:rgba(22,111,211,.1);color:#166FD3;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px;}
.ka-pillar:nth-child(2) .ka-pillar-icon{background:rgba(46,204,113,.12);color:#1a8a4e;}
.ka-pillar:nth-child(3) .ka-pillar-icon{background:rgba(243,179,56,.14);color:#c88a1a;}
.ka-pillar:nth-child(4) .ka-pillar-icon{background:rgba(6,32,68,.08);color:#062044;}
.ka-pillar h4{font-size:17px;font-weight:800;color:#062044;margin:0 0 10px;line-height:1.25;}
.ka-pillar p{font-size:14px;line-height:1.55;color:#4a5b78;margin:0;}

/* CTA */
.ka-cta{padding:60px 0 88px;background:#fff;}
.ka-cta-card{background:linear-gradient(135deg,#062044 0%,#0b3775 55%,#1a8a4e 100%);border-radius:24px;padding:56px 56px;display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:center;color:#fff;position:relative;overflow:hidden;}
.ka-cta-card::before{content:"";position:absolute;top:-40%;right:-10%;width:520px;height:520px;background:radial-gradient(circle,rgba(124,240,167,.22) 0%,transparent 65%);pointer-events:none;}
.ka-cta-copy h2{color:#fff;font-size:clamp(26px,2.8vw,36px);line-height:1.15;font-weight:800;margin:0 0 12px;}
.ka-cta-copy p{font-size:15.5px;color:rgba(255,255,255,.88);line-height:1.55;margin:0;max-width:440px;}
.ka-cta-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start;justify-self:end;}
.ka-cta .ka-btn-primary{padding:16px 26px;}

/* RESPONSIVE */
@media (max-width:1080px){
    .ka-intro-grid{grid-template-columns:1fr;gap:40px;}
    .ka-cap-grid{grid-template-columns:1fr 1fr;}
    .ka-cap-featured{grid-row:auto;grid-column:span 2;}
    .ka-pillars-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:820px){
    .ka-hero{min-height:480px;padding:100px 0 60px;}
    .ka-snap-grid{grid-template-columns:1fr 1fr;gap:20px;}
    .ka-mv-grid{grid-template-columns:1fr;}
    .ka-cap-grid{grid-template-columns:1fr;}
    .ka-cap-featured{grid-column:auto;min-height:280px;}
    .ka-tl-panel h3,.ka-tl-lead{max-width:100%;}
    .ka-tl-year-big{font-size:64px;top:16px;right:20px;opacity:.6;}
    .ka-tl-panel{padding:28px 24px;}
    .ka-cta-card{grid-template-columns:1fr;padding:40px 30px;text-align:left;}
    .ka-cta-actions{justify-self:start;}
    .ka-intro-media img{aspect-ratio:5/6;}
    .ka-pill-row{grid-template-columns:1fr;}
}
@media (max-width:520px){
    .ka-pillars-grid{grid-template-columns:1fr;}
    .ka-snap-grid{grid-template-columns:1fr 1fr;}
    .ka-tl-years{border-radius:14px;padding:6px;}
    .ka-tl-year{padding:8px 12px;font-size:13px;}
    .ka-mv-list{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════════════
   SERVICE-MODALIDAD — Modalidades de adquisición (premium)
   Prefix: .smv-
   ═══════════════════════════════════════════════════════════ */
.smv-section{background:#f6f9fd;padding:76px 0 88px;position:relative}
.smv-section::before{content:"";position:absolute;inset:0 0 auto 0;height:280px;background:radial-gradient(1200px 280px at 50% 0%,rgba(22,111,211,.10),transparent 70%);pointer-events:none}
.smv-container{max-width:1240px;margin:0 auto;padding:0 24px;position:relative}
.smv-header{max-width:820px;margin:0 auto 40px;text-align:center}
.smv-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#12b76a;background:rgba(18,183,106,.10);padding:6px 14px;border-radius:999px;margin-bottom:16px}
.smv-title{font-size:clamp(28px,3.4vw,42px);line-height:1.15;color:#0b1a3a;font-weight:800;margin:0 0 14px;letter-spacing:-.01em}
.smv-lead{font-size:16.5px;line-height:1.65;color:#4b5b74;margin:0}

/* Grid de tarjetas */
.smv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px;align-items:stretch}
.smv-card{position:relative;background:#fff;border:1px solid #e6ecf5;border-radius:20px;padding:32px 30px 30px;display:flex;flex-direction:column;box-shadow:0 8px 24px -18px rgba(11,26,58,.18);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.smv-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -22px rgba(11,26,58,.28);border-color:#cfdcee}
.smv-card--featured{border-color:#166fd3;box-shadow:0 22px 44px -22px rgba(22,111,211,.35)}
.smv-card--featured::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#166fd3,#12b76a);border-radius:20px 20px 0 0}
.smv-badge{position:absolute;top:-12px;right:24px;background:linear-gradient(90deg,#166fd3,#12b76a);color:#fff;font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;padding:6px 12px;border-radius:999px;box-shadow:0 8px 18px -6px rgba(22,111,211,.5)}
.smv-card-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.smv-card-icon{flex:0 0 56px;width:56px;height:56px;border-radius:14px;background:rgba(22,111,211,.10);color:#166fd3;display:flex;align-items:center;justify-content:center;font-size:22px}
.smv-card--opex .smv-card-icon{background:rgba(18,183,106,.12);color:#0f9d58}
.smv-card-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7288aa;margin-bottom:4px}
.smv-card-title{font-size:24px;color:#0b1a3a;font-weight:800;margin:0;letter-spacing:-.01em;line-height:1.15}
.smv-card-lead{font-size:15.5px;line-height:1.6;color:#334765;margin:0 0 20px;font-weight:500}
.smv-features{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:10px;flex:1}
.smv-features li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:#3b4c68}
.smv-features li i{flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:rgba(18,183,106,.14);color:#0f9d58;display:inline-flex;align-items:center;justify-content:center;font-size:10px;margin-top:3px}
.smv-card--capex .smv-features li i{background:rgba(22,111,211,.14);color:#166fd3}
.smv-features li em{font-style:normal;font-weight:600;color:#0b1a3a}
.smv-card-cta{margin-top:auto}
.smv-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:12px;font-weight:600;font-size:14.5px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border:1px solid transparent;cursor:pointer}
.smv-btn i{font-size:12px}
.smv-btn--primary{background:#166fd3;color:#fff;box-shadow:0 10px 22px -12px rgba(22,111,211,.55)}
.smv-btn--primary:hover{background:#1160bd;transform:translateY(-2px);color:#fff}
.smv-btn--accent{background:#12b76a;color:#fff;box-shadow:0 10px 22px -12px rgba(18,183,106,.55)}
.smv-btn--accent:hover{background:#0fa15c;transform:translateY(-2px);color:#fff}
.smv-btn--ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28)}
.smv-btn--ghost:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-2px)}

/* Comparativa */
.smv-compare{background:#fff;border:1px solid #e6ecf5;border-radius:20px;padding:32px;box-shadow:0 8px 24px -18px rgba(11,26,58,.15);margin-bottom:48px}
.smv-compare-head{text-align:center;margin-bottom:24px}
.smv-compare-head h3{font-size:22px;color:#0b1a3a;font-weight:800;margin:0 0 6px;letter-spacing:-.01em}
.smv-compare-head p{color:#5a6c88;font-size:14.5px;margin:0}
.smv-compare-table{display:flex;flex-direction:column;border:1px solid #eaf0f8;border-radius:14px;overflow:hidden}
.smv-row{display:grid;grid-template-columns:1.1fr 1.3fr 1.3fr;gap:0}
.smv-row>div{padding:14px 18px;font-size:14px;color:#3b4c68;line-height:1.5;border-bottom:1px solid #eaf0f8;border-right:1px solid #eaf0f8}
.smv-row>div:last-child{border-right:0}
.smv-row:last-child>div{border-bottom:0}
.smv-row--head>div{background:#0b1a3a;color:#fff;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;border-color:rgba(255,255,255,.08)}
.smv-row:not(.smv-row--head)>div:first-child{background:#f6f9fd}
.smv-row>div strong{color:#0b1a3a;font-weight:600}

/* CTA cierre */
.smv-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#0b1a3a 0%,#0f2a55 55%,#0f9d58 130%);border-radius:22px;padding:38px 40px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;color:#fff;box-shadow:0 26px 60px -28px rgba(11,26,58,.55)}
.smv-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 260px at 88% 20%,rgba(18,183,106,.35),transparent 60%);pointer-events:none}
.smv-cta-copy{position:relative;flex:1 1 400px}
.smv-cta-copy h3{font-size:24px;font-weight:800;margin:0 0 6px;letter-spacing:-.01em;color:#fff}
.smv-cta-copy p{margin:0;color:rgba(255,255,255,.85);font-size:15px;line-height:1.6}
.smv-cta-actions{position:relative;display:flex;gap:12px;flex-wrap:wrap}

/* Responsive */
@media (max-width:960px){
  .smv-section{padding:56px 0 68px}
  .smv-grid{grid-template-columns:1fr;gap:20px;margin-bottom:40px}
  .smv-card{padding:26px 22px 24px}
  .smv-compare{padding:24px 18px}
  .smv-row{grid-template-columns:1fr}
  .smv-row--head{display:none}
  .smv-row>div{border-right:0;padding:12px 16px}
  .smv-row:not(.smv-row--head)>div:first-child{background:#0b1a3a;color:#fff;font-weight:700}
  .smv-row:not(.smv-row--head)>div:first-child strong{color:#fff}
  .smv-row:not(.smv-row--head)>div:not(:first-child)::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7288aa;margin-bottom:4px}
  .smv-cta{padding:30px 24px;text-align:left}
}
@media (max-width:520px){
  .smv-title{font-size:26px}
  .smv-card-title{font-size:20px}
  .smv-btn{width:100%;justify-content:center}
  .smv-cta-actions{width:100%}
}

/* ═══════════════════════════════════════════════════════════
   BLOG LISTING — Editorial premium (prefix .kb-)
   ═══════════════════════════════════════════════════════════ */
.kb-section{background:#f6f9fd;padding:72px 0 88px;position:relative}
.kb-section::before{content:"";position:absolute;inset:0 0 auto 0;height:240px;background:radial-gradient(1000px 240px at 50% 0%,rgba(22,111,211,.08),transparent 70%);pointer-events:none}
.kb-container{max-width:1240px;margin:0 auto;padding:0 24px;position:relative}
.kb-page-head{max-width:780px;margin:0 auto 28px;text-align:center}
.kb-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#12b76a;background:rgba(18,183,106,.10);padding:6px 14px;border-radius:999px;margin-bottom:14px}
.kb-title{font-size:clamp(28px,3.2vw,40px);line-height:1.15;color:#0b1a3a;font-weight:800;margin:0 0 12px;letter-spacing:-.01em}
.kb-lead{font-size:16px;line-height:1.65;color:#4b5b74;margin:0}

/* Filtros */
.kb-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 32px}
.kb-chip{border:1px solid #d5deec;background:#fff;color:#374b6a;font-weight:600;font-size:14px;padding:9px 18px;border-radius:999px;cursor:pointer;transition:all .2s ease}
.kb-chip:hover{border-color:#166fd3;color:#166fd3}
.kb-chip.is-active{background:#0b1a3a;border-color:#0b1a3a;color:#fff}

/* Layout */
.kb-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.kb-main{display:flex;flex-direction:column;gap:24px}

/* Cards */
.kb-card{background:#fff;border:1px solid #e6ecf5;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px -20px rgba(11,26,58,.18);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.kb-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -22px rgba(11,26,58,.28);border-color:#cfdcee}
.kb-media{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#0b1a3a}
.kb-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.kb-card:hover .kb-media img{transform:scale(1.04)}
.kb-cat-badge{position:absolute;top:14px;left:14px;background:#166fd3;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;box-shadow:0 6px 14px -6px rgba(22,111,211,.55)}
.kb-cat-badge--green{background:#12b76a;box-shadow:0 6px 14px -6px rgba(18,183,106,.55)}
.kb-cat-badge--navy{background:#0b1a3a;box-shadow:0 6px 14px -6px rgba(11,26,58,.5)}
.kb-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.kb-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:#7288aa;font-weight:500}
.kb-meta i{margin-right:5px;color:#166fd3}
.kb-card-title{margin:0;font-weight:800;color:#0b1a3a;letter-spacing:-.01em;line-height:1.25}
.kb-card--featured .kb-card-title{font-size:26px}
.kb-card:not(.kb-card--featured) .kb-card-title{font-size:19px}
.kb-card-title a{color:inherit;text-decoration:none;background-image:linear-gradient(#166fd3,#166fd3);background-repeat:no-repeat;background-size:0 2px;background-position:0 100%;transition:background-size .3s ease}
.kb-card-title a:hover{color:#166fd3;background-size:100% 2px}
.kb-excerpt{color:#4b5b74;font-size:14.5px;line-height:1.6;margin:0}
.kb-readmore{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:#166fd3;font-weight:700;font-size:14px;text-decoration:none;padding-top:4px}
.kb-readmore i{transition:transform .2s ease}
.kb-readmore:hover{color:#12b76a}
.kb-readmore:hover i{transform:translateX(4px)}

/* Featured */
.kb-card--featured{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch}
.kb-card--featured .kb-media{aspect-ratio:auto;height:100%;min-height:320px}
.kb-card--featured .kb-body{padding:32px 34px}

/* Grid secundaria */
.kb-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.kb-empty{text-align:center;color:#7288aa;padding:24px;background:#fff;border-radius:14px;margin:0}

/* Sidebar */
.kb-side{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px}
.kb-widget{background:#fff;border:1px solid #e6ecf5;border-radius:16px;padding:22px 22px 20px;box-shadow:0 6px 18px -16px rgba(11,26,58,.15)}
.kb-widget-title{font-size:14px;font-weight:800;color:#0b1a3a;margin:0 0 14px;letter-spacing:.02em;padding-bottom:12px;border-bottom:1px solid #eaf0f8;text-transform:uppercase}
.kb-search{display:flex;gap:0;border:1px solid #d5deec;border-radius:12px;overflow:hidden;background:#f6f9fd}
.kb-search input{flex:1;border:0;padding:11px 14px;font-size:14px;background:transparent;outline:none;color:#0b1a3a}
.kb-search button{border:0;padding:0 16px;background:#166fd3;color:#fff;cursor:pointer;font-size:14px}
.kb-search button:hover{background:#1160bd}

.kb-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.kb-cats button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:transparent;border:0;border-radius:10px;color:#3b4c68;font-size:14.5px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}
.kb-cats button:hover{background:#f0f5fb;color:#166fd3}
.kb-cats em{font-style:normal;font-size:12px;font-weight:700;color:#7288aa;background:#f0f5fb;padding:2px 9px;border-radius:999px}

.kb-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.kb-recent a{display:grid;grid-template-columns:72px 1fr;gap:12px;text-decoration:none;color:inherit;align-items:center}
.kb-recent img{width:72px;height:56px;object-fit:cover;border-radius:10px;display:block}
.kb-recent-title{display:block;font-size:13.5px;font-weight:700;color:#0b1a3a;line-height:1.35;transition:color .2s}
.kb-recent-date{display:block;font-size:11.5px;color:#7288aa;margin-top:4px}
.kb-recent-date i{margin-right:4px}
.kb-recent a:hover .kb-recent-title{color:#166fd3}

.kb-widget--cta{background:linear-gradient(135deg,#0b1a3a 0%,#0f2a55 60%,#0f9d58 130%);color:#fff;border:0}
.kb-widget--cta h3{font-size:17px;font-weight:800;margin:0 0 8px;color:#fff}
.kb-widget--cta p{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.85);margin:0 0 14px}
.kb-cta-btn{display:inline-flex;align-items:center;gap:8px;background:#12b76a;color:#fff;font-weight:700;font-size:13.5px;padding:10px 16px;border-radius:10px;text-decoration:none;transition:background .2s,transform .2s}
.kb-cta-btn:hover{background:#0fa15c;color:#fff;transform:translateY(-2px)}

.kb-tags{display:flex;flex-wrap:wrap;gap:6px}
.kb-tags a{font-size:12.5px;color:#3b4c68;background:#f0f5fb;padding:6px 12px;border-radius:8px;text-decoration:none;transition:all .2s}
.kb-tags a:hover{background:#166fd3;color:#fff}

.kb-social{display:flex;gap:10px}
.kb-social a{width:38px;height:38px;border-radius:10px;background:#f0f5fb;color:#166fd3;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;text-decoration:none}
.kb-social a:hover{background:#166fd3;color:#fff;transform:translateY(-2px)}

/* Responsive */
@media (max-width:1024px){
  .kb-layout{grid-template-columns:1fr;gap:28px}
  .kb-side{position:static}
}
@media (max-width:820px){
  .kb-card--featured{grid-template-columns:1fr}
  .kb-card--featured .kb-media{aspect-ratio:16/9;min-height:0}
  .kb-card--featured .kb-body{padding:22px 22px 24px}
  .kb-card--featured .kb-card-title{font-size:22px}
  .kb-grid{grid-template-columns:1fr;gap:20px}
}
@media (max-width:520px){
  .kb-section{padding:52px 0 68px}
  .kb-title{font-size:24px}
  .kb-body{padding:20px}
}

/* ============================================================
   KA2 — Plantilla editorial premium para artículos del blog
============================================================ */
.ka2-container{max-width:1200px;margin:0 auto;padding:0 24px;}
.ka2-hero{position:relative;background:#f5f7fa;padding:100px 0 0;overflow:hidden;}
.ka2-hero .ka2-container{position:relative;z-index:2;}
.ka2-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:#5a6a7a;margin-bottom:22px;font-weight:500;}
.ka2-crumb a{color:#5a6a7a;text-decoration:none;transition:color .2s;}
.ka2-crumb a:hover{color:#0b2c5c;}
.ka2-crumb span{opacity:.5;}
.ka2-crumb .curr{color:#0b2c5c;font-weight:600;opacity:1;max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ka2-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:20px;}
.ka2-cat{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#0b2c5c;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border-radius:100px;}
.ka2-dot{width:4px;height:4px;background:#c1cad3;border-radius:50%;}
.ka2-hero-meta .ka2-date,.ka2-hero-meta .ka2-read{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#5a6a7a;font-weight:500;}
.ka2-hero-meta i{color:#0b2c5c;}
.ka2-title{font-size:clamp(30px,4.2vw,52px);line-height:1.1;font-weight:800;color:#0b2c5c;letter-spacing:-.02em;margin:0 0 20px;max-width:22ch;}
.ka2-lead{font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:#3a4a5a;max-width:60ch;margin:0 0 32px;font-weight:400;}
.ka2-author{display:flex;align-items:center;gap:14px;padding-bottom:36px;}
.ka2-author-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#0b2c5c,#1a4a8a);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px;letter-spacing:.02em;}
.ka2-author-meta{display:flex;flex-direction:column;line-height:1.3;}
.ka2-author-meta strong{color:#0b2c5c;font-size:14px;font-weight:700;}
.ka2-author-meta span{color:#7a8a9a;font-size:12px;}
.ka2-hero-media{width:100%;height:clamp(280px,42vw,520px);background-size:cover;background-position:center;position:relative;margin-top:0;}
.ka2-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(11,44,92,.14));}

.ka2-body-section{background:#fff;padding:80px 0 40px;}
.ka2-grid{display:grid;grid-template-columns:260px 1fr;gap:64px;align-items:start;}
.ka2-toc{position:sticky;top:110px;}
.ka2-toc-inner{border-left:2px solid #e6ebf0;padding:4px 0 4px 20px;}
.ka2-toc-label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#7a8a9a;margin-bottom:16px;}
.ka2-toc ol{list-style:none;margin:0 0 24px;padding:0;counter-reset:toc;}
.ka2-toc ol li{counter-increment:toc;margin:0 0 12px;}
.ka2-toc ol li a{display:flex;gap:10px;font-size:13.5px;line-height:1.45;color:#5a6a7a;text-decoration:none;font-weight:500;transition:color .2s;}
.ka2-toc ol li a::before{content:counter(toc,decimal-leading-zero);color:#b0bcc7;font-weight:700;font-size:11px;flex-shrink:0;padding-top:2px;}
.ka2-toc ol li a:hover{color:#0b2c5c;}
.ka2-toc ol li.is-active a{color:#0b2c5c;font-weight:700;}
.ka2-toc-cta{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#0b2c5c;text-decoration:none;padding-top:16px;border-top:1px solid #e6ebf0;}
.ka2-toc-cta i{transition:transform .2s;}
.ka2-toc-cta:hover i{transform:translateX(4px);}

.ka2-prose{max-width:720px;font-size:17.5px;line-height:1.75;color:#28323d;font-weight:400;}
.ka2-prose > *:first-child{margin-top:0;}
.ka2-prose p{margin:0 0 22px;}
.ka2-prose h2{font-size:clamp(24px,2.2vw,32px);line-height:1.25;color:#0b2c5c;font-weight:800;letter-spacing:-.01em;margin:44px 0 18px;scroll-margin-top:110px;}
.ka2-prose h3{font-size:clamp(20px,1.6vw,24px);line-height:1.3;color:#0b2c5c;font-weight:700;margin:36px 0 14px;scroll-margin-top:110px;}
.ka2-prose h4{font-size:18px;line-height:1.35;color:#0b2c5c;font-weight:700;margin:28px 0 12px;}
.ka2-prose strong{color:#0b2c5c;font-weight:700;}
.ka2-prose a{color:#12a25b;text-decoration:none;border-bottom:1px solid rgba(18,162,91,.35);transition:border-color .2s;}
.ka2-prose a:hover{border-bottom-color:#12a25b;}
.ka2-prose img{width:100%;height:auto;border-radius:14px;margin:32px 0;display:block;box-shadow:0 20px 40px -20px rgba(11,44,92,.24);}
.ka2-prose blockquote{position:relative;margin:36px 0;padding:28px 32px;background:linear-gradient(135deg,#f4f8fc,#eaf1f8);border-left:4px solid #12a25b;border-radius:0 14px 14px 0;font-size:19px;line-height:1.55;color:#0b2c5c;font-weight:600;font-style:italic;}
.ka2-prose blockquote::before{content:"";display:block;font-family:serif;font-size:56px;line-height:0;color:#12a25b;position:absolute;top:22px;left:14px;opacity:.35;}
.ka2-prose ul.checked-list,.ka2-prose ul.ka2-check{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px;}
.ka2-prose ul.checked-list li,.ka2-prose ul.ka2-check li{position:relative;padding:14px 18px 14px 48px;background:#f6f9fc;border:1px solid #e6ecf2;border-radius:12px;color:#28323d;font-size:16px;line-height:1.5;}
.ka2-prose ul.checked-list li::before,.ka2-prose ul.ka2-check li::before{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900;position:absolute;left:16px;top:50%;transform:translateY(-50%);width:22px;height:22px;background:#12a25b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;}
.ka2-callout{margin:32px 0;padding:26px 28px;background:linear-gradient(135deg,#0b2c5c 0%,#153a75 100%);color:#fff;border-radius:16px;display:flex;gap:20px;align-items:flex-start;}
.ka2-callout .ka2-callout-icon{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.1);color:#7ee0a6;display:flex;align-items:center;justify-content:center;font-size:22px;}
.ka2-callout h4{color:#fff;font-size:17px;margin:0 0 6px;font-weight:700;}
.ka2-callout p{margin:0;color:rgba(255,255,255,.85);font-size:15px;line-height:1.55;}

.ka2-share{margin:48px 0 0;padding:24px 0;border-top:1px solid #e6ebf0;border-bottom:1px solid #e6ebf0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.ka2-share-tags{display:flex;gap:8px;flex-wrap:wrap;}
.ka2-share-tags a{padding:6px 14px;background:#f0f4f8;color:#5a6a7a;border-radius:100px;font-size:12px;font-weight:600;text-decoration:none;border:none;}
.ka2-share-tags a:hover{background:#0b2c5c;color:#fff;}
.ka2-share-icons{display:flex;gap:8px;align-items:center;}
.ka2-share-icons span{font-size:12px;color:#7a8a9a;font-weight:600;margin-right:4px;letter-spacing:.06em;text-transform:uppercase;}
.ka2-share-icons a{width:36px;height:36px;border-radius:50%;background:#f0f4f8;color:#5a6a7a;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s;font-size:13px;border:none;}
.ka2-share-icons a:hover{background:#0b2c5c;color:#fff;transform:translateY(-2px);}

.ka2-related{background:#f5f7fa;padding:80px 0;}
.ka2-related-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;flex-wrap:wrap;gap:16px;}
.ka2-related-head h2{font-size:clamp(24px,2.4vw,34px);color:#0b2c5c;font-weight:800;margin:0;letter-spacing:-.01em;}
.ka2-more{font-size:14px;font-weight:700;color:#0b2c5c;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.ka2-more i{transition:transform .2s;}
.ka2-more:hover i{transform:translateX(4px);}
.ka2-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.ka2-rel-card{background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;}
.ka2-rel-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px rgba(11,44,92,.25);color:inherit;}
.ka2-rel-media{aspect-ratio:16/9;background-size:cover;background-position:center;}
.ka2-rel-body{padding:24px 26px 28px;flex:1;display:flex;flex-direction:column;gap:10px;}
.ka2-rel-meta{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600;color:#7a8a9a;text-transform:uppercase;letter-spacing:.1em;}
.ka2-rel-meta .cat{color:#12a25b;}
.ka2-rel-card h3{font-size:19px;line-height:1.35;color:#0b2c5c;font-weight:700;margin:0;}
.ka2-rel-card .rel-arrow{margin-top:auto;padding-top:14px;font-size:13px;font-weight:700;color:#0b2c5c;display:inline-flex;gap:6px;align-items:center;}

.ka2-cta{background:#fff;padding:0 0 100px;}
.ka2-cta-card{background:linear-gradient(120deg,#0b2c5c 0%,#153a75 60%,#12a25b 200%);border-radius:24px;padding:56px 56px;display:grid;grid-template-columns:1.4fr auto;gap:40px;align-items:center;color:#fff;position:relative;overflow:hidden;}
.ka2-cta-card::before{content:"";position:absolute;top:-40%;right:-10%;width:520px;height:520px;background:radial-gradient(circle,rgba(126,224,166,.22),transparent 60%);pointer-events:none;}
.ka2-cta-eyebrow{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#7ee0a6;margin-bottom:12px;}
.ka2-cta-card h2{font-size:clamp(24px,2.4vw,34px);color:#fff;font-weight:800;margin:0 0 12px;line-height:1.2;letter-spacing:-.01em;}
.ka2-cta-card p{font-size:16px;line-height:1.55;color:rgba(255,255,255,.85);margin:0;max-width:52ch;}
.ka2-cta-actions{display:flex;flex-direction:column;gap:10px;position:relative;z-index:2;}
.ka2-cta-btn-primary{padding:14px 28px;background:#fff;color:#0b2c5c;font-weight:700;border-radius:100px;text-decoration:none;text-align:center;font-size:14.5px;transition:transform .2s;white-space:nowrap;}
.ka2-cta-btn-primary:hover{transform:translateY(-2px);color:#0b2c5c;}
.ka2-cta-btn-ghost{padding:13px 28px;background:transparent;color:#fff;font-weight:600;border-radius:100px;text-decoration:none;text-align:center;font-size:14.5px;border:1px solid rgba(255,255,255,.28);transition:background .2s;white-space:nowrap;}
.ka2-cta-btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff;}

@media (max-width:991px){
  .ka2-hero{padding-top:90px;}
  .ka2-grid{grid-template-columns:1fr;gap:32px;}
  .ka2-toc{position:static;order:2;margin-top:24px;}
  .ka2-toc-inner{border-left:none;border-top:1px solid #e6ebf0;padding:24px 0 0;}
  .ka2-body-section{padding:56px 0 24px;}
  .ka2-related{padding:60px 0;}
  .ka2-related-grid{grid-template-columns:1fr;}
  .ka2-cta{padding:0 0 60px;}
  .ka2-cta-card{grid-template-columns:1fr;padding:40px 32px;}
  .ka2-cta-actions{flex-direction:row;flex-wrap:wrap;}
  .ka2-cta-actions a{flex:1;min-width:150px;}
}
@media (max-width:576px){
  .ka2-container{padding:0 18px;}
  .ka2-hero{padding-top:72px;}
  .ka2-hero-media{height:220px;}
  .ka2-prose{font-size:16.5px;}
  .ka2-prose blockquote{padding:22px 22px 22px 26px;font-size:17px;}
  .ka2-share{flex-direction:column;align-items:flex-start;}
}

/* ═══════════════════════════════════════════════════════════
   SECTORES — Módulo unificado (sec-*)
   Hero premium + panel infografía + secciones inferiores
═══════════════════════════════════════════════════════════ */

/* Menú dropdown sectores — refinamiento visual */
.mega-menu .mega-item{border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(15,29,56,.08);transition:transform .3s ease,box-shadow .3s ease;}
.mega-menu .mega-item:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(15,29,56,.18);}
.mega-menu .mega-item img{transition:transform .5s ease;filter:saturate(1.05);}
.mega-menu .mega-item:hover img{transform:scale(1.06);}
.mega-menu .mega-label{background:linear-gradient(180deg,rgba(15,29,56,0) 0%,rgba(15,29,56,.85) 65%,rgba(15,29,56,.95) 100%);padding:14px 12px 12px;}
.mega-menu .mega-label span{color:#fff;font-weight:600;letter-spacing:.02em;}

/* HERO sector — unificado premium */
.sec-hero{position:relative;min-height:640px;padding:104px 0 96px;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;display:flex;align-items:center;}
.sec-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,35,74,.82) 0%,rgba(11,35,74,.66) 38%,rgba(11,35,74,.38) 62%,rgba(11,35,74,.20) 100%);}
.sec-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,35,74,.35) 0%,rgba(11,35,74,0) 40%,rgba(11,35,74,.35) 100%);pointer-events:none;}
.sec-hero > .container{position:relative;z-index:2;max-width:1260px;padding-left:32px;padding-right:32px;width:100%;}
.sec-hero-inner{max-width:640px;width:54%;color:#fff;}
.sec-hero-crumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:rgba(255,255,255,.72);margin-bottom:20px;}
.sec-hero-crumbs a{color:rgba(255,255,255,.72);text-decoration:none;}
.sec-hero-crumbs a:hover{color:#fff;}
.sec-hero-eyebrow{display:inline-block;padding:7px 16px;background:rgba(122,179,66,.16);color:#a8e070;border:1px solid rgba(122,179,66,.45);border-radius:100px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px;}
.sec-hero h1{font-size:clamp(36px,5vw,64px);font-weight:800;line-height:1.06;color:#fff;margin:0 0 20px;letter-spacing:-.015em;}
.sec-hero-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:rgba(255,255,255,.88);margin:0 0 32px;max-width:600px;}
.sec-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:36px;}
.sec-hero-ctas a{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:14px;font-weight:600;font-size:15px;text-decoration:none;transition:all .25s ease;line-height:1;}
.sec-hero-ctas .sec-cta-primary{background:#7ab342;color:#fff;box-shadow:0 10px 26px rgba(122,179,66,.38);}
.sec-hero-ctas .sec-cta-primary:hover{background:#68a136;transform:translateY(-2px);box-shadow:0 14px 30px rgba(122,179,66,.45);}
.sec-hero-ctas .sec-cta-ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(4px);}
.sec-hero-ctas .sec-cta-ghost:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.55);}
.sec-hero-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px;}
.sec-hero-chips li{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:100px;color:rgba(255,255,255,.94);font-size:14px;font-weight:500;backdrop-filter:blur(6px);}
.sec-hero-chips li i{color:#a8e070;font-size:13px;}
@media (max-width:1024px){
  .sec-hero{min-height:560px;padding:88px 0 80px;}
  .sec-hero-inner{width:70%;}
  .sec-hero > .container{padding-left:24px;padding-right:24px;}
}
@media (max-width:768px){
  .sec-hero{min-height:520px;padding:72px 0 64px;}
  .sec-hero::before{background:linear-gradient(180deg,rgba(11,35,74,.72) 0%,rgba(11,35,74,.86) 100%);}
  .sec-hero-inner{width:100%;max-width:100%;}
  .sec-hero > .container{padding-left:20px;padding-right:20px;}
  .sec-hero-ctas{gap:10px;}
  .sec-hero-ctas a{width:100%;}
  .sec-hero-chips li{font-size:13px;padding:8px 14px;}
}

/* Ocultar breadcrumb legacy en sector pages */
.sec-page .breadcrumb-wrapper{display:none !important;}

/* Panel derecho de la infografía — override premium */
.interactive-stack{background:linear-gradient(180deg,#f5f7fb 0%,#eef2f8 100%) !important;}
.interactive-stack .info-box{background:linear-gradient(160deg,#0f1d38 0%,#153058 100%) !important;color:#e8eef8 !important;border-radius:18px !important;box-shadow:0 20px 50px rgba(15,29,56,.22) !important;padding:34px 30px !important;min-height:280px !important;border:1px solid rgba(122,179,66,.18);}
.interactive-stack .info-box .info-title{color:#fff !important;font-size:22px;font-weight:700;letter-spacing:-.01em;}
.interactive-stack .info-box .info-desc{color:rgba(232,238,248,.85) !important;font-size:15.5px;line-height:1.6;}
.interactive-stack .info-box h2{color:#fff !important;}
.interactive-stack .info-box h1{color:#7ab342 !important;}
.interactive-stack .info-box span[style*="color: #6a499a"]{color:#7ab342 !important;}
.interactive-stack .info-box p{color:rgba(232,238,248,.88) !important;}
.interactive-stack .info-box li p{color:rgba(232,238,248,.88) !important;}
.interactive-stack .info-box .theme-btn{background:#7ab342 !important;border-color:#7ab342 !important;box-shadow:0 8px 22px rgba(122,179,66,.35);}
.interactive-stack .info-box .theme-btn:hover{background:#68a136 !important;}
.interactive-stack .pin{background:#fff !important;border-color:#0f1d38 !important;color:#0f1d38 !important;}
.interactive-stack .pin.active,.interactive-stack .pin:hover{background:#7ab342 !important;border-color:#7ab342 !important;color:#fff !important;}

/* ─── Secciones inferiores por sector ─── */
.sec-wrap{background:#fff;}
.sec-block{padding:80px 0;}
.sec-block-alt{background:#f5f7fb;}
.sec-block-dark{background:linear-gradient(160deg,#0f1d38 0%,#153058 100%);color:#e8eef8;}
.sec-header{max-width:780px;margin:0 auto 50px;text-align:center;}
.sec-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7ab342;margin-bottom:12px;}
.sec-block-dark .sec-eyebrow{color:#a8e070;}
.sec-title{font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.15;color:#0f1d38;margin:0 0 14px;letter-spacing:-.01em;}
.sec-block-dark .sec-title{color:#fff;}
.sec-lead{font-size:17px;line-height:1.55;color:#4a5a75;margin:0;}
.sec-block-dark .sec-lead{color:rgba(232,238,248,.85);}

/* Grid de retos / beneficios */
.sec-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sec-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.sec-card{background:#fff;border:1px solid #e6ebf0;border-radius:14px;padding:28px 26px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.sec-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(15,29,56,.1);border-color:#c9d3e0;}
.sec-card-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#eaf2ff,#f5f9ff);color:#166fd3;display:inline-flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px;}
.sec-card h4{font-size:18px;font-weight:700;color:#0f1d38;margin:0 0 8px;letter-spacing:-.005em;}
.sec-card p{font-size:14.5px;line-height:1.55;color:#5a6b85;margin:0;}
.sec-block-dark .sec-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);}
.sec-block-dark .sec-card h4{color:#fff;}
.sec-block-dark .sec-card p{color:rgba(232,238,248,.78);}
.sec-block-dark .sec-card-icon{background:rgba(122,179,66,.16);color:#a8e070;}

/* Cómo KYT automatiza — timeline horizontal */
.sec-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;}
.sec-flow-step{background:#fff;border:1px solid #e6ebf0;border-radius:14px;padding:26px 22px;position:relative;}
.sec-flow-num{width:36px;height:36px;border-radius:10px;background:#0f1d38;color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:15px;}
.sec-flow-step h4{font-size:16.5px;font-weight:700;color:#0f1d38;margin:0 0 6px;}
.sec-flow-step p{font-size:14px;line-height:1.55;color:#5a6b85;margin:0;}

/* Soluciones recomendadas */
.sec-solutions{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sec-sol{display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;border:1px solid #e6ebf0;transition:transform .3s ease,box-shadow .3s ease;}
.sec-sol:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(15,29,56,.12);}
.sec-sol-body{padding:22px 24px;flex:1;display:flex;flex-direction:column;}
.sec-sol-tag{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7ab342;margin-bottom:8px;}
.sec-sol h4{font-size:19px;font-weight:700;color:#0f1d38;margin:0 0 8px;}
.sec-sol p{font-size:14.5px;line-height:1.55;color:#5a6b85;margin:0 0 16px;flex:1;}
.sec-sol a{font-size:14px;font-weight:600;color:#166fd3;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.sec-sol a:hover{color:#0f1d38;}

/* Casos de uso — bloques */
.sec-cases{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.sec-case{background:#fff;border-left:4px solid #7ab342;border-radius:8px;padding:26px 28px;box-shadow:0 6px 18px rgba(15,29,56,.05);}
.sec-case h4{font-size:17px;font-weight:700;color:#0f1d38;margin:0 0 8px;}
.sec-case p{font-size:14.5px;line-height:1.6;color:#4a5a75;margin:0;}

/* FAQ */
.sec-faq{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.sec-faq details{background:#fff;border:1px solid #e6ebf0;border-radius:12px;padding:20px 24px;transition:border-color .2s ease;}
.sec-faq details[open]{border-color:#7ab342;box-shadow:0 8px 22px rgba(15,29,56,.06);}
.sec-faq summary{font-size:16px;font-weight:700;color:#0f1d38;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.sec-faq summary::-webkit-details-marker{display:none;}
.sec-faq summary::after{content:"+";font-size:24px;color:#7ab342;font-weight:400;line-height:1;transition:transform .2s ease;}
.sec-faq details[open] summary::after{content:"−";}
.sec-faq p{margin:14px 0 0;font-size:15px;line-height:1.6;color:#4a5a75;}

/* CTA final */
.sec-cta{padding:60px 0 90px;}
.sec-cta-card{background:linear-gradient(135deg,#0f1d38 0%,#153058 55%,#1e4a3a 100%);border-radius:22px;padding:52px 56px;display:grid;grid-template-columns:1.4fr auto;gap:32px;align-items:center;color:#fff;box-shadow:0 24px 60px rgba(15,29,56,.28);}
.sec-cta-card h3{font-size:clamp(22px,2.4vw,30px);font-weight:800;color:#fff;margin:0 0 10px;letter-spacing:-.01em;}
.sec-cta-card p{font-size:16px;line-height:1.55;color:rgba(255,255,255,.85);margin:0;}
.sec-cta-actions{display:flex;flex-wrap:wrap;gap:10px;}
.sec-cta-actions a{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:8px;font-weight:600;font-size:15px;text-decoration:none;transition:all .25s ease;}
.sec-cta-actions .sec-cta-primary{background:#7ab342;color:#fff;box-shadow:0 8px 22px rgba(122,179,66,.35);}
.sec-cta-actions .sec-cta-primary:hover{background:#68a136;transform:translateY(-2px);}
.sec-cta-actions .sec-cta-ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.24);}
.sec-cta-actions .sec-cta-ghost:hover{background:rgba(255,255,255,.14);}

@media (max-width:991px){
  .sec-grid-3,.sec-grid-4,.sec-flow,.sec-solutions,.sec-cases{grid-template-columns:repeat(2,1fr);}
  .sec-cta-card{grid-template-columns:1fr;padding:40px 32px;}
}
@media (max-width:600px){
  .sec-grid-3,.sec-grid-4,.sec-flow,.sec-solutions,.sec-cases{grid-template-columns:1fr;}
  .sec-block{padding:60px 0;}
}

/* ═════════════════════════════════════════════
   GLOBAL CTA KYT — Unified pre-footer CTA
   ═════════════════════════════════════════════ */
.gcta{padding:56px 0 72px;background:#fff;}
.gcta-wrap{max-width:1260px;width:calc(100% - 48px);margin-inline:auto;background:linear-gradient(135deg,#062044 0%,#0b3775 55%,#1a8a4e 100%);border-radius:22px;padding:54px 56px;display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:center;color:#fff;position:relative;overflow:hidden;box-shadow:0 24px 60px -24px rgba(6,32,68,.35);}
.gcta-wrap::before{content:"";position:absolute;top:-40%;right:-10%;width:520px;height:520px;background:radial-gradient(circle,rgba(124,240,167,.22) 0%,transparent 65%);pointer-events:none;}
.gcta-copy{position:relative;z-index:1;}
.gcta-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:#7cf0a7;margin-bottom:12px;}
.gcta-copy h2{color:#fff;font-size:clamp(24px,2.6vw,34px);line-height:1.18;font-weight:800;margin:0 0 12px;}
.gcta-copy p{font-size:15.5px;color:rgba(255,255,255,.88);line-height:1.6;margin:0;max-width:540px;}
.gcta-actions{display:flex;flex-direction:column;gap:12px;justify-self:end;position:relative;z-index:1;min-width:260px;}
.gcta-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 26px;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;white-space:nowrap;line-height:1;}
.gcta-btn i{font-size:15px;}
.gcta-btn-primary{background:#7AB342;color:#fff;border:2px solid #7AB342;}
.gcta-btn-primary:hover{background:#68a036;border-color:#68a036;color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(122,179,66,.38);}
.gcta-btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.72);}
.gcta-btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff;transform:translateY(-2px);}
@media (max-width:900px){
  .gcta{padding:40px 0 56px;}
  .gcta-wrap{grid-template-columns:1fr;padding:32px 24px;gap:24px;text-align:left;border-radius:20px;}
  .gcta-actions{justify-self:stretch;min-width:0;}
  .gcta-btn{width:100%;}
}

/* ══════════════════════════════════════════════════════════
   HOMOLOGACIÓN GLOBAL DROPDOWNS HEADER — v1
   Sistema visual único: Quiénes somos · Hardware · Software
   · Sectores · Recursos. Solo overrides visuales, no toca
   markup, rutas ni layout general del header.
════════════════════════════════════════════════════════════ */

/* Asegurar que el header no recorte los menús */
.kyt-header-wrap, .kyt-nav, .kyt-nav > li { overflow: visible; }

/* Tokens locales */
:root {
  --kytm-radius: 14px;
  --kytm-shadow: 0 12px 32px rgba(1,0,78,0.12), 0 2px 8px rgba(48,139,29,0.05);
  --kytm-border: 1px solid rgba(0,0,156,0.09);
  --kytm-navy:   #01004e;
  --kytm-navy2:  #0B234A;
  --kytm-muted:  #6666c4;
  --kytm-green:  #308b1d;
  --kytm-green-soft: rgba(48,139,29,0.10);
  --kytm-hover-bg: #f5f6ff;
  --kytm-item-h: 60px;
}

/* Todos los dropdowns nacen con la misma base */
.kyt-nav > li > .kyt-dropdown,
.kyt-nav > li > .kyt-mega {
  top: calc(100% + 10px) !important;
  border-radius: var(--kytm-radius) !important;
  box-shadow: var(--kytm-shadow) !important;
  border: var(--kytm-border) !important;
  background: #ffffff !important;
  z-index: 1200 !important;
}

/* ── Dropdown simple (Quiénes somos · Recursos) ── */
.kyt-nav > li > .kyt-dropdown:not(.drop-hardware):not(.drop-software) {
  min-width: 260px !important;
  max-width: 280px !important;
  width: 280px !important;
  padding: 8px !important;
  left: 0;
}
.kyt-nav > li > .kyt-dropdown:not(.drop-hardware):not(.drop-software) li a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 48px;
  padding: 10px 12px !important;
  margin: 2px 0 !important;
  border-radius: 10px !important;
  color: var(--kytm-navy) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2;
  transition: background .15s, color .15s;
}
.kyt-nav > li > .kyt-dropdown:not(.drop-hardware):not(.drop-software) li a:hover {
  background: var(--kytm-hover-bg) !important;
  color: var(--kytm-navy2) !important;
}
.kyt-nav > li > .kyt-dropdown:not(.drop-hardware):not(.drop-software) li a .drop-icon {
  width: 34px !important; height: 34px !important;
  min-width: 34px;
  border-radius: 9px !important;
  background: var(--kytm-green-soft) !important;
  color: var(--kytm-green) !important;
  font-size: 14px !important;
  display: flex; align-items: center; justify-content: center;
}
.kyt-nav > li > .kyt-dropdown:not(.drop-hardware):not(.drop-software) li a:hover .drop-icon {
  background: rgba(48,139,29,0.18) !important;
  color: var(--kytm-green) !important;
}

/* ── Mega menú compacto (Hardware · Software) ── */
.kyt-dropdown.drop-hardware,
.kyt-dropdown.drop-software {
  width: min(660px, calc(100vw - 48px)) !important;
  max-width: 660px !important;
  min-width: 560px !important;
  padding: 18px 20px !important;
}

.kyt-dropdown.drop-hardware .sw-mega-grid,
.kyt-dropdown.drop-software .sw-mega-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 0 22px !important;
}

.sw-col-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  color: var(--kytm-green) !important;
  padding: 2px 8px 10px !important;
  border-bottom: 1px solid rgba(102,102,196,0.14) !important;
  margin-bottom: 6px !important;
}

.sw-mega-col li a {
  grid-template-columns: 34px minmax(0,1fr) auto !important;
  column-gap: 12px !important;
  padding: 10px 10px !important;
  min-height: 60px;
  align-items: center !important;
  border-radius: 10px !important;
}
.sw-mega-col li a:hover { background: var(--kytm-hover-bg) !important; }

.sw-mega-col li a .drop-icon {
  width: 34px !important; height: 34px !important;
  border-radius: 9px !important;
  background: var(--kytm-green-soft) !important;
  color: var(--kytm-green) !important;
  font-size: 14px !important;
  align-self: center !important;
}

.sw-item-name {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--kytm-navy) !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sw-item-desc {
  font-size: 12px !important;
  color: var(--kytm-muted) !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100%;
}

/* Chip pequeño alineado a la derecha */
.sw-badge {
  align-self: center !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .4px;
  color: var(--kytm-navy) !important;
  background: #eef0ff !important;
  border: 1px solid #d6d9f4 !important;
  border-radius: 999px !important;
  padding: 3px 9px !important;
  line-height: 1;
}

/* Separador vertical entre columnas: mantener sutil */
.sw-mega-grid::before {
  background: rgba(102,102,196,0.12) !important;
}

/* ── Mega menú Sectores: grilla 4x2 uniforme y compacta ── */
.kyt-nav > li > .kyt-mega {
  width: min(680px, calc(100vw - 48px)) !important;
  max-width: 680px !important;
  padding: 14px !important;
}
.kyt-mega .mega-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
}
.kyt-mega .mega-item {
  aspect-ratio: 3/4 !important;
  border-radius: 10px !important;
}
.kyt-mega .mega-item .mega-label {
  background: linear-gradient(transparent, rgba(1,0,78,0.82)) !important;
  padding: 20px 6px 8px !important;
}
.kyt-mega .mega-item .mega-label span {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .2px;
}

/* Evitar overflow del viewport en pantallas medianas */
@media (max-width: 1280px) {
  .kyt-dropdown.drop-hardware,
  .kyt-dropdown.drop-software,
  .kyt-nav > li > .kyt-mega {
    left: auto !important;
    right: 0 !important;
    transform: translateY(10px) !important;
  }
  .kyt-nav > li:hover > .kyt-dropdown.drop-hardware,
  .kyt-nav > li:hover > .kyt-dropdown.drop-software,
  .kyt-nav > li:hover > .kyt-mega {
    transform: translateY(0) !important;
  }
}

/* Mobile: no interferir con menú hamburguesa */
@media (max-width: 991px) {
  .kyt-nav > li > .kyt-dropdown,
  .kyt-nav > li > .kyt-mega { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════
   SW-HERO — Hero unificado para páginas de Software (KYT)
   Aplica a /konex /davinci /sense /software/atena-monitoring
   /fabrica-de-software /dani-ia
   ═══════════════════════════════════════════════════════════════ */
.sw-hero{position:relative;min-height:820px;display:flex;align-items:center;padding:150px 0 100px;overflow:hidden;background:#01004e;isolation:isolate;}
.sw-hero__bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat;}
.sw-hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(1,0,78,.72) 0%,rgba(1,0,78,.42) 45%,rgba(1,0,78,.08) 100%);}
.sw-hero__overlay::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 45%,rgba(48,139,29,.08) 0%,transparent 60%);}
.sw-hero__inner{position:relative;z-index:2;max-width:1260px;margin:0 auto;padding:0 24px;width:100%;}
.sw-hero__col{max-width:760px;}
.sw-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(48,139,29,.16);border:1px solid rgba(48,139,29,.42);color:#d3ebb6;font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 14px;border-radius:50px;margin-bottom:22px;}
.sw-hero__eyebrow span{width:6px;height:6px;border-radius:50%;background:#7AB342;display:inline-block;animation:swPulse 2s ease-in-out infinite;}
@keyframes swPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.5)}}
.sw-hero__title{font-size:clamp(38px,5vw,66px);font-weight:900;color:#fff;letter-spacing:-.025em;line-height:1.05;margin:0 0 16px;}
.sw-hero__title sup{font-size:.42em;vertical-align:super;font-weight:700;}
.sw-hero__sub{font-size:clamp(16px,1.5vw,19px);color:rgba(255,255,255,.90);line-height:1.6;margin:0 0 14px;max-width:640px;text-shadow:0 1px 12px rgba(1,0,78,.35);}
.sw-hero__desc{font-size:15px;color:rgba(255,255,255,.75);line-height:1.75;max-width:600px;margin:0 0 34px;text-shadow:0 1px 10px rgba(1,0,78,.30);}
.sw-hero__ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:30px;}
.sw-hero__btn{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:700;padding:14px 28px;border-radius:10px;text-decoration:none;transition:transform .18s,background .2s,border-color .2s,box-shadow .2s;white-space:nowrap;}
.sw-hero__btn--primary{background:#7AB342;color:#fff;box-shadow:0 6px 20px rgba(122,179,66,.34);}
.sw-hero__btn--primary:hover{background:#6aa036;color:#fff;transform:translateY(-2px);box-shadow:0 10px 26px rgba(122,179,66,.42);}
.sw-hero__btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);}
.sw-hero__btn--ghost:hover{background:rgba(255,255,255,.10);border-color:#fff;color:#fff;transform:translateY(-2px);}
.sw-hero__pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.sw-hero__pill{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.92);font-size:12px;font-weight:600;padding:7px 14px;border-radius:6px;display:inline-flex;align-items:center;gap:7px;backdrop-filter:blur(4px);}
.sw-hero__pill i{color:#7AB342;font-size:11px;}
.sw-hero__bc{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.55);}
.sw-hero__bc a{color:rgba(255,255,255,.72);text-decoration:none;}
.sw-hero__bc a:hover{color:#fff;}
.sw-hero__bc i{font-size:9px;opacity:.55;}
.sw-hero__bc .current{color:rgba(211,235,182,.90);}
.sw-hero--konex .sw-hero__bg{background-position:72% center;}
@media (max-width:992px){
  .sw-hero{min-height:auto;padding:120px 0 70px;}
  .sw-hero__overlay{background:linear-gradient(180deg,rgba(1,0,78,.82) 0%,rgba(1,0,78,.62) 100%);}
  .sw-hero__col{max-width:100%;}
}

/* ═══════════════════════════════════════════════════════════════
   SOFTWARE PAGE TEMPLATE — .swpg-* (KONEX / DAVINCI / SENSE / ATENA / FÁBRICA / DANI IA)
   Homologación comercial premium — Navy #0b234a · Verde #17b26a · Cyan #22d3ee
═══════════════════════════════════════════════════════════════ */
.swpg{--sp-navy:#0b234a;--sp-navy-2:#062044;--sp-green:#17b26a;--sp-green-2:#0e9a58;--sp-cyan:#22d3ee;--sp-ink:#0f172a;--sp-mute:#5a6b81;--sp-line:#e6ebf2;--sp-bg:#f5f8fc;color:var(--sp-ink);}
.swpg-wrap{max-width:1260px;width:calc(100% - 48px);margin-inline:auto;}
.swpg-sec{padding:76px 0;}
.swpg-sec--alt{background:var(--sp-bg);}
.swpg-sec--dark{background:linear-gradient(135deg,var(--sp-navy-2) 0%,var(--sp-navy) 55%,#0d2f5c 100%);color:#fff;}
.swpg-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:2.6px;text-transform:uppercase;color:var(--sp-green);margin-bottom:12px;}
.swpg-sec--dark .swpg-eyebrow{color:#7cf0a7;}
.swpg-h2{font-size:clamp(26px,3vw,40px);font-weight:800;color:var(--sp-navy);line-height:1.15;letter-spacing:-0.015em;margin:0 0 14px;}
.swpg-sec--dark .swpg-h2{color:#fff;}
.swpg-lead{font-size:16px;color:var(--sp-mute);line-height:1.7;max-width:760px;margin:0;}
.swpg-sec--dark .swpg-lead{color:rgba(255,255,255,.78);}
.swpg-head{margin-bottom:42px;text-align:center;}
.swpg-head .swpg-eyebrow{display:inline-block;}
.swpg-head .swpg-h2{margin-left:auto;margin-right:auto;}
.swpg-head .swpg-lead{margin-left:auto;margin-right:auto;}
.swpg-head--center{text-align:center;}
.swpg-head--center .swpg-lead{margin-inline:auto;}

/* ── S2: Módulos (tabs verticales) ── */
.swpg-mods{display:grid;grid-template-columns:340px 1fr;gap:28px;background:#fff;border:1px solid var(--sp-line);border-radius:20px;padding:22px;box-shadow:0 18px 50px -30px rgba(11,35,74,.28);}
.swpg-mods__list{display:flex;flex-direction:column;gap:6px;}
.swpg-mods__tab{all:unset;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;font-size:14px;font-weight:600;color:#3d4a5f;transition:background .18s,color .18s,transform .12s;border:1px solid transparent;}
.swpg-mods__tab:hover{background:#eef4fb;color:var(--sp-navy);}
.swpg-mods__tab i{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#eaf1fb;color:var(--sp-navy);font-size:14px;flex-shrink:0;transition:all .18s;}
.swpg-mods__tab[aria-selected="true"]{background:linear-gradient(135deg,var(--sp-navy) 0%,#123b78 100%);color:#fff;border-color:transparent;box-shadow:0 8px 22px -10px rgba(11,35,74,.5);}
.swpg-mods__tab[aria-selected="true"] i{background:rgba(255,255,255,.16);color:#7cf0a7;}
.swpg-mods__panel{padding:12px 18px 4px;display:none;}
.swpg-mods__panel[data-active="true"]{display:block;animation:swpgFade .32s ease;}
@keyframes swpgFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.swpg-mods__panel h3{font-size:22px;font-weight:800;color:var(--sp-navy);margin:0 0 10px;letter-spacing:-0.01em;}
.swpg-mods__panel p{font-size:15px;color:var(--sp-mute);line-height:1.7;margin:0 0 18px;}
.swpg-mods__caps{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;}
.swpg-mods__caps li{position:relative;padding-left:24px;font-size:14px;color:#25344a;line-height:1.55;}
.swpg-mods__caps li::before{content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,var(--sp-green) 40%,rgba(23,178,106,.18) 41%);}
.swpg-mods__benefit{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:linear-gradient(135deg,#eaf7f0 0%,#e6f0fb 100%);border-left:3px solid var(--sp-green);border-radius:10px;}
.swpg-mods__benefit i{color:var(--sp-green);font-size:18px;margin-top:2px;}
.swpg-mods__benefit strong{display:block;font-size:13px;color:var(--sp-navy);font-weight:700;margin-bottom:4px;letter-spacing:.2px;}
.swpg-mods__benefit span{font-size:13.5px;color:#3d4a5f;line-height:1.55;}

/* ── S3: Descripción + imagen lateral ── */
.swpg-desc{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;}
.swpg-desc__text h3{font-size:clamp(22px,2.4vw,32px);font-weight:800;color:var(--sp-navy);margin:0 0 16px;line-height:1.2;letter-spacing:-0.015em;}
.swpg-desc__text p{font-size:15.5px;color:var(--sp-mute);line-height:1.75;margin:0 0 14px;}
.swpg-desc__bullets{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;}
.swpg-desc__bullets li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:#25344a;}
.swpg-desc__bullets i{color:var(--sp-green);margin-top:4px;}
.swpg-desc__img{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(11,35,74,.4);aspect-ratio:4/3;background:#0b234a;}
.swpg-desc__img img{width:100%;height:100%;object-fit:cover;display:block;}
.swpg-desc__img::after{content:"";position:absolute;inset:0;background:linear-gradient(210deg,transparent 55%,rgba(11,35,74,.25) 100%);}

/* ── S4: Qué resuelve ── */
.swpg-solves{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.swpg-solve{background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:26px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;}
.swpg-solve::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--sp-navy),var(--sp-green));}
.swpg-solve:hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px rgba(11,35,74,.28);}
.swpg-solve__ico{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#ffe1e1,#ffcbd0);color:#c22a2a;display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:14px;}
.swpg-solve h4{font-size:16px;font-weight:800;color:var(--sp-navy);margin:0 0 10px;line-height:1.3;}
.swpg-solve__row{font-size:13.5px;color:var(--sp-mute);line-height:1.6;margin:0 0 10px;}
.swpg-solve__row strong{display:block;font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#8794aa;margin-bottom:3px;}
.swpg-solve__fix{background:linear-gradient(135deg,#e6f7ee 0%,#dcf1e5 100%);border-radius:10px;padding:12px 14px;margin-top:12px;font-size:13.5px;color:#0e5a37;line-height:1.55;}
.swpg-solve__fix strong{display:block;font-size:11px;letter-spacing:1.4px;color:var(--sp-green-2);margin-bottom:3px;text-transform:uppercase;}

/* ── S5: Integraciones (marquee) ── */
.swpg-integr{overflow:hidden;position:relative;padding:16px 0;margin-top:32px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.swpg-integr__track{display:flex;gap:14px;width:max-content;animation:swpgScroll 42s linear infinite;}
.swpg-integr:hover .swpg-integr__track{animation-play-state:paused;}
.swpg-integr__chip{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:#fff;border:1px solid var(--sp-line);border-radius:50px;font-size:13.5px;font-weight:600;color:var(--sp-navy);white-space:nowrap;box-shadow:0 4px 14px -8px rgba(11,35,74,.2);}
.swpg-integr__chip i{color:var(--sp-green);font-size:12px;}
@keyframes swpgScroll{to{transform:translateX(-50%);}}

/* ── S6: Promesas ── */
.swpg-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.swpg-promise{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:28px;backdrop-filter:blur(10px);transition:transform .2s,background .2s;}
.swpg-promise:hover{transform:translateY(-4px);background:rgba(255,255,255,.1);}
.swpg-promise__ico{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--sp-green),#0e9a58);display:flex;align-items:center;justify-content:center;font-size:19px;color:#fff;margin-bottom:16px;box-shadow:0 8px 20px -8px rgba(23,178,106,.55);}
.swpg-promise h4{font-size:17px;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:-0.01em;}
.swpg-promise p{font-size:14px;color:rgba(255,255,255,.72);line-height:1.65;margin:0;}

/* ── Responsive ── */
@media (max-width:992px){
  .swpg-sec{padding:56px 0;}
  .swpg-mods{grid-template-columns:1fr;padding:14px;}
  .swpg-mods__list{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:6px;scrollbar-width:thin;}
  .swpg-mods__tab{flex-shrink:0;padding:10px 14px;font-size:13px;}
  .swpg-mods__tab i{width:26px;height:26px;font-size:12px;}
  .swpg-desc{grid-template-columns:1fr;gap:32px;}
  .swpg-solves{grid-template-columns:1fr;}
  .swpg-promises{grid-template-columns:1fr;}
  .swpg-mods__caps{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════════
   KPG · Kiosk Landing Framework (scoped .kpg-page)
   Aplica a: /turnos, /autocompra, /autopago, /centro-autogestion,
             /videoconferencia, /informativo, /control-acceso
   ═══════════════════════════════════════════════════════ */
.kpg-page{--kpg-navy:#0b234a;--kpg-navy-dark:#01004e;--kpg-green:#308b1d;--kpg-ink:#0f172a;--kpg-muted:#5a6b83;--kpg-bg:#f6f8fb;--kpg-card:#ffffff;--kpg-line:#e6ecf3;}
.kpg-page *{box-sizing:border-box;}
.kpg-wrap{max-width:1260px;margin:0 auto;padding:0 24px;}

/* Hero */
.kpg-hero{position:relative;width:100%;min-height:100svh;display:flex;align-items:center;background-size:cover;background-position:center;overflow:hidden;}
.kpg-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(1,0,78,.88) 0%,rgba(11,35,74,.7) 40%,rgba(11,35,74,.35) 75%,rgba(11,35,74,.15) 100%);z-index:1;}
.kpg-hero__inner{position:relative;z-index:2;padding:120px 0 80px;color:#fff;}
.kpg-hero__crumb{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:22px;}
.kpg-hero__crumb a{color:inherit;text-decoration:none;}
.kpg-hero__crumb i{font-size:10px;opacity:.6;}
.kpg-hero__eyebrow{display:inline-block;background:rgba(48,139,29,.22);border:1px solid rgba(48,139,29,.5);color:#8fe37a;padding:8px 16px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;}
.kpg-hero h1{font-size:clamp(38px,5.4vw,64px);line-height:1.05;font-weight:800;color:#fff;letter-spacing:-.02em;margin:0 0 20px;max-width:900px;text-shadow:0 2px 20px rgba(0,0,0,.25);}
.kpg-hero__sub{font-size:clamp(18px,1.6vw,22px);color:rgba(255,255,255,.94);line-height:1.5;max-width:760px;margin:0 0 14px;font-weight:500;}
.kpg-hero__desc{font-size:15px;color:rgba(255,255,255,.82);line-height:1.65;max-width:640px;margin:0 0 34px;}
.kpg-hero__ctas{display:flex;flex-wrap:wrap;gap:14px;}
.kpg-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:12px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s;letter-spacing:.01em;}
.kpg-btn--primary{background:var(--kpg-green);color:#fff;box-shadow:0 10px 30px -8px rgba(48,139,29,.6);}
.kpg-btn--primary:hover{transform:translateY(-2px);background:#28791a;color:#fff;box-shadow:0 14px 34px -8px rgba(48,139,29,.75);}
.kpg-btn--ghost{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);}
.kpg-btn--ghost:hover{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.6);}
.kpg-btn--dark{background:var(--kpg-navy);color:#fff;}
.kpg-btn--dark:hover{background:var(--kpg-navy-dark);color:#fff;transform:translateY(-2px);}
.kpg-btn--outline{background:transparent;color:var(--kpg-navy);border:1.5px solid var(--kpg-navy);}
.kpg-btn--outline:hover{background:var(--kpg-navy);color:#fff;}

/* Section base */
.kpg-sec{padding:96px 0;background:var(--kpg-bg);}
.kpg-sec--alt{background:#fff;}
.kpg-sec--dark{background:linear-gradient(180deg,#0b234a 0%,#01004e 100%);color:#fff;}
.kpg-head{text-align:center;max-width:820px;margin:0 auto 56px;}
.kpg-head__eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--kpg-green);margin-bottom:16px;}
.kpg-head h2{font-size:clamp(30px,3.6vw,44px);line-height:1.15;font-weight:800;color:var(--kpg-ink);letter-spacing:-.02em;margin:0 0 16px;}
.kpg-sec--dark .kpg-head h2{color:#fff;}
.kpg-head__lead{font-size:17px;line-height:1.65;color:var(--kpg-muted);margin:0;}
.kpg-sec--dark .kpg-head__lead{color:rgba(255,255,255,.78);}

/* Models grid */
.kpg-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;}
.kpg-models.cols-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));max-width:900px;margin:0 auto;}
.kpg-models.cols-3{grid-template-columns:repeat(3,1fr);}
.kpg-models.cols-4{grid-template-columns:repeat(4,1fr);}
.kpg-model{background:var(--kpg-card);border-radius:20px;overflow:hidden;box-shadow:0 6px 24px -12px rgba(11,35,74,.18);border:1px solid var(--kpg-line);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;position:relative;}
.kpg-model:hover{transform:translateY(-6px);box-shadow:0 22px 44px -18px rgba(11,35,74,.28);}
.kpg-model__badge{position:absolute;top:14px;right:14px;background:var(--kpg-green);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px;z-index:2;box-shadow:0 6px 14px -6px rgba(48,139,29,.6);}
.kpg-model__img{aspect-ratio:4/3;background:linear-gradient(180deg,#f0f4fa 0%,#e6ecf5 100%);display:flex;align-items:center;justify-content:center;padding:22px;overflow:hidden;}
.kpg-model__img img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .5s ease;}
.kpg-model:hover .kpg-model__img img{transform:scale(1.06);}
.kpg-model__body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}
.kpg-model__name{font-size:22px;font-weight:800;color:var(--kpg-ink);margin:0 0 4px;letter-spacing:-.01em;}
.kpg-model__tag{font-size:13px;color:var(--kpg-green);font-weight:600;margin:0 0 14px;}
.kpg-model__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;}
.kpg-chip{display:inline-block;background:#eef4ff;color:var(--kpg-navy);font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:999px;letter-spacing:.01em;}
.kpg-model__cta{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:var(--kpg-navy);font-weight:700;font-size:14px;text-decoration:none;padding:10px 0 0;border-top:1px solid var(--kpg-line);}
.kpg-model__cta:hover{color:var(--kpg-green);}
.kpg-model__cta i{transition:transform .2s;}
.kpg-model__cta:hover i{transform:translateX(4px);}

/* Benefits — flip / hover reveal cards */
.kpg-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;perspective:1200px;}
.kpg-bene{position:relative;height:280px;border-radius:20px;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1);cursor:pointer;}
.kpg-bene:hover{transform:rotateY(180deg);}
.kpg-bene__face{position:absolute;inset:0;border-radius:20px;padding:32px 28px;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 10px 30px -14px rgba(11,35,74,.25);}
.kpg-bene__front{background:#fff;border:1px solid var(--kpg-line);justify-content:space-between;}
.kpg-bene__back{background:linear-gradient(135deg,var(--kpg-navy) 0%,var(--kpg-navy-dark) 100%);color:#fff;transform:rotateY(180deg);justify-content:center;text-align:center;}
.kpg-bene__icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,rgba(48,139,29,.15),rgba(0,0,156,.1));display:flex;align-items:center;justify-content:center;color:var(--kpg-green);font-size:24px;margin-bottom:20px;}
.kpg-bene__title{font-size:20px;font-weight:800;color:var(--kpg-ink);margin:0 0 8px;letter-spacing:-.01em;}
.kpg-bene__short{font-size:14.5px;color:var(--kpg-muted);line-height:1.55;margin:0;}
.kpg-bene__hint{margin-top:auto;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--kpg-green);display:flex;align-items:center;gap:6px;padding-top:16px;}
.kpg-bene__back h4{font-size:19px;font-weight:800;margin:0 0 12px;color:#fff;}
.kpg-bene__back p{font-size:14.5px;line-height:1.6;margin:0;color:rgba(255,255,255,.92);}

/* Use case environments */
.kpg-envs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.kpg-env{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 8px 24px -12px rgba(11,35,74,.25);cursor:pointer;}
.kpg-env img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.kpg-env:hover img{transform:scale(1.08);}
.kpg-env::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,35,74,0) 40%,rgba(1,0,78,.9) 100%);}
.kpg-env__label{position:absolute;left:0;right:0;bottom:0;padding:22px 20px;z-index:2;color:#fff;}
.kpg-env__label h4{font-size:19px;font-weight:800;margin:0 0 4px;letter-spacing:-.01em;}
.kpg-env__label p{font-size:13px;color:rgba(255,255,255,.88);margin:0;line-height:1.4;}

/* Responsive */
@media (max-width:1024px){
  .kpg-models.cols-3,.kpg-models.cols-4{grid-template-columns:repeat(2,1fr);}
  .kpg-benefits{grid-template-columns:1fr;}
  .kpg-envs{grid-template-columns:repeat(2,1fr);}
  .kpg-bene{height:auto;min-height:220px;}
  .kpg-bene:hover{transform:none;}
  .kpg-bene__back{position:relative;transform:none;opacity:0;height:0;padding:0;overflow:hidden;transition:opacity .3s,height .3s,padding .3s;}
  .kpg-bene:hover .kpg-bene__back{opacity:1;height:auto;padding:24px;}
}
@media (max-width:640px){
  .kpg-sec{padding:64px 0;}
  .kpg-hero__inner{padding:100px 0 60px;}
  .kpg-models.cols-3,.kpg-models.cols-4,.kpg-models.cols-2{grid-template-columns:1fr;}
  .kpg-envs{grid-template-columns:1fr;}
  .kpg-hero__ctas{flex-direction:column;align-items:stretch;}
  .kpg-btn{justify-content:center;}
}

/* ==== Kioscos internal landings — ajustes puntuales ==== */
/* 1. Ocultar CTA "Ver funcionalidades" en tarjetas de modelos, manteniendo el layout limpio */
.kpg-model__cta{display:none !important;}
.kpg-model__body{padding-bottom:26px;}
/* 2. Entornos ideales — contraste blanco sobre imagen */
.kpg-env__label h4{color:#ffffff !important;text-shadow:0 2px 12px rgba(0,0,0,.55);}
.kpg-env__label p{color:rgba(255,255,255,.92) !important;text-shadow:0 1px 8px rgba(0,0,0,.5);}
/* Refuerzo del degradado inferior para asegurar legibilidad */
.kpg-env::after{content:"";position:absolute;inset:auto 0 0 0;height:70%;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,0) 100%);z-index:1;pointer-events:none;}
.kpg-env__label{z-index:2;}
