/* lumaq.es · páginas interiores (site-v2). Se carga DESPUÉS de lumaq.css y reutiliza sus tokens y componentes.
   Mismo lenguaje que la home: luz y tipografía a plena luz. Sin terceros. Sin estilos inline. */

body.pagina { padding-bottom: 0; }
@media (max-width: 1023px) { body.pagina { padding-bottom: 0; } .pagina .pie { padding-bottom: var(--s-6); } }
.nav-principal a[aria-current="page"]::after { transform: scaleX(1); }
.panel-menu nav a[aria-current="page"] { color: var(--luz-tinta); }
.cabecera .cont { max-width: var(--contenedor); }

/* ---------- Cabecera de página: la luz entra por arriba a la derecha ---------- */
.pag-cab { position: relative; isolation: isolate; overflow-x: clip; padding-top: calc(var(--cabecera) + var(--s-8)); padding-bottom: var(--s-8); }
.pag-cab::before { content: ""; position: absolute; inset: -10% -10% -4% -10%; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse 46% 62% at 88% 0%, rgba(244,183,64,.56) 0%, rgba(251,154,66,.26) 34%, rgba(255,122,69,.07) 60%, rgba(245,246,248,0) 78%); }
.pag-cab__encima { font-size: var(--t-5); color: var(--ink-2); margin-bottom: var(--s-4); }
.pag-cab h1 { font-size: clamp(2.5rem, 1.3rem + 4.2vw, 4.5rem); max-width: 18ch; }
.pag-cab .lead { margin-top: var(--s-5); max-width: 46ch; color: var(--ink); }
.pag-cab .acciones { margin-top: var(--s-6); display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); align-items: center; }
.pag-cab .acciones .boton { width: auto; }
@media (max-width: 599px) { .pag-cab .acciones .boton { width: 100%; } }
.pag-cab__estado { margin-top: var(--s-5); font-size: var(--t-6); color: var(--ink-2); display: flex; gap: var(--s-2); align-items: flex-start; max-width: 52ch; }
.pag-cab__estado .ico { color: var(--acento-texto); margin-top: 3px; }
.pag-cab--lectura { padding-bottom: var(--s-7); }
.pag-cab--lectura h1 { font-size: clamp(2.25rem, 1.2rem + 3.4vw, 3.75rem); max-width: 18ch; }
.pag-cab--lectura .lead { max-width: 52ch; }
@media (min-width: 1024px) { .pag-cab__texto { grid-column: 1 / 10; } .pag-cab--lectura .pag-cab__texto { grid-column: 1 / 9; } }
.pag-cab__hechos { margin-top: var(--s-4); }
.pag-cab__hechos .confianza__lineas { grid-template-columns: 1fr; }
@media (min-width: 768px) { .pag-cab__hechos .confianza__lineas { grid-template-columns: repeat(2, 1fr); gap: 0 var(--canal); } }
@media (min-width: 1024px) { .pag-cab__hechos .confianza__lineas { grid-template-columns: repeat(4, 1fr); } }
.revision { margin-top: var(--s-5); font-size: var(--t-6); color: var(--ink-2); }

/* aviso de validación: discreto, visible */
.validacion { display: inline-flex; align-items: center; gap: var(--s-2); margin-top: var(--s-5); padding: 6px 12px 6px 10px; border-radius: var(--r-control); border: 1px dashed var(--ink-3); font-size: var(--t-label); font-weight: 600; color: var(--ink-2); }
.validacion .ico { color: var(--acento-texto); width: 16px; height: 16px; }

/* los hechos de la cabecera: cuatro líneas, un icono cada una */
.pag-cab__hechos .confianza__lineas { gap: 0; }
.pag-cab__hechos .confianza__lineas li { padding-block: var(--s-4); align-items: center; }
.pag-cab__hechos .confianza__lineas strong { margin: 0; font-size: var(--t-5); }

/* ---------- Secciones ---------- */
.pagina main > section:last-of-type { padding-bottom: var(--seccion); }
.sec-cab .lead { margin-top: var(--s-5); }
.sec-cab { margin-bottom: var(--s-6); }
.nota { font-size: var(--t-6); color: var(--ink-2); max-width: var(--medida); margin-top: var(--s-4); }
.nota .ico { display: inline-block; vertical-align: -3px; margin-right: 6px; color: var(--acento-texto); }

/* El problema: texto a la izquierda, tres escenas a la derecha */
@media (min-width: 1024px) { .problema__texto { grid-column: 1 / 7; } .escenas { grid-column: 8 / 13; } }
.problema__texto p { max-width: 54ch; color: var(--ink-2); font-size: var(--t-4); line-height: var(--lh-4); }
.problema__texto h2 + p { margin-top: var(--s-5); }
.escenas { border-top: 1px solid var(--ink-3); }
.escenas li { padding-block: var(--s-5); border-bottom: 1px solid var(--linea); font-family: var(--f-display); font-stretch: 118%; font-weight: 600; font-size: var(--t-3); line-height: var(--lh-3); letter-spacing: var(--ls-3); text-wrap: balance; }
.escenas .hora { color: var(--luz-tinta); font-variant-numeric: tabular-nums; }

