/*
Theme Name: KUNKA Consulting Editable
Theme URI: https://kunka-consulting.cl/
Author: KUNKA Consulting
Description: KUNKA V21.6: SEO con Yoast, visibilidad en buscadores e IA, cabecera sin desbordes. V21.5: navegación persistente, accesos directos y apartados que conservan su estado. V21.4: corrige el logo de la cabecera reemplazado por texto. Incluye V21.3: sin guirnalda de Fiestas Patrias y más liviano. Incluye V21.2: seguridad reforzada, seguimiento de uso y salud del sitio, SEO de todos los módulos. Incluye V21.1: resúmenes con ejemplos de NIIF, leyes y publicaciones; verificador de RUT y empresas. Incluye V21: 10 calculadoras nuevas (días hábiles, plazos, jornada 40 horas, multas SII, depreciación y más), feriados legales automáticos, buscador único, calendario tributario y biblioteca de normativa SII/DT/NIIF/Banco Central actualizada a diario.
Version: 21.6
Text Domain: kunka-consulting
Requires at least: 6.0
Requires PHP: 7.4
*/
html{scroll-behavior:smooth}
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
/* En WordPress, el editor real está en /wp-admin/. Ocultamos editores locales heredados. */
.site-editor-launcher,.site-editor-panel,#siteEditorLauncher,#siteEditorPanel,
.k42-admin-launch,.k42-admin-overlay,.k42-preview{display:none!important}
html{font-size:var(--kunka-font-size,17px)}
main>section{padding-top:var(--kunka-section-space,128px);padding-bottom:var(--kunka-section-space,128px)}
.card,.plan,.solution,.timeline-card,.ritem,.contact-card,.kcal-box,.kcal-ref{
  border-radius:var(--kunka-radius,24px)
}


/* KUNKA V4 — reacomodo automático sin huecos */
.cards,.plans,.pain-list,.solution-grid,.compare,.q-controls,.deliverables-list,.rgrid,.commit,.kcal-grid{
  grid-auto-flow:dense !important;
}
.cards>[style*="display: none"],.plans>[style*="display: none"],.pain-list>[style*="display: none"],
.solution-grid>[style*="display: none"],.compare>[style*="display: none"],.q-controls>[style*="display: none"],
.deliverables-list>[style*="display: none"],.rgrid>[style*="display: none"],.commit>[style*="display: none"],
.kcal-grid>[style*="display: none"]{display:none!important}
.kunka-custom-block{box-sizing:border-box;min-width:0}
.kunka-custom-box{
  border:1px solid rgba(20,19,15,.12);border-radius:24px;background:#fff;padding:24px;
  box-shadow:0 18px 50px -40px rgba(0,0,0,.45)
}
.kunka-custom-box h3{margin:0 0 10px}
.kunka-custom-box p{margin:0}
.kunka-custom-line{width:100%;padding:16px 0}
.kunka-custom-line hr{border:0;border-top:1px solid rgba(20,19,15,.18);margin:0}
.kunka-custom-icon{display:flex;align-items:center;justify-content:center;min-height:90px}
.kunka-custom-icon span{font-size:42px;line-height:1}
.kunka-custom-image{margin:0;overflow:hidden;border-radius:18px}
.kunka-custom-image img{display:block;width:100%;height:auto}
.kunka-custom-image figcaption{font-size:.8rem;color:#6c675e;padding-top:8px}
.kunka-custom-text{padding:8px 0}
.kunka-custom-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}


/* KUNKA V6 — revisión marcada en documento */
.hero-grid{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
}
.hero-copy{
  max-width:980px!important;
}
.hero{
  min-height:auto!important;
}

/* Quitar la línea decorativa amarilla-verde señalada */
.section-head h2::after{
  display:none!important;
  content:none!important;
}

/* Contraste mejorado en los dos textos señalados en amarillo */
.q-result .rdesc{
  color:#3d3933!important;
  opacity:1!important;
  font-weight:500!important;
  line-height:1.55!important;
}
.q-result .professional-note{
  color:#4a453e!important;
  opacity:1!important;
  font-weight:600!important;
  line-height:1.55!important;
}

/* Refuerzo adicional de legibilidad del resumen */
.q-result .quote-line,
.q-result .quote-list li{
  color:#4a453e!important;
}
.q-result .quote-line b,
.q-result .quote-list strong{
  color:#17150f!important;
}

/* Espacios compactos después de retirar los elementos de portada */
#inicio{
  padding-bottom:clamp(48px,6vw,80px)!important;
}


/* =========================================================
   KUNKA V7 — ACABADO VISUAL PREMIUM
   ========================================================= */

:root{
  --kunka-border: rgba(20,19,15,.11);
  --kunka-border-strong: rgba(20,19,15,.17);
  --kunka-border-soft: rgba(31,97,87,.14);
  --kunka-shadow-xs: 0 1px 2px rgba(20,19,15,.025);
  --kunka-shadow-sm: 0 8px 24px -18px rgba(20,19,15,.22);
  --kunka-shadow-md: 0 18px 48px -28px rgba(20,19,15,.28);
  --kunka-shadow-hover: 0 24px 58px -30px rgba(20,19,15,.34);
  --kunka-radius-sm: 12px;
  --kunka-radius-md: 18px;
  --kunka-radius-lg: 24px;
}

/* Suavidad general */
html{
  background:var(--warm-50,#FAF8F3);
}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Secciones con transición visual más limpia */
main > section{
  position:relative;
}
main > section + section{
  border-top:1px solid rgba(20,19,15,.045);
}

/* Tarjetas / cajas principales */
.card,
.plan,
.solution,
.deliverable,
.timeline-card,
.ritem,
.commit-item,
.q-card,
.kcal-box,
.compare-col,
.proposal-card,
.trust,
.faq-item,
.contact-card,
.quote,
.q-result,
.kcal-panel,
.pain-item,
.kunka-custom-box{
  border:1px solid var(--kunka-border)!important;
  border-radius:var(--kunka-radius-lg)!important;
  box-shadow:var(--kunka-shadow-sm)!important;
  background-clip:padding-box;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background-color .22s ease;
}

/* Hover profesional, no exagerado */
.card:hover,
.plan:hover,
.solution:hover,
.deliverable:hover,
.timeline-card:hover,
.ritem:hover,
.q-card:hover,
.kcal-box:hover,
.compare-col:hover,
.proposal-card:hover,
.faq-item:hover,
.contact-card:hover,
.kunka-custom-box:hover{
  transform:translateY(-2px);
  border-color:rgba(31,97,87,.24)!important;
  box-shadow:var(--kunka-shadow-hover)!important;
}

/* Planes: enfatizar el recomendado sin marco pesado */
.plan.featured,
.plan.recommended,
.plan[aria-current="true"]{
  border-color:rgba(31,97,87,.34)!important;
  box-shadow:
    0 0 0 1px rgba(31,97,87,.08),
    var(--kunka-shadow-md)!important;
}

/* Contenedores del cotizador */
.q-form,
.q-result{
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:22px!important;
}
.q-result{
  border-color:rgba(20,19,15,.12)!important;
}
.q-controls input,
.q-controls select,
.q-form input,
.q-form select,
.kcal-box input,
.kcal-box select,
.contact-card input,
.contact-card textarea{
  border:1px solid rgba(20,19,15,.15)!important;
  border-radius:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.q-controls input:focus,
.q-controls select:focus,
.q-form input:focus,
.q-form select:focus,
.kcal-box input:focus,
.kcal-box select:focus,
.contact-card input:focus,
.contact-card textarea:focus{
  outline:none!important;
  border-color:rgba(31,97,87,.55)!important;
  box-shadow:0 0 0 3px rgba(31,97,87,.09)!important;
}

/* Botones más corporativos */
.btn,
button,
input[type="submit"]{
  border-radius:12px!important;
}
.btn.primary,
button.primary,
input[type="submit"]{
  box-shadow:0 8px 18px -12px rgba(20,19,15,.35);
}
.btn:hover,
button:hover{
  transform:translateY(-1px);
}

/* Navegación */
.site-header{
  border-bottom:1px solid rgba(20,19,15,.08)!important;
  box-shadow:0 8px 30px -28px rgba(20,19,15,.35);
  backdrop-filter:saturate(130%) blur(10px);
}
.nav-links a{
  border-radius:10px;
}
.nav-links a:hover{
  background:rgba(31,97,87,.055);
}

/* Títulos */
.section-head{
  margin-bottom:clamp(26px,4vw,44px);
}
.section-head h2{
  letter-spacing:-.025em;
}
.section-head p{
  max-width:780px;
}

/* FAQ */
.faq-item{
  overflow:hidden;
}
.faq-item summary{
  padding:2px 0;
}
.faq-item[open]{
  border-color:rgba(31,97,87,.24)!important;
  box-shadow:var(--kunka-shadow-md)!important;
}

/* Contacto */
.contact-card{
  border-color:rgba(31,97,87,.14)!important;
}

/* Calculadoras */
.kcal-box{
  border-color:rgba(20,19,15,.10)!important;
}
.kcal-ref{
  border:1px solid rgba(20,19,15,.08)!important;
  border-radius:14px!important;
}

/* Separadores insertados por el builder */
.kunka-custom-line{
  padding:18px 0!important;
}
.kunka-custom-line hr{
  border:0!important;
  height:1px!important;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(31,97,87,.22) 20%,
    rgba(31,97,87,.22) 80%,
    transparent
  )!important;
}

/* Iconos agregados */
.kunka-custom-icon span{
  width:64px;
  height:64px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(31,97,87,.14);
  border-radius:18px;
  background:rgba(31,97,87,.045);
  box-shadow:var(--kunka-shadow-xs);
}

/* Imágenes */
.kunka-custom-image{
  border:1px solid rgba(20,19,15,.09);
  border-radius:20px!important;
  box-shadow:var(--kunka-shadow-sm);
}
.kunka-custom-image img{
  border-radius:inherit;
}

/* Tablas y resultados */
table{
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--kunka-border);
  border-radius:16px;
}
table th,
table td{
  border-bottom:1px solid rgba(20,19,15,.07);
}
table tr:last-child td{
  border-bottom:0;
}

/* Líneas demasiado duras del diseño anterior */
hr{
  border:0;
  height:1px;
  background:rgba(20,19,15,.10);
}

/* Móvil: radios algo más compactos */
@media(max-width:760px){
  .card,
  .plan,
  .solution,
  .deliverable,
  .timeline-card,
  .ritem,
  .q-card,
  .kcal-box,
  .compare-col,
  .proposal-card,
  .faq-item,
  .contact-card,
  .q-result,
  .kcal-panel,
  .pain-item,
  .kunka-custom-box{
    border-radius:18px!important;
  }
  .site-header{
    backdrop-filter:none;
  }
}


/* =========================================================
   KUNKA V8.1 — RESPIRACIÓN
   Más aire entre categorías y entre el texto y el borde de
   cada caja. Todo sale de variables administrables desde
   KUNKA → Diseño → Espaciado, así que se ajusta sin tocar CSS.

   Nota 1: las variables NO se declaran aquí a propósito.
   KUNKA → Diseño las imprime en el <head> antes que esta hoja,
   y volver a declararlas pisaría lo configurado. Los valores
   de abajo viajan como fallback dentro de cada var().

   Nota 2: aquí NO se usa !important en padding a propósito.
   El editor visual aplica padding por elemento con estilo en
   línea, y debe seguir ganando sobre estas reglas.
   ========================================================= */

/* ---- 1. Separación entre categorías ---- */

main > section{
  padding-top:var(--kunka-section-space,128px);
  padding-bottom:var(--kunka-section-space,128px);
}
main > section + section{
  border-top:1px solid rgba(20,19,15,.05);
}
/* La portada abre más compacta por decisión de la V6, pero no tanto como para
   quedar pegada a la sección siguiente. */
#inicio{
  padding-bottom:clamp(64px,7vw,104px)!important;
}
.section-head{
  margin-bottom:var(--kunka-head-space,64px);
  gap:18px;
}
.section-head p{
  margin-top:2px;
}

/* ---- 2. Aire interno de las cajas ---- */

.card,
.plan,
.ritem,
.kcal-box,
.contact-card,
.q-result,
.proposal-card,
.kunka-custom-box{
  padding:var(--kunka-pad-box,40px);
}
/* Cajas secundarias: un punto por debajo, para mantener la jerarquía. */
.solution,
.timeline-card,
.compare-col,
.q-card{
  padding:calc(var(--kunka-pad-box, 40px) - 8px);
}
/* Bloques grandes de fondo completo: un punto por encima. */
.pain,
.quote-wrap,
.deliverables,
.dedicated-card{
  padding:calc(var(--kunka-pad-box, 40px) + 12px);
}
.commit{
  padding:calc(var(--kunka-pad-box, 40px) + 4px) calc(var(--kunka-pad-box, 40px) + 8px);
}
.faq-q{
  padding:calc(var(--kunka-pad-box, 40px) - 12px);
}
.faq-a div{
  padding:0 calc(var(--kunka-pad-box, 40px) - 12px) calc(var(--kunka-pad-box, 40px) - 12px);
}
.trust div{
  padding:calc(var(--kunka-pad-box, 40px) - 12px) calc(var(--kunka-pad-box, 40px) - 16px);
}

/* ---- 3. Separación entre cajas de una misma categoría ---- */

.cards,
.plans,
.rgrid,
.compare,
.solution-grid,
.timeline,
.kcal-grid,
.q-controls{
  gap:var(--kunka-gap-grid,34px);
}
/* Listas de ítems: la misma escala, un punto por debajo, para que no se
   separen tanto como las tarjetas. */
.faq,
.dedicated-list,
.pain-list{
  gap:calc(var(--kunka-gap-grid, 34px) - 14px);
}
.pain-list{
  margin-top:calc(var(--kunka-gap-grid, 34px) - 4px);
}
.dedicated-list{
  margin-top:calc(var(--kunka-gap-grid, 34px) - 4px);
}
.dedicated{
  gap:calc(var(--kunka-gap-grid, 34px) + 20px);
}
.timeline-item{
  gap:calc(var(--kunka-gap-grid, 34px) - 14px);
}
.commit{
  gap:16px calc(var(--kunka-gap-grid, 34px) + 4px);
}
.kcal-ref{
  margin-top:var(--kunka-gap-grid,34px);
}

/* ---- 4. Ritmo interno: que el texto tampoco se apelmace ---- */

.card h3,
.plan h3,
.solution h3,
.ritem h3,
.kcal-box h3,
.timeline-card h3,
.kunka-custom-box h3{
  margin-top:0;
  margin-bottom:14px;
}
.card p,
.solution p,
.ritem p,
.timeline-card p,
.kunka-custom-box p{
  margin-top:0;
}
.card ul{
  margin:28px 0;
  gap:14px;
}
.plan ul{
  margin:26px 0 32px;
  gap:14px;
}
.deliverable{
  padding:24px 0;
  gap:18px;
}
.ledger-row{
  padding:15px 0;
}
.kcal-row{
  padding:14px 0;
}
.kcal-field{
  margin-bottom:26px;
}
.kcal-field:last-child{
  margin-bottom:0;
}

/* ---- 5. Móvil: mismo criterio, escala menor ---- */

@media(max-width:760px){
  /* En móvil el ancho de pantalla es el recurso escaso: el aire extra se da en
     vertical (secciones y separación entre cajas), no quitando ancho al texto.
     Por eso aquí NO se toca el padding lateral de .wrap. */
  .pain,
  .quote-wrap,
  .deliverables,
  .dedicated-card{
    padding:calc(var(--kunka-pad-box, 30px) + 6px);
  }
}

/* ---- 6. Negritas sobre fondo oscuro ---- */

/* header.php declara «strong{color:var(--ink)}» de forma global. Dentro de las
   superficies oscuras eso deja negro sobre negro: en el plan «Full Gestión» la
   etiqueta «Ideal para:» quedaba invisible (contraste 1.00). Ahí la negrita
   debe heredar el color del contenedor. */
.plan.personal strong, .plan.personal b,
.pain strong,          .pain b,
.quote-wrap strong,    .quote-wrap b,
.commit strong,        .commit b,
.cta-section strong,   .cta-section b{
  color:inherit;
}
/* …salvo en las tarjetas claras que viven dentro de esas zonas oscuras. */
.cta-section .contact-card strong,
.cta-section .contact-card b,
.quote-wrap .q-result strong,
.quote-wrap .q-result b{
  color:var(--ink);
}


/* =========================================================
   KUNKA V8.3 — PANTALLAS ANGOSTAS
   Corrige los textos que se cortaban en teléfono.

   Causa medida a 375 px: varios contenedores son grid, y un hijo de grid trae
   «min-width:auto», que significa «no me encojas por debajo de mi contenido más
   ancho». Basta un titular o un botón que no pueda partirse para que la pista
   crezca más que su caja; como el contenedor recorta con overflow:hidden, el
   texto sobrante desaparece sin dejar rastro (ni siquiera scroll horizontal).

     .hero-copy  pedía 386 px para 327 disponibles  ->  59 px recortados
     .quote      pedía 351 px para 255 disponibles  ->  96 px recortados
   ========================================================= */

/* 1. ESTRUCTURAL — se aplica en TODOS los anchos, no sólo bajo 760 px.
   El problema aparece en cuanto el contenido no cabe, y eso también pasa en
   tablets angostas y en teléfonos apaisados, que quedan fuera del media query.
   Quitar el mínimo automático no cambia nada donde el contenido ya cabía. */
.hero-copy, .hero-copy > *,
.hero-actions, .hero-actions > *,
.quote, .quote > *,
.q-controls, .q-controls > *,
.q-card, .q-card > *,
.q-result, .q-result > *,
.calc-inputs, .calc-inputs > *,
.service-options, .service-options > *,
.seg,
.cards > *, .plans > *, .rgrid > *, .compare > *, .solution-grid > *,
.timeline > *, .timeline-item > *, .kcal-grid > *, .kcal-box > *,
.deliverables > *, .deliverables-list > *, .dedicated > *, .dedicated-card > *,
.commit > *, .faq > *, .faq-item > *, .contact-grid > *, .pain-list > *,
.deliverable, .deliverable > *,
.quote-breakdown, .quote-line, .quote-list, .quote-list li,
.kcal-row, .kcal-total, .kcal-field, .kcal-ref{
  min-width:0;
}

/* Palabras largas sin espacios (correos, URLs, RUT) parten en vez de desbordar. */
.hero h1, .lead, .card p, .plan .desc, .ritem p, .solution p,
.faq-a div, .contact-card, .q-result, .deliverable span{
  overflow-wrap:break-word;
}

/* 2. TIPOGRÁFICO — sólo en pantallas angostas, donde el texto ya no cabe
   en una línea. En escritorio estos nowrap son deliberados y se respetan. */
@media(max-width:900px){

  /* «sin sorpresas con el SII.» mide 388 px a 40 px de cuerpo: en un teléfono
     de 375 px no cabe en una sola línea. */
  .hero h1 em{
    white-space:normal;
  }

  /* Botones: dos líneas antes que texto cortado.
     «Enviar cotización por WhatsApp» y «Calcular valor estimado» no caben. */
  .btn{
    white-space:normal;
  }

  /* Los importes no se parten a mitad de número, pero su etiqueta sí se ajusta. */
  .quote-line, .kcal-row, .kcal-total{
    gap:12px;
  }
  .quote-line span:first-child, .kcal-row .kcal-k, .kcal-total .kcal-k{
    overflow-wrap:break-word;
  }
}

/* 3. TÁCTIL Y LEGIBILIDAD — sólo en teléfono. */
@media(max-width:760px){

  /* 44 px es el mínimo cómodo para el dedo. Estos dos botones quedaban en 43. */
  .kcal-mini, .btn.small, .add-service{
    min-height:44px;
  }

  /* Las etiquetas en versalitas quedaban en 11,6 px. A esa altura, en mayúsculas
     y con tracking abierto, cuestan de leer en pantalla chica. */
  .tag, .compare-tag, .rec-flag, .pill, .cred{
    font-size:.78rem;
  }

  /* El botón flotante de WhatsApp no debe tapar el último bloque de contenido. */
  footer{
    padding-bottom:84px;
  }

  /* El título de cada tarjeta del cotizador y su nota iban lado a lado. En 375 px
     ambos se estrechan y quedan en dos líneas cada uno, encimados.
     Apilados se leen de corrido. */
  .q-card-title{
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
  }
  .q-card-title .hint{
    font-size:.74rem;
  }
}

/* Lámina junto a la tarjeta del equipo, en la sección Proceso. Ahí la columna
   ya tiene contenido, así que la ilustración acompaña en vez de encabezar. */
.kunka-lamina-proceso{
  margin-bottom:18px;
}
.kunka-lamina-proceso .kunka-lamina{
  --lam-ancho:320px;
  margin-left:auto;
}
@media(max-width:840px){
  .kunka-lamina-proceso .kunka-lamina{margin:0 auto;--lam-ancho:250px}
  .section-head .kunka-lamina{--lam-ancho:210px}
}

/* =========================================================
   Hero a dos columnas
   Al quitar «sin sorpresas con el SII» el titular quedó corto y la mitad
   derecha —vacía desde que la V6 retiró el dashboard— se veía como un hueco.
   La lámina recupera esa columna. Las reglas de la V6 usan !important, así que
   estas también lo necesitan para ganar por orden de cascada.
   ========================================================= */

/* Sin el <em> el titular reparte mal las líneas y deja «Tu» solo arriba.
   text-wrap:balance iguala el largo de cada línea. */
.hero h1{
  text-wrap:balance;
}

/* header.php declara «.hero h1 em{white-space:nowrap}». Con el hero de una sola
   columna eso cabía; con dos columnas la caja mide la mitad y una frase
   enfatizada se salía encima de la lámina. Puede partirse: el subrayado dorado
   sigue funcionando línea a línea. */
.hero h1 em{
  white-space:normal;
}

.hero-lamina{
  display:flex;
  justify-content:flex-end;
  min-width:0;
}
@media(max-width:899px){
  .hero-lamina{justify-content:center}
}
.hero-lamina .kunka-lamina{
  --lam-ancho:480px;
}

@media(min-width:900px){
  .hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    gap:clamp(48px,7vw,104px)!important;
    align-items:center!important;
  }
  .hero-copy{
    max-width:none!important;
  }
}

/* Bajo 900 px se apila: primero el mensaje, después la lámina. */
@media(max-width:899px){
  .hero-lamina{
    margin-top:30px;
  }
  .hero-lamina .kunka-lamina{
    --lam-ancho:300px;
  }
}

/* Láminas dentro de un bloque de color (dolores, cotizador) y en columnas de
   texto (recibes, contacto). Ahí no encabezan una sección: acompañan, así que
   van más chicas y alineadas al contenido. */
.lamina-en-bloque{
  margin:0 0 22px;
}
.lamina-en-bloque .kunka-lamina{
  --lam-ancho:240px;
}
.lamina-columna{
  margin:0 0 18px;
}
.lamina-columna .kunka-lamina{
  --lam-ancho:260px;
}
@media(max-width:840px){
  .lamina-en-bloque .kunka-lamina,
  .lamina-columna .kunka-lamina{
    --lam-ancho:200px;
  }
}


/* Icono de cada tarjeta de servicio. A escala de icono el trazo de 2,4 se ve
   grueso de mas, así que se afina; y el oro pesa demasiado si se deja al 100%
   en una pieza tan pequeña. */
.card-icono{
  margin-bottom:14px;
}
.card-icono .kunka-icono{
  --lam-ancho:60px;
}
.kunka-icono .lam-trazo{
  stroke-width:2.8;
}
@media(max-width:760px){
  .card-icono .kunka-icono{--lam-ancho:54px}
}

/* =========================================================
   Frases destacadas
   El tema ya tenía este gesto: el <em> del titular llevaba un trazo dorado
   por debajo. Se recupera como recurso reutilizable con <mark>, para que las
   frases que cierran una idea se lean primero al pasar la vista.

   Se usa con medida: si todo está resaltado, nada lo está.
   ========================================================= */