/* Pipeline estático: la fachada se queda a la vista mientras se leen los ocho pasos */
.estatica .luz-escenario { position: static; height: auto; padding-top: 0; padding-bottom: 0; align-items: start; align-content: start; grid-template-rows: none; gap: var(--s-5) var(--canal); }
.estatica .fv { --luz-p: 1; }
.estatica .luz-figura { min-width: 0; }
.estatica .luz-escena { flex: none; height: clamp(260px, 62vw, 420px); min-height: 0; }
.estatica .luz-etapas { overflow: visible; }
.estatica .luz-etapas .n { color: var(--luz-tinta); }
.estatica .luz-etapas li { padding-block: var(--s-4); color: var(--ink); }
.estatica .luz-etapas h3 { font-size: var(--t-4); }
.estatica .luz-etapas li { grid-template-rows: auto auto; }
.estatica .luz-etapas p { font-size: var(--t-6); margin-top: var(--s-2); max-width: 52ch; opacity: 1; }
.estatica .luz-etapas .etq { font-weight: 600; color: var(--ink); }
.estatica .luz-etapas p + p { margin-top: 4px; color: var(--ink-2); }
@media (min-width: 1024px) {
  .estatica .luz-escenario { padding: var(--s-2) var(--margen) 0; }
  .estatica .luz-figura { grid-column: 1 / 8; position: sticky; top: calc(var(--cabecera) + var(--s-5)); align-self: start; }
  .estatica .luz-escena { height: min(calc(100svh - var(--cabecera) - 120px), 640px); }
  .estatica .luz-etapas { grid-column: 8 / 13; align-self: start; }
}
.pipeline__cierre { display: grid; gap: var(--s-5); margin-top: var(--s-6); }
.pipeline__cierre p { font-size: var(--t-4); line-height: var(--lh-4); max-width: 60ch; color: var(--ink); font-weight: 500; }
.pipeline__cierre .acciones { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); align-items: center; }

/* Demo estática */
@media (min-width: 1024px) { .demo__texto { grid-column: 1 / 6; grid-row: 1; } .demo__escena { grid-column: 7 / 13; grid-row: 1 / span 2; } .demo__meses { grid-column: 1 / 6; grid-row: 2; align-self: start; } }
.demo__escena { display: grid; justify-items: center; gap: var(--s-6); }
.telefono--demo { width: min(100%, 372px); height: auto; aspect-ratio: auto; margin: var(--s-3) auto var(--s-7); transform: rotate(-2deg); will-change: auto; -webkit-mask-image: none; mask-image: none; }
.telefono--demo .telefono__pantalla { height: auto; min-height: 640px; padding-bottom: 26px; }
.telefono--demo .mensajes--hero .boton--peq { pointer-events: auto; }
.telefono--demo .telefono__pantalla::after { opacity: .3; }
.telefono--demo .mensajes--hero .burbuja__hora { font-size: 12px; }
.telefono--demo .telefono__aviso { left: auto; right: -8%; bottom: -9%; max-width: 74%; }
.meses { max-width: 40ch; }
.meses h3 { font-size: var(--t-4); font-family: var(--f-text); font-stretch: 100%; letter-spacing: 0; font-weight: 600; margin-bottom: var(--s-3); }
.meses .burbuja { max-width: 100%; margin-top: var(--s-3); }


.persona-resp[hidden] { display: none; }

/* Tablas editoriales (módulos, encargados, kits) */
.tabla-wrap { margin-top: var(--s-5); }
.tabla { width: 100%; border-collapse: collapse; font-size: var(--t-6); }
.tabla caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.tabla th, .tabla td { text-align: left; vertical-align: top; padding: 14px 20px 14px 0; line-height: 1.45; }
.tabla thead th { font-weight: 600; font-size: var(--t-label); color: var(--ink-2); padding-block: 10px; border-bottom: 1px solid var(--ink-3); }
.tabla tbody th { font-weight: 600; color: var(--ink); }
.tabla tbody + tbody { border-top: 1px solid var(--ink-3); }
.tabla td { color: var(--ink-2); }
.tabla .estado { vertical-align: middle; }
.tabla--zebra tbody tr:nth-child(even) { background: rgba(21,27,39,.035); }
.tabla--zebra th, .tabla--zebra td { padding-inline: 14px; }
.tabla--zebra thead th { padding-inline: 14px; }
@media (max-width: 767px) {
  .tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .tabla, .tabla tbody, .tabla tr, .tabla th, .tabla td { display: block; width: 100%; }
  .tabla tr { padding-block: var(--s-4); border-top: 1px solid var(--linea); }
  .tabla tbody tr:first-child { border-top: 0; }
  .tabla th, .tabla td { padding: 0; }
  .tabla td { margin-top: var(--s-2); }
  .tabla td[data-etq]::before { content: attr(data-etq) ": "; font-weight: 600; color: var(--ink); }
  .tabla--zebra th, .tabla--zebra td { padding: 0 var(--s-3); }
  .tabla--zebra tr { padding-inline: 0; }
}

/* Recetas por sector: líneas de texto, no tarjetas */
.recetas { border-top: 1px solid var(--ink-3); max-width: 880px; }
.receta { display: grid; gap: var(--s-2) var(--canal); padding-block: var(--s-5); border-bottom: 1px solid var(--linea); }
.receta h3 { font-size: var(--t-3); }
.receta--menor h3 { font-family: var(--f-text); font-stretch: 100%; font-size: var(--t-4); letter-spacing: 0; font-weight: 600; }
.receta p { color: var(--ink-2); max-width: 54ch; }
@media (min-width: 768px) { .receta { grid-template-columns: 5fr 5fr auto; align-items: baseline; } .receta .estado { justify-self: end; } }

/* Confianza (resumen en /crm-ia) */
@media (min-width: 1024px) { .conf-res__cab { grid-column: 1 / 5; } .conf-res .confianza__lineas { grid-column: 6 / 13; } }
.conf-res .confianza__lineas { grid-template-columns: 1fr; gap: 0; }
.conf-res .confianza__lineas li { padding-block: var(--s-4); }
.conf-res .confianza__lineas li > div { font-size: var(--t-5); }

/* Precio */
.precios { border-top: 1px solid var(--ink-3); max-width: 960px; }
.precios li { display: grid; gap: var(--s-2) var(--canal); padding-block: var(--s-5); border-bottom: 1px solid var(--linea); align-items: baseline; }
@media (min-width: 768px) { .precios li { grid-template-columns: 5fr 7fr; } }
.precio-cifra { font-family: var(--f-display); font-stretch: 112%; font-weight: 650; font-size: clamp(1.75rem, 1rem + 1.8vw, 2.5rem); line-height: 1.05; letter-spacing: var(--ls-2); display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .3em; font-variant-numeric: tabular-nums; }
.precios p { color: var(--ink-2); max-width: 46ch; }
.precios .precio-cifra { color: var(--ink); max-width: none; }
.precios__pie { margin-top: var(--s-5); max-width: var(--medida); color: var(--ink-2); }
.precios__pie p + p { margin-top: var(--s-3); }
.precios__enlace { margin-top: var(--s-3); }

/* Dudas en una columna */
.dudas--una .dudas__cols { grid-template-columns: 1fr; max-width: 820px; }
@media (min-width: 1024px) { .dudas--una .dudas__cabeza { grid-column: 1 / 5; } .dudas--una .dudas__cols { grid-column: 5 / 13; } }
.dudas--una .duda:last-child { border-bottom: 1px solid var(--linea); }

/* Cierre */
.cierre__texto p { color: var(--ink-2); font-size: var(--t-4); line-height: var(--lh-4); max-width: 40ch; margin-top: var(--s-5); }
.cierre__texto .boton { margin-top: var(--s-6); }
.cierre__media { margin: 0; }
.cierre__media img { width: 100%; height: auto; border-radius: var(--r-escena); box-shadow: var(--borde-luz), var(--sombra-larga); }
.cierre__media figcaption { font-size: var(--t-label); color: var(--ink-3); margin-top: var(--s-2); }
@media (min-width: 1024px) { .cierre__texto { grid-column: 1 / 6; align-self: center; } .cierre__media { grid-column: 7 / 13; } }
@media (max-width: 599px) { .cierre__texto .boton { width: 100%; } }

/* ---------- Kits ---------- */