mark,
.destacado{
  background:transparent;
  color:inherit;
  font-weight:700;
  position:relative;
  padding:0 .06em;
  /* El trazo va detrás de la línea base, como un subrayado de marcador. */
  background-image:linear-gradient(transparent 62%, var(--gold-200,#F9E6A8) 62%);
  background-repeat:no-repeat;
  background-size:100% 100%;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

/* Sobre fondo oscuro el amarillo pálido no se ve: ahí el resaltado pasa a ser
   el color del texto, no un fondo. */
.pain mark,          .pain .destacado,
.quote-wrap mark,    .quote-wrap .destacado,
.cta-section mark,   .cta-section .destacado,
.plan.personal mark, .plan.personal .destacado,
.commit mark,        .commit .destacado{
  background-image:none;
  color:var(--gold-400,#F7CE5A);
}

/* En impresión el degradado se pierde: se cambia por un subrayado real. */
@media print{
  mark,.destacado{
    background-image:none;
    text-decoration:underline;
    text-decoration-color:#C9BEAA;
    text-underline-offset:3px;
  }
}

/* Los iconos de Respaldo reemplazan a los emoji que había antes. El contenedor
   .ri ya traía tamaño y fondo, así que sólo hay que dejarle sitio al SVG. */
.ri-icono{
  padding:7px;
  display:grid;
  place-items:center;
}
.ri-icono .kunka-icono{
  --lam-ancho:100%;
  width:100%;
}

/* Icono de cada paso de los primeros 30 días. Va sobre el título, dentro de la
   tarjeta, para no competir con el número de la secuencia. */
.paso-icono{
  margin-bottom:10px;
}
.paso-icono .kunka-icono{
  --lam-ancho:44px;
}


/* Iconos de los enlaces de contacto. Van como ::before y no como <svg> dentro
   del enlace, porque runtime.js reescribe el textContent de #phoneText y
   #mailText con los datos del panel y se llevaría por delante cualquier hijo. */
.mini-link--icono{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
}
.mini-link--icono::before{
  content:"";
  width:18px;
  height:18px;
  flex:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
#phoneText.mini-link--icono::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%25231F6157%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M7%203c1.6%200%202.4%203.2%202.4%204.4S7.4%209%207.4%2010.2%2010.6%2015.8%2012.2%2015.8%2013.8%2013.8%2015%2013.8%2019.4%2014.6%2019.4%2016.2%2017.8%2021%2015.4%2021C10.4%2021%203%2013.6%203%207.6%203%205.2%203.8%203%207%203z%22/%3E%3C/svg%3E")}
#mailText.mini-link--icono::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%25231F6157%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%222.5%22%20y=%225%22%20width=%2219%22%20height=%2214%22%20rx=%222.5%22/%3E%3Cpath%20d=%22M2.5%207.5L12%2014l9.5-6.5%22/%3E%3C/svg%3E")}

/* Ilustración que abre la tarjeta de contacto. */
.contacto-icono{
  margin-bottom:12px;
}
.contacto-icono .kunka-icono{
  --lam-ancho:52px;
}

/* =========================================================
   Tarjetas de plan
   ========================================================= */

/* «IVA incluido» se partía en dos líneas en unas tarjetas y en otras no,
   porque el <small> hereda el salto del párrafo. Ahora siempre va en su propia
   línea y entero, como en la tercera tarjeta. */
.plan .price{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:2px 10px;
  line-height:1.15;
}
.plan .price small{
  display:block;
  width:100%;
  white-space:nowrap;
  margin-top:4px;
}

/* Las cuatro tarjetas quedaban en 267 px: el precio se partía en tres líneas y
   el texto entraba de a tres palabras. La causa no era la grilla sino que el
   contenedor está topado en 1180 px (--max). En pantallas anchas esta sección
   usa más ancho, y con menos relleno el precio entra completo en una línea. */
.plans{
  gap:22px;
}
#planes > .wrap{
  max-width:min(1340px, 100%);
}
.plan{
  padding:32px;
}
.plan .price{
  font-size:clamp(1.45rem, 2.05vw, 1.85rem);
}

/* Bajo 1180 px cuatro columnas ya no caben con holgura: dos anchas se leen
   mucho mejor que cuatro estrechas. */
@media(max-width:1180px){
  .plans{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:640px){
  .plans{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   Montos alineados entre tarjetas
   Los precios no quedaban a la misma altura porque cada «Ideal para:» ocupa
   distinto número de líneas. Se venía parcheando con «.plan .desc{min-height:74px}»,
   que es frágil: basta escribir una descripción más larga desde el panel para
   que se descuadre otra vez.

   Con subgrid las siete filas de la tarjeta (etiqueta, título, ideal, precio,
   descripción, lista y botón) se alinean solas entre las cuatro, sea cual sea
   el largo del texto. Sólo se aplica donde las cuatro van en una misma fila.
   ========================================================= */

@media(min-width:1181px){
  @supports (grid-template-rows: subgrid){
    .plans{
      grid-template-rows:repeat(7, auto);
      row-gap:0;
    }
    .plan{
      display:grid;
      grid-template-rows:subgrid;
      grid-row:span 7;
    }
    /* La altura fija deja de hacer falta: ahora alinea la grilla. */
    .plan .desc{
      min-height:0;
    }
  }
}

/* =========================================================
   Movimiento
   Dos gestos, no más: la entrada escalonada al hacer scroll y una flotación
   muy leve del acento dorado de cada ilustración. Juntos dan sensación de
   página viva sin distraer de lo que hay que leer.
   ========================================================= */

/* 1. Entrada escalonada. El sistema .reveal ya existía y encendía todo a la
   vez; ahora los hijos de una grilla entran uno tras otro. */
.cards > .reveal,
.plans > .reveal,
.rgrid > .reveal,
.solution-grid > .reveal,
.timeline > .reveal,
.faq > .reveal,
.pain-list > .reveal{
  transition-delay:0ms;
}
.cards > .reveal:nth-child(2),
.plans > .reveal:nth-child(2),
.rgrid > .reveal:nth-child(2),
.solution-grid > .reveal:nth-child(2),
.timeline > .reveal:nth-child(2),
.faq > .reveal:nth-child(2){transition-delay:80ms}
.cards > .reveal:nth-child(3),
.plans > .reveal:nth-child(3),
.rgrid > .reveal:nth-child(3),
.solution-grid > .reveal:nth-child(3),
.timeline > .reveal:nth-child(3),
.faq > .reveal:nth-child(3){transition-delay:160ms}
.cards > .reveal:nth-child(4),
.plans > .reveal:nth-child(4),
.rgrid > .reveal:nth-child(4),
.timeline > .reveal:nth-child(4),
.faq > .reveal:nth-child(4){transition-delay:240ms}
.cards > .reveal:nth-child(5),
.faq > .reveal:nth-child(5){transition-delay:320ms}
.cards > .reveal:nth-child(6){transition-delay:400ms}

/* 2. Flotación del acento dorado: el único elemento que se mueve por su cuenta.
   Se define sobre la lámina y no sobre «.reveal.in», porque así el :not() deja
   fuera a los iconos sin pelear especificidades con la regla de entrada. */
@keyframes kunka-flota{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3.5px)}
}
.kunka-lamina:not(.kunka-icono) .lam-oro{
  animation:kunka-flota 6s ease-in-out infinite;
  transform-box:fill-box;
  transform-origin:center;
}
/* Desfase por sección para que no laten todas al mismo tiempo. */
#dolores .lam-oro{animation-delay:-.8s}
#comparacion .lam-oro{animation-delay:-1.6s}
#servicios .lam-oro{animation-delay:-2.4s}
#cotizador .lam-oro{animation-delay:-3.2s}
#planes .lam-oro{animation-delay:-4s}
#primeros30 .lam-oro{animation-delay:-4.8s}
#recibes .lam-oro{animation-delay:-1.2s}
#proceso .lam-oro{animation-delay:-2s}
#respaldo .lam-oro{animation-delay:-2.8s}
#faq .lam-oro{animation-delay:-3.6s}
#calculadoras .lam-oro{animation-delay:-4.4s}
#contacto .lam-oro{animation-delay:-5.2s}

/* Los iconos de tarjeta son muy chicos: ahí el movimiento sólo ensucia. Quedan
   fuera por el :not() de arriba, sin necesidad de una regla que compita. */

/* 3. Nada de esto se ejecuta si el sistema pide menos movimiento. */
@media(prefers-reduced-motion:reduce){
  .reveal,
  .reveal.in{
    transition:none!important;
    transition-delay:0ms!important;
    opacity:1!important;
    transform:none!important;
  }
  .lam-oro{
    animation:none!important;
  }
}

/* La animación de entrada sólo puede esconder contenido si hay JavaScript para
   volver a mostrarlo. Sin la marca .kunka-js todo queda visible desde el
   primer pintado. */
.reveal{
  opacity:1;
  transform:none;
}
.kunka-js .reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .6s ease, transform .6s ease;
}
.kunka-js .reveal.in{
  opacity:1;
  transform:none;
}

/* En teléfono el recorrido es más corto: el mismo salto de 22 px se siente
   brusco en una pantalla donde casi todo entra de a un bloque. */
@media(max-width:840px){
  .kunka-js .reveal{
    transform:translateY(12px);
    transition-duration:.45s;
  }
}

/* Los paneles de las calculadoras arrancan con [hidden], es decir display:none.
   El observador de scroll no puede verlos, así que si además empezaran
   transparentes quedarían invisibles para siempre en cuanto el visitante
   cambiara de pestaña. Ahí no se anima nada. */
.kunka-js .kcal-panel .reveal,
.kunka-js .reveal.kcal-panel{
  opacity:1;
  transform:none;
  transition:none;
}

/* =========================================================
   Síguenos, en el pie
   Cada red aparece sólo si tiene su enlace cargado en KUNKA → General.
   No hay ninguna URL escrita en el tema: un perfil inventado llevaría a la
   cuenta de otra persona.
   ========================================================= */

.footer-redes{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.footer-redes-titulo{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--warm-500,#5D5546);
}
.footer-redes-lista{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.footer-redes-lista a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px 8px 10px;
  min-height:44px;
  border:1px solid var(--warm-200,#E7E1D5);
  border-radius:999px;
  background:#fff;
  font-weight:700;
  font-size:.88rem;
  color:var(--warm-700,#332E26);
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.footer-redes-lista a:hover,
.footer-redes-lista a:focus-visible{
  border-color:var(--pine-600,#15514A);
  transform:translateY(-1px);
  box-shadow:0 10px 22px -16px rgba(20,19,15,.4);
}
.footer-redes-lista .kunka-icono{
  --lam-ancho:22px;
  flex:none;
}

@media(max-width:640px){
  .footer-redes{
    width:100%;
    justify-content:flex-start;
  }
  .footer-redes-lista a span{
    /* En pantalla chica el nombre sobra: el icono ya identifica la red y así
       caben las cuatro sin que el pie crezca. */
    position:absolute;
    width:1px;height:1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
  }
  .footer-redes-lista a{
    padding:10px;
    width:44px;
    justify-content:center;
  }
}

/* =========================================================
   Glosario
   El término queda marcado con un punteado bajo la línea base: se nota que se
   puede tocar, pero no compite con los enlaces ni con el resaltado dorado, que
   ya tienen su propio lenguaje en esta página.
   ========================================================= */

.kunka-termino{
  font:inherit;
  color:inherit;
  background:none;
  border:0;
  padding:0;
  margin:0;
  cursor:help;
  text-decoration:underline dotted;
  text-decoration-color:var(--pine-600,#15514A);
  text-underline-offset:4px;
  text-decoration-thickness:1.5px;
  transition:background-color .18s ease;
  border-radius:3px;
}
.kunka-termino:hover,
.kunka-termino[aria-expanded="true"]{
  background:var(--pine-50,#ECF4F1);
}
.kunka-termino:focus-visible{
  outline:2px solid var(--pine-600,#15514A);
  outline-offset:2px;
}
/* Sobre fondo oscuro el punteado verde no se ve. */
.pain .kunka-termino,
.quote-wrap .kunka-termino,
.cta-section .kunka-termino,
.plan.personal .kunka-termino{
  text-decoration-color:var(--gold-400,#F7CE5A);
}
.pain .kunka-termino:hover,
.quote-wrap .kunka-termino:hover,
.cta-section .kunka-termino:hover,
.pain .kunka-termino[aria-expanded="true"],
.quote-wrap .kunka-termino[aria-expanded="true"],
.cta-section .kunka-termino[aria-expanded="true"]{
  background:rgba(247,206,90,.18);
}

.kunka-glosa{
  position:absolute;
  z-index:120;
  background:#fff;
  color:var(--warm-700,#332E26);
  border:1px solid var(--warm-200,#E7E1D5);
  border-radius:16px;
  box-shadow:0 24px 60px -30px rgba(20,19,15,.5);
  padding:16px 18px 14px;
  font-size:.92rem;
  line-height:1.55;
  text-align:left;
}
.kunka-glosa-titulo{
  display:block;
  font-family:'Zilla Slab',Georgia,serif;
  font-size:1.02rem;
  color:var(--ink,#14130F);
  padding-right:22px;
  margin-bottom:6px;
}
.kunka-glosa-texto{
  margin:0 0 10px;
}
.kunka-glosa-nota{
  display:block;
  font-size:.76rem;
  color:var(--warm-500,#5D5546);
  border-top:1px solid var(--warm-200,#E7E1D5);
  padding-top:8px;
}
.kunka-glosa-x{
  position:absolute;
  top:8px;
  right:8px;
  width:30px;
  height:30px;
  border:0;
  background:none;
  border-radius:50%;
  font-size:1.2rem;
  line-height:1;
  color:var(--warm-500,#5D5546);
  cursor:pointer;
}
.kunka-glosa-x:hover{
  background:var(--warm-100,#F3EFE7);
}

/* ==============================================================
   KUNKA V12.0 — Centro de calculadoras contables y financieras
   ============================================================== */
.ksuite-centro{padding:72px 0 120px;background:linear-gradient(180deg,var(--warm-50),#fff 34%,var(--warm-50));}
.ksuite-centro .calc-miga{margin-bottom:38px}
.ksuite-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:56px;align-items:center;padding:48px;border:1px solid rgba(20,19,15,.12);border-radius:32px;background:rgba(255,255,255,.86);box-shadow:0 24px 70px rgba(20,19,15,.06);overflow:hidden;position:relative}
.ksuite-hero:before{content:"";position:absolute;inset:auto -90px -130px auto;width:330px;height:330px;border-radius:50%;background:color-mix(in srgb,var(--gold-400) 38%,transparent);filter:blur(1px)}
.ksuite-hero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.045em;margin:12px 0 20px;max-width:900px}
.ksuite-hero .lead{max-width:780px;font-size:clamp(18px,2vw,22px)}
.ksuite-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.ksuite-hero-art{min-height:300px;display:grid;place-items:center;position:relative;z-index:1}
.ksuite-hero-art svg{width:min(100%,360px);height:auto;max-height:320px}
.ksuite-filtros{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 10px;position:sticky;top:82px;z-index:9;padding:12px;border:1px solid rgba(20,19,15,.1);border-radius:18px;background:rgba(250,248,243,.92);backdrop-filter:blur(12px)}
.ksuite-filtros a{display:inline-flex;align-items:center;min-height:42px;padding:10px 16px;border-radius:999px;background:#fff;border:1px solid rgba(20,19,15,.1);font-weight:750;text-decoration:none;color:var(--ink)}
.ksuite-filtros a:hover{background:var(--pine-600);color:#fff;border-color:var(--pine-600)}
.ksuite-grupo{padding:74px 0 0!important}
.ksuite-grupo-head{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.ksuite-grupo-head h2{font-size:clamp(30px,4vw,48px);margin:0 0 5px;letter-spacing:-.035em}.ksuite-grupo-head p{margin:0;color:rgba(20,19,15,.68)}
.ksuite-cat-icon{width:58px;height:58px;border-radius:18px;background:var(--gold-400);display:grid;place-items:center;flex:0 0 auto}.ksuite-cat-icon svg{width:30px;height:30px}
.ksuite-grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ksuite-tool-card{display:flex;flex-direction:column;min-height:230px;padding:28px;border:1px solid rgba(20,19,15,.11);border-radius:24px;background:#fff;color:var(--ink);text-decoration:none;transition:.22s transform,.22s box-shadow,.22s border-color;overflow:hidden;position:relative}
.ksuite-tool-card:hover{transform:translateY(-4px);box-shadow:0 18px 46px rgba(20,19,15,.09);border-color:color-mix(in srgb,var(--pine-600) 45%,transparent)}
.ksuite-tool-card.destacada{background:linear-gradient(145deg,var(--pine-600),#173f39);color:#fff}.ksuite-tool-card.destacada p,.ksuite-tool-card.destacada .ksuite-tool-kicker{color:rgba(255,255,255,.76)}
.ksuite-tool-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:850;color:var(--pine-600);margin-bottom:18px}
.ksuite-tool-card strong{font-size:23px;line-height:1.08;letter-spacing:-.025em;margin-bottom:12px}.ksuite-tool-card p{font-size:15px;line-height:1.55;color:rgba(20,19,15,.68);margin:0 0 20px}.ksuite-tool-link{margin-top:auto;font-weight:800}
.ksuite-nota{margin-top:70px;padding:24px 28px;border-left:5px solid var(--gold-400);background:#fff;border-radius:0 18px 18px 0;box-shadow:0 10px 30px rgba(20,19,15,.05)}

.ksuite-panel-section{padding:20px 0 90px!important;background:var(--warm-50)}
.ksuite-related{margin-bottom:22px}.kcal-paginas-v12{display:flex!important;gap:8px;flex-wrap:wrap;overflow:visible!important}.kcal-paginas-v12 a{white-space:normal!important}.kcal-centro-link{background:var(--ink)!important;color:#fff!important}
.ksuite-calc-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:24px;align-items:start}
.ksuite-form-card,.ksuite-result-card{background:#fff;border:1px solid rgba(20,19,15,.11);border-radius:28px;padding:32px;box-shadow:0 18px 48px rgba(20,19,15,.055)}
.ksuite-result-card{position:sticky;top:104px;background:linear-gradient(180deg,#fff,#fbfaf6)}
.ksuite-form-head{margin-bottom:24px}.ksuite-form-head h3{font-size:32px;margin:8px 0 0;letter-spacing:-.035em}.ksuite-badge{font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--pine-600)}
.ksuite-subhead{margin:26px 0 10px;font-weight:850;font-size:15px;color:var(--pine-600);padding-top:16px;border-top:1px solid rgba(20,19,15,.08)}
.ksuite-field{display:grid;gap:8px;margin:0 0 16px}.ksuite-field label{font-size:14px;font-weight:760}.ksuite-inputwrap{display:flex;align-items:center;border:1px solid rgba(20,19,15,.16);border-radius:15px;background:#fff;overflow:hidden;min-height:54px}.ksuite-inputwrap:focus-within{border-color:var(--pine-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--pine-600) 12%,transparent)}
.ksuite-inputwrap span{padding:0 14px;color:rgba(20,19,15,.55);font-weight:800}.ksuite-inputwrap input{width:100%;border:0!important;outline:0!important;background:transparent!important;font-size:18px;font-weight:760;padding:14px 2px;min-width:0;box-shadow:none!important}
.ksuite-field select{min-height:54px;border:1px solid rgba(20,19,15,.16);border-radius:15px;background:#fff;padding:0 14px;font-size:15px;font-weight:700;color:var(--ink)}
.ksuite-calcular{width:100%;justify-content:center;margin-top:8px}.ksuite-privacy{font-size:12px;line-height:1.45;color:rgba(20,19,15,.55);margin:14px 0 0;text-align:center}
.ksuite-result-top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(20,19,15,.1);font-size:13px}.ksuite-result-top span{color:rgba(20,19,15,.55)}
.ksuite-main-result{padding:28px 0 22px;display:grid;gap:8px}.ksuite-main-result span{font-size:13px;color:rgba(20,19,15,.55);font-weight:750}.ksuite-main-result strong{font-size:clamp(34px,5vw,54px);letter-spacing:-.045em;line-height:1;color:var(--pine-600);overflow-wrap:anywhere}
.ksuite-result-rows{border-top:1px solid rgba(20,19,15,.09)}.ksuite-result-row{display:flex;justify-content:space-between;gap:22px;padding:14px 0;border-bottom:1px solid rgba(20,19,15,.07);font-size:14px}.ksuite-result-row span{color:rgba(20,19,15,.64)}.ksuite-result-row strong{text-align:right;overflow-wrap:anywhere}.ksuite-result-row.minus strong{color:#8f4438}
.ksuite-result-note{margin:20px 0 0;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--gold-400) 17%,#fff);font-size:13px;line-height:1.55}.ksuite-result-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}

@media(max-width:980px){.ksuite-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ksuite-calc-grid{grid-template-columns:1fr}.ksuite-result-card{position:static}.ksuite-hero{grid-template-columns:1fr}.ksuite-hero-art{min-height:210px}}
@media(max-width:680px){.ksuite-centro{padding-top:44px}.ksuite-hero{padding:30px 22px;border-radius:24px}.ksuite-hero h1{font-size:44px}.ksuite-grid-cards{grid-template-columns:1fr}.ksuite-tool-card{min-height:190px;padding:24px}.ksuite-filtros{top:66px;flex-wrap:nowrap;overflow:auto;padding:9px}.ksuite-filtros a{white-space:nowrap}.ksuite-form-card,.ksuite-result-card{padding:22px 18px;border-radius:22px}.ksuite-main-result strong{font-size:38px}.ksuite-result-row{align-items:flex-start}.ksuite-result-row span{max-width:55%}.kcal-paginas-v12{display:grid!important;grid-template-columns:1fr 1fr}.kcal-paginas-v12 a{min-width:0!important}}
@media print{.nav,.site-footer,.ksuite-related,.ksuite-form-card,.calc-faq,.calc-cabecera,.calc-herramienta-titulo,.ksuite-result-actions{display:none!important}.ksuite-panel-section{padding:0!important;background:#fff}.ksuite-calc-grid{display:block}.ksuite-result-card{box-shadow:none;border:0;padding:0}}


/* KUNKA V13.0 — confianza, fuentes y contenido del centro */
.ksuite-trust{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 0}.ksuite-trust span{display:inline-flex;gap:7px;align-items:center;padding:9px 12px;border:1px solid rgba(20,19,15,.1);border-radius:999px;background:rgba(255,255,255,.74);font-size:13px;color:rgba(20,19,15,.7)}.ksuite-trust strong{color:var(--pine-600)}
.ksuite-centro-intro{max-width:920px;margin:48px auto 8px;text-align:center}.ksuite-centro-intro h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.035em;margin:0 0 14px}.ksuite-centro-intro p{font-size:16px;line-height:1.7;color:rgba(20,19,15,.7);margin:8px auto}.ksuite-centro-intro .ksuite-revision{font-size:13px;font-weight:750;color:var(--pine-600)}
.ksuite-sources{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;margin-top:20px;padding:18px 22px;border:1px solid rgba(20,19,15,.1);border-radius:18px;background:#fff;font-size:13px}.ksuite-sources>div{display:flex;gap:7px;flex-direction:column}.ksuite-sources strong{font-size:12px;letter-spacing:.055em;text-transform:uppercase;color:var(--pine-600)}.ksuite-sources span{color:rgba(20,19,15,.68)}.ksuite-source-links{align-items:flex-start}.ksuite-source-links a{color:var(--ink);text-decoration-color:color-mix(in srgb,var(--gold-400) 70%,transparent);text-underline-offset:3px}.ksuite-source-links a:hover{color:var(--pine-600)}
@media(max-width:680px){.ksuite-trust{display:grid;grid-template-columns:1fr}.ksuite-trust span{justify-content:center}.ksuite-centro-intro{text-align:left;margin-top:36px}.ksuite-sources{grid-template-columns:1fr;padding:16px}}
@media print{.ksuite-sources{display:none!important}}


/* ==============================================================
   KUNKA V14.0 — Herramientas gratuitas ordenadas y unificadas
   ============================================================== */
.ksuite-rubros{display:grid;gap:18px;margin-top:34px}
.ksuite-rubro{border:1px solid rgba(20,19,15,.11);border-radius:26px;background:#fff;box-shadow:0 14px 38px rgba(20,19,15,.045);overflow:hidden;scroll-margin-top:150px}
.ksuite-rubro-summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:24px 26px;cursor:pointer;min-height:96px}
.ksuite-rubro-summary::-webkit-details-marker{display:none}.ksuite-rubro-summary::marker{display:none}
.ksuite-rubro-summary:hover{background:var(--warm-50)}
.ksuite-rubro-copy{display:grid;gap:4px;min-width:0}.ksuite-rubro-copy strong{font-size:24px;letter-spacing:-.025em}.ksuite-rubro-copy small{font-size:14px;line-height:1.45;color:rgba(20,19,15,.62)}
.ksuite-rubro-count{font-size:13px;font-weight:800;color:var(--pine-600);padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--pine-100) 70%,#fff);white-space:nowrap}
.ksuite-rubro-toggle{width:34px;height:34px;border:1px solid rgba(20,19,15,.12);border-radius:50%;position:relative;background:#fff}.ksuite-rubro-toggle:before,.ksuite-rubro-toggle:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:.2s transform}.ksuite-rubro-toggle:after{transform:translate(-50%,-50%) rotate(90deg)}.ksuite-rubro[open] .ksuite-rubro-toggle:after{transform:translate(-50%,-50%) rotate(0deg)}
.ksuite-rubro-body{padding:0 24px 24px;border-top:1px solid rgba(20,19,15,.08)}.ksuite-rubro-body .ksuite-grid-cards{padding-top:24px}
.ksuite-tool-card{min-height:244px}.ksuite-tool-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--warm-50);border:1px solid rgba(20,19,15,.08);margin-bottom:18px}.ksuite-tool-icon svg{width:29px;height:29px}.ksuite-tool-card.destacada .ksuite-tool-icon{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.18)}.ksuite-tool-card.destacada .ksuite-tool-icon .lam-trazo{stroke:#fff}.ksuite-tool-card.destacada .ksuite-tool-icon .lam-papel{fill:rgba(255,255,255,.12)}
.ksuite-filtros a{gap:8px}.ksuite-filtros a svg{width:20px;height:20px;flex:0 0 auto}.ksuite-filtros a:hover .lam-trazo{stroke:#fff}

/* Misma jerarquía visual para calculadoras históricas y suite nueva. */
.kcal-box,.kcal-slip,.ksuite-form-card,.ksuite-result-card{border-radius:26px!important;border:1px solid rgba(20,19,15,.11)!important;box-shadow:0 18px 48px rgba(20,19,15,.055)!important}
.kcal-box,.ksuite-form-card{background:#fff!important}.kcal-slip,.ksuite-result-card{background:linear-gradient(180deg,#fff,#fbfaf6)!important}
.kcal-mini{display:inline-flex;align-items:center;justify-content:center;border-radius:12px!important;font-weight:800!important}
.kcal-envio{margin-top:20px;padding-top:20px;border-top:1px solid rgba(20,19,15,.09)}
.ksuite-result-card .kcal-envio{margin-bottom:4px}.ksuite-result-card .kcal-envio-fila{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.ksuite-result-card .kcal-envio-lab{grid-column:1/-1}
.ksuite-form-head{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.ksuite-form-head h3{grid-column:1/-1}.ksuite-form-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--warm-50);border:1px solid rgba(20,19,15,.08)}.ksuite-form-icon svg{width:26px;height:26px}
.calc-tool-hero-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:22px;background:#fff;border:1px solid rgba(20,19,15,.1);box-shadow:0 14px 36px rgba(20,19,15,.07);position:absolute;right:6%;top:6%;z-index:2}.calc-tool-hero-icon svg{width:42px;height:42px}.calc-cabecera-lamina{position:relative}
.kcal-field-split{display:grid!important;grid-template-columns:1fr 1fr;gap:16px}.kcal-unit{display:flex;align-items:center;border:1px solid rgba(20,19,15,.16);border-radius:12px;background:#fff;overflow:hidden}.kcal-unit .kcal-input{border:0!important;box-shadow:none!important}.kcal-unit span{padding:0 14px;font-weight:800;color:rgba(20,19,15,.55)}

/* Comprobante suite al guardar como PDF: el motor común clona solo el resultado. */
.kcal-printing .ksuite-result-card{position:static!important;max-width:760px;margin:0 auto;box-shadow:none!important;border:0!important;padding:28px!important;background:#fff!important}.kcal-printing .ksuite-result-card .ksuite-result-actions,.kcal-printing .ksuite-result-card .kcal-envio{display:none!important}

@media(max-width:760px){
  .ksuite-rubro-summary{grid-template-columns:auto minmax(0,1fr) auto;padding:18px;gap:12px}.ksuite-rubro-count{grid-column:2;justify-self:start}.ksuite-rubro-toggle{grid-row:1/3;grid-column:3}.ksuite-rubro-copy strong{font-size:20px}.ksuite-rubro-body{padding:0 14px 14px}.ksuite-rubro-body .ksuite-grid-cards{padding-top:14px}.ksuite-tool-card{min-height:0}.kcal-field-split{grid-template-columns:1fr}.ksuite-result-card .kcal-envio-fila{grid-template-columns:1fr}.ksuite-result-card .kcal-envio-fila .btn{width:100%}.calc-tool-hero-icon{width:58px;height:58px;right:2%;top:2%}.calc-tool-hero-icon svg{width:32px;height:32px}
}
@media print{
  body.kcal-printing .ksuite-result-card{display:block!important}.ksuite-result-card .kcal-print-brand{display:flex!important}.ksuite-result-card .ksuite-result-top{margin-top:14px}.ksuite-rubro,.ksuite-centro{box-shadow:none!important}
}


/* ==============================================================
   KUNKA V15.0 — Auditoría funcional, contraste y pie ordenado
   ============================================================== */
/* V14 unificó los comprobantes sobre fondo claro pero conservó varios colores
   pensados para el antiguo fondo verde. Esta capa fija el contraste de manera
   explícita para que ningún texto dependa de la herencia anterior. */
.kcal-slip{color:var(--ink)!important}
.kcal-slip::after{opacity:.18!important;background-image:radial-gradient(circle at 3px 3px,var(--pine-600) 2px,transparent 2.3px)!important}
.kcal-slip-top{border-bottom-color:var(--warm-200)!important}
.kcal-slip-top b{color:var(--ink)!important}
.kcal-stamp{color:var(--pine-700)!important;border-color:rgba(21,81,74,.3)!important;background:var(--pine-50)!important}
.kcal-row .kcal-k{color:var(--warm-700)!important}
.kcal-row .kcal-v{color:var(--ink)!important}
.kcal-row.minus .kcal-v{color:#7C332A!important}
.kcal-total{border-top-color:var(--warm-200)!important}
.kcal-total .kcal-k,.kcal-total .kcal-v{color:var(--pine-700)!important}
.kcal-note{color:var(--warm-700)!important;border-left-color:var(--gold-500)!important}
.kcal-mini,.kcal-abrir{color:var(--ink)!important;background:#fff!important;border-color:var(--warm-300)!important}
.kcal-mini:hover,.kcal-abrir:hover{background:var(--warm-50)!important;border-color:var(--pine-600)!important}
.kcal-costo,.kcal-envio{border-top-color:var(--warm-200)!important}
.kcal-envio-nota{opacity:1!important;color:var(--warm-700)!important}
.kcal-ayuda,.kcal-aviso-campo,.kcal-indic{color:var(--warm-600)!important}
.kcal-tabla-ind .kcal-row{opacity:1!important}
.kcal-corresponde li.no{opacity:.72!important}

/* Texto secundario: se evita gris al 55–62% en cuerpos pequeños. */
.ksuite-grupo-head p,.ksuite-tool-card p,.ksuite-rubro-copy small,
.ksuite-privacy,.ksuite-result-top span,.ksuite-main-result span,
.ksuite-result-row span,.ksuite-trust span,.ksuite-centro-intro p,
.ksuite-sources span,.ksuite-inputwrap span,.kcal-unit span{color:var(--warm-600)!important}
.ksuite-tool-card.destacada p,.ksuite-tool-card.destacada .ksuite-tool-kicker{color:rgba(255,255,255,.9)!important}
.ksuite-tool-card.destacada strong,.ksuite-tool-card.destacada .ksuite-tool-link{color:#fff!important}

/* Pie: categorías de herramientas plegables. */
.footer-mapa{align-items:start}
.footer-mapa-col.footer-mapa-herramientas{grid-column:span 2}
.footer-mapa-titulo{color:var(--warm-700)!important;font-weight:800}
.footer-mapa a{color:var(--warm-700)!important}
.footer-tools-all{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px;font-size:.88rem!important;color:var(--pine-700)!important}
.footer-tools-groups{display:grid;gap:8px}
.footer-tool-group{border:1px solid var(--warm-200);border-radius:13px;background:rgba(255,255,255,.68);overflow:hidden}
.footer-tool-summary{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none;color:var(--ink);font-weight:800;font-size:.86rem}
.footer-tool-summary::-webkit-details-marker{display:none}.footer-tool-summary::marker{display:none}
.footer-tool-cat-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--pine-50);border:1px solid var(--pine-100)}.footer-tool-cat-icon svg{width:17px;height:17px}.footer-tool-name{min-width:0}
.footer-tool-summary:hover{background:#fff}
.footer-tool-count{font-family:var(--font-mono);font-size:.68rem;color:var(--pine-700);background:var(--pine-50);border-radius:999px;padding:4px 7px;white-space:nowrap}
.footer-tool-chevron{width:20px;height:20px;border-radius:50%;border:1px solid var(--warm-300);position:relative;background:#fff}
.footer-tool-chevron:before,.footer-tool-chevron:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
.footer-tool-chevron:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .18s ease}
.footer-tool-group[open] .footer-tool-chevron:after{transform:translate(-50%,-50%) rotate(0)}
.footer-tool-group ul{padding:0 12px 12px 26px!important;gap:5px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
.footer-tool-group li{min-width:0}.footer-tool-group a{font-size:.84rem!important;line-height:1.35;display:inline-block}
.footer-grid p,.footer-redes-titulo,.footer-redes-lista a{color:var(--warm-700)!important}
@media(max-width:860px){.footer-mapa-col.footer-mapa-herramientas{grid-column:1/-1}}
@media(max-width:560px){.footer-mapa{grid-template-columns:1fr!important}.footer-mapa-col.footer-mapa-herramientas{grid-column:auto}.footer-tool-summary{padding:11px 12px}.footer-tool-group ul{padding-left:24px!important;grid-template-columns:1fr}}

/* V15.0 — refuerzo final de legibilidad en textos pequeños sobre fondos claros. */
.calc-miga,.calc-aviso,.period,.val.muted,.kunka-custom-image figcaption,.kcal-money i{color:var(--warm-600)!important}
.kcal-money i{color:var(--warm-500)!important}
.ksuite-field-note{margin:-7px 0 17px;font-size:.79rem;line-height:1.5;color:var(--warm-600)!important}
.footer-tool-group[open]{background:#fff;border-color:var(--warm-300)}
.footer-tool-group[open] .footer-tool-summary{border-bottom:1px solid var(--warm-200)}

/* ========================================================================
   KUNKA V16.0 — jerarquía editorial, Servicios ampliados y metodología
   ======================================================================== */

/* --- Servicios: mapa por áreas y tarjetas de mayor profundidad --- */
.services-v16{position:relative;overflow:hidden;background:
  radial-gradient(circle at 92% 9%,rgba(247,206,90,.13),transparent 29%),
  radial-gradient(circle at 7% 80%,rgba(31,97,87,.08),transparent 30%)}
.services-v16-head{max-width:850px;margin-bottom:34px}
.services-v16-head>.eyebrow{display:block;margin:0 0 12px;color:var(--pine-600);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem}
.services-v16-head h2{max-width:760px}
.services-v16-head p{max-width:760px}
.services-v16-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 64px}
.services-v16-map>a{display:flex;gap:14px;align-items:center;min-width:0;padding:18px;border:1px solid rgba(20,19,15,.10);border-radius:20px;background:rgba(255,255,255,.8);box-shadow:0 15px 35px -32px rgba(20,19,15,.55);color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.services-v16-map>a:hover{transform:translateY(-2px);border-color:rgba(31,97,87,.32);box-shadow:0 20px 44px -31px rgba(20,19,15,.38)}
.services-v16-map svg{width:38px;height:38px;flex:0 0 38px}
.services-v16-map span{display:grid;gap:3px;min-width:0}
.services-v16-map strong{font-size:.95rem;line-height:1.2}
.services-v16-map small{color:var(--warm-600);font-size:.78rem;line-height:1.35}
.services-v16-groups{display:grid;gap:72px}
.services-v16-group{scroll-margin-top:110px}
.services-v16-group-head{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;max-width:900px;margin:0 0 26px}
.services-v16-group-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff;border:1px solid rgba(20,19,15,.10);box-shadow:0 15px 34px -28px rgba(20,19,15,.45)}
.services-v16-group-icon svg{width:34px;height:34px}
.services-v16-group-head .eyebrow{display:block;margin-bottom:5px;color:var(--pine-600);font-weight:800;letter-spacing:.11em;text-transform:uppercase;font-size:.72rem}
.services-v16-group-head h3{margin:0 0 7px;font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.08;color:var(--ink)}
.services-v16-group-head p{margin:0;max-width:760px;color:var(--warm-600)}
.services-v16-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.services-v16-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px}
.service-pro-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:26px;border-radius:26px;border:1px solid rgba(20,19,15,.10);background:#fff;box-shadow:0 20px 54px -43px rgba(20,19,15,.52)}
.service-pro-card--featured{border-color:rgba(31,97,87,.30);background:linear-gradient(145deg,#fff,rgba(31,97,87,.055))}
.service-pro-card--warm{background:linear-gradient(145deg,#fff,rgba(247,206,90,.10))}
.service-pro-card--dark{background:linear-gradient(145deg,#173f39,#1f6157);border-color:rgba(255,255,255,.10);color:#fff}
.service-pro-card--dark h4,.service-pro-card--dark p,.service-pro-card--dark li,.service-pro-card--dark .service-pro-ideal,.service-pro-card--dark .service-pro-ideal strong{color:#fff!important}
.service-pro-card--dark .service-pro-tag{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.18);color:#fff}
.service-pro-card--dark .service-pro-icon{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14)}
.service-pro-card--dark .service-pro-icon .lam-trazo{stroke:#fff}.service-pro-card--dark .service-pro-icon .lam-papel{fill:rgba(255,255,255,.12)}
.service-pro-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}
.service-pro-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--warm-50);border:1px solid rgba(20,19,15,.08)}
.service-pro-icon svg{width:31px;height:31px}
.service-pro-tag{display:inline-flex;align-items:center;border:1px solid rgba(31,97,87,.18);background:rgba(31,97,87,.06);color:var(--pine-600);border-radius:999px;padding:7px 10px;font-size:.70rem;line-height:1;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.service-pro-card h4{margin:0 0 10px;color:var(--ink);font-size:1.28rem;line-height:1.14}
.service-pro-card>p:not(.service-pro-ideal){margin:0 0 17px;color:var(--warm-600);font-size:.93rem;line-height:1.6}
.service-pro-card ul{display:grid;gap:9px;margin:0 0 20px;padding:0;list-style:none}
.service-pro-card li{position:relative;padding-left:19px;color:var(--ink);font-size:.88rem;line-height:1.42}
.service-pro-card li:before{content:'✓';position:absolute;left:0;top:0;color:var(--pine-600);font-weight:900}
.service-pro-card--dark li:before{color:var(--gold-400)}
.service-pro-ideal{margin:auto 0 19px!important;padding-top:16px;border-top:1px solid rgba(20,19,15,.08);color:var(--warm-600)!important;font-size:.81rem!important;line-height:1.45!important}
.service-pro-card--dark .service-pro-ideal{border-top-color:rgba(255,255,255,.16)}
.service-pro-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:auto}
.service-pro-link{font-size:.84rem;font-weight:800;color:var(--pine-600);text-decoration:none}
.service-pro-link:hover{text-decoration:underline}
.service-pro-card--dark .service-pro-link{color:#fff}
.services-v16-choice{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) auto;gap:28px;align-items:center;margin-top:76px;padding:30px;border-radius:28px;background:#fff;border:1px solid rgba(20,19,15,.10);box-shadow:0 28px 70px -52px rgba(20,19,15,.50)}
.services-v16-choice .eyebrow{display:block;color:var(--pine-600);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.70rem;margin-bottom:6px}
.services-v16-choice h3{margin:0;font-size:1.25rem;line-height:1.28;color:var(--ink)}
.services-v16-choice ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.services-v16-choice li{display:grid;grid-template-columns:27px 1fr;column-gap:8px;align-items:start;min-width:0}
.services-v16-choice li>span{grid-row:1/3;display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(31,97,87,.08);color:var(--pine-600);font-weight:900;font-size:.75rem}
.services-v16-choice strong{font-size:.83rem;color:var(--ink)}
.services-v16-choice small{font-size:.74rem;line-height:1.4;color:var(--warm-600)}

/* --- Páginas de servicio: valor, entregables y proceso --- */
.serv-hero-lamina .calc-tool-hero-icon{right:5%;top:5%}
.serv-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.serv-value-card{padding:28px;border-radius:24px;border:1px solid rgba(20,19,15,.10);background:#fff}
.serv-value-card--accent{background:linear-gradient(145deg,rgba(31,97,87,.07),rgba(247,206,90,.06));border-color:rgba(31,97,87,.22)}
.serv-value-card .eyebrow,.serv-process .eyebrow{display:block;margin-bottom:8px;color:var(--pine-600);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.70rem}
.serv-value-card h3{margin:0 0 18px;font-size:1.24rem;color:var(--ink)}
.serv-check-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.serv-check-list li{display:flex;gap:9px;align-items:flex-start;color:var(--ink);line-height:1.45}
.serv-check-list li span{color:var(--pine-600);font-weight:900}
.serv-process{margin-top:20px;padding:30px;border-radius:26px;background:#fff;border:1px solid rgba(20,19,15,.10)}
.serv-process-head{max-width:720px;margin-bottom:24px}.serv-process-head h3{margin:0 0 8px;color:var(--ink);font-size:1.35rem}.serv-process-head p{margin:0;color:var(--warm-600)}
.serv-process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.serv-process-steps li{display:flex;gap:12px;align-items:flex-start;padding:18px;border-radius:18px;background:var(--warm-50);border:1px solid rgba(20,19,15,.07)}
.serv-process-num{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:10px;background:var(--pine-600);color:#fff;font-size:.78rem;font-weight:900}
.serv-process-steps strong{display:block;margin-bottom:5px;color:var(--ink);font-size:.92rem}.serv-process-steps p{margin:0;color:var(--warm-600);font-size:.82rem;line-height:1.5}

/* --- Centro de herramientas: accesos prioritarios + biblioteca --- */
.ksuite-prioridad{margin:42px 0 46px;padding:28px;border:1px solid rgba(20,19,15,.10);border-radius:28px;background:#fff;box-shadow:0 24px 58px -48px rgba(20,19,15,.5)}
.ksuite-prioridad-head,.ksuite-browse-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:28px;align-items:end;margin-bottom:20px}
.ksuite-prioridad-head .eyebrow,.ksuite-browse-head .eyebrow{display:block;margin-bottom:6px;color:var(--pine-600);font-size:.70rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.ksuite-prioridad-head h2,.ksuite-browse-head h2{margin:0;color:var(--ink);font-size:clamp(1.35rem,2vw,1.8rem)}
.ksuite-prioridad-head p,.ksuite-browse-head p{margin:0;color:var(--warm-600);font-size:.88rem;line-height:1.55}
.ksuite-prioridad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ksuite-priority-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:15px;border:1px solid rgba(20,19,15,.09);border-radius:18px;background:var(--warm-50);color:var(--ink);text-decoration:none;transition:background .18s ease,transform .18s ease,border-color .18s ease}
.ksuite-priority-card:hover{background:#fff;transform:translateY(-2px);border-color:rgba(31,97,87,.25)}
.ksuite-priority-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#fff;border:1px solid rgba(20,19,15,.07)}
.ksuite-priority-icon svg{width:27px;height:27px}.ksuite-priority-copy{display:grid;gap:2px;min-width:0}.ksuite-priority-copy small{color:var(--warm-600);font-size:.70rem}.ksuite-priority-copy strong{font-size:.89rem;line-height:1.25}.ksuite-priority-arrow{color:var(--pine-600);font-weight:900}
.ksuite-browse-head{margin:52px 0 18px}

/* --- Transparencia de cada calculadora --- */
.calc-transparencia{padding-top:28px!important;padding-bottom:28px!important;background:transparent}
.calc-trustbar{border:1px solid rgba(20,19,15,.10);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 22px 50px -46px rgba(20,19,15,.52)}
.calc-trustbar-main{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:20px 22px}
.calc-trust-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(31,97,87,.07);border:1px solid rgba(31,97,87,.12)}
.calc-trust-icon svg{width:30px;height:30px}
.calc-trustbar-main>div{display:grid;gap:3px}.calc-trust-kicker{color:var(--pine-600);font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.calc-trustbar-main strong{color:var(--ink);font-size:.96rem}.calc-trustbar-main small{color:var(--warm-600);font-size:.78rem;line-height:1.45}
.calc-method-details{border-top:1px solid rgba(20,19,15,.08)}
.calc-method-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;cursor:pointer;color:var(--ink);font-size:.85rem;font-weight:800;list-style:none;background:rgba(250,248,243,.75)}
.calc-method-details>summary::-webkit-details-marker{display:none}.calc-method-details>summary span{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:#fff;border:1px solid rgba(20,19,15,.09);transition:transform .18s ease}.calc-method-details[open]>summary span{transform:rotate(45deg)}
.calc-method-body{padding:22px;background:#fff}
.calc-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calc-method-card{padding:19px;border-radius:18px;border:1px solid rgba(20,19,15,.08);background:var(--warm-50)}.calc-method-card--wide{grid-column:1/-1;background:linear-gradient(145deg,rgba(31,97,87,.06),rgba(247,206,90,.06));border-color:rgba(31,97,87,.14)}
.calc-method-card .eyebrow{display:block;margin-bottom:6px;color:var(--pine-600);font-weight:900;letter-spacing:.10em;text-transform:uppercase;font-size:.67rem}.calc-method-card h3{margin:0 0 7px;color:var(--ink);font-size:1.05rem}.calc-method-card p{margin:0;color:var(--warm-600);font-size:.84rem;line-height:1.55}.calc-method-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.calc-method-card li{display:flex;gap:8px;color:var(--ink);font-size:.80rem;line-height:1.45}.calc-method-card li span{color:var(--pine-600);font-weight:900}
.calc-source-list{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:start;margin-top:16px;padding:18px 19px;border-radius:18px;border:1px solid rgba(20,19,15,.08);background:#fff}.calc-source-title{color:var(--ink);font-size:.82rem;font-weight:900}.calc-source-list>div{display:flex;gap:8px;flex-wrap:wrap}.calc-source-list a{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:11px;background:var(--warm-50);border:1px solid rgba(20,19,15,.07);color:var(--pine-600);font-size:.75rem;font-weight:800;text-decoration:none}.calc-source-list a:hover{text-decoration:underline}.calc-method-note,.calc-method-foot{margin:14px 0 0;color:var(--warm-600);font-size:.75rem;line-height:1.5}.calc-method-foot{padding-top:13px;border-top:1px solid rgba(20,19,15,.07)}

/* Contraste explícito en las nuevas zonas claras. */
.services-v16,.services-v16 .service-pro-card:not(.service-pro-card--dark),.serv-value-card,.serv-process,.ksuite-prioridad,.calc-trustbar,.calc-method-body{color:var(--ink)}
.services-v16 .service-pro-card:not(.service-pro-card--dark) h3,.services-v16 .service-pro-card:not(.service-pro-card--dark) h4,.services-v16 .service-pro-card:not(.service-pro-card--dark) strong,.serv-value-card h3,.serv-value-card li,.serv-process strong,.ksuite-prioridad h2,.ksuite-priority-card strong,.calc-trustbar strong,.calc-method-card h3,.calc-method-card li{color:var(--ink)!important}

@media(max-width:1000px){
  .services-v16-map{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-v16-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-v16-choice{grid-template-columns:1fr}.services-v16-choice ol{max-width:680px}
  .ksuite-prioridad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .services-v16-map{grid-template-columns:1fr;margin-bottom:48px}.services-v16-map>a{padding:15px}
  .services-v16-groups{gap:56px}.services-v16-group-head{grid-template-columns:1fr}.services-v16-group-icon{width:52px;height:52px}
  .services-v16-grid,.services-v16-grid--2{grid-template-columns:1fr}.service-pro-card{padding:22px;border-radius:22px}.service-pro-actions{align-items:stretch}.service-pro-actions .btn,.service-pro-actions .add-service{width:100%;justify-content:center;text-align:center}.service-pro-link{text-align:center;width:100%}
  .services-v16-choice{margin-top:56px;padding:23px}.services-v16-choice ol{grid-template-columns:1fr}.services-v16-choice .btn{width:100%;justify-content:center}
  .serv-value-grid{grid-template-columns:1fr}.serv-process{padding:22px}.serv-process-steps{grid-template-columns:1fr}
  .ksuite-prioridad{padding:20px;border-radius:22px}.ksuite-prioridad-head,.ksuite-browse-head{grid-template-columns:1fr;gap:8px}.ksuite-prioridad-grid{grid-template-columns:1fr}
  .calc-transparencia{padding-top:18px!important;padding-bottom:18px!important}.calc-trustbar-main{padding:17px}.calc-trust-icon{width:42px;height:42px}.calc-method-details>summary{padding:15px 17px}.calc-method-body{padding:17px}.calc-method-grid{grid-template-columns:1fr}.calc-method-card--wide{grid-column:auto}.calc-source-list{grid-template-columns:1fr;gap:8px}
}
.kcal-front-trust{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:24px 0;padding:17px 19px;border-radius:18px;border:1px solid rgba(31,97,87,.16);background:rgba(31,97,87,.045)}
.kcal-front-trust-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;border:1px solid rgba(20,19,15,.08)}.kcal-front-trust-icon svg{width:26px;height:26px}.kcal-front-trust>div{display:grid;gap:2px}.kcal-front-trust strong{color:var(--ink);font-size:.86rem}.kcal-front-trust small{color:var(--warm-600);font-size:.74rem;line-height:1.4}.kcal-front-trust>a{color:var(--pine-600);font-size:.78rem;font-weight:800;text-decoration:none}.kcal-front-trust>a:hover{text-decoration:underline}
@media(max-width:760px){.kcal-front-trust{grid-template-columns:auto 1fr}.kcal-front-trust>a{grid-column:1/-1;padding-top:4px}}

/* ==============================================================
   KUNKA V17.0 — servicios ↔ herramientas, recursos y embudo
   ============================================================== */
@media(min-width:1120px){.nav-links{gap:18px}.nav-links a:not(.btn){font-size:.90rem}}

/* CTAs desde servicio hacia varias herramientas relacionadas */
.serv-tools-v17{margin-top:28px;padding:28px;border:1px solid rgba(20,19,15,.10);border-radius:26px;background:linear-gradient(145deg,#fff,var(--warm-50));box-shadow:0 22px 52px -46px rgba(20,19,15,.5)}
.serv-tools-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:start;margin-bottom:18px}.serv-tools-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#fff;border:1px solid rgba(20,19,15,.08)}.serv-tools-icon svg{width:30px;height:30px}.serv-tools-head .eyebrow{display:block;color:var(--pine-600);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.serv-tools-head h3{margin:0 0 6px;color:var(--ink);font-size:1.28rem}.serv-tools-head p{margin:0;color:var(--warm-600);font-size:.86rem;line-height:1.55;max-width:760px}
.serv-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.serv-tool-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border-radius:17px;border:1px solid rgba(20,19,15,.08);background:#fff;color:var(--ink);text-decoration:none;transition:.18s transform,.18s border-color,.18s box-shadow}.serv-tool-card:hover{transform:translateY(-2px);border-color:rgba(31,97,87,.24);box-shadow:0 14px 30px -26px rgba(20,19,15,.55)}.serv-tool-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--warm-50);border:1px solid rgba(20,19,15,.07)}.serv-tool-card-icon svg{width:26px;height:26px}.serv-tool-card>span:nth-child(2){display:grid;gap:3px;min-width:0}.serv-tool-card strong{color:var(--ink);font-size:.86rem}.serv-tool-card small{color:var(--warm-600);font-size:.72rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.serv-tool-card b{color:var(--pine-600);font-size:1rem}

/* CTA contextual desde calculadora hacia servicio */
.calc-next-step-v17{padding-top:24px!important;padding-bottom:36px!important;background:transparent}.calc-next-step-box{display:grid;grid-template-columns:minmax(0,.86fr) minmax(360px,1.14fr);gap:26px;padding:28px;border-radius:26px;background:linear-gradient(135deg,rgba(31,97,87,.075),rgba(247,206,90,.07));border:1px solid rgba(31,97,87,.14)}.calc-next-step-copy .eyebrow{display:block;color:var(--pine-600);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}.calc-next-step-copy h2{margin:0 0 10px;color:var(--ink);font-size:clamp(1.35rem,2.4vw,1.9rem);letter-spacing:-.025em}.calc-next-step-copy p{margin:0;color:var(--warm-600);font-size:.86rem;line-height:1.6;max-width:640px}.calc-next-step-services{display:grid;gap:10px}.calc-service-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 16px;border-radius:17px;background:#fff;border:1px solid rgba(20,19,15,.09);color:var(--ink);text-decoration:none}.calc-service-card:hover{border-color:rgba(31,97,87,.25);box-shadow:0 14px 28px -26px rgba(20,19,15,.6)}.calc-service-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:var(--warm-50);border:1px solid rgba(20,19,15,.07)}.calc-service-icon svg{width:27px;height:27px}.calc-service-card>span:nth-child(2){display:grid;gap:3px}.calc-service-card strong{font-size:.86rem;color:var(--ink)}.calc-service-card small{font-size:.73rem;line-height:1.4;color:var(--warm-600)}.calc-service-card b{color:var(--pine-600)}

/* Recursos para empresas */
.resources-v17-hero{padding-top:72px!important;padding-bottom:54px!important;background:linear-gradient(180deg,var(--warm-50),#fff)}.resources-v17-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:44px;align-items:center;margin-top:30px}.resources-v17-hero h1{font-size:clamp(2.55rem,5vw,4.8rem);line-height:.96;letter-spacing:-.055em;margin:10px 0 18px;color:var(--ink);max-width:920px}.resources-v17-hero .lead{max-width:760px;color:var(--warm-600);font-size:1.03rem;line-height:1.65}.resources-v17-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.resources-v17-hero-art{min-height:300px;display:grid;place-items:center;padding:22px;border-radius:30px;background:linear-gradient(145deg,var(--pine-600),#163f39);overflow:hidden}.resources-v17-hero-art svg{width:min(100%,420px);height:auto}
.resources-v17-index{padding-top:0!important;padding-bottom:54px!important;background:#fff}.resources-v17-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.resources-v17-index-grid>a{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;padding:17px;border-radius:18px;border:1px solid rgba(20,19,15,.09);background:var(--warm-50);color:var(--ink);text-decoration:none}.resources-v17-index-grid>a:hover{background:#fff;border-color:rgba(31,97,87,.24)}.resources-v17-index-grid>a>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid rgba(20,19,15,.07)}.resources-v17-index-grid svg{width:25px;height:25px}.resources-v17-index-grid strong{font-size:.88rem}.resources-v17-index-grid small{font-size:.72rem;color:var(--warm-600);line-height:1.35}
.resources-v17-section{padding-top:86px!important;padding-bottom:86px!important;background:#fff}.resources-v17-section--soft{background:var(--warm-50)}.resources-v17-section .section-head{max-width:840px}.resources-v17-section .section-head .eyebrow{display:block;color:var(--pine-600);font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px}.resources-v17-section .section-head h2{margin:0 0 10px;color:var(--ink);font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.035em}.resources-v17-section .section-head p{color:var(--warm-600);line-height:1.65}
.resources-v17-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}.resources-v17-tools>a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:17px;border-radius:18px;border:1px solid rgba(20,19,15,.09);background:#fff;color:var(--ink);text-decoration:none;min-height:148px}.resources-v17-tools>a:hover{transform:translateY(-2px);border-color:rgba(31,97,87,.24)}.resources-v17-tools>a>span{display:grid;place-items:center;width:41px;height:41px;border-radius:12px;background:var(--warm-50)}.resources-v17-tools svg{width:25px;height:25px}.resources-v17-tools strong{font-size:.86rem}.resources-v17-tools small{grid-column:2/-1;color:var(--warm-600);font-size:.72rem;line-height:1.45}.resources-v17-tools b{color:var(--pine-600)}.resources-v17-more{margin:20px 0 0}.resources-v17-more a{color:var(--pine-600);font-weight:800;text-decoration:none}.resources-v17-more a:hover{text-decoration:underline}
.resources-v17-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px}.resources-guide{padding:24px;border-radius:22px;background:#fff;border:1px solid rgba(20,19,15,.09)}.resources-guide-top{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}.resources-guide-top>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--warm-50);border:1px solid rgba(20,19,15,.07)}.resources-guide-top svg{width:29px;height:29px}.resources-guide-top small{color:var(--pine-600);font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.resources-guide h3{margin:3px 0 0;color:var(--ink);font-size:1.12rem}.resources-guide>p{color:var(--warm-600);font-size:.83rem;line-height:1.55}.resources-guide ul{display:grid;gap:8px;margin:16px 0;padding:0;list-style:none}.resources-guide li{display:flex;gap:8px;color:var(--ink);font-size:.79rem;line-height:1.45}.resources-guide li span{color:var(--pine-600);font-weight:900}.resources-guide-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid rgba(20,19,15,.07)}.resources-guide-actions a{padding:8px 10px;border-radius:10px;background:var(--warm-50);color:var(--pine-600);font-size:.74rem;font-weight:800;text-decoration:none}.resources-guide-actions a:hover{text-decoration:underline}
.resources-calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}.resources-calendar-card{padding:25px;border-radius:22px;border:1px solid rgba(20,19,15,.09);background:#fff}.resources-calendar-card--accent{background:linear-gradient(145deg,rgba(31,97,87,.08),#fff);border-color:rgba(31,97,87,.18)}.resources-calendar-card--gold{background:linear-gradient(145deg,rgba(247,206,90,.17),#fff);border-color:rgba(189,145,22,.19)}.resources-calendar-card>span{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--warm-50);color:var(--pine-600);font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.resources-calendar-card h3{margin:12px 0 8px;color:var(--ink);font-size:1.18rem}.resources-calendar-card p{margin:0 0 14px;color:var(--warm-600);font-size:.82rem;line-height:1.6}.resources-calendar-card a{color:var(--pine-600);font-size:.77rem;font-weight:800;text-decoration:none}.resources-calendar-card a:hover{text-decoration:underline}.resources-calendar-note{margin:18px 0 0;color:var(--warm-600);font-size:.74rem;line-height:1.5}
.resources-v17-section--dark{background:var(--ink);color:#fff}.resources-v17-section--dark .section-head h2,.resources-v17-section--dark .section-head p{color:#fff}.resources-v17-section--dark .section-head p{opacity:.74}.resources-v17-section--dark .section-head .eyebrow{color:var(--gold-400)}.resources-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}.resources-source-grid a{display:grid;gap:8px;padding:20px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);color:#fff;text-decoration:none}.resources-source-grid a:hover{background:rgba(255,255,255,.085)}.resources-source-grid strong{font-size:.88rem}.resources-source-grid small{color:rgba(255,255,255,.68);font-size:.72rem;line-height:1.45}.resources-source-grid span{color:var(--gold-400);font-size:.74rem;font-weight:800;margin-top:4px}
.resources-v17-cta{padding-top:54px!important;padding-bottom:92px!important;background:#fff}.resources-v17-cta-box{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:30px;border-radius:26px;background:linear-gradient(145deg,rgba(31,97,87,.08),rgba(247,206,90,.08));border:1px solid rgba(31,97,87,.14)}.resources-v17-cta-box .eyebrow{display:block;color:var(--pine-600);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.resources-v17-cta-box h2{margin:0 0 8px;color:var(--ink);font-size:1.55rem;letter-spacing:-.025em}.resources-v17-cta-box p{margin:0;color:var(--warm-600);font-size:.84rem;line-height:1.55}

@media(max-width:980px){.serv-tools-grid{grid-template-columns:1fr}.calc-next-step-box{grid-template-columns:1fr}.resources-v17-hero-grid{grid-template-columns:1fr}.resources-v17-hero-art{min-height:220px}.resources-v17-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resources-v17-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.resources-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.serv-tools-v17{padding:20px;border-radius:21px}.serv-tools-head{grid-template-columns:1fr}.calc-next-step-box{padding:20px;border-radius:21px}.resources-v17-hero{padding-top:48px!important}.resources-v17-hero h1{font-size:2.65rem}.resources-v17-actions .btn{width:100%;justify-content:center}.resources-v17-index-grid,.resources-v17-tools,.resources-v17-guides,.resources-calendar-grid,.resources-source-grid{grid-template-columns:1fr}.resources-v17-section{padding-top:62px!important;padding-bottom:62px!important}.resources-v17-cta-box{grid-template-columns:1fr;padding:22px}.resources-v17-cta-box .btn{width:100%;justify-content:center}}
.service-pro-tools-inline{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:14px;padding-top:13px;border-top:1px solid rgba(20,19,15,.08)}.service-pro-tools-inline>span{font-size:.68rem;font-weight:900;color:var(--warm-600);text-transform:uppercase;letter-spacing:.07em}.service-pro-tools-inline a{display:inline-flex;padding:6px 8px;border-radius:9px;background:var(--warm-50);border:1px solid rgba(20,19,15,.07);color:var(--pine-600);font-size:.69rem;font-weight:800;text-decoration:none}.service-pro-tools-inline a:hover{text-decoration:underline}.service-pro-card--dark .service-pro-tools-inline{border-top-color:rgba(255,255,255,.15)}.service-pro-card--dark .service-pro-tools-inline>span{color:rgba(255,255,255,.7)}.service-pro-card--dark .service-pro-tools-inline a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}


/* ========================================================================
   KUNKA V18.0 — MOBILE UX / ACCESIBILIDAD / NAVEGACIÓN
   Capa final de compatibilidad. No cambia la lógica comercial ni el editor.
   ======================================================================== */

/* Los anclajes no quedan escondidos bajo la navegación sticky. */
html{scroll-padding-top:96px}
main section[id],
.services-v16-group,
.resources-guide[id],
[id^="calc-"]{scroll-margin-top:96px}

/* Evita desbordes horizontales accidentales por contenido editable o cifras. */
body{overflow-x:hidden}
main,.wrap,.hero-copy,.section-head,.card,.plan,.service-pro-card,.kcal-box,.ksuite-tool-card{min-width:0}
p,li,h1,h2,h3,h4,a,button,strong,small{overflow-wrap:break-word}

/* Objetivos táctiles consistentes. */
.nav-toggle,
.nav-links a,
.footer-tool-summary,
.faq-q,
.calc-faq-item summary,
.resources-guide-actions a,
.service-pro-actions a,
.kcal-tab,
.kcal-mini,
.kcal-abrir{touch-action:manipulation}

@media(max-width:980px){
  .nav{position:sticky;top:0;z-index:100}
  .nav-inner{height:72px;min-height:72px;gap:12px}
  .logo-rotator{width:164px;height:52px}
  .nav-toggle{
    display:inline-flex!important;flex:0 0 50px;width:50px;height:50px;
    align-items:center;justify-content:center;border-radius:15px!important;
    font-size:1.35rem;line-height:1;background:#fff;box-shadow:0 8px 24px -18px rgba(20,19,15,.5)
  }
  body.menu-open::before{inset:72px 0 0;background:rgba(20,19,15,.42);backdrop-filter:blur(2px)}
  .nav-links{
    position:fixed!important;left:12px!important;right:12px!important;top:84px!important;bottom:12px!important;
    max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;
    padding:10px!important;gap:4px!important;border:1px solid var(--warm-200);border-radius:22px;
    background:rgba(250,248,243,.985)!important;box-shadow:0 28px 80px -30px rgba(20,19,15,.55)!important;
    -webkit-overflow-scrolling:touch
  }
  .nav-links a:not(.btn){
    min-height:52px;display:flex;align-items:center;padding:0 14px!important;
    border-radius:13px!important;font-size:1rem!important;color:var(--warm-700)!important
  }
  .nav-links a:not(.btn)::after{display:none!important}
  .nav-links a:not(.btn):hover,.nav-links a:not(.btn):focus-visible,.nav-links a:not(.btn).active{
    background:var(--pine-50)!important;color:var(--ink)!important
  }
  .nav-links .btn{
    position:sticky;bottom:0;z-index:2;width:100%;min-height:54px;margin-top:6px;padding:14px 18px!important;
    border-radius:14px!important;font-size:1rem;box-shadow:0 10px 24px -16px rgba(20,19,15,.6)
  }
  body.admin-bar .nav-links{top:130px!important;max-height:calc(100dvh - 142px)}
}

@media(max-width:760px){
  /* Aire lateral suficiente sin estrechar demasiado el contenido. */
  .wrap{padding-left:20px;padding-right:20px}
  main>section{
    padding-top:max(var(--kunka-section-space,88px),76px);
    padding-bottom:max(var(--kunka-section-space,88px),76px)
  }
  #inicio{padding-top:54px!important;padding-bottom:82px!important}
  .hero-copy{gap:26px!important}
  .hero h1{font-size:clamp(2.35rem,11vw,3.05rem)!important;line-height:1.02!important;letter-spacing:-.035em}
  .hero h1 em{white-space:normal!important}
  .lead{font-size:1.08rem;line-height:1.7}
  .hero-actions{display:grid!important;grid-template-columns:1fr;gap:11px!important;width:100%;margin-top:3px}
  .hero-actions .btn{width:100%;min-height:54px;white-space:normal;text-align:center;padding:14px 18px}
  .hero-note{gap:9px}
  .mini-badge{font-size:.88rem;line-height:1.35;padding:8px 12px}

  .section-head{margin-bottom:38px!important;gap:14px!important}
  .section-head h2{font-size:clamp(2rem,9vw,2.6rem)!important;line-height:1.06!important}
  .section-head p{font-size:1rem;line-height:1.72;max-width:62ch}

  .cards,.plans,.pain-list,.solution-grid,.compare,.q-controls,.deliverables-list,.rgrid,.commit,.kcal-grid,
  .services-v16-grid,.resources-v17-tools,.resources-v17-guides,.resources-calendar-grid,.resources-source-grid{
    gap:max(var(--kunka-gap-grid,22px),20px)!important
  }
  .card,.plan,.solution,.timeline-card,.ritem,.q-card,.kcal-box,.compare-col,.proposal-card,.contact-card,
  .q-result,.pain-item,.kunka-custom-box,.service-pro-card,.serv-value-card,.resources-guide,.resources-calendar-card{
    padding:24px!important
  }

  /* El contenido pequeño de V16/V17 se sube un nivel en teléfono. */
  .service-pro-card>p:not(.service-pro-ideal),.service-pro-card li,.service-pro-ideal,
  .serv-process-steps p,.serv-tools-head p,.serv-tool-card strong,.serv-tool-card small,
  .resources-v17-index-grid strong,.resources-v17-index-grid small,.resources-v17-tools strong,.resources-v17-tools small,
  .resources-guide>p,.resources-guide li,.resources-guide-actions a,.resources-calendar-card p,.resources-calendar-card a,
  .resources-calendar-note,.resources-source-grid strong,.resources-source-grid small,.resources-source-grid span{
    font-size:.92rem!important;line-height:1.58!important
  }
  .service-pro-card h4,.serv-value-card h3,.serv-process-head h3,.resources-guide h3,.resources-calendar-card h3{
    font-size:1.24rem!important;line-height:1.18
  }
  .services-v16-groups{gap:62px!important}
  .services-v16-group-head{gap:14px;margin-bottom:24px}
  .services-v16-group-icon{width:52px;height:52px;border-radius:16px}
  .services-v16-map{grid-template-columns:1fr!important;gap:10px!important;margin-bottom:54px!important}
  .services-v16-map>a{min-height:72px;padding:16px!important}
  .services-v16-choice{grid-template-columns:1fr!important;gap:18px!important;margin-top:58px!important;padding:24px!important}

  /* Páginas de servicio/calculadora: lectura más vertical y sin saltos estrechos. */
  .calc-cabecera{padding:42px 0 18px!important}
  .calc-cabecera-grid{grid-template-columns:1fr!important;gap:32px!important}
  .calc-cabecera-copy{gap:19px!important}
  .calc-cabecera h1{font-size:clamp(2.15rem,10vw,2.85rem)!important;line-height:1.04!important}
  .calc-cabecera-lamina{width:min(230px,68vw)!important;margin:6px auto 0!important}
  .calc-miga{margin-bottom:26px!important;gap:7px 9px;font-size:.9rem!important;line-height:1.45}
  .calc-cabecera + section{padding-top:58px!important}
  .serv-puntos{grid-template-columns:1fr!important;gap:18px!important}
  .serv-punto{padding:22px!important;gap:15px!important}
  .serv-punto h3{font-size:1.16rem!important}.serv-punto p{font-size:1rem!important;line-height:1.66}
  .serv-value-grid{gap:18px!important;margin-top:34px!important}
  .serv-process{padding:24px!important;margin-top:24px!important}
  .serv-process-head{margin-bottom:25px!important}.serv-process-steps{gap:14px!important}
  .serv-process-steps li{padding:18px!important}
  .serv-tools-v17{margin-top:34px!important;padding:24px!important}
  .serv-tool-card{min-height:76px;padding:16px!important}
  .calc-faq{padding-top:58px!important}
  .calc-faq-lista{gap:15px!important}
  .calc-faq-item{padding:20px!important;border-radius:18px!important}
  .calc-faq-item summary{min-height:30px;font-size:1rem;line-height:1.45}
  .calc-faq-item p{font-size:.98rem;line-height:1.7;margin-top:15px!important}
  .calc-cierre{margin-top:34px!important;padding:22px!important;gap:16px!important}
  .calc-cierre .btn{width:100%;white-space:normal;text-align:center}

  /* Centro de herramientas y recursos: tarjetas más cómodas para tocar/leer. */
  .ksuite-centro{padding-top:46px!important}
  .ksuite-hero{padding:28px 22px!important;border-radius:24px!important}
  .ksuite-hero h1{font-size:clamp(2.35rem,10.5vw,3rem)!important;line-height:1.02!important}
  .ksuite-hero-actions{display:grid!important;grid-template-columns:1fr;width:100%;gap:10px!important}
  .ksuite-hero-actions .btn{width:100%;white-space:normal;text-align:center;min-height:52px}
  .ksuite-tool-card{min-height:0!important;padding:24px!important}
  .ksuite-tool-card strong{font-size:1.22rem!important}.ksuite-tool-card p{font-size:.97rem!important;line-height:1.66!important}
  .ksuite-filtros{scrollbar-width:none;overscroll-behavior-x:contain}
  .ksuite-filtros::-webkit-scrollbar{display:none}
  .ksuite-filtros a{min-height:44px;display:inline-flex;align-items:center}

  .resources-v17-hero{padding-top:42px!important;padding-bottom:68px!important}
  .resources-v17-hero-grid{gap:32px!important;margin-top:24px!important}
  .resources-v17-hero h1{font-size:clamp(2.3rem,10.8vw,3rem)!important;line-height:1.02!important}
  .resources-v17-hero .lead{font-size:1.05rem!important;line-height:1.72!important}
  .resources-v17-index{padding-bottom:68px!important}
  .resources-v17-index-grid{gap:11px!important}
  .resources-v17-index-grid>a{min-height:82px;padding:17px!important}
  .resources-v17-section{padding-top:76px!important;padding-bottom:76px!important}
  .resources-v17-tools>a{min-height:0!important;padding:20px!important}
  .resources-guide{padding:24px!important}.resources-guide ul{gap:10px!important;margin:19px 0!important}
  .resources-guide-actions{display:grid!important;grid-template-columns:1fr;gap:9px!important}
  .resources-guide-actions a{min-height:46px;display:flex;align-items:center;padding:10px 12px!important}
  .resources-calendar-card{padding:24px!important}
  .resources-source-grid a{min-height:132px;padding:22px!important}
  .resources-v17-cta{padding-top:62px!important;padding-bottom:88px!important}
  .resources-v17-cta-box{gap:22px!important;padding:24px!important}

  /* Formularios y calculadoras: controles cómodos para dedo y teclado. */
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:50px}
  textarea{min-height:118px}
  .kcal-input{min-height:58px;font-size:1.28rem!important}
  .kcal-seg{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;border:0!important;gap:8px;background:transparent!important}
  .kcal-seg button{min-height:48px;border:1.5px solid var(--warm-200)!important;border-radius:12px!important;background:var(--warm-50)}
  .kcal-seg button[aria-pressed="true"]{background:var(--pine-600)!important;border-color:var(--pine-600)!important}
  .kcal-row,.kcal-total,.ksuite-result-row{gap:12px!important}
  .kcal-row .kcal-v,.kcal-total .kcal-v{white-space:normal!important;text-align:right;overflow-wrap:anywhere}

  /* Pie menos denso: cada grupo es una fila táctil clara. */
  footer{padding-bottom:92px}
  .footer-grid{gap:22px!important}
  .footer-mapa{gap:26px!important;margin-top:36px!important;padding-top:30px!important}
  .footer-tool-summary{min-height:54px;padding:12px 13px!important}
  .footer-tool-group ul{gap:9px!important;padding:12px 14px 16px 24px!important}
  .footer-tool-group li a{display:flex!important;min-height:38px;align-items:center;padding:4px 0;font-size:.9rem!important}
  .footer-mapa-col>ul{gap:10px!important}.footer-mapa-col>ul a{display:flex;min-height:40px;align-items:center}
  .float-wa{right:16px!important;bottom:18px!important;min-height:50px;padding:13px 16px!important;box-shadow:0 16px 36px -18px rgba(20,19,15,.55)}
}

@media(max-width:420px){
  .wrap{padding-left:17px;padding-right:17px}
  .logo-rotator{width:148px;height:48px}
  .nav-toggle{flex-basis:48px;width:48px;height:48px}
  .nav-links{left:8px!important;right:8px!important;bottom:8px!important}
  .card,.plan,.solution,.timeline-card,.ritem,.q-card,.kcal-box,.compare-col,.proposal-card,.contact-card,.q-result,
  .service-pro-card,.serv-value-card,.resources-guide,.resources-calendar-card{padding:21px!important}
}

/* ================================================================
   KUNKA V19 — navegación móvil, guías, confianza y divulgación
   ================================================================ */

/* La barra inferior sólo existe visualmente en teléfono. */
.kunka-mobile-dock{display:none}

/* Puntos de servicio: abiertos en escritorio, plegables en móvil. */
.serv-punto--disclosure{display:block}
.serv-punto--disclosure>summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;cursor:default}
.serv-punto--disclosure>summary::-webkit-details-marker{display:none}
.serv-punto--disclosure .serv-punto-summary-icon>svg{width:28px;height:28px}
.serv-punto--disclosure .serv-punto-chevron{display:none;font-size:1.35rem;font-weight:800;color:var(--pine-600);transition:transform .18s ease}
.serv-punto--disclosure>p{margin:12px 0 0 43px}

/* Confianza: muestra cómo se trabaja, no sólo promesas aisladas. */
.trust-v19-flow{margin-top:30px;padding:26px;border:1px solid var(--warm-200);border-radius:22px;background:rgba(255,255,255,.72);display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.trust-v19-flow>div{display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:start}
.trust-v19-flow>div>span{grid-row:1/3;width:42px;height:42px;border-radius:13px;background:var(--pine-50);display:grid;place-items:center;color:var(--pine-600)}
.trust-v19-flow svg{width:22px;height:22px}
.trust-v19-flow strong{font-size:1rem;line-height:1.25}
.trust-v19-flow p{grid-column:2;font-size:.9rem;line-height:1.55;margin-top:6px}

/* Recursos: la guía completa es la acción editorial principal. */
.resources-guide-actions .resources-guide-primary{background:var(--pine-600);color:#fff;border-color:var(--pine-600)}
.resources-guide-actions .resources-guide-primary:hover{background:var(--pine-700);color:#fff}

/* Guías SEO V19 */
.guide-v19-hero{padding:58px 0 70px;background:linear-gradient(180deg,var(--gold-50),var(--warm-50))}
.guide-v19-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:58px;align-items:center;margin-top:32px}
.guide-v19-kicker{display:inline-flex;margin-bottom:14px;font-family:var(--font-mono,'IBM Plex Mono',monospace);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pine-600)}
.guide-v19-hero h1{font-size:clamp(2.7rem,5.5vw,4.6rem);max-width:13ch}
.guide-v19-hero .lead{margin-top:22px;max-width:64ch}
.guide-v19-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.guide-v19-art{max-width:360px;justify-self:end}
.guide-v19-body{padding:88px 0}
.guide-v19-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:56px;align-items:start}
.guide-v19-article{display:grid;gap:46px;min-width:0}
.guide-v19-section{position:relative;padding-left:58px}
.guide-v19-step{position:absolute;left:0;top:0;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--gold-400);font-family:var(--font-mono,'IBM Plex Mono',monospace);font-size:.8rem;font-weight:800;color:var(--ink)}
.guide-v19-section h2{font-size:clamp(1.75rem,3vw,2.35rem)}
.guide-v19-section>p{margin-top:12px;font-size:1.02rem;line-height:1.72}
.guide-v19-section ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:11px}
.guide-v19-section li{display:grid;grid-template-columns:24px 1fr;gap:10px;line-height:1.6;color:var(--warm-700)}
.guide-v19-section li>span{color:var(--pine-600);font-weight:900}
.guide-v19-aside{position:sticky;top:108px;display:grid;gap:16px}
.guide-v19-aside-card{padding:22px;border:1px solid var(--warm-200);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}
.guide-v19-aside-card strong{font-size:1.05rem}
.guide-v19-aside-card p{font-size:.91rem;line-height:1.6;margin:8px 0 15px}
.guide-v19-aside-card a{font-weight:800;color:var(--pine-600)}
.guide-v19-aside-card--accent{background:var(--pine-600);border-color:var(--pine-600)}
.guide-v19-aside-card--accent strong,.guide-v19-aside-card--accent p,.guide-v19-aside-card--accent a{color:#fff}
.guide-v19-faq{padding-top:10px;border-top:1px solid var(--warm-200)}
.guide-v19-faq h2{margin-bottom:20px}
.guide-v19-faq details{border:1px solid var(--warm-200);border-radius:16px;background:#fff;padding:17px 19px;margin-top:11px}
.guide-v19-faq summary{font-weight:800;cursor:pointer;color:var(--ink)}
.guide-v19-faq p{margin-top:11px;line-height:1.65}
.guide-v19-more{padding:78px 0 96px;background:var(--warm-100)}
.guide-v19-more h2{margin-bottom:30px}
.guide-v19-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.guide-v19-more-grid>a{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:start;padding:20px;border:1px solid var(--warm-200);border-radius:18px;background:#fff;transition:transform .16s ease,border-color .16s ease}
.guide-v19-more-grid>a:hover{transform:translateY(-2px);border-color:var(--pine-600)}
.guide-v19-more-grid>a>span{grid-row:1/3;width:44px;height:44px;border-radius:13px;background:var(--pine-50);display:grid;place-items:center;color:var(--pine-600)}
.guide-v19-more-grid svg{width:22px;height:22px}
.guide-v19-more-grid strong{line-height:1.3}
.guide-v19-more-grid small{grid-column:2;margin-top:6px;color:var(--warm-500);line-height:1.5}

/* Páginas legales simples y legibles. */
.legal-v19{padding:58px 0 100px}
.legal-v19-card{max-width:860px;margin:28px auto 0;padding:46px;border:1px solid var(--warm-200);border-radius:26px;background:#fff;box-shadow:var(--shadow-sm)}
.legal-v19-card h1{font-size:clamp(2.4rem,5vw,3.8rem);margin-bottom:8px}
.legal-v19-updated{font-family:var(--font-mono,'IBM Plex Mono',monospace);font-size:.78rem;color:var(--warm-500);margin-bottom:38px}
.legal-v19-card h2{font-size:1.55rem;margin:34px 0 10px}
.legal-v19-card p{line-height:1.75}
.legal-v19-card a{color:var(--pine-600);font-weight:700;text-decoration:underline;text-underline-offset:3px}

@media(max-width:960px){
  .trust-v19-flow{grid-template-columns:1fr}
  .guide-v19-layout{grid-template-columns:1fr}
  .guide-v19-aside{position:static;grid-template-columns:1fr 1fr}
  .guide-v19-more-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  /* Dock inferior: tres destinos, áreas táctiles grandes y sin superponer WA. */
  body{padding-bottom:78px}
  .kunka-mobile-dock{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:115;padding:7px;border:1px solid rgba(231,225,213,.96);border-radius:20px;background:rgba(250,248,243,.96);box-shadow:0 18px 48px -20px rgba(20,19,15,.52);backdrop-filter:blur(18px)}
  .kunka-mobile-dock a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;color:var(--warm-600);font-weight:800}
  .kunka-mobile-dock a:focus-visible,.kunka-mobile-dock a:hover{background:var(--pine-50);color:var(--pine-700)}
  .kunka-mobile-dock span{height:23px;display:grid;place-items:center}
  .kunka-mobile-dock svg{width:20px;height:20px}
  .kunka-mobile-dock small{font-size:.72rem;line-height:1}
  .float-wa{display:none!important}
  footer{padding-bottom:104px!important}

  .serv-punto--disclosure{padding:0!important;overflow:hidden}
  .serv-punto--disclosure>summary{cursor:pointer;min-height:72px;padding:18px 20px;grid-template-columns:34px 1fr 26px;gap:10px}
  .serv-punto--disclosure .serv-punto-chevron{display:block;text-align:center}
  .serv-punto--disclosure[open] .serv-punto-chevron{transform:rotate(45deg)}
  .serv-punto--disclosure>p{margin:0;padding:0 20px 20px 64px;font-size:.98rem!important;line-height:1.68}
  .serv-punto--disclosure h3{font-size:1.08rem!important;line-height:1.25}
  .serv-punto--disclosure .serv-punto-summary-icon>svg{width:25px;height:25px}

  .trust-v19-flow{margin-top:22px;padding:20px;gap:20px}
  .trust-v19-flow>div{grid-template-columns:38px 1fr}
  .trust-v19-flow>div>span{width:38px;height:38px}

  .guide-v19-hero{padding:42px 0 58px}
  .guide-v19-hero-grid{grid-template-columns:1fr;gap:30px;margin-top:23px}
  .guide-v19-hero h1{font-size:clamp(2.35rem,10.5vw,3.05rem);max-width:none}
  .guide-v19-hero .lead{font-size:1.03rem;line-height:1.7}
  .guide-v19-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .guide-v19-actions .btn{width:100%;min-height:52px;white-space:normal;text-align:center}
  .guide-v19-art{justify-self:center;width:min(230px,68vw)}
  .guide-v19-body{padding:68px 0}
  .guide-v19-layout{gap:44px}
  .guide-v19-article{gap:38px}
  .guide-v19-section{padding-left:0;padding-top:48px}
  .guide-v19-step{top:0;width:34px;height:34px}
  .guide-v19-section h2{font-size:1.75rem}
  .guide-v19-section>p{font-size:1rem}
  .guide-v19-aside{grid-template-columns:1fr}
  .guide-v19-faq details{padding:16px}
  .guide-v19-more{padding:64px 0 92px}
  .guide-v19-more-grid{grid-template-columns:1fr;gap:12px}
  .guide-v19-more-grid>a{padding:18px}

  .legal-v19{padding:42px 0 86px}
  .legal-v19-card{margin-top:22px;padding:24px 20px;border-radius:20px}
  .legal-v19-card h1{font-size:2.35rem}
  .legal-v19-card h2{font-size:1.35rem;margin-top:28px}
}

/* ================================================================
   KUNKA V19.1 — PDF directo + refinamientos de interacción móvil
   ================================================================ */
.kcal-acts [data-kcal-print],.ksuite-result-actions [data-kcal-print]{position:relative}
.kcal-envio button[disabled]{opacity:.68;cursor:wait}
.kcal-envio .kcal-input:focus{box-shadow:0 0 0 3px rgba(31,97,87,.15)}
.kcal-envio-nota{max-width:58ch}

@media(max-width:760px){
  /* El dock se retira mientras el teclado está abierto: deja libres los campos
     y evita tapar el botón Enviar en iOS/Android. */
  body.kunka-keyboard-open{padding-bottom:18px}
  body.kunka-keyboard-open .kunka-mobile-dock{transform:translateY(calc(120% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}
  .kunka-mobile-dock{transition:transform .2s ease,opacity .2s ease}
  .kunka-mobile-dock a[aria-current="page"],.kunka-mobile-dock a.is-current{background:var(--pine-600);color:#fff}
  .kunka-mobile-dock a[aria-current="page"] svg,.kunka-mobile-dock a.is-current svg{color:#fff}
  .kcal-envio-fila{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .kcal-envio-fila .kcal-input{min-width:0!important;width:100%}
  .kcal-envio-fila .btn{width:100%;min-height:50px}
  .kcal-envio{margin-top:22px!important;padding-top:20px!important}
  .kcal-envio-titulo{font-size:1rem!important;line-height:1.35}
  .kcal-envio-nota{font-size:.82rem!important;line-height:1.55!important}
  .kcal-acts,.ksuite-result-actions{display:grid!important;grid-template-columns:1fr;gap:9px!important}
  .kcal-acts .kcal-mini,.ksuite-result-actions .kcal-mini{width:100%;min-height:46px}
}

@media(prefers-reduced-motion:reduce){
  .kunka-mobile-dock{transition:none!important}
}


/* ========================================================================
   KUNKA V19.2 — PULIDO MÓVIL / CORRECCIONES RESPONSIVE
   Esta capa final corrige solapes reales detectados en V19.1 sin alterar
   cálculos, contenido editable ni la lógica de envío/PDF.
   ======================================================================== */

/* El menú modal móvil no permite que el documento se mueva por detrás. */
@media(max-width:980px){
  body.menu-open{overflow:hidden;overscroll-behavior:none}
  body.menu-open .kunka-mobile-dock{
    opacity:0!important;pointer-events:none!important;transition:none!important;
    transform:translateY(calc(125% + env(safe-area-inset-bottom)))!important
  }
  .nav-links{
    padding-bottom:max(10px,env(safe-area-inset-bottom))!important;
    scrollbar-gutter:stable;
  }
  .nav-links a:not(.btn){min-height:54px}
}

@media(max-width:760px){
  /* La página reserva exactamente el espacio del dock, incluida la zona segura
     de iPhone, sin duplicar un gran vacío al final del footer. */
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  footer{padding-bottom:46px!important}

  /* Jerarquía editorial: en teléfono los encabezados largos se leen mejor
     alineados a la izquierda que centrados en columnas estrechas. */
  .section-head{
    text-align:left!important;justify-items:start!important;
    margin-left:0!important;margin-right:0!important;max-width:100%!important
  }
  .section-head h2{max-width:18ch}
  .section-head p{max-width:60ch}

  /* Menú: margen seguro y botón final siempre accesible. */
  .nav-links{
    left:10px!important;right:10px!important;bottom:10px!important;
    border-radius:20px!important
  }
  .nav-links .btn{bottom:max(0px,env(safe-area-inset-bottom))}

  /* El filtro de herramientas V17 estaba a 66px y el header mide 72px:
     al hacer scroll se ocultaban sus primeros píxeles detrás de la cabecera. */
  .ksuite-filtros{
    top:78px!important;margin-top:26px!important;
    scroll-padding-inline:10px;max-width:100%;
    box-shadow:0 10px 30px -26px rgba(20,19,15,.45)
  }
  body.admin-bar .ksuite-filtros{top:124px!important}

  /* Tarjetas: un poco menos de relleno libera ancho útil sin volver a dejar
     elementos apretados. Los espacios entre tarjetas se mantienen amplios. */
  .card,.plan,.solution,.timeline-card,.ritem,.q-card,.kcal-box,.compare-col,
  .proposal-card,.contact-card,.q-result,.pain-item,.kunka-custom-box,
  .service-pro-card,.serv-value-card,.resources-guide,.resources-calendar-card{
    padding:22px!important
  }
  .cards,.plans,.pain-list,.solution-grid,.compare,.q-controls,.deliverables-list,
  .rgrid,.commit,.kcal-grid,.services-v16-grid,.resources-v17-tools,
  .resources-v17-guides,.resources-calendar-grid,.resources-source-grid{
    gap:18px!important
  }

  /* Campos y botones conservan 16px o más, evitando el zoom automático de iOS. */
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,button{font-size:max(16px,1em)}
  .contact-form{gap:14px}
  .contact-row{gap:12px!important}
  .contact-form input,.contact-form select,.contact-form textarea{padding:14px 15px}
  .contact-form .btn,input[type="submit"]{min-height:52px}

  /* Resultados: importes largos ya no fuerzan el ancho de la tarjeta. */
  .kcal-slip,.ksuite-result-card,.q-result{min-width:0;overflow:hidden}
  .kcal-row,.kcal-total,.ksuite-result-row{min-width:0}
  .kcal-row .kcal-k,.kcal-total .kcal-k,.ksuite-result-row span{min-width:0}
  .kcal-row .kcal-v,.kcal-total .kcal-v,.ksuite-result-row strong{
    min-width:0;max-width:58%;overflow-wrap:anywhere;word-break:normal
  }

  /* La única tabla pública de referencia tiene cuatro columnas. En V19.1
     forzaba 420px y obligaba a desplazar lateralmente incluso por unos pocos
     píxeles. En móvil se adapta al ancho y permite envolver encabezados. */
  .kcal-tablewrap{overflow-x:visible!important}
  .kcal-ref table{min-width:0!important;table-layout:fixed;font-size:.78rem!important}
  .kcal-ref th,.kcal-ref td{
    padding:10px 8px!important;vertical-align:top;overflow-wrap:anywhere
  }
  .kcal-ref th{font-size:.62rem!important;letter-spacing:.045em!important}

  /* Footer totalmente vertical desde 760px: antes entre 561 y 760px podían
     quedar dos columnas muy estrechas. */
  .footer-grid{align-items:flex-start!important}
  .footer-mapa{grid-template-columns:1fr!important;gap:22px!important}
  .footer-mapa-col.footer-mapa-herramientas{grid-column:auto!important}
  .footer-tool-group ul{grid-template-columns:1fr!important;padding-left:20px!important}
  .footer-tool-summary{min-height:56px!important}
  .footer-tool-group li a{min-height:42px!important}
  .footer-mapa-col>ul a{min-height:44px!important}
  .footer-redes-lista{flex-wrap:wrap}

  /* El dock se apoya en el safe-area y gana contraste sin ocupar más alto. */
  .kunka-mobile-dock{
    left:9px;right:9px;bottom:max(8px,env(safe-area-inset-bottom));
    padding:6px;border-radius:19px
  }
  .kunka-mobile-dock a{min-height:55px;border-radius:13px}
  .kunka-mobile-dock small{font-size:.74rem}
}

@media(max-width:420px){
  .wrap{padding-left:16px;padding-right:16px}
  .hero h1{font-size:clamp(2.12rem,11.2vw,2.72rem)!important}
  .section-head h2{font-size:clamp(1.86rem,9.2vw,2.28rem)!important}
  .card,.plan,.solution,.timeline-card,.ritem,.q-card,.kcal-box,.compare-col,
  .proposal-card,.contact-card,.q-result,.service-pro-card,.serv-value-card,
  .resources-guide,.resources-calendar-card{padding:19px!important}
  .serv-punto--disclosure>summary{padding:17px 18px}
  .serv-punto--disclosure>p{padding:0 18px 18px 18px}
  .services-v16-group-head{grid-template-columns:44px 1fr;gap:12px}
  .services-v16-group-icon{width:44px;height:44px;border-radius:14px}
  .services-v16-group-icon svg{width:27px;height:27px}
  .kcal-ref-head{padding-left:18px!important;padding-right:18px!important}
}

@media(max-width:360px){
  .wrap{padding-left:14px;padding-right:14px}
  .nav-links{left:6px!important;right:6px!important;bottom:6px!important}
  .kunka-mobile-dock{left:6px;right:6px;padding:5px}
  .kunka-mobile-dock a{min-height:53px}
  .kunka-mobile-dock small{font-size:.69rem}
  .kcal-total{align-items:flex-start!important;flex-direction:column!important;gap:7px!important}
  .kcal-total .kcal-v{max-width:100%!important;text-align:left!important;font-size:1.75rem!important}
  .kcal-row .kcal-v{max-width:54%}
}

@media(prefers-reduced-motion:reduce){
  body.menu-open .kunka-mobile-dock{transition:none!important}
}

/* V19.2 — WordPress admin bar: el header real es .nav, no .site-header. */
body.admin-bar .nav{top:32px}
body.admin-bar .progress{top:32px}
@media(max-width:980px){
  body.admin-bar.menu-open::before{top:104px}
}
@media(max-width:782px){
  body.admin-bar .nav{top:46px}
  body.admin-bar .progress{top:46px}
  body.admin-bar.menu-open::before{top:118px}
}

/* V19.2 — evita que backdrop-filter convierta el menú fixed en un hijo
   contenido por la altura del header en Chromium/WebView. */
@media(max-width:980px){
  body.menu-open .nav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}
@media(max-width:980px){
  .nav-links{bottom:auto!important;height:auto!important;max-height:calc(100dvh - 96px)!important}
  body.admin-bar .nav-links{max-height:calc(100dvh - 142px)!important}
}

/* V19.2 — tabla de retenciones completa en móviles estrechos.
   V19.1 ocultaba la 3ª columna bajo 560px. Ahora cada año se vuelve una
   tarjeta 2x2 y conserva los cuatro datos. */
@media(max-width:560px){
  .kcal-ref .kcal-tablewrap{padding:0 12px 12px}
  .kcal-ref table{display:block!important;width:100%!important;margin-top:12px!important}
  .kcal-ref thead{
    position:absolute!important;width:1px!important;height:1px!important;
    padding:0!important;margin:-1px!important;overflow:hidden!important;
    clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
  }
  .kcal-ref tbody{display:grid!important;gap:10px!important}
  .kcal-ref tbody tr{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;
    border:1px solid var(--warm-200);border-radius:14px;background:#fff;overflow:hidden
  }
  .kcal-ref tbody td,
  .kcal-ref tbody td:nth-child(3){
    display:grid!important;gap:4px!important;min-width:0!important;
    padding:11px 12px!important;border:0!important;background:transparent!important;
    font-size:.86rem!important;text-align:left!important
  }
  .kcal-ref tbody td:nth-child(odd){border-right:1px solid var(--warm-100)!important}
  .kcal-ref tbody td:nth-child(-n+2){border-bottom:1px solid var(--warm-100)!important}
  .kcal-ref tbody td::before{
    display:block;font-family:var(--font-mono);font-size:.58rem;line-height:1.2;
    font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--pine-600)
  }
  .kcal-ref tbody td:nth-child(1)::before{content:'Año'}
  .kcal-ref tbody td:nth-child(2)::before{content:'Tasa'}
  .kcal-ref tbody td:nth-child(3)::before{content:'Retención'}
  .kcal-ref tbody td:nth-child(4)::before{content:'Líquido'}
  .kcal-ref tbody tr.on{border-color:rgba(31,97,87,.38);background:var(--gold-50)}
}


/* KUNKA V19.4 — Quiénes somos */
.nosotros{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--bg) 100%)}
.nosotros::before{content:"";position:absolute;right:-11rem;top:4rem;width:30rem;height:30rem;border-radius:50%;background:radial-gradient(circle,rgba(247,206,90,.2) 0%,rgba(247,206,90,0) 68%);pointer-events:none}
.nosotros-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(42px,6vw,86px);align-items:start}
.nosotros-intro{position:sticky;top:112px;min-width:0}
.nosotros .eyebrow{display:inline-flex;margin-bottom:14px;color:var(--pine-600);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.nosotros-intro h2{margin:0 0 22px;max-width:11ch;font-family:"Zilla Slab",serif;font-size:clamp(2.5rem,5vw,4.6rem);line-height:.98;letter-spacing:-.045em;color:var(--ink)}
.nosotros-lead{margin:0;max-width:56ch;font-size:clamp(1.08rem,1.5vw,1.25rem);line-height:1.72;color:var(--warm-700,#514d45)}
.nosotros-note{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;margin-top:30px;padding:20px 22px;border:1px solid rgba(31,97,87,.14);border-radius:20px;background:rgba(255,255,255,.74);box-shadow:0 14px 38px rgba(20,19,15,.05)}
.nosotros-note>span{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:rgba(31,97,87,.08)}
.nosotros-note svg,.nosotros-icon svg{width:42px;height:42px}
.nosotros-note p{margin:0;color:var(--ink);font-size:.95rem;line-height:1.62}
.nosotros-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.nosotros-card{position:relative;min-width:0;padding:30px;border:1px solid rgba(20,19,15,.09);border-radius:var(--kunka-radius,24px);background:#fff;box-shadow:0 18px 55px rgba(20,19,15,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.nosotros-card:hover{transform:translateY(-3px);box-shadow:0 24px 68px rgba(20,19,15,.1);border-color:rgba(31,97,87,.2)}
.nosotros-card--wide{grid-column:1/-1}
.nosotros-icon{width:62px;height:62px;display:grid;place-items:center;margin-bottom:24px;border-radius:20px;background:var(--warm-50,#faf8f3)}
.nosotros-kicker{position:absolute;right:25px;top:24px;color:rgba(31,97,87,.5);font-family:"IBM Plex Mono",monospace;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.nosotros-card h3{margin:0 0 12px;font-family:"Zilla Slab",serif;font-size:1.55rem;line-height:1.08;color:var(--ink)}
.nosotros-card p{margin:0;color:var(--warm-700,#514d45);font-size:.96rem;line-height:1.68}
.nosotros-values{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.nosotros-values span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:rgba(31,97,87,.08);color:var(--pine-600);font-size:.78rem;font-weight:800}
@media(max-width:900px){
  .nosotros-grid{grid-template-columns:1fr;gap:36px}
  .nosotros-intro{position:static}
  .nosotros-intro h2{max-width:none}
}
@media(max-width:640px){
  .nosotros-grid{gap:30px}
  .nosotros-intro h2{font-size:clamp(2.15rem,12vw,3rem);margin-bottom:18px}
  .nosotros-lead{font-size:1rem;line-height:1.7}
  .nosotros-note{grid-template-columns:44px 1fr;padding:17px;gap:13px;margin-top:22px}
  .nosotros-note>span{width:44px;height:44px;border-radius:14px}
  .nosotros-note svg,.nosotros-icon svg{width:36px;height:36px}
  .nosotros-cards{grid-template-columns:1fr;gap:16px}
  .nosotros-card,.nosotros-card--wide{grid-column:auto;padding:24px 22px}
  .nosotros-icon{width:54px;height:54px;margin-bottom:20px}
  .nosotros-card h3{font-size:1.4rem}
  .nosotros-values{gap:7px}
  .nosotros-values span{font-size:.74rem;padding:6px 10px}
}

/* ========================================================================
   KUNKA V19.5 — ARQUITECTURA DE PORTADA / NOSOTROS / NAVEGACIÓN POR CATEGORÍAS
   ======================================================================== */

/* Navegación agrupada sin sacrificar accesibilidad. */
.nav-group{position:relative;display:flex;align-items:center;gap:3px;min-width:0}
.nav-group-parent{white-space:nowrap}
.nav-group-toggle{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--warm-600);font:800 1rem/1 system-ui;cursor:pointer;transition:background .18s ease,transform .18s ease,color .18s ease}
.nav-group-toggle:hover,.nav-group-toggle:focus-visible{background:var(--pine-50);color:var(--pine-600);outline:none}
.nav-group.is-open>.nav-group-toggle{transform:rotate(180deg)}
.nav-submenu{position:absolute;top:calc(100% + 13px);left:-16px;z-index:140;display:none;width:min(290px,80vw);padding:10px;border:1px solid rgba(20,19,15,.09);border-radius:18px;background:rgba(255,255,255,.985);box-shadow:0 24px 60px -28px rgba(20,19,15,.45)}
.nav-group:hover>.nav-submenu,.nav-group:focus-within>.nav-submenu,.nav-group.is-open>.nav-submenu{display:grid;gap:3px}
.nav-submenu a{display:flex!important;align-items:center!important;min-height:42px;padding:9px 11px!important;border-radius:11px;color:var(--warm-700)!important;font-size:.82rem!important;line-height:1.25!important;white-space:normal!important;text-decoration:none}
.nav-submenu a::after{display:none!important}
.nav-submenu a:hover,.nav-submenu a:focus-visible{background:var(--warm-50);color:var(--ink)!important;outline:none}
.nav-submenu-all{margin-top:4px;border-top:1px solid rgba(20,19,15,.08);border-radius:0 0 10px 10px!important;color:var(--pine-600)!important;font-weight:850!important}
.nav-submenu--services{width:min(330px,84vw)}

/* Resumen institucional de la portada. */
.nosotros--home{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%)}
.nosotros-home-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(38px,6vw,86px);align-items:center}
.nosotros--home .nosotros-intro{position:static}
.nosotros--home .nosotros-intro h2{max-width:none}
.nosotros-home-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}
.nosotros-home-trust{position:relative;padding:34px;border:1px solid rgba(31,97,87,.14);border-radius:28px;background:#fff;box-shadow:0 24px 70px -46px rgba(20,19,15,.48);overflow:hidden}
.nosotros-home-trust::after{content:"";position:absolute;right:-70px;top:-80px;width:190px;height:190px;border-radius:50%;background:rgba(247,206,90,.2);pointer-events:none}
.nosotros-home-label{position:relative;z-index:1;display:inline-flex;margin-bottom:12px;color:var(--pine-600);font-size:.69rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.nosotros-home-trust h3{position:relative;z-index:1;margin:0 0 18px;max-width:15ch;font-family:"Zilla Slab",serif;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.05;color:var(--ink)}
.nosotros-values--home{position:relative;z-index:1;margin-top:0}
.nosotros-text-link{position:relative;z-index:1;display:inline-flex;margin-top:22px;color:var(--pine-600);font-size:.82rem;font-weight:850;text-decoration:none}
.nosotros-text-link:hover{text-decoration:underline}

/* Páginas institucionales. */
.institutional-page,.internal-content-page{background:#fff}
.institutional-hero,.internal-page-hero{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--warm-50) 0%,#fff 54%,rgba(247,206,90,.12) 100%)}
.institutional-hero::after,.internal-page-hero::after{content:"";position:absolute;right:-8rem;bottom:-10rem;width:29rem;height:29rem;border-radius:50%;background:rgba(31,97,87,.07);pointer-events:none}
.institutional-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.72fr);gap:clamp(40px,7vw,100px);align-items:center}
.institutional-hero h1,.internal-page-hero h1{margin:12px 0 22px;max-width:14ch;font-family:"Zilla Slab",serif;font-size:clamp(3rem,6vw,5.7rem);line-height:.96;letter-spacing:-.052em;color:var(--ink)}
.institutional-hero p,.internal-page-hero p{max-width:62ch;margin:0;color:var(--warm-700);font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.72}
.institutional-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}
.institutional-hero-card{position:relative;padding:34px;border:1px solid rgba(20,19,15,.08);border-radius:28px;background:rgba(255,255,255,.88);box-shadow:0 28px 75px -42px rgba(20,19,15,.46);backdrop-filter:blur(10px)}
.institutional-hero-card>span{display:grid;place-items:center;width:58px;height:58px;margin-bottom:22px;border-radius:18px;background:rgba(31,97,87,.08)}
.institutional-hero-card svg{width:42px;height:42px}
.institutional-hero-card strong{display:block;margin-bottom:10px;font-family:"Zilla Slab",serif;font-size:1.55rem;line-height:1.1;color:var(--ink)}
.institutional-hero-card p{font-size:.95rem;line-height:1.66}
.institutional-purpose{background:#fff}
.institutional-purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.institutional-purpose-card{position:relative;padding:36px;border:1px solid rgba(20,19,15,.09);border-radius:26px;background:var(--warm-50);overflow:hidden}
.institutional-purpose-card h2{margin:0 0 14px;font-family:"Zilla Slab",serif;font-size:2rem;color:var(--ink)}
.institutional-purpose-card p{margin:0;color:var(--warm-700);line-height:1.72}
.institutional-number{position:absolute;right:26px;top:24px;color:rgba(31,97,87,.5);font-family:"IBM Plex Mono",monospace;font-size:.75rem;font-weight:850}
.institutional-values-section{background:linear-gradient(180deg,var(--warm-50),#fff)}
.institutional-values-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.institutional-value{min-width:0;padding:24px 20px;border:1px solid rgba(20,19,15,.085);border-radius:22px;background:#fff;box-shadow:0 18px 52px -42px rgba(20,19,15,.42)}
.institutional-value>span{display:inline-flex;margin-bottom:20px;color:rgba(31,97,87,.52);font:800 .7rem/1 "IBM Plex Mono",monospace}
.institutional-value h3{margin:0 0 10px;font-family:"Zilla Slab",serif;font-size:1.35rem;color:var(--ink)}
.institutional-value p{margin:0;color:var(--warm-700);font-size:.86rem;line-height:1.62}
.institutional-next{padding-top:54px!important;padding-bottom:92px!important;background:#fff}
.institutional-next-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:32px;border:1px solid rgba(31,97,87,.14);border-radius:26px;background:linear-gradient(145deg,rgba(31,97,87,.08),rgba(247,206,90,.09))}
.institutional-next-box h2{margin:5px 0 8px;font-family:"Zilla Slab",serif;font-size:clamp(1.7rem,3vw,2.25rem);color:var(--ink)}
.institutional-next-box p{margin:0;max-width:66ch;color:var(--warm-700);line-height:1.62}
.internal-page-hero{padding-top:94px!important;padding-bottom:88px!important}
.internal-page-hero h1{max-width:none;font-size:clamp(3rem,6vw,5rem)}
.internal-content-page>section[id]:not(.internal-page-hero){border-top:1px solid rgba(20,19,15,.055)}

@media(max-width:1110px){
  .institutional-values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .nav-group{display:grid;grid-template-columns:1fr auto;width:100%;gap:0}
  .nav-group-parent{min-height:52px!important}
  .nav-group-toggle{display:grid!important;width:46px;height:46px;margin-right:4px;align-self:center;background:rgba(31,97,87,.055)}
  .nav-submenu{position:static;grid-column:1/-1;width:auto!important;margin:0 5px 7px;padding:5px 6px 7px;border:0;border-left:2px solid rgba(31,97,87,.16);border-radius:0;background:transparent;box-shadow:none}
  .nav-group:hover>.nav-submenu,.nav-group:focus-within>.nav-submenu{display:none}
  .nav-group.is-open>.nav-submenu{display:grid;gap:2px}
  .nav-submenu a{min-height:43px!important;padding:8px 12px 8px 18px!important;background:transparent!important;font-size:.88rem!important}
  .nav-submenu a:hover,.nav-submenu a:focus-visible{background:rgba(31,97,87,.055)!important}
  .nosotros-home-grid,.institutional-hero-grid{grid-template-columns:1fr}
  .institutional-purpose-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .nosotros-home-grid{gap:28px}
  .nosotros-home-actions,.institutional-actions{display:grid;grid-template-columns:1fr;width:100%}
  .nosotros-home-actions .btn,.institutional-actions .btn{width:100%;justify-content:center;text-align:center}
  .nosotros-home-trust{padding:26px 22px;border-radius:23px}
  .institutional-hero,.internal-page-hero{padding-top:66px!important;padding-bottom:72px!important}
  .institutional-hero h1,.internal-page-hero h1{font-size:clamp(2.55rem,13vw,3.75rem);line-height:1}
  .institutional-hero-card,.institutional-purpose-card{padding:26px 22px;border-radius:23px}
  .institutional-values-grid{grid-template-columns:1fr}
  .institutional-value{padding:22px}
  .institutional-next-box{grid-template-columns:1fr;padding:24px 22px}
  .institutional-next-box .btn{width:100%;justify-content:center;text-align:center}
}


/* ========================================================================
   KUNKA V19.6 — CONFIANZA, ENTREGABLES, PLANES Y CONVERSIÓN MÓVIL
   ======================================================================== */
.logo-rotator--static .kunka-logo-card{position:relative!important;inset:auto!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
.logo-rotator--static .kunka-logo-card~.kunka-logo-card{display:none!important}

.hero-v196{background:radial-gradient(circle at 82% 18%,rgba(247,206,90,.16),transparent 27%),linear-gradient(180deg,#fff,var(--warm-50))}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px 11px;border:1px solid rgba(31,97,87,.14);border-radius:999px;background:rgba(31,97,87,.055);color:var(--pine-700);font-size:.72rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.hero-microcopy{max-width:55ch;margin:15px 0 0;color:var(--warm-600);font-size:.78rem;line-height:1.55}
.hero-demo{position:relative;min-width:0;padding:24px;border:1px solid rgba(20,19,15,.09);border-radius:30px;background:#fff;box-shadow:0 34px 90px -52px rgba(20,19,15,.58);overflow:hidden}
.hero-demo::after{content:"";position:absolute;right:-64px;top:-74px;width:170px;height:170px;border-radius:50%;background:rgba(247,206,90,.18);pointer-events:none}
.hero-demo-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.hero-demo-head>div{display:grid;gap:3px}.hero-demo-head strong{font-family:"Zilla Slab",serif;font-size:1.45rem;color:var(--ink)}.hero-demo-eyebrow{color:var(--warm-500);font-size:.63rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hero-demo-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 9px;border-radius:999px;background:rgba(31,97,87,.09);color:var(--pine-700);font-size:.68rem;font-weight:900}.hero-demo-status i{width:7px;height:7px;border-radius:50%;background:var(--pine-600)}
.hero-demo-progress{height:6px;margin:20px 0 17px;border-radius:999px;background:var(--warm-100);overflow:hidden}.hero-demo-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pine-600),var(--gold))}
.hero-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hero-demo-grid article{min-width:0;padding:15px;border:1px solid rgba(20,19,15,.07);border-radius:16px;background:var(--warm-50)}.hero-demo-grid small,.hero-demo-grid span{display:block;color:var(--warm-500);font-size:.65rem;line-height:1.35}.hero-demo-grid strong{display:block;margin:4px 0;font-size:1rem;color:var(--ink)}.hero-demo-footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.hero-demo-footer span{padding:5px 8px;border-radius:8px;background:rgba(31,97,87,.065);color:var(--pine-700);font-size:.64rem;font-weight:850}.hero-demo>p{margin:14px 0 0;color:var(--warm-500);font-size:.66rem;line-height:1.45}
.home-trust-strip{padding:0!important;background:#fff;border-top:1px solid rgba(20,19,15,.055);border-bottom:1px solid rgba(20,19,15,.07)}.home-trust-strip-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding-top:18px;padding-bottom:18px}.home-trust-strip-grid>div{display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:0 15px;border-right:1px solid rgba(20,19,15,.07);text-align:center}.home-trust-strip-grid>div:last-child{border-right:0}.home-trust-strip-grid span{color:var(--pine-600);font-weight:950}.home-trust-strip-grid strong{color:var(--warm-700);font-size:.72rem;line-height:1.35}

.institutional-team-section{background:#fff}.institutional-team-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:clamp(36px,7vw,96px);align-items:center}.institutional-team-media{min-height:430px;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,var(--pine-600),#153f39);box-shadow:0 30px 80px -52px rgba(20,19,15,.6)}.institutional-team-media img{display:block;width:100%;height:100%;min-height:430px;object-fit:cover}.institutional-team-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:430px;padding:30px}.institutional-team-placeholder .kunka-lamina{--lam-ancho:340px}.institutional-team-copy h2{margin:9px 0 18px;max-width:14ch;font-family:"Zilla Slab",serif;font-size:clamp(2.3rem,4.5vw,4.2rem);line-height:.99;letter-spacing:-.04em}.institutional-team-copy>p{max-width:62ch;color:var(--warm-700);line-height:1.75}.institutional-team-signature{display:grid;gap:3px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(20,19,15,.09)}.institutional-team-signature strong{font-size:1rem;color:var(--ink)}.institutional-team-signature span{color:var(--pine-600);font-size:.75rem;font-weight:850}.institutional-team-note{margin-top:15px!important;color:var(--warm-500)!important;font-size:.72rem!important}
.institutional-deliverable-teaser{background:var(--warm-50)}.institutional-deliverable-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;padding:34px;border:1px solid rgba(31,97,87,.14);border-radius:28px;background:#fff;box-shadow:0 24px 70px -52px rgba(20,19,15,.48)}.institutional-deliverable-box h2{margin:5px 0 9px;max-width:22ch;font-family:"Zilla Slab",serif;font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.06}.institutional-deliverable-box p{max-width:70ch;margin:0;color:var(--warm-700);line-height:1.65}

.company-fit{margin-top:clamp(54px,7vw,90px);padding:clamp(26px,4vw,40px);border:1px solid rgba(20,19,15,.08);border-radius:30px;background:linear-gradient(145deg,var(--warm-50),#fff)}.company-fit-head{max-width:780px;margin-bottom:24px}.company-fit-head h3{margin:6px 0 8px;font-family:"Zilla Slab",serif;font-size:clamp(1.9rem,3.5vw,2.7rem);color:var(--ink)}.company-fit-head p{margin:0;color:var(--warm-600);line-height:1.65}.company-fit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.company-fit-card{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;min-width:0;padding:20px;border:1px solid rgba(20,19,15,.08);border-radius:20px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.company-fit-card:hover{transform:translateY(-3px);border-color:rgba(31,97,87,.26);box-shadow:0 18px 42px -34px rgba(20,19,15,.5)}.company-fit-card>span{grid-row:1/4;color:rgba(31,97,87,.55);font:850 .68rem/1 "IBM Plex Mono",monospace;padding-top:4px}.company-fit-card strong{font-family:"Zilla Slab",serif;font-size:1.25rem}.company-fit-card small{color:var(--warm-600);font-size:.77rem;line-height:1.5}.company-fit-card b{margin-top:8px;color:var(--pine-600);font-size:.74rem}.company-fit-card.featured{border-color:rgba(31,97,87,.24);background:rgba(31,97,87,.045)}

.plans-compare-block{margin-top:44px;padding:30px;border:1px solid rgba(20,19,15,.08);border-radius:28px;background:#fff}.plans-compare-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.plans-compare-head h3{margin:5px 0 6px;font-family:"Zilla Slab",serif;font-size:clamp(1.8rem,3vw,2.4rem)}.plans-compare-head p{margin:0;max-width:70ch;color:var(--warm-600)}.plans-table-wrap{overflow:auto;border:1px solid rgba(20,19,15,.08);border-radius:18px}.plans-compare-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}.plans-compare-table th,.plans-compare-table td{padding:14px 16px;border-bottom:1px solid rgba(20,19,15,.07);border-right:1px solid rgba(20,19,15,.055);text-align:center;font-size:.77rem}.plans-compare-table thead th{background:var(--warm-50);color:var(--ink);font-weight:900}.plans-compare-table th:first-child{text-align:left;min-width:190px}.plans-compare-table tbody th{color:var(--warm-600);font-weight:800}.plans-compare-table tr:last-child th,.plans-compare-table tr:last-child td{border-bottom:0}.plans-compare-table tr>*:last-child{border-right:0}.table-check{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(31,97,87,.09);color:var(--pine-700);font-weight:950}.pricing-factors{margin-top:22px;padding:30px;border-radius:28px;background:var(--ink);color:#fff}.pricing-factors-head{max-width:760px;margin-bottom:22px}.pricing-factors .eyebrow{color:var(--gold)}.pricing-factors-head h3{margin:5px 0 0;font-family:"Zilla Slab",serif;font-size:clamp(1.8rem,3vw,2.35rem);color:#fff}.pricing-factors-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pricing-factors-grid article{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.04)}.pricing-factors-grid b{display:block;margin-bottom:18px;color:rgba(247,206,90,.7);font:.75rem/1 "IBM Plex Mono",monospace}.pricing-factors-grid strong{display:block;margin-bottom:7px;font-size:.9rem}.pricing-factors-grid span{display:block;color:rgba(255,255,255,.68);font-size:.74rem;line-height:1.55}

.report-demo-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:center}.report-demo-label{display:grid;min-width:230px;padding:28px;border:1px solid rgba(20,19,15,.08);border-radius:25px;background:#fff;box-shadow:0 24px 65px -44px rgba(20,19,15,.5)}.report-demo-label span{width:max-content;margin-bottom:24px;padding:6px 9px;border-radius:8px;background:var(--gold);color:var(--ink);font:900 .65rem/1 "IBM Plex Mono",monospace}.report-demo-label strong{font-family:"Zilla Slab",serif;font-size:1.45rem}.report-demo-label small{margin-top:4px;color:var(--warm-500)}.report-demo-section{background:var(--warm-50)}.report-demo-dashboard{max-width:1080px;margin:auto;padding:30px;border:1px solid rgba(20,19,15,.09);border-radius:30px;background:#fff;box-shadow:0 34px 90px -58px rgba(20,19,15,.6)}.report-demo-dashboard>header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:22px;border-bottom:1px solid rgba(20,19,15,.08)}.report-demo-dashboard header small{color:var(--warm-500);font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.report-demo-dashboard h2{margin:3px 0 0;font-family:"Zilla Slab",serif;font-size:2rem}.report-demo-chip{padding:7px 10px;border-radius:999px;font-size:.7rem;font-weight:900}.report-demo-chip.ok{background:rgba(31,97,87,.09);color:var(--pine-700)}.report-demo-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.report-demo-kpis article{padding:18px;border:1px solid rgba(20,19,15,.07);border-radius:18px;background:var(--warm-50)}.report-demo-kpis small,.report-demo-kpis span{display:block;color:var(--warm-500);font-size:.68rem}.report-demo-kpis strong{display:block;margin:5px 0;color:var(--ink);font-size:1.08rem}.report-demo-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.report-demo-columns>article{padding:22px;border:1px solid rgba(20,19,15,.07);border-radius:20px}.report-demo-columns h3{margin:0 0 16px;font-family:"Zilla Slab",serif;font-size:1.35rem}.report-demo-columns ul,.report-demo-columns ol{display:grid;gap:11px;margin:0;padding:0;list-style:none}.report-demo-columns li{display:flex;align-items:center;gap:10px;color:var(--warm-700);font-size:.78rem}.demo-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}.demo-dot.done{background:var(--pine-600)}.demo-dot.pending{background:var(--gold)}.report-demo-columns ol b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--warm-50);color:var(--pine-600);font:.65rem/1 "IBM Plex Mono",monospace}.report-demo-dashboard>footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;padding:16px 18px;border-radius:15px;background:rgba(31,97,87,.06);font-size:.75rem}.report-demo-dashboard>footer span{color:var(--warm-600)}.report-demo-disclaimer{max-width:900px;margin:18px auto 0;text-align:center;color:var(--warm-500);font-size:.7rem;line-height:1.5}.report-demo-contents{background:#fff}.report-demo-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-demo-content-grid article{padding:25px;border:1px solid rgba(20,19,15,.08);border-radius:22px;background:var(--warm-50)}.report-demo-content-grid>article>span{display:block;margin-bottom:22px;color:rgba(31,97,87,.5);font:800 .7rem/1 "IBM Plex Mono",monospace}.report-demo-content-grid h3{margin:0 0 9px;font-family:"Zilla Slab",serif;font-size:1.4rem}.report-demo-content-grid p{margin:0;color:var(--warm-600);font-size:.82rem;line-height:1.6}
.resources-v196-deliverable{padding-top:26px!important;padding-bottom:26px!important;background:#fff}.resources-v196-deliverable-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;padding:28px 30px;border-radius:24px;background:linear-gradient(135deg,var(--pine-600),#173f39);color:#fff}.resources-v196-deliverable-box .eyebrow{color:var(--gold)}.resources-v196-deliverable-box h2{margin:4px 0 7px;max-width:25ch;font-family:"Zilla Slab",serif;font-size:clamp(1.7rem,3vw,2.35rem);color:#fff}.resources-v196-deliverable-box p{margin:0;max-width:70ch;color:rgba(255,255,255,.72);font-size:.86rem;line-height:1.6}

@media(max-width:1050px){.home-trust-strip-grid{grid-template-columns:repeat(3,1fr)}.home-trust-strip-grid>div:nth-child(3){border-right:0}.home-trust-strip-grid>div:nth-child(n+4){border-top:1px solid rgba(20,19,15,.07)}.pricing-factors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-demo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.institutional-team-grid,.report-demo-hero-grid{grid-template-columns:1fr}.institutional-team-media,.institutional-team-media img,.institutional-team-placeholder{min-height:330px}.institutional-deliverable-box,.resources-v196-deliverable-box{grid-template-columns:1fr}.company-fit-grid{grid-template-columns:1fr}.plans-compare-head{align-items:flex-start;flex-direction:column}.report-demo-label{min-width:0}.report-demo-content-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  body{padding-bottom:84px}.hero-v196{padding-bottom:58px!important}.hero-demo{margin-top:22px;padding:19px;border-radius:23px}.hero-demo-grid{grid-template-columns:1fr 1fr}.hero-demo-head{gap:10px}.hero-demo-head strong{font-size:1.25rem}.home-trust-strip-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:11px 20px;gap:8px;scrollbar-width:none}.home-trust-strip-grid::-webkit-scrollbar{display:none}.home-trust-strip-grid>div{flex:0 0 auto;min-width:max-content;min-height:36px;padding:0 12px;border:1px solid rgba(20,19,15,.07)!important;border-radius:999px;background:var(--warm-50);scroll-snap-align:start}.home-trust-strip-grid strong{font-size:.7rem}
  .institutional-team-copy h2{font-size:clamp(2.2rem,11vw,3.1rem)}.institutional-team-note{display:none}.institutional-deliverable-box,.plans-compare-block,.pricing-factors{padding:22px;border-radius:23px}.pricing-factors-grid{grid-template-columns:1fr}.report-demo-dashboard{padding:18px;border-radius:22px}.report-demo-dashboard>header{align-items:flex-start}.report-demo-kpis,.report-demo-columns{grid-template-columns:1fr}.report-demo-content-grid{grid-template-columns:1fr}.resources-v196-deliverable-box{padding:24px 22px;border-radius:22px}
  .kunka-mobile-dock--conversion{grid-template-columns:repeat(2,1fr)!important;padding:6px!important}.kunka-mobile-dock--conversion a{flex-direction:row!important;gap:8px!important;min-height:58px!important}.kunka-mobile-dock--conversion small{font-size:.82rem!important}.kunka-mobile-dock--conversion .mobile-dock-wa{background:#e8f8ee;color:#17683a}.kunka-mobile-dock--conversion .mobile-dock-quote{background:var(--pine-600);color:#fff}.kunka-mobile-dock--conversion .mobile-dock-quote svg{color:#fff}
}
@media(max-width:430px){.hero-demo-grid{grid-template-columns:1fr}.hero-demo-footer{display:none}.report-demo-dashboard>header{display:grid}.company-fit{padding:20px}.plans-compare-block{margin-left:-4px;margin-right:-4px}}

@media(min-width:981px){.resources-v17-index-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

.client-case{margin-top:28px;padding:30px;border:1px solid rgba(31,97,87,.15);border-radius:28px;background:linear-gradient(145deg,rgba(31,97,87,.065),rgba(247,206,90,.07))}.client-case-head{max-width:760px;margin-bottom:22px}.client-case-head h3{margin:5px 0 6px;font-family:"Zilla Slab",serif;font-size:clamp(1.9rem,3.2vw,2.6rem)}.client-case-head p{margin:0;color:var(--warm-600);font-size:.78rem;font-weight:800}.client-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-case-grid>div{padding:20px;border-radius:18px;background:#fff;border:1px solid rgba(20,19,15,.07)}.client-case-grid b{display:block;margin-bottom:16px;color:rgba(31,97,87,.5);font:.7rem/1 "IBM Plex Mono",monospace}.client-case-grid strong{display:block;margin-bottom:7px}.client-case-grid p{margin:0;color:var(--warm-600);font-size:.78rem;line-height:1.58}@media(max-width:760px){.client-case{padding:22px}.client-case-grid{grid-template-columns:1fr}}


/* KUNKA V19.7 — lectura rápida, navegación interna y confianza */
.kunka-breadcrumb{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 28px;color:var(--warm-500);font-size:.76rem;font-weight:750}.kunka-breadcrumb a{color:var(--pine-700);text-decoration:none}.kunka-breadcrumb a:hover{text-decoration:underline}.kunka-breadcrumb span[aria-current=page]{color:var(--warm-700)}
.institutional-hero-grid>.kunka-breadcrumb,.report-demo-hero-grid>.kunka-breadcrumb{margin-bottom:-5px}
.serv-quickfacts{padding:0!important;background:#fff;border-bottom:1px solid rgba(20,19,15,.065)}.serv-quickfacts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-left:1px solid rgba(20,19,15,.065)}.serv-quickfact{display:flex;align-items:center;gap:12px;min-width:0;padding:22px 20px;border-right:1px solid rgba(20,19,15,.065)}.serv-quickfact>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:rgba(31,97,87,.075);color:var(--pine-700)}.serv-quickfact>span svg{width:20px;height:20px}.serv-quickfact div{min-width:0}.serv-quickfact small,.serv-quickfact strong{display:block}.serv-quickfact small{margin-bottom:4px;color:var(--warm-500);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.065em}.serv-quickfact strong{color:var(--ink);font-size:.78rem;line-height:1.35}
.contact-privacy{margin:12px 2px 0!important;color:var(--warm-500)!important;font-size:.68rem!important;line-height:1.5!important}.contact-privacy a{color:var(--pine-700);font-weight:800;text-underline-offset:2px}
.internal-page-hero .kunka-breadcrumb{position:relative;z-index:1}.institutional-hero .kunka-breadcrumb{position:relative;z-index:2}
@media(max-width:980px){.serv-quickfacts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.serv-quickfact:nth-child(2){border-right:0}.serv-quickfact:nth-child(n+3){border-top:1px solid rgba(20,19,15,.065)}}
@media(max-width:600px){.kunka-breadcrumb{margin-bottom:20px;font-size:.72rem}.serv-quickfacts-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-left:0;padding:10px 16px;scrollbar-width:none}.serv-quickfacts-grid::-webkit-scrollbar{display:none}.serv-quickfact{flex:0 0 78%;min-height:76px;padding:13px 14px;border:1px solid rgba(20,19,15,.075)!important;border-radius:16px;background:var(--warm-50);scroll-snap-align:start}.serv-quickfact+.serv-quickfact{margin-left:8px}.serv-quickfact strong{font-size:.8rem}}


/* KUNKA V19.8 — servicios internos, externalización y recursos */
.service-page .calc-cabecera{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,rgba(250,248,243,.76) 100%)}
.service-page .calc-cabecera:after{content:"";position:absolute;right:-9vw;bottom:-16vw;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(247,206,90,.13),rgba(247,206,90,0) 70%);pointer-events:none}
.service-page--externalizar .calc-cabecera{background:linear-gradient(145deg,rgba(31,97,87,.07),#fff 58%,rgba(247,206,90,.08))}
.serv-section-nav{position:sticky;top:76px;z-index:20;padding:0!important;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(20,19,15,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.admin-bar .serv-section-nav{top:108px}.serv-section-nav-inner{display:flex;gap:4px;overflow-x:auto;padding-top:9px;padding-bottom:9px;scrollbar-width:none}.serv-section-nav-inner::-webkit-scrollbar{display:none}.serv-section-nav a{flex:0 0 auto;padding:9px 12px;border-radius:999px;color:var(--warm-600);font-size:.72rem;font-weight:850;text-decoration:none;transition:.18s ease}.serv-section-nav a:hover,.serv-section-nav a:focus-visible{background:var(--warm-50);color:var(--pine-700);outline:none}
.serv-detalle{background:linear-gradient(180deg,#fff,var(--warm-50) 42%,#fff 100%)}
.serv-insight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 24px}.serv-insight>div{padding:21px 22px;border-radius:20px;background:#fff;border:1px solid rgba(20,19,15,.08)}.serv-insight>div.serv-insight--accent{background:linear-gradient(145deg,rgba(31,97,87,.08),rgba(247,206,90,.08));border-color:rgba(31,97,87,.16)}.serv-insight small{display:block;margin-bottom:7px;color:var(--pine-700);font-size:.65rem;font-weight:900;letter-spacing:.085em;text-transform:uppercase}.serv-insight p{margin:0;color:var(--warm-700);font-size:.86rem;line-height:1.58}
.serv-value-grid[id],.serv-process[id],.serv-tools-v17[id],#preguntas-servicio{scroll-margin-top:155px}
.serv-otras{margin-top:34px;padding-top:30px;border-top:1px solid rgba(20,19,15,.08)}.serv-otras-head{max-width:720px;margin-bottom:17px}.serv-otras-head .eyebrow{display:block;color:var(--pine-700);font-size:.67rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.serv-otras-head h3{margin:5px 0 0;color:var(--ink);font-size:1.35rem}.serv-otras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.serv-otra-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border:1px solid rgba(20,19,15,.08);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;transition:.18s transform,.18s border-color,.18s box-shadow}.serv-otra-card:hover{transform:translateY(-2px);border-color:rgba(31,97,87,.23);box-shadow:0 16px 34px -30px rgba(20,19,15,.65)}.serv-otra-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--warm-50)}.serv-otra-card>span svg{width:24px;height:24px}.serv-otra-card div{min-width:0}.serv-otra-card strong,.serv-otra-card small{display:block}.serv-otra-card strong{font-size:.82rem}.serv-otra-card small{margin-top:3px;color:var(--warm-600);font-size:.69rem;line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.serv-otra-card b{color:var(--pine-700)}
.service-pro-card--externalizacion{background:linear-gradient(145deg,#fff,rgba(31,97,87,.055));border-color:rgba(31,97,87,.18)!important}
.resources-v17-index{position:sticky;top:76px;z-index:18;padding-top:10px!important;padding-bottom:10px!important;background:rgba(250,248,243,.94);border-top:1px solid rgba(20,19,15,.05);border-bottom:1px solid rgba(20,19,15,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.admin-bar .resources-v17-index{top:108px}.resources-v17-index-grid{margin-top:0!important}.resources-v17-index-grid>a{min-height:70px!important;padding:13px 14px!important}.resources-v17-index-grid small{display:none}.resources-v198-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.resources-v198-paths>a{display:grid;gap:3px;padding:13px 15px;border-radius:15px;background:#fff;border:1px solid rgba(20,19,15,.075);color:var(--ink);text-decoration:none}.resources-v198-paths small{color:var(--pine-700);font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.resources-v198-paths strong{font-size:.78rem}.resources-v198-paths span{color:var(--warm-600);font-size:.67rem}
@media(max-width:980px){.serv-section-nav{top:68px}.admin-bar .serv-section-nav{top:114px}.serv-insight{grid-template-columns:1fr}.serv-otras-grid{grid-template-columns:1fr}.resources-v17-index{position:relative;top:auto}.resources-v198-paths{grid-template-columns:1fr}}
@media(max-width:680px){.serv-section-nav{top:62px}.admin-bar .serv-section-nav{top:108px}.serv-section-nav-inner{padding-left:16px;padding-right:16px}.serv-section-nav a{padding:8px 11px;font-size:.69rem}.serv-insight>div{padding:19px}.serv-otras{margin-top:28px}.serv-otra-card{padding:14px}.resources-v17-index{padding-top:14px!important;padding-bottom:18px!important}.resources-v17-index-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px!important;scrollbar-width:none}.resources-v17-index-grid::-webkit-scrollbar{display:none}.resources-v17-index-grid>a{flex:0 0 68%;scroll-snap-align:start}.resources-v198-paths{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.serv-otra-card,.serv-section-nav a{transition:none!important}}


/* =========================================================
   KUNKA V19.9 · calculadoras visibles + diagramas de servicio
   ========================================================= */
/* Una herramienta nunca debe depender de una animación para existir. Si por
   caché, minificación o un plugin externo falla el observador de entrada, sus
   controles y comprobantes siguen visibles y utilizables. */
.kunka-js #calculadoras .reveal,
.kunka-js .ksuite-panel-section .reveal{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
.calc-ready-copy{display:flex;align-items:center;gap:8px;margin:8px 0 0;color:var(--warm-600);font-size:.82rem;font-weight:700}
.calc-ready-copy>span{color:var(--pine-600);font-size:.76rem}
.calc-js-warning{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:14px;padding:13px 15px;border:1px solid #e8c96d;border-radius:14px;background:#fff8da;color:var(--ink);font-size:.8rem}
.ksuite-tool-status{display:inline-flex;align-items:center;gap:6px;width:max-content;margin-bottom:2px;color:var(--pine-700);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.59rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.ksuite-tool-status>span{font-size:.72rem;color:#4b9d73}

.serv-flow-v199{padding-top:58px!important;padding-bottom:58px!important;background:linear-gradient(180deg,#fff 0%,var(--warm-50) 100%);border-top:1px solid rgba(20,19,15,.055);border-bottom:1px solid rgba(20,19,15,.055)}
.serv-flow-v199-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);column-gap:42px;align-items:end;margin-bottom:28px}
.serv-flow-v199-head .eyebrow{grid-column:1/-1;margin-bottom:8px}
.serv-flow-v199-head h2{margin:0;font-size:clamp(2rem,4vw,3.3rem);line-height:.98}
.serv-flow-v199-head p{margin:0;color:var(--warm-600);font-size:.95rem;line-height:1.6}
.serv-flow-v199-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;counter-reset:none}
.serv-flow-v199-track::before{content:"";position:absolute;left:9%;right:9%;top:31px;height:2px;background:linear-gradient(90deg,var(--gold-400),rgba(39,101,82,.25),var(--pine-600));z-index:0}
.serv-flow-v199-track>li{position:relative;z-index:1;display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:start;min-height:150px;padding:18px;border:1px solid rgba(20,19,15,.075);border-radius:20px;background:rgba(255,255,255,.93);box-shadow:0 18px 45px -38px rgba(20,19,15,.55)}
.serv-flow-v199-node{display:grid;place-items:center;width:56px;height:56px;border-radius:17px;background:var(--pine-600);color:#fff;box-shadow:0 10px 24px -16px rgba(39,101,82,.75)}
.serv-flow-v199-node svg{width:28px;height:28px}
.serv-flow-v199-track small{display:block;margin:2px 0 4px;color:var(--pine-600);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.62rem;font-weight:800;letter-spacing:.08em}
.serv-flow-v199-track strong{display:block;font-family:'Zilla Slab',Georgia,serif;font-size:1.1rem;line-height:1.05}
.serv-flow-v199-track p{margin:8px 0 0;color:var(--warm-600);font-size:.76rem;line-height:1.48}

.service-page--externalizar .serv-flow-v199{background:linear-gradient(135deg,#f5faf7 0%,#fff 52%,#fff8e5 100%)}
.service-page--externalizar .serv-flow-v199-track>li:nth-child(3){border-color:rgba(39,101,82,.22);box-shadow:0 20px 50px -38px rgba(39,101,82,.75)}
.service-page--f29 .serv-flow-v199-node{background:var(--ink)}
.service-page--renta .serv-flow-v199-node{background:#7e6531}

@media(max-width:980px){
  .serv-flow-v199-head{grid-template-columns:1fr;gap:12px}
  .serv-flow-v199-track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .serv-flow-v199-track::before{display:none}
}
@media(max-width:620px){
  .serv-flow-v199{padding-top:38px!important;padding-bottom:38px!important}
  .serv-flow-v199-head{margin-bottom:20px}
  .serv-flow-v199-head h2{font-size:clamp(2rem,10vw,2.7rem)}
  .serv-flow-v199-track{grid-template-columns:1fr;gap:9px}
  .serv-flow-v199-track>li{min-height:0;grid-template-columns:48px 1fr;padding:15px;border-radius:17px}
  .serv-flow-v199-node{width:48px;height:48px;border-radius:14px}
  .serv-flow-v199-node svg{width:24px;height:24px}
  .serv-flow-v199-track p{font-size:.75rem}
  .calc-ready-copy{align-items:flex-start;font-size:.76rem;line-height:1.45}
}

/* ================================================================
   KUNKA V20.0 · Calculadoras como mini aplicaciones
   ================================================================ */
.calc-app-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.calc-app-heading h2{margin-bottom:8px}.calc-reset-top{appearance:none;border:1px solid var(--warm-300);background:#fff;color:var(--ink);border-radius:999px;padding:11px 16px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:.2s ease}.calc-reset-top:hover{border-color:var(--pine-600);color:var(--pine-700);transform:translateY(-1px)}
.calc-app-trust{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.calc-app-trust>span{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;background:#fff;border:1px solid rgba(20,19,15,.09);font-size:.75rem;font-weight:700;color:var(--warm-700)}.calc-app-trust .calc-app-status{margin-left:auto;background:var(--pine-50);border-color:rgba(31,97,87,.18);color:var(--pine-700)}
.ksuite-form-head{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--warm-100)}.ksuite-form-icon{grid-row:1/3;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--gold-100);border:1px solid var(--gold-200)}.ksuite-form-icon svg{width:27px;height:27px}.ksuite-form-head .ksuite-badge,.ksuite-form-head h3{grid-column:2}.ksuite-form-head h3{font-size:clamp(1.45rem,3vw,2rem)!important;margin-top:2px!important}
.ksuite-field{position:relative}.ksuite-field label{display:flex;align-items:center;justify-content:space-between;gap:8px}.ksuite-inputwrap,.ksuite-field select{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.ksuite-inputwrap:hover,.ksuite-field select:hover{border-color:rgba(31,97,87,.4)}.ksuite-inputwrap input::selection{background:var(--gold-200)}
.ksuite-form-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(130px,.6fr);gap:10px;margin-top:12px}.ksuite-form-actions .btn{margin:0!important;min-height:50px}.ksuite-form-feedback{display:flex;gap:7px;align-items:center;margin:13px 0 0;padding:10px 12px;border-radius:12px;background:var(--pine-50);color:var(--pine-700);font-size:.76rem;font-weight:700}.ksuite-form-feedback>span{font-size:.65rem}
.ksuite-result-card{scroll-margin-top:105px}.ksuite-result-health{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 10px;border-radius:999px;background:var(--pine-50);color:var(--pine-700);font-size:.72rem;font-weight:800}.ksuite-health-dot{width:8px;height:8px;border-radius:50%;background:var(--pine-600);box-shadow:0 0 0 4px rgba(31,97,87,.1)}.ksuite-main-result{padding-bottom:26px}.ksuite-main-result small{max-width:45ch;color:var(--warm-600);font-size:.76rem;line-height:1.45}.ksuite-result-row{transition:background .16s ease}.ksuite-result-row:hover{background:rgba(247,244,236,.7)}.ksuite-result-row.minus{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px;background:rgba(143,68,56,.035)}
.kcal-box,.kcal-slip{scroll-margin-top:104px}.kcal-input,.kcal-rate input,.kcal-unit input{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.kcal-input:focus,.kcal-rate input:focus,.kcal-unit:focus-within{outline:none!important;border-color:var(--pine-600)!important;box-shadow:0 0 0 3px rgba(31,97,87,.12)!important}.kcal-total{background:linear-gradient(135deg,var(--pine-50),rgba(255,255,255,.86));border-radius:14px;padding:16px!important;margin:10px -4px 0}.kcal-total .kcal-v{font-size:clamp(1.5rem,4vw,2.15rem)!important}.kcal-acts{margin-top:16px}
@media(max-width:760px){.calc-app-heading{display:grid;gap:10px}.calc-reset-top{justify-self:start}.calc-app-trust{display:grid;grid-template-columns:1fr 1fr}.calc-app-trust>span{justify-content:center;text-align:center}.calc-app-trust .calc-app-status{grid-column:1/-1;margin-left:0}.ksuite-form-actions{grid-template-columns:1fr}.ksuite-form-actions .btn{width:100%}.ksuite-result-health{border-radius:12px}.ksuite-main-result strong{font-size:clamp(2.2rem,12vw,3.1rem)!important}}


/* =========================================================
   KUNKA V20.1 · blindaje de visibilidad de calculadoras
   =========================================================
   La visibilidad de una herramienta individual nunca depende de que la
   sección homónima esté visible en la portada. Esta clase la agrega PHP sólo
   cuando WordPress resolvió una página real de calculadora. El !important es
   deliberado: protege contra un display:none inline heredado de una versión
   anterior del editor/runtime o de una caché HTML antigua. */
body.kunka-calculator-page main > #calculadoras{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  content-visibility:visible!important;
}
body.kunka-calculator-page main > #calculadoras .kcal-panel:not([hidden]),
body.kunka-calculator-page main > #calculadoras .ksuite-calc-grid,
body.kunka-calculator-page main > #calculadoras .ksuite-form-card,
body.kunka-calculator-page main > #calculadoras .ksuite-result-card{
  visibility:visible!important;
  opacity:1!important;
}

/* V20.2 — hero visual más limpio y editorial. */
.hero-professional-media{position:relative;min-width:0;margin:0;border-radius:30px;overflow:hidden;background:var(--warm-50);box-shadow:0 34px 90px -52px rgba(20,19,15,.58);aspect-ratio:1.055/1}
.hero-professional-media::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(20,19,15,.075);border-radius:inherit}
.hero-professional-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
/* V20.4: la escena dibujada ocupa la tarjeta igual que la foto. Su viewBox es
   422x400, el mismo 1.055:1 de la caja, así que entra exacta sin recortar. */
.hero-professional-media svg{display:block;width:100%;height:100%}
/* Paginación del blog y de los resultados de búsqueda. No reutiliza .nav-links
   (la clase que trae the_posts_pagination) porque esa clase es la del menú del
   tema: en móvil la volvía position:absolute y display:none. */
.kunka-paginacion{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:40px;padding-top:28px;border-top:1px solid var(--warm-200)}
.kunka-paginacion .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--warm-200);border-radius:12px;background:#fff;color:var(--warm-600);font-weight:800;font-size:.86rem;text-decoration:none}
.kunka-paginacion a.page-numbers:hover{border-color:var(--pine-600);color:var(--pine-600)}
.kunka-paginacion .page-numbers.current{background:var(--pine-600);border-color:var(--pine-600);color:#fff}
.kunka-paginacion .page-numbers.dots{border-color:transparent;background:none}
.kunka-link-pages{margin-top:26px;font-weight:700}
@media(max-width:760px){.hero-professional-media{margin-top:22px;border-radius:23px;aspect-ratio:1/1}.hero-professional-media img{object-position:center center}
/* La escena dibujada no se recorta como una foto: en móvil conserva su
   propia proporción para no dejar franjas vacías arriba y abajo. */
.hero-professional-media--escena{aspect-ratio:1.055/1}}

/* ==========================================================================
   KUNKA V20.6 — Acceso a KUNKA ERP y sección de la plataforma
   ========================================================================== */
.nav-cta{display:flex;align-items:center;gap:10px}
.btn.btn-erp{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.btn-erp:hover,.btn.btn-erp:focus-visible{background:var(--pine-700);border-color:var(--pine-700);color:#fff}
.btn.btn-erp svg{flex:0 0 auto;opacity:.85}
@media(min-width:981px){
  .nav-cta .btn{padding:12px 18px}
}
@media(min-width:981px) and (max-width:1180px){
  .nav-links{gap:14px!important}
  .nav-links a:not(.btn){font-size:.86rem!important}
  .nav-cta{gap:8px}
  .nav-cta .btn{padding:11px 14px;font-size:.9rem}
  .nav-home-link{display:none!important}
}
@media(min-width:981px) and (max-width:1100px){
  .nav-inner{gap:12px!important}
  .nav-links{gap:11px!important}
  .logo-rotator{width:164px!important;height:52px!important}
  .nav-group-toggle{margin-left:-4px}
}
@media(max-width:980px){
  .nav-cta{
    position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:8px;
    margin-top:6px;padding-top:6px;background:inherit
  }
  .nav-links .nav-cta .btn{position:static;margin-top:0;width:100%;padding:14px 12px!important}
}
@media(max-width:760px){
  .nav-cta{bottom:max(0px,env(safe-area-inset-bottom))}
  .nav-links .nav-cta .btn{bottom:auto}
}

.erp-home{background:var(--warm-50)}
.erp-home-card{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;
  padding:56px;border-radius:var(--kunka-radius,24px);background:var(--ink);color:#fff;
  box-shadow:0 40px 90px -60px rgba(20,19,15,.75);position:relative;overflow:hidden
}
.erp-home-card::after{
  content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,205,90,.22),rgba(245,205,90,0) 70%);pointer-events:none
}
.erp-home-label{
  display:inline-block;margin-bottom:18px;padding:6px 10px;border-radius:8px;
  background:var(--gold-400);color:var(--ink);font:800 .68rem/1 "IBM Plex Mono",monospace;
  letter-spacing:.06em;text-transform:uppercase
}
.erp-home h2{margin:0 0 16px;color:#fff;max-width:14ch}
.erp-home-lead{margin:0;color:rgba(255,255,255,.78);font-size:1.02rem;line-height:1.7;max-width:46ch}
.erp-home-lead strong{color:#fff}
.erp-home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn.erp-home-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.btn.erp-home-ghost:hover,.btn.erp-home-ghost:focus-visible{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}
.erp-home-note{margin:16px 0 0;color:rgba(255,255,255,.55);font-size:.78rem}
.erp-home-mods{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none
}
.erp-home-mods li{
  padding:18px 18px 18px 20px;border:1px solid rgba(255,255,255,.1);border-radius:16px;
  background:rgba(255,255,255,.04);border-left:3px solid var(--gold-400)
}
.erp-home-mods strong{display:block;margin-bottom:6px;color:#fff;font-size:.95rem}
.erp-home-mods span{display:block;color:rgba(255,255,255,.62);font-size:.8rem;line-height:1.55}
@media(max-width:980px){
  .erp-home-card{grid-template-columns:1fr;gap:32px;padding:40px 32px}
}
@media(max-width:560px){
  .erp-home-card{padding:30px 20px}
  .erp-home-mods{grid-template-columns:1fr}
  .erp-home-actions .btn{width:100%}
}

/* ==========================================================================
   KUNKA V21 — Calculadoras nuevas, buscador, normativa, calendario
   ========================================================================== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.kv21-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--pine-600);font:800 .72rem/1.2 "IBM Plex Mono",monospace;letter-spacing:.05em;text-transform:uppercase}
.kv21-kicker svg{width:20px;height:20px}

/* Buscador: botón en cabecera */
.kv21-buscar-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border:1.5px solid var(--warm-200);border-radius:13px;background:#fff;color:var(--ink);font:700 .88rem/1 inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.kv21-buscar-btn:hover,.kv21-buscar-btn:focus-visible{border-color:var(--pine-500);box-shadow:0 0 0 3px rgba(31,97,87,.12);outline:none}
.kv21-buscar-movil{display:none}
@media(max-width:1280px){.nav-links .kv21-buscar-btn{width:44px;padding:0;justify-content:center}.nav-links .kv21-buscar-txt{display:none}}
@media(max-width:980px){
  .nav-links .kv21-buscar-btn{display:none}
  .kv21-buscar-movil{display:inline-flex;margin-left:auto}
  .kv21-buscar-movil .kv21-buscar-btn{width:50px;height:50px;padding:0;justify-content:center;border-radius:15px}
  .kv21-buscar-movil .kv21-buscar-txt{display:none}
}

/* Buscador: modal */
.kv21-buscar{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:9vh 16px 16px}
.kv21-buscar[hidden]{display:none}
.kv21-buscar-fondo{position:absolute;inset:0;background:rgba(20,19,15,.5);backdrop-filter:blur(3px)}
.kv21-buscar-caja{position:relative;width:100%;max-width:680px;max-height:78vh;display:flex;flex-direction:column;border-radius:22px;background:var(--warm-50);box-shadow:0 40px 100px -30px rgba(20,19,15,.7);overflow:hidden}
.kv21-buscar-campo{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--warm-200);background:#fff;color:var(--warm-500)}
.kv21-buscar-campo input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:1.08rem;color:var(--ink)}
.kv21-buscar-x{border:1px solid var(--warm-200);border-radius:8px;background:var(--warm-50);padding:5px 8px;font:700 .7rem/1 "IBM Plex Mono",monospace;color:var(--warm-600);cursor:pointer}
.kv21-buscar-res{overflow-y:auto;padding:10px}
.kv21-buscar-grupo{padding:6px 4px 10px}
.kv21-buscar-grupo>span,.kv21-buscar-sug>span{display:block;padding:6px 10px;color:var(--warm-500);font:800 .66rem/1 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase}
.kv21-buscar-grupo a{display:block;padding:10px 12px;border-radius:12px;color:var(--ink);text-decoration:none}
.kv21-buscar-grupo a strong{display:block;font-size:.95rem}
.kv21-buscar-grupo a small{display:block;margin-top:2px;color:var(--warm-500);font-size:.78rem;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv21-buscar-grupo a:hover,.kv21-buscar-grupo a.is-activo{background:var(--pine-50)}
.kv21-buscar-sug{display:flex;flex-wrap:wrap;gap:8px;padding:8px}
.kv21-buscar-sug>span{width:100%;padding-left:2px}
.kv21-buscar-sug a{padding:8px 12px;border:1px solid var(--warm-200);border-radius:999px;background:#fff;color:var(--ink);font-size:.82rem;font-weight:700;text-decoration:none}
.kv21-buscar-sug a:hover{border-color:var(--pine-500)}
.kv21-buscar-vacio{padding:18px;color:var(--warm-600)}
.kv21-buscar-pie{margin:0;padding:10px 18px;border-top:1px solid var(--warm-200);color:var(--warm-500);font-size:.72rem}
.kv21-buscar-pie kbd{display:inline-block;margin:0 2px;padding:2px 6px;border:1px solid var(--warm-300);border-radius:6px;background:#fff;font:700 .66rem/1.2 "IBM Plex Mono",monospace}
html.kv21-buscar-abierto{overflow:hidden}
@media(max-width:640px){.kv21-buscar{padding:10px}.kv21-buscar-caja{max-height:92vh}.kv21-buscar-pie{display:none}}

/* Centro de calculadoras */
.kv21-proximos{margin:28px 0 8px;padding:20px;border:1px solid var(--warm-200);border-radius:var(--kunka-radius,24px);background:#fff}
.kv21-proximos-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.kv21-proximos-head a{color:var(--pine-600);font-weight:800;font-size:.85rem;text-decoration:none}
.kv21-proximos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kv21-venc{display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;background:var(--warm-50);color:var(--ink);text-decoration:none;border:1px solid transparent}
.kv21-venc:hover{border-color:var(--pine-100)}
.kv21-venc-fecha{display:grid;place-items:center;flex:0 0 52px;height:56px;border-radius:13px;background:var(--ink);color:#fff;font:700 .66rem/1 "IBM Plex Mono",monospace;text-transform:uppercase}
.kv21-venc-fecha b{font:800 1.3rem/1 inherit;margin-bottom:-6px}
.kv21-venc--previsional .kv21-venc-fecha{background:var(--pine-600)}
.kv21-venc--municipal .kv21-venc-fecha{background:var(--warm-600)}
.kv21-venc-copy strong{display:block;font-size:.84rem;line-height:1.3}
.kv21-venc-copy small{display:block;margin-top:3px;color:var(--warm-500);font-size:.74rem}
.kv21-buscador-local{position:relative;display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:0 16px;border:1.5px solid var(--warm-200);border-radius:16px;background:#fff}
.kv21-buscador-local:focus-within{border-color:var(--pine-500);box-shadow:0 0 0 3px rgba(31,97,87,.12)}
.kv21-buscador-local svg{width:22px;height:22px;flex:0 0 auto}
.kv21-buscador-local input{flex:1;min-width:0;height:56px;border:0;outline:0;background:transparent;font-size:1rem}
.kv21-buscador-count{color:var(--warm-500);font-size:.78rem;font-weight:700;white-space:nowrap}
.kv21-sin-resultados{padding:18px;border-radius:16px;background:var(--gold-50);color:var(--warm-700)}
@media(max-width:980px){.kv21-proximos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.kv21-proximos-grid{grid-template-columns:1fr}.kv21-proximos-head{flex-direction:column;align-items:flex-start}}

/* Recomendaciones en calculadoras */
.kv21-reco{padding-top:56px!important;padding-bottom:12px!important}
.kv21-reco-head h2{margin:0 0 6px;font-size:clamp(1.5rem,2.4vw,2rem)}
.kv21-reco-head p{margin:0 0 22px;color:var(--warm-600)}
.kv21-reco-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.kv21-reco-col{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--warm-200);border-radius:var(--kunka-radius,24px);background:#fff}
.kv21-reco-col .kv21-kicker{margin-bottom:6px}
.kv21-reco-item{display:block;padding:12px 14px;border-radius:14px;background:var(--warm-50);color:var(--ink);text-decoration:none;border:1px solid transparent}
.kv21-reco-item:hover{border-color:var(--pine-100);background:var(--pine-50)}
.kv21-reco-item strong{display:block;font-size:.88rem;line-height:1.35}
.kv21-reco-item small{display:block;margin-top:4px;color:var(--warm-500);font-size:.76rem;line-height:1.45}
.kv21-reco-mas{margin-top:2px;color:var(--pine-600);font-size:.82rem;font-weight:800;text-decoration:none}

/* Páginas Normativa y Calendario */
.kv21-page .kv21-hero{padding-bottom:48px}
.kv21-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:44px;align-items:center;margin-top:18px}
.kv21-hero h1{margin:14px 0 14px;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.04}
.kv21-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.kv21-stats span{padding:10px 14px;border:1px solid var(--warm-200);border-radius:14px;background:#fff;color:var(--warm-600);font-size:.8rem}
.kv21-stats strong{color:var(--ink)}
.kv21-indice{display:grid;gap:10px}
.kv21-indice a{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--warm-200);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}
.kv21-indice a:hover{transform:translateX(3px);border-color:var(--pine-500)}
.kv21-indice svg{width:34px;height:34px;flex:0 0 auto}
.kv21-indice strong{display:block}
.kv21-indice small{display:block;color:var(--warm-500);font-size:.78rem}
.kv21-section{padding-top:72px!important;padding-bottom:72px!important}
.kv21-section--alt{background:var(--warm-100)}
.kv21-filtros{display:grid;gap:12px;margin-bottom:22px}
.kv21-chips{display:flex;flex-wrap:wrap;gap:8px}
.kv21-chips button{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1.5px solid var(--warm-200);border-radius:999px;background:#fff;color:var(--warm-700);font-weight:700;font-size:.84rem;cursor:pointer}
.kv21-chips button b{padding:2px 7px;border-radius:999px;background:var(--warm-100);font-size:.7rem}
.kv21-chips button.is-on{border-color:var(--ink);background:var(--ink);color:#fff}
.kv21-chips button.is-on b{background:rgba(255,255,255,.18)}
.kv21-chips--sm button{padding:7px 11px;font-size:.78rem}
.kv21-filtros-fila{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:10px}
.kv21-input,.kv21-select{display:flex;align-items:center;gap:10px;padding:0 14px;border:1.5px solid var(--warm-200);border-radius:14px;background:#fff}
.kv21-input:focus-within,.kv21-select:focus-within{border-color:var(--pine-500)}
.kv21-input svg{width:20px;height:20px;flex:0 0 auto}
.kv21-input input,.kv21-select select{flex:1;min-width:0;height:50px;border:0;outline:0;background:transparent;font-size:.95rem}
.kv21-normas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kv21-norma{display:flex;flex-direction:column;padding:20px 22px;border:1px solid var(--warm-200);border-radius:20px;background:#fff}
.kv21-norma[hidden]{display:none}
.kv21-norma-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--warm-500);font-size:.74rem;font-weight:700}
.kv21-org{padding:4px 8px;border-radius:7px;font:800 .66rem/1 "IBM Plex Mono",monospace;letter-spacing:.04em;color:#fff;background:var(--pine-600)}
.kv21-org--dt{background:#3E4FA3}
.kv21-nuevo{padding:4px 8px;border-radius:7px;background:var(--gold-400);color:var(--ink);font:800 .64rem/1 "IBM Plex Mono",monospace;text-transform:uppercase}
.kv21-norma h3{margin:12px 0 6px;font-size:1.05rem;line-height:1.35}
.kv21-norma h3 a{color:var(--ink);text-decoration:none}
.kv21-norma h3 a:hover{color:var(--pine-600);text-decoration:underline}
.kv21-norma p{margin:0;color:var(--warm-600);font-size:.86rem;line-height:1.6}
.kv21-norma-pie{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:14px}
.kv21-tema{padding:5px 10px;border:1px solid var(--warm-200);border-radius:999px;background:var(--warm-50);color:var(--warm-700);font-size:.72rem;font-weight:700;cursor:pointer}
.kv21-tema:hover{border-color:var(--pine-500)}
.kv21-norma-calc{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--pine-50);color:var(--pine-700);font-size:.72rem;font-weight:800;text-decoration:none}
.kv21-norma-calc svg{width:16px;height:16px}
.kv21-norma-fuente{margin-left:auto;color:var(--pine-600);font-size:.78rem;font-weight:800;text-decoration:none}
.kv21-normas--mini{grid-template-columns:repeat(2,minmax(0,1fr))}
.kv21-mas-wrap{display:flex;justify-content:center;margin-top:22px}
.kv21-sin,.kv21-vacio{padding:22px;border-radius:18px;background:var(--gold-50);color:var(--warm-700)}
.kv21-vacio-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.kv21-vacio-links a{color:var(--pine-700);font-weight:800}
.kv21-niif-filtro{max-width:520px;margin-bottom:18px}
.kv21-niif{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.kv21-niif-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--warm-200);border-radius:16px;background:#fff}
.kv21-niif-card[hidden]{display:none}
.kv21-niif-card b{font:800 .78rem/1 "IBM Plex Mono",monospace;color:var(--pine-600)}
.kv21-niif-card span{font-weight:700;font-size:.9rem;line-height:1.35}
.kv21-niif-nota{color:#8a5a00;font-size:.74rem;line-height:1.4}
.kv21-niif-card a{margin-top:auto;color:var(--pine-600);font-size:.76rem;font-weight:800;text-decoration:none}
.kv21-leyes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.kv21-ley{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 44px 18px 18px;border:1px solid var(--warm-200);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none}
.kv21-ley:hover{border-color:var(--pine-500)}
.kv21-ley-tag{align-self:flex-start;padding:3px 8px;border-radius:7px;background:var(--warm-100);color:var(--warm-600);font:800 .64rem/1.2 "IBM Plex Mono",monospace;text-transform:uppercase}
.kv21-ley small{color:var(--warm-600);line-height:1.5}
.kv21-ley b{position:absolute;right:18px;top:18px;color:var(--pine-600)}
.kv21-indicadores{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:18px}
.kv21-ind{padding:16px;border-radius:16px;background:var(--ink);color:#fff}
.kv21-ind small{display:block;color:rgba(255,255,255,.65);font-size:.74rem}
.kv21-ind strong{display:block;margin:6px 0 2px;color:#fff;font:800 1.25rem/1.1 "IBM Plex Mono",monospace}
.kv21-ind span{color:rgba(255,255,255,.5);font-size:.7rem}
.kv21-nota-fuente{margin:16px 0 0;color:var(--warm-500);font-size:.78rem}
.kv21-nota-fuente a{color:var(--pine-600)}
.kv21-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:36px;border-radius:var(--kunka-radius,24px);background:var(--pine-600);color:#fff}
.kv21-cta h2{margin:0 0 8px;color:#fff;font-size:clamp(1.4rem,2.6vw,2rem)}
.kv21-cta p{margin:0;color:rgba(255,255,255,.8);max-width:60ch}
.kv21-cta .btn.pine{background:var(--gold-400);color:var(--ink)}
@media(max-width:980px){.kv21-hero-grid{grid-template-columns:1fr;gap:26px}.kv21-normas,.kv21-normas--mini{grid-template-columns:1fr}.kv21-cta{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.kv21-filtros-fila{grid-template-columns:1fr}.kv21-norma{padding:18px}.kv21-norma-fuente{margin-left:0}}

/* Calendario */
.kv21-proximo{display:flex;flex-direction:column;gap:6px;padding:26px;border-radius:var(--kunka-radius,24px);background:var(--ink);color:#fff;box-shadow:0 30px 70px -40px rgba(20,19,15,.7)}
.kv21-proximo small{color:var(--gold-400);font:800 .7rem/1 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.kv21-proximo strong{font-size:1.35rem;line-height:1.25;color:#fff}
.kv21-proximo-fecha{color:rgba(255,255,255,.75)}
.kv21-proximo b{align-self:flex-start;margin-top:8px;padding:8px 12px;border-radius:10px;background:var(--gold-400);color:var(--ink)}
.kv21-proximo em{color:rgba(255,255,255,.6);font-size:.78rem}
.kv21-cal-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}
.kv21-cal-card,.kv21-cal-lista{padding:22px;border:1px solid var(--warm-200);border-radius:var(--kunka-radius,24px);background:#fff}
.kv21-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.kv21-cal-head h2{margin:0;font-size:1.5rem}
.kv21-cal-nav{width:42px;height:42px;border:1.5px solid var(--warm-200);border-radius:12px;background:#fff;font-size:1.4rem;cursor:pointer}
.kv21-cal-nav:disabled{opacity:.35;cursor:default}
.kv21-cal-card .kv21-chips{margin-bottom:14px}
.kv21-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.kv21-cal-dn{padding:4px 0;text-align:center;color:var(--warm-500);font:800 .66rem/1 "IBM Plex Mono",monospace;text-transform:uppercase}
.kv21-cal-c{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:78px;padding:7px;border:1px solid var(--warm-200);border-radius:12px;background:#fff;text-align:left;cursor:pointer;overflow:hidden}
.kv21-cal-c span{font-weight:800;font-size:.86rem}
.kv21-cal-c em{display:block;width:100%;color:var(--warm-600);font-style:normal;font-size:.62rem;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.kv21-cal-c.is-vacio{border:0;background:transparent;cursor:default}
.kv21-cal-c.is-inhabil{background:var(--warm-50)}
.kv21-cal-c.is-pasado{opacity:.55}
.kv21-cal-c.is-hoy{border-color:var(--gold-500);box-shadow:inset 0 0 0 2px var(--gold-400)}
.kv21-cal-c.is-sel{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.kv21-cal-dots{display:flex;gap:3px}
.kv21-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--warm-400)}
.kv21-dot--tributario{background:var(--ink)}
.kv21-dot--previsional{background:var(--pine-500)}
.kv21-dot--municipal{background:var(--gold-500)}
.kv21-dot--feriado{background:#C2452D}
.kv21-chips button .kv21-dot{width:9px;height:9px}
.kv21-cal-dia{margin-top:16px;padding:16px;border-radius:16px;background:var(--warm-50)}
.kv21-cal-dia ul{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.kv21-cal-dia li{display:flex;gap:10px;align-items:flex-start}
.kv21-cal-dia li .kv21-dot{margin-top:6px;flex:0 0 auto}
.kv21-cal-dia b{display:block}
.kv21-cal-dia small{display:block;color:var(--warm-600);line-height:1.5}
.kv21-cal-dia p{margin:8px 0 0;color:var(--warm-500)}
.kv21-cal-lista-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.kv21-cal-lista-head h2{margin:0;font-size:1.3rem}
.kv21-ics-todo,.kv21-ics{border:1.5px solid var(--warm-200);border-radius:10px;background:#fff;color:var(--ink);font-weight:800;font-size:.74rem;padding:7px 10px;cursor:pointer;white-space:nowrap}
.kv21-ics-todo:hover,.kv21-ics:hover{border-color:var(--pine-500)}
.kv21-venc-lista{margin:0;padding:0;list-style:none;display:grid;gap:8px;max-height:640px;overflow-y:auto}
.kv21-venc-li{display:flex;gap:12px;align-items:center;padding:10px;border-radius:14px;background:var(--warm-50)}
.kv21-venc-li .kv21-venc-copy{flex:1;min-width:0}
.kv21-venc-li em{display:block;margin-top:4px;color:var(--pine-600);font-style:normal;font-weight:800;font-size:.72rem}
.kv21-venc-li--previsional .kv21-venc-fecha{background:var(--pine-600)}
.kv21-venc-li--municipal .kv21-venc-fecha{background:var(--warm-600)}
.kv21-venc-acc{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.kv21-venc-acc a{color:var(--pine-600);font-weight:800;text-decoration:none}
.kv21-feriados{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.kv21-feriados-col{padding:20px;border:1px solid var(--warm-200);border-radius:20px;background:#fff}
.kv21-feriados-col h3{margin:0 0 10px;font:800 1.2rem/1 "IBM Plex Mono",monospace}
.kv21-feriados-col ul{margin:0;padding:0;list-style:none}
.kv21-feriados-col li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--warm-200);font-size:.86rem}
.kv21-feriados-col li span{color:var(--warm-600);white-space:nowrap}
.kv21-feriados-col li strong{text-align:right}
.kv21-feriados-col li i{color:#C2452D;font-style:normal}
.kv21-feriados-col li.is-pasado{opacity:.5}
.kv21-cal-herr{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
@media(max-width:1080px){.kv21-cal-layout{grid-template-columns:1fr}}
@media(max-width:640px){
  .kv21-cal-card,.kv21-cal-lista{padding:14px}
  .kv21-cal-grid{gap:3px}
  .kv21-cal-c{min-height:48px;padding:5px;border-radius:9px;align-items:center}
  .kv21-cal-c em{display:none}
  .kv21-feriados{grid-template-columns:1fr}
  .kv21-feriados-col li{flex-direction:column;gap:2px}
  .kv21-feriados-col li strong{text-align:left}
  .kv21-venc-li{flex-wrap:wrap}
  .kv21-venc-acc{flex-direction:row;width:100%;justify-content:flex-end}
}

/* ==========================================================================
   KUNKA V21.1 — Resúmenes de normativa y verificador de RUT
   ========================================================================== */
.kv21-niif-links{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:auto;padding-top:6px}
.kv21-niif-links a{color:var(--pine-600);font-size:.76rem;font-weight:800;text-decoration:none}
.kv21-niif-links a.kv21-res-link{color:var(--ink);background:var(--gold-100);padding:3px 8px;border-radius:8px}
.kv21-niif-links a:hover{text-decoration:underline}
.kv21-niif-calc{color:var(--warm-500)!important;font-size:.72rem!important}
.kv21-ley{padding-right:18px}
.kv21-ley .kv21-niif-links{margin-top:6px}
.kv21-norma-fuente--of{margin-left:0;color:var(--warm-500)}
.kv21-norma-pie .kv21-norma-fuente:first-of-type{margin-left:auto}
.kv21-res-hero{padding-bottom:36px}
.kv21-res-cab{max-width:860px;margin-top:18px}
.kv21-res-cab h1{font-size:clamp(1.9rem,4vw,3rem)}
.kv21-res-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.kv21-res-acciones .btn svg{width:18px;height:18px}
.kv21-res{padding-top:48px!important}
.kv21-res-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}
.kv21-res-cuerpo{padding:34px 38px;border:1px solid var(--warm-200);border-radius:var(--kunka-radius,24px);background:#fff}
.kv21-res-cuerpo h2{margin:26px 0 10px;font-size:1.35rem}
.kv21-res-cuerpo h2:first-child{margin-top:0}
.kv21-res-cuerpo p{color:var(--warm-700);line-height:1.75}
.kv21-res-que{font-size:1.08rem;color:var(--ink)!important}
.kv21-res-claves{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.kv21-res-claves li{position:relative;padding:12px 14px 12px 40px;border-radius:14px;background:var(--warm-50);line-height:1.6;color:var(--warm-700)}
.kv21-res-claves li::before{content:"";position:absolute;left:15px;top:19px;width:10px;height:10px;border-radius:3px;background:var(--gold-400)}
.kv21-res-ejemplo{margin:22px 0;padding:20px 22px;border-left:4px solid var(--pine-500);border-radius:0 16px 16px 0;background:var(--pine-50)}
.kv21-res-ejemplo p{margin:8px 0 0;color:var(--ink)}
.kv21-res-ia{margin:22px 0;padding:22px;border:1px solid var(--gold-200);border-radius:18px;background:var(--gold-50)}
.kv21-res-nota,.kv21-res-unidad{font-size:.78rem;color:var(--warm-500)!important}
.kv21-res-tema{margin-top:10px;padding-top:6px;border-top:1px dashed var(--warm-200)}
.kv21-res-aviso{margin-top:26px;padding-top:16px;border-top:1px solid var(--warm-200);font-size:.82rem;color:var(--warm-500)!important}
.kv21-res-aviso a{color:var(--pine-600);font-weight:800}
.kv21-res-lateral{position:sticky;top:100px;display:grid;gap:12px}
.kv21-res-caja{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--warm-200);border-radius:18px;background:#fff}
.kv21-res-caja a{color:var(--pine-600);font-weight:800;font-size:.86rem;text-decoration:none}
.kv21-res-caja small{color:var(--warm-500);line-height:1.5}
.kv21-res-caja--cta{background:var(--ink);border-color:var(--ink);color:#fff}
.kv21-res-caja--cta strong{color:#fff}
.kv21-res-caja--cta small{color:rgba(255,255,255,.7)}
.kv21-res-caja--cta .btn{align-self:flex-start;color:#fff}
@media(max-width:980px){.kv21-res-grid{grid-template-columns:1fr}.kv21-res-lateral{position:static}.kv21-res-cuerpo{padding:24px 20px}}
.ksuite-field textarea{width:100%;min-height:120px;padding:12px 14px;border:1.5px solid var(--warm-200);border-radius:14px;background:#fff;font:600 1rem/1.5 "IBM Plex Mono",monospace;resize:vertical}
.ksuite-field textarea:focus{outline:0;border-color:var(--pine-500);box-shadow:0 0 0 3px rgba(31,97,87,.12)}
.kv21-rut-links{display:grid;gap:8px;margin:14px 0}
.kv21-rut-links strong{font-size:.86rem}
.kv21-rut-links a{display:block;padding:10px 12px;border:1px solid var(--warm-200);border-radius:12px;background:#fff;color:var(--pine-700);font-weight:800;font-size:.84rem;text-decoration:none}
.kv21-rut-links a:hover{border-color:var(--pine-500)}
.kv21-rut-links a small{display:block;margin-top:2px;color:var(--warm-500);font-weight:500;font-size:.74rem;line-height:1.45}
.kv21-rut-links .kv21-ics{justify-self:start}

/* V21.3 — accesibilidad: los enlaces dentro de un texto no dependen solo del color. */
.kv21-nota-fuente a,.kv21-res-aviso a,.kv21-sin-resultados a,.kv21-vacio a,.kv21-res-cuerpo p a,.kv21-cta p a{text-decoration:underline;text-underline-offset:2px}

/* V21.5 — controles estables y acceso directo. */
.kunka-js .nav-group:not(.is-open)>.nav-submenu{display:none!important}
.nav-group.is-open>.nav-submenu{display:grid!important;gap:3px}
.nav-group-toggle{min-width:44px;min-height:44px}
.nav-group-toggle:focus-visible,.kunka-quick-links a:focus-visible,.kunka-section-actions button:focus-visible{outline:3px solid var(--pine-600);outline-offset:3px}
.kunka-quick-links{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.kunka-quick-links a{padding:12px 16px;border:1px solid var(--warm-200);border-radius:12px;background:white;color:var(--pine-600);font-weight:700;text-decoration:none}
.kunka-quick-links a:hover{background:var(--pine-50)}
.kunka-section-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0}
.kunka-section-actions span{font-size:.85rem;color:var(--warm-600)}
details[id]{scroll-margin-top:110px}
@media(min-width:981px){
  .nav-links{position:relative}
  .nav-group{position:static}
  .nav-group>.nav-submenu{top:100%;left:calc(var(--nav-column,0)*33.333%);width:32.5%;box-sizing:border-box;max-height:65vh;overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:980px){
  .nav-group>.nav-submenu{max-height:none;overflow:visible}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

.hero-v196 h1{font-size:clamp(2.3rem,4.4vw,4rem)!important;line-height:1.08;max-width:18ch}
.hero-v196 .lead{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6}

/* V21.6 — la cabecera cabe completa entre 981 y 1440 px (antes se salía por la derecha
   desde la V21.5 y el botón KUNKA ERP y el submenú de Recursos quedaban cortados). */
@media(min-width:981px){
  .nav-group-toggle{min-width:28px;width:28px;padding:0!important;justify-content:center}
}
@media(min-width:981px) and (max-width:1440px){
  .nav-inner{gap:14px!important}
  .nav-links{gap:12px!important}
  .nav-links a:not(.btn){font-size:.86rem!important}
  .nav-cta{gap:8px}
  .nav-cta .btn{padding:11px 14px!important;font-size:.88rem}
  .nav-links .kv21-buscar-btn{width:44px;padding:0;justify-content:center}
  .nav-links .kv21-buscar-txt{display:none}
}
@media(min-width:981px) and (max-width:1240px){
  .logo-rotator{width:150px!important;height:48px!important}
  .nav-links{gap:9px!important}
  .nav-cta .btn{padding:10px 12px!important;font-size:.84rem}
}