.kitres { display: grid; gap: var(--s-5); }
.kitres__uno { display: grid; align-content: start; gap: var(--s-2); padding: var(--s-5); border-radius: var(--r-tarjeta); box-shadow: inset 0 0 0 1px var(--linea); }
.kitres__uno--rec { background: var(--dia-100); box-shadow: inset 0 0 0 1.5px var(--luz-ambar), -14px 28px 56px -22px rgba(244,183,64,.55), var(--sombra-corta); }
.kitres__uno .kit__recomendado { font-size: var(--t-label); font-weight: 600; color: var(--acento-texto); }
.kitres__uno h3 { font-size: var(--t-3); }
.kitres__uno .kit__promesa { margin-top: var(--s-1); }
.kitres__uno .boton { margin-top: var(--s-4); }
@media (min-width: 900px) { .kitres { grid-template-columns: repeat(3, minmax(0, 1fr)); } .kitres__uno .boton { align-self: end; } .kitres__uno { grid-template-rows: auto auto auto 1fr auto; } }
@media (max-width: 899px) { .kitres__uno--rec { order: -1; } }
@media (max-width: 599px) { .kitres__uno .boton { width: 100%; white-space: normal; } }
.tabla--kits td.c, .tabla--kits th.c { text-align: center; }
.tabla--kits .col-rec { background: rgba(244,183,64,.09); }
.tabla--kits tbody th { font-weight: 500; }
/* ciclo 3: la tabla usa el mismo código de ventanas que la home (encendida = incluido, discontinua = piloto o en desarrollo, apagada = no incluido) */
.tabla--kits .si, .tabla--kits .no, .tabla--kits .pronto { display: inline-flex; align-items: center; gap: var(--s-2); }
.tabla--kits .ico--ventana { width: 24px; height: 24px; }
.tabla--kits .no { color: var(--ink-3); }
.tabla--kits .no .estado { white-space: normal; text-align: left; line-height: 1.25; }
.tabla--kits .pronto { font-size: 13px; color: var(--ink-2); max-width: 20ch; text-align: left; }
.tabla--kits th:last-child, .tabla--kits td:last-child { text-align: left; }
@media (min-width: 768px) { .tabla--kits thead th { position: sticky; top: var(--cabecera); background: var(--dia-50); z-index: 2; } }
/* La columna recomendada tiene fondo translucido y ganaba en especificidad al fondo opaco de la cabecera fija: se transparentaba el texto al hacer scroll. Se compone el tinte SOBRE el fondo opaco. */
.tabla--kits thead th.col-rec { background: linear-gradient(rgba(244,183,64,.09), rgba(244,183,64,.09)), var(--dia-50); }
@media (max-width: 767px) {
  .tabla--kits tr { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-2) var(--s-3); align-items: center; }
  .tabla--kits tbody th { grid-column: 1 / -1; }
  .tabla--kits td { margin-top: 0; text-align: left; }
  .tabla--kits td.c { text-align: left; }
  .tabla--kits td[data-etq]::before { display: block; font-size: 13px; font-weight: 600; color: var(--ink-3); }
  .tabla--kits .col-rec { background: transparent; }
  .tabla--kits td.c[data-etq]::before { content: attr(data-etq); }
  .tabla--kits .pronto { max-width: none; }
  .tabla--kits td { min-width: 0; }
  .tabla--kits .no:has(.estado), .tabla--kits .pronto { flex-direction: column; align-items: flex-start; overflow-wrap: anywhere; }
  .tabla--kits .no .estado { border-radius: 12px; font-size: 13px; padding: 4px 8px; align-items: flex-start; }
  .tabla--kits .no .estado::before { flex: none; margin-top: 5px; }
}
.bloques { border-top: 1px solid var(--ink-3); }
.bloque { display: grid; gap: var(--s-4) var(--canal); padding-block: var(--s-6); border-bottom: 1px solid var(--linea); }
.bloque h2 { font-size: var(--t-3); max-width: 24ch; }
.bloque h2 .estado { margin-left: 8px; vertical-align: middle; }
.bloque__cuerpo { display: grid; gap: var(--s-3); max-width: var(--medida); }
.bloque__cuerpo p { color: var(--ink-2); }
.bloque__cuerpo strong { color: var(--ink); }
.bloque__cuerpo .enlace { padding-block: 6px; justify-self: start; }
.bloque__cuerpo .boton { justify-self: start; margin-top: var(--s-2); }
@media (min-width: 1024px) { .bloque { grid-template-columns: repeat(12, minmax(0, 1fr)); } .bloque > :first-child { grid-column: 1 / 6; } .bloque__cuerpo { grid-column: 6 / 13; } }
@media (max-width: 599px) { .bloque__cuerpo .boton { width: 100%; } }
.dos-col { display: grid; gap: var(--s-4) var(--canal); }
@media (min-width: 1024px) { .dos-col > :first-child { grid-column: 1 / 5; } .dos-col > :last-child { grid-column: 5 / 13; } }
.lista { display: grid; gap: 0; border-top: 1px solid var(--ink-3); max-width: var(--medida); }
.lista li { position: relative; padding: var(--s-4) 0 var(--s-4) 22px; border-bottom: 1px solid var(--linea); color: var(--ink-2); }
.lista li::before { content: ""; position: absolute; left: 0; top: calc(var(--s-4) + .62em); width: 8px; height: 8px; border-radius: 2px; background: var(--luz-ambar); box-shadow: 0 0 0 1px rgba(158,63,14,.3); }
.lista li strong { color: var(--ink); font-weight: 600; }

/* ---------- Servicios ---------- */
.servicios { border-top: 1px solid var(--ink-3); }
.servicio { display: grid; gap: var(--s-5) var(--canal); padding-block: var(--s-6); border-bottom: 1px solid var(--linea); }
.servicio__cab h2 { font-size: var(--t-3); max-width: 22ch; }
.servicio__cab .boton { margin-top: var(--s-5); }
.servicio__dl { display: grid; gap: var(--s-4) var(--canal); margin: 0; }
.servicio__dl dt { font-size: var(--t-label); font-weight: 600; color: var(--ink-3); margin-bottom: 2px; }
.servicio__dl dd { margin: 0; color: var(--ink); max-width: 52ch; }
@media (min-width: 768px) { .servicio__dl { grid-template-columns: 1fr 1fr 1fr; } .servicio__dl > div:first-child { grid-column: 1 / -1; } }
@media (min-width: 1024px) { .servicio { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; } .servicio__cab { grid-column: 1 / 6; } .servicio__dl { grid-column: 6 / 13; } }
@media (max-width: 599px) { .servicio__cab .boton { width: 100%; } }

/* ---------- Lectura (confianza y legales) ---------- */
.lectura { display: grid; gap: var(--s-6) var(--canal); padding-bottom: var(--seccion); }
.lectura__cuerpo { min-width: 0; }
.lectura__cuerpo > section { padding-block: var(--s-7) 0; border-top: 1px solid var(--linea); margin-top: var(--s-7); scroll-margin-top: calc(var(--cabecera) + 16px); }
.lectura__cuerpo > section:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.lectura__cuerpo h2 { font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem); max-width: 22ch; margin-bottom: var(--s-4); }
.lectura__cuerpo h2 .n { color: var(--luz-tinta); font-variant-numeric: tabular-nums; margin-right: .4em; }
.lectura__cuerpo p { max-width: var(--medida); color: var(--ink); }
.lectura__cuerpo p + p { margin-top: var(--s-4); }
.lectura__cuerpo p.sec { color: var(--ink-2); font-size: var(--t-6); }
.lectura__cuerpo ul.vi { display: grid; gap: var(--s-4); margin-top: var(--s-4); max-width: var(--medida); }
.lectura__cuerpo ul.vi li { display: grid; grid-template-columns: 28px 1fr; gap: var(--s-4); align-items: start; }
.lectura__cuerpo ul.vi .ico { color: var(--acento-texto); width: 26px; height: 26px; stroke-width: 1.5; margin-top: 2px; }
.lectura__cuerpo ul.vi p { margin: 0; color: var(--ink); }
.lectura__cuerpo .tabla-wrap { margin-block: var(--s-5); }
.lectura__cuerpo a:not(.boton) { color: var(--acento-texto); font-weight: 600; }
.lectura__cuerpo .externo .ico { width: 14px; height: 14px; vertical-align: -1px; margin-left: 4px; }

.lectura__cierre { margin-top: var(--s-8); padding-top: var(--s-7); border-top: 1px solid var(--ink-3); }
.lectura__cierre h2 { font-size: var(--t-2); }
.lectura__cierre .boton { margin-top: var(--s-5); }
@media (max-width: 599px) { .lectura__cierre .boton { width: 100%; } }
.prosa-legal h2 { font-size: var(--t-3); max-width: none; letter-spacing: var(--ls-3); }
@media (min-width: 1024px) {
  .lectura { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .lectura__cuerpo { grid-column: 1 / 8; }
  .lectura--solo .lectura__cuerpo { grid-column: 1 / 9; }
  .indice { grid-column: 9 / 13; align-self: start; position: sticky; top: calc(var(--cabecera) + var(--s-6)); }
}
.indice { font-size: var(--t-6); }
.indice__t { font-weight: 600; color: var(--ink-2); margin-bottom: var(--s-3); }
.indice ol { display: grid; gap: 0; }
.indice a { display: grid; grid-template-columns: 2.2ch 1fr; gap: var(--s-2); padding: 7px 0; text-decoration: none; color: var(--ink-2); min-height: 36px; align-items: baseline; transition: color var(--d-2) var(--ease-out); }
.indice a .n { font-variant-numeric: tabular-nums; color: var(--ink-3); }
@media (hover: hover) and (pointer: fine) { .indice a:hover { color: var(--ink); text-decoration: underline; } }
.indice a[aria-current="true"] { color: var(--acento-texto); font-weight: 600; }
.indice a[aria-current="true"] .n { color: var(--acento-texto); }
.indice-movil { margin-bottom: var(--s-6); border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea); }
.indice-movil summary { list-style: none; cursor: pointer; min-height: 52px; display: flex; align-items: center; justify-content: space-between; font-weight: 600; }
.indice-movil summary::-webkit-details-marker { display: none; }
.indice-movil summary .ico { color: var(--acento-texto); transition: transform var(--d-2) var(--ease-out); }
.indice-movil[open] summary .ico { transform: rotate(45deg); }
.indice-movil ol { padding-bottom: var(--s-3); }
.indice-movil a { min-height: 44px; } /* 9b: objetivo tactil */
.resumen-kit .enlace { min-height: 44px; }
@media (min-width: 1024px) { .indice-movil { display: none; } }
@media (max-width: 1023px) { .indice--lado { display: none; } }

/* ---------- Pie en páginas interiores ---------- */
.pagina .pie mark.marcador { color: var(--luz-ambar); }

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) { .indice a, .indice-movil summary .ico { transition: none; } }
.acciones-sec { margin-top: var(--s-5); }
@media (max-width: 599px) { .acciones-sec .boton { width: 100%; } }
@media (max-width: 599px) { .telefono--demo { margin-bottom: 96px; } .telefono--demo .telefono__aviso { right: 0; bottom: -10%; max-width: 80%; } }   /* el aviso cuelga bajo el telefono: reserva su hueco para que no tape el titulo siguiente */
@media (min-width: 1024px) { .dos-col { grid-template-columns: repeat(12, minmax(0, 1fr)); } }
.kitres__uno { position: relative; }
.kitres__uno .kit__recomendado { position: absolute; top: var(--s-4); right: var(--s-5); }
.lectura__cuerpo .externo .ico, .externo .ico { display: inline-block; }
.lectura__cuerpo p.sec { margin-top: var(--s-4); }

/* =====================================================================
   Ola 1B · afilado de interiores (15-oct-2026)
   ===================================================================== */

/* ---------- Cabecera con objeto: texto a la izquierda, algo a la derecha (nunca media pantalla vacía) ---------- */
@media (min-width: 1024px) {
  .pag-cab--objeto .pag-cab__texto { grid-column: 1 / 7; grid-row: 1; }
  .pag-cab--objeto .pag-cab__objeto { grid-column: 8 / 13; grid-row: 1 / span 2; align-self: center; justify-self: center; width: 100%; }
  .pag-cab--objeto .pag-cab__hechos { grid-column: 1 / 7; grid-row: 2; }
  .pag-cab--objeto .pag-cab__hechos .confianza__lineas { grid-template-columns: repeat(2, 1fr); gap: 0 var(--canal); }
  .pag-cab--objeto h1 { max-width: 14ch; }
  .pag-cab--lectura.pag-cab--objeto h1 { max-width: 16ch; }
}
.pag-cab--objeto .pag-cab__objeto { min-width: 0; }

/* estado del piloto: aviso, no nota */
.pag-cab__estado { padding: var(--s-3) var(--s-4); border-radius: var(--r-control); background: var(--dia-100); box-shadow: inset 3px 0 0 var(--luz-ambar), var(--borde-luz); color: var(--ink); font-size: var(--t-5); }

/* el móvil de la conversación en la cabecera de /crm-ia (misma pieza que la home; entra una vez, escalonada) */
.telefono--pag { margin: var(--s-3) auto var(--s-7); }
@media (prefers-reduced-motion: no-preference) {
  .telefono--pag .mensajes--hero > *, .telefono--pag .telefono__aviso { animation: pag-entra 320ms var(--ease-out) both; }
  .telefono--pag .mensajes--hero > :nth-child(1) { animation-delay: 120ms; }
  .telefono--pag .mensajes--hero > :nth-child(2) { animation-delay: 240ms; }
  .telefono--pag .mensajes--hero > :nth-child(3) { animation-delay: 360ms; }
  .telefono--pag .mensajes--hero > :nth-child(4) { animation-delay: 480ms; }
  .telefono--pag .mensajes--hero > :nth-child(5) { animation-delay: 600ms; }
  .telefono--pag .telefono__aviso { animation-name: pag-entra-aviso; animation-delay: 840ms; }
  @keyframes pag-entra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
  @keyframes pag-entra-aviso { from { opacity: 0; transform: rotate(3deg) translateY(8px); } to { opacity: 1; transform: rotate(3deg); } }
}
@media (max-width: 767px) {
  .telefono--pag { aspect-ratio: auto; transform: none; width: min(100%, 340px); margin-bottom: var(--s-4); }
  .telefono--pag .telefono__pantalla { height: auto; padding-bottom: 14px; }
  .telefono--pag .telefono__aviso { position: static; transform: none; max-width: none; margin: var(--s-3) 0 0; animation-name: pag-entra; }
  .pag-cab--objeto .pag-cab__hechos { margin-top: var(--s-2); }
}

/* ---------- Marcadores abiertos: discretos en la página, agrupados en un bloque solo visible en borrador ---------- */
.pagina main mark.marcador { font-weight: 500; font-size: .94em; padding: 0 .25em; border-radius: 3px; text-decoration: none; background: color-mix(in oklab, var(--luz-ambar) 14%, transparent); }
.pendiente { display: none; margin-block: var(--s-7); padding: var(--s-5); border-radius: var(--r-tarjeta); border: 1px dashed var(--ink-3); }
[data-borrador] .pendiente { display: block; }
.pendiente h2 { font-size: var(--t-4); font-family: var(--f-text); font-stretch: 100%; letter-spacing: 0; font-weight: 600; }
.pendiente p { margin-top: var(--s-2); color: var(--ink-2); font-size: var(--t-6); }
.pendiente ul { margin-top: var(--s-3); display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4); font-size: var(--t-6); }

/* ---------- Cierres: botón principal + WhatsApp ---------- */
.cierre__acciones { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-4); align-items: center; margin-top: var(--s-6); }
.cierre__texto .cierre__acciones .boton, .lectura__cierre .cierre__acciones .boton { margin-top: 0; }
.lectura__cierre .cierre__acciones { margin-top: var(--s-5); }
@media (max-width: 599px) { .cierre__acciones .boton { width: 100%; } }

/* ---------- Carril y rail en interiores (mismos componentes que la home) ---------- */
.carril--noche { color: var(--dia-50); }
@media (max-width: 1023px) { .pagina .pie { padding-bottom: calc(var(--rail) + var(--s-6)); } }

/* ---------- Tablas con cabecera pegajosa ---------- */
@media (min-width: 768px) {
  .tabla--sticky thead th { position: sticky; top: var(--cabecera); background: var(--dia-50); z-index: 2; }
}

/* ---------- /kits ---------- */





.resumen-kit { position: relative; display: grid; gap: var(--s-3); padding: var(--s-6); border-radius: var(--r-tarjeta); background: var(--dia-100); box-shadow: inset 0 0 0 1.5px var(--luz-ambar), -14px 28px 56px -22px rgba(244,183,64,.55), var(--sombra-corta); max-width: 420px; }
.resumen-kit .kit__recomendado { font-size: var(--t-label); font-weight: 600; color: var(--acento-texto); }
.resumen-kit__nombre { font-family: var(--f-display); font-stretch: 112%; font-weight: 650; font-size: var(--t-3); line-height: var(--lh-3); letter-spacing: var(--ls-3); }
.resumen-kit__lista { display: grid; gap: 0; border-top: 1px solid var(--linea); margin-top: var(--s-2); }
.resumen-kit__lista li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--s-3); padding-block: 10px; border-bottom: 1px solid var(--linea); color: var(--ink); font-size: var(--t-6); }
.resumen-kit .boton { margin-top: var(--s-2); }
.resumen-kit .enlace { justify-self: start; padding-block: 8px; }
@media (min-width: 1024px) { .resumen-kit { transform: rotate(-1.5deg); } }
@media (max-width: 599px) { .resumen-kit .boton { width: 100%; white-space: normal; } }




.incluye-dos { display: grid; gap: var(--s-6) var(--canal); }
.incluye-dos h2 { font-size: var(--t-3); max-width: 22ch; margin-bottom: var(--s-4); }
@media (min-width: 900px) { .incluye-dos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- /confianza ---------- */
.esencial { padding: var(--s-5); border-radius: var(--r-tarjeta); background: var(--dia-100); box-shadow: var(--borde-luz), var(--sombra-corta); max-width: 440px; }
.esencial__t { font-size: var(--t-label); font-weight: 600; color: var(--ink-2); margin-bottom: var(--s-2); }
.esencial ul { display: grid; }
.esencial li + li { border-top: 1px solid var(--linea); }
.esencial a { display: grid; grid-template-columns: 28px 1fr; gap: var(--s-3); align-items: start; padding-block: var(--s-4); min-height: 44px; text-decoration: none; color: var(--ink); }
.esencial a .ico { color: var(--acento-texto); width: 24px; height: 24px; stroke-width: 1.5; margin-top: 2px; }
.esencial a strong { display: block; font-weight: 600; font-size: var(--t-5); color: var(--ink); }
.esencial a > span { color: var(--ink-2); font-size: var(--t-6); }
@media (hover: hover) and (pointer: fine) { .esencial a:hover strong { text-decoration: underline; text-underline-offset: .2em; } }
.esencial a:focus-visible { outline-offset: -2px; }

.lectura__cuerpo h2 { position: relative; }
.copia-enlace { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-left: 4px; vertical-align: middle; background: none; border: 0; border-radius: var(--r-control); color: var(--ink-3); cursor: pointer; touch-action: manipulation; }
.copia-enlace .ico { width: 18px; height: 18px; }
@media (hover: hover) and (pointer: fine) {
  .copia-enlace { opacity: 0; transition: opacity var(--d-2) var(--ease-out), color var(--d-2) var(--ease-out); }
  .lectura__cuerpo h2:hover .copia-enlace, .copia-enlace:focus-visible { opacity: 1; }
  .copia-enlace:hover { color: var(--acento-texto); }
}
.aviso-copia { position: fixed; left: 50%; bottom: calc(var(--s-6) + env(safe-area-inset-bottom, 0px)); transform: translate(-50%, 8px); opacity: 0; pointer-events: none; padding: 10px 16px; border-radius: var(--r-control); background: var(--tinta-900); color: var(--papel); font-size: var(--t-6); z-index: 1100; transition: opacity var(--d-2) var(--ease-out), transform var(--d-2) var(--ease-out); }
.aviso-copia[data-visible="true"] { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 1023px) { .aviso-copia { bottom: calc(var(--rail) + var(--s-5)); } }

/* índice: barra de 2 px en la sección en pantalla */
.indice a { box-shadow: inset 2px 0 0 transparent; padding-left: 10px; transition: color var(--d-2) var(--ease-out), box-shadow var(--d-2) var(--ease-out); }
.indice a[aria-current="true"] { box-shadow: inset 2px 0 0 var(--luz-ambar); }

/* tabla de encargados en móvil: una tarjeta por fila */
@media (max-width: 767px) {
  .tabla--zebra tbody tr { margin-bottom: var(--s-3); border: 1px solid var(--linea); border-radius: var(--r-tarjeta); background: var(--dia-100); padding: var(--s-4); }
  .tabla--zebra tbody tr:nth-child(even) { background: var(--dia-100); }
  .tabla--zebra tbody tr:first-child { border-top: 1px solid var(--linea); }
  .tabla--zebra tbody th { font-size: var(--t-5); }
}

/* ---------- /servicios: página de catálogo, una columna de lectura, sin velo ---------- */
.pag-cab--catalogo::before { display: none; }
.pag-cab--catalogo { padding-bottom: var(--s-6); }
.pag-cab--catalogo h1 { max-width: 20ch; }
.pag-cab--catalogo .lead { max-width: 60ch; }
.servicio { grid-template-columns: 1fr; gap: var(--s-4); padding-block: var(--s-5); }
.servicio__cab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3) var(--s-5); }
.servicio__cab .boton { margin-top: 0; }
.servicio__dl { gap: var(--s-4) 0; font-variant-numeric: tabular-nums; }
.servicio__dl dd { max-width: none; }
@media (min-width: 768px) {
  .servicio__dl { grid-template-columns: 1.6fr 1fr 1fr 1fr; }
  .servicio__dl > div:first-child { grid-column: auto; padding-left: 0; border-left: 0; }
  .servicio__dl > div { padding-inline: var(--s-4); border-left: 1px solid var(--linea); }
}
@media (min-width: 1024px) { .servicio { grid-template-columns: 1fr; } .servicio__cab, .servicio__dl { grid-column: auto; } }

/* ---------- Pulsar con carácter; sin movimiento si se pide ---------- */
.boton:active, .copia-enlace:active { transform: scale(.97); }
@media (prefers-reduced-motion: reduce) {
  .aviso-copia, .copia-enlace, .indice a { transition: none; }
  .telefono--pag .mensajes--hero > *, .telefono--pag .telefono__aviso { animation: none; }
}

.pag-cab--catalogo + .capitulo { padding-top: 0; }
.pag-cab--objeto { padding-bottom: var(--s-6); }
@media (max-width: 767px) { .telefono--pag { height: auto; margin-left: auto; -webkit-mask-image: none; mask-image: none; } }
.pagina main { overflow-x: clip; }

/* ---------- Ola 3: imágenes de banco en las páginas interiores ---------- */
.pag-cab .banco--cab { margin-top: var(--s-6); max-width: 440px; }
.pag-cab--catalogo.pag-cab--objeto .pag-cab__objeto .banco { max-width: 460px; margin-inline: auto; }
@media (min-width: 1024px) {
  .problema .banco--problema { grid-column: 1 / 7; margin-top: var(--s-2); }
  .problema .escenas { grid-row: 1 / span 2; }
}

/* F4-3b · "Recomendado" de /kits sale del título: el título baja 26 px (como en la home) y la etiqueta queda encima con 12 px de aire */
@media (min-width: 900px) { .kitres__uno { padding-top: calc(var(--s-5) + 26px); } }
@media (max-width: 899px) { .kitres__uno--rec { padding-top: calc(var(--s-5) + 26px); } }
/* y el resumen del kit en la cabecera de /kits: la etiqueta vuelve al flujo (heredaba el absolute de la tabla de la home) */
.resumen-kit .kit__recomendado { position: static; }

/* Win to Win en /kits */
#win-to-win .peq { margin-top: var(--s-3); color: var(--ink-2); }
.ww-cta { margin-top: var(--s-4); }

/* 7-2a: los cuatro servicios (mismos nombres y frases en /kits, /servicios, /crm-ia y /confianza) y su fila de grupo en la tabla de kits */
.cuatro { display: grid; gap: var(--s-3) var(--canal); }
.cuatro li { padding: var(--s-4) var(--s-5); border-radius: var(--r-tarjeta); box-shadow: inset 0 0 0 1px var(--linea); }
.cuatro h3 { font-family: var(--f-text); font-stretch: 100%; font-size: var(--t-5); font-weight: 500; letter-spacing: 0; line-height: 1.3; color: var(--ink-2); }
.cuatro h3 .nom { white-space: nowrap; }
.cuatro h3 a { font-weight: 650; color: var(--acento-texto); text-decoration: underline; text-underline-offset: 3px; display: inline-block; padding-block: 11px; margin-block: -11px; }
@media (min-width: 900px) { .cuatro { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 600px) and (max-width: 899px) { .cuatro { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tabla--kits tbody th[scope="rowgroup"] { padding: var(--s-5) 14px var(--s-2) 0; font-size: var(--t-5); font-weight: 650; scroll-margin-top: calc(var(--cabecera) + var(--s-4)); }
@media (max-width: 767px) { .tabla--kits tr.grupo { padding-block: var(--s-4) 0; } }

/* 9b · /kits en movil: un acordeon por servicio, cerrado (paginas.js). Sin JS o desde 768 px la tabla se ve entera */
.tabla--kits tr[hidden] { display: none; }
.acord { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); width: 100%; min-height: 56px; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; touch-action: manipulation; }
.acord__mas::after { content: "+"; font-size: 1.5em; font-weight: 400; line-height: 1; color: var(--acento-texto); }
.acord[aria-expanded="true"] .acord__mas::after { content: "\2212"; }
@media (max-width: 767px) { .tabla--kits tbody:has(.acord) { display: block; border-top: 1px solid var(--linea); } .tabla--kits tbody:has(.acord) tr.grupo { padding-block: 0; } .tabla--kits tbody:has(.acord) th[scope="rowgroup"] { padding: 0; } }
