/* Ponencia «Función cardíaca fetal» · estilo del módulo.
   Sobre _comun/ponencia.css (papel claro, tinta, azul #3d5afe, marino). Lo propio de esta ponencia es el monitor del
   Fetal Fusion Simulator: un marco con su marca, el hueco donde monitor.js pone el simulador y una barra de mandos
   mínima. Claro para el 3D, oscuro para la imagen ecográfica. */

/* ── Texto ─────────────────────────────────────────────────────────── */
.t em { font-style: italic; color: var(--azul); }
.clave { margin: 0; font: 400 var(--fs-p)/1.45 var(--sans); color: var(--texto); text-wrap: pretty; max-width: 26em; }
.es-escenario .clave { font-size: 30px; line-height: 1.4; }
.clave b { font-weight: 600; color: var(--marino); }
.bajada { margin: 28px 0 0; font: 400 italic 38px/1.3 var(--serif); color: var(--texto); }
.es-lectura .bajada { font-size: 18px; margin-top: 10px; }

/* Notas del ponente: ocultas en escenario (tecla N); en lectura forman el desarrollo de la lámina. */
.notas { display: grid; gap: .45em; margin-top: var(--g3); }
.notas .l { max-width: 34em; }
.es-escenario .notas { display: none; }
.es-escenario.ver-notas .d.activa .notas {
  display: grid; position: absolute; left: 120px; right: 120px; bottom: 150px; z-index: 5;
  padding: 26px 34px; background: rgb(251 251 252 / 97%); border: 1px solid var(--linea2); border-radius: 18px;
  box-shadow: 0 18px 50px rgb(10 10 12 / 12%);
}
.es-escenario.ver-notas .d.activa .notas .l { font-size: 22px; max-width: none; }
.es-escenario.ver-notas .d.activa .notas::before {
  content: 'Notas del ponente · N para ocultar'; font: 500 15px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--azul);
}
.es-escenario.ver-notas .ffs-frame { z-index: 1; }
.es-lectura .notas { border-top: 1px solid var(--linea); padding-top: var(--g2); }
.es-escenario .d > .fuente { font-size: 14px; opacity: .8; }

/* ── Láminas con simulador ─────────────────────────────────────────── */
.es-escenario .d--ffs { grid-template-columns: 560px minmax(0, 1fr); column-gap: 80px; padding: 110px 110px 140px; }
.es-escenario .d--ffs .t { font-size: 62px; }
.es-escenario .d--ffs .fig { grid-row: 1 / span 2; }

.es-escenario .d--ffs-portada { grid-template-columns: 700px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; grid-template-areas: "cab fig" "pie fig"; column-gap: 90px; padding: 110px 110px 140px; }
.es-escenario .d--ffs-portada .cab { align-self: center; }
.es-escenario .d--ffs-portada .t { font-size: 116px; line-height: 1; }
.es-escenario .d--ffs-portada .fig { grid-row: 1 / span 2; }

/* ── El monitor ────────────────────────────────────────────────────── */
.monitor {
  display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto;
  border: 1px solid var(--linea2); border-radius: 24px; overflow: hidden; background: var(--hoja);
  box-shadow: 0 24px 60px rgb(15 37 87 / 8%);
}
.monitor__cab {
  display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 16px 24px;
  font: 500 14px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--tenue);
  border-bottom: 1px solid var(--linea);
}
.ffs-marca { display: inline-flex; align-items: center; gap: 10px; color: var(--marino); font-weight: 600; white-space: nowrap; }
.ffs-marca::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: var(--azul); box-shadow: 0 0 0 4px var(--azul-suave); }
.ffs-listo .ffs-marca::before { animation: latido 0.61s ease-out infinite; }
@keyframes latido { 0% { box-shadow: 0 0 0 0 rgb(61 90 254 / 45%); } 100% { box-shadow: 0 0 0 9px rgb(61 90 254 / 0%); } }
.monitor__tag { text-align: right; }
.monitor__vista { position: relative; min-height: 0; background: radial-gradient(120% 90% at 42% 36%, #ffffff 0%, #f1f2f5 100%); }
.monitor__espera {
  position: absolute; inset: 0; margin: 0; display: grid; place-items: center;
  font: 500 16px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--tenue);
}
.monitor__mandos { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 18px; border-top: 1px solid var(--linea); }
.monitor__nota { margin: 0; padding: 12px 24px 14px; border-top: 1px solid var(--linea); font: 400 13px/1.3 var(--mono); letter-spacing: .06em; color: var(--tenue); }
.sep { width: 1px; height: 28px; margin: 0 6px; background: var(--linea2); }

.mb {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; min-width: 46px; padding: 0 14px;
  border: 1px solid var(--linea2); border-radius: 999px; background: var(--hoja);
  font: 500 16px/1 var(--mono); letter-spacing: .02em; color: var(--marino); cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
}
.mb--txt { padding: 0 18px; }
.mb:hover { border-color: var(--azul); }
.mb:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; }
.mb[aria-pressed="true"] { background: var(--marino); border-color: var(--marino); color: #fff; }
.mb svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mb[data-accion="play"], .mb[data-accion="play"][aria-pressed] { background: var(--hoja); border-color: var(--linea2); color: var(--marino); }
.mb[data-accion="play"] .i-play { display: none; fill: currentColor; stroke: none; }
.mb[data-accion="play"][aria-pressed="false"] .i-play { display: block; }
.mb[data-accion="play"][aria-pressed="false"] .i-pausa { display: none; }

/* oscuro: la imagen del ecógrafo */
.monitor--oscuro { background: #0b0e14; border-color: #1c222c; box-shadow: 0 24px 60px rgb(10 10 12 / 22%); }
.monitor--oscuro .monitor__cab { color: #7f8a9c; border-color: #161b23; }
.monitor--oscuro .ffs-marca { color: #dfe6f2; }
.monitor--oscuro .monitor__vista { background: #07090c; }
.monitor--oscuro .monitor__espera { color: #5d6778; }
.monitor--oscuro .monitor__mandos { border-color: #161b23; }
.monitor--oscuro .sep { background: #263040; }
.monitor--oscuro .mb { background: #121720; border-color: #263040; color: #c9d3df; }
.monitor--oscuro .mb:hover { border-color: #8fa3ff; }
.monitor--oscuro .mb[aria-pressed="true"] { background: var(--azul); border-color: var(--azul); color: #fff; }
.monitor--oscuro .mb[data-accion="play"], .monitor--oscuro .mb[data-accion="play"][aria-pressed] { background: #121720; border-color: #263040; color: #c9d3df; }

/* movimiento ampliado: rotulado en el propio monitor */
.tag-amp { display: none; color: var(--azul); }
.monitor.ampliado .tag-amp { display: inline; }

/* el simulador: un solo iframe sobre el lienzo (monitor.js lo coloca sobre .monitor__vista) */
.ffs-frame { position: absolute; z-index: 3; display: block; border: 0; background: transparent; opacity: 0; pointer-events: none; transition: opacity .45s var(--ease); }
.ffs-frame.on { opacity: 1; pointer-events: auto; }
/* (cuarta ronda) al salir de la lámina el simulador se apaga al momento: no se desvanece ya colocado sobre el monitor siguiente */
.ffs-frame:not(.on) { transition: none; }
.es-lectura .ffs-frame { display: none; }
.es-lectura .monitor__espera { font-size: 10px; padding: 0 16px; text-align: center; }
.es-lectura .monitor__espera::after { content: ' · abre la ponencia en una pantalla horizontal para usar el simulador'; }
.es-lectura .monitor { min-height: 300px; }

/* ── Escena 1: cuatro tarjetas bajo el corazón ─────────────────────── */
.tarjetas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--linea); }
.tarjeta { padding: 20px 22px 22px; min-width: 0; }
.tarjeta + .tarjeta { border-left: 1px solid var(--linea); }
.tarjeta .k { font-size: 14px; }
.tarjeta b { display: flex; align-items: baseline; gap: 6px; margin-top: 12px; font: 500 60px/1 var(--serif); color: var(--azul); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.tarjeta b small { font: 500 20px/1 var(--mono); color: var(--tenue); letter-spacing: .04em; }
.tarjeta .nom { display: block; margin-top: 10px; font: 500 14px/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--marino); }
.tarjeta > p:last-child { margin: 10px 0 0; font: 400 18px/1.35 var(--sans); color: var(--texto); text-wrap: pretty; }
.es-lectura .tarjetas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.es-lectura .tarjeta b { font-size: 30px; }
.es-lectura .tarjeta + .tarjeta { border-left: 0; }

/* ── Escena 3: un texto por movimiento ─────────────────────────────── */
.movs { display: grid; }
.mov { grid-area: 1 / 1; opacity: 0; transform: translateY(10px); transition: opacity .45s var(--ease), transform .45s var(--ease); pointer-events: none; }
.mov.on { opacity: 1; transform: none; }
.mov .l { margin-top: 14px; }
.es-escenario .mov .l { font-size: 30px; line-height: 1.42; }
.es-lectura .mov { opacity: 1; transform: none; grid-area: auto; }

/* ── Escenas 4–5: definiciones y lectura de la línea M ─────────────── */
.defs { display: grid; gap: 18px; }
.es-escenario .defs .l { font-size: 22px; line-height: 1.45; }
.lectura:empty { display: none; }
.lectura { margin: 30px 0; padding: 6px 24px; border: 1px solid var(--linea2); border-radius: 18px; background: var(--hoja); }
.fila { display: grid; grid-template-columns: minmax(0, 1fr) auto 70px; align-items: baseline; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--linea); }
.fila:last-child { border-bottom: 0; }
.fila span { font: 400 19px/1.3 var(--sans); color: var(--texto); }
.fila b { font: 500 34px/1 var(--serif); color: var(--marino); font-variant-numeric: tabular-nums; white-space: nowrap; }
.fila i { font: 500 15px/1 var(--mono); font-style: normal; color: var(--tenue); }
.fila.fuerte b { font-size: 46px; color: var(--azul); }
.fila.aviso b { color: #c2410c; }
.es-escenario .d--ffs .pie .clave { font-size: 26px; }

/* ── Escaleta ──────────────────────────────────────────────────────── */
.es-escenario .d--ffs-escaleta { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); grid-template-areas: "cab" "fig"; row-gap: 40px; }
.escaleta { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 90px; }
.escaleta li { display: grid; grid-template-columns: 64px minmax(0, 1fr) 60px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--linea); break-inside: avoid; font: 400 24px/1.3 var(--sans); color: var(--tenue); }
.escaleta b { font: 500 19px/1 var(--mono); color: var(--linea2); }
.escaleta i { font: 500 17px/1 var(--mono); font-style: normal; text-align: right; }
.escaleta .hecha { color: var(--tinta); }
.escaleta .hecha b { color: var(--azul); }
.es-lectura .escaleta { columns: 1; }
.es-lectura .escaleta li { font-size: 14px; padding: 8px 0; grid-template-columns: 34px minmax(0, 1fr) 40px; }

/* fuentes de las láminas con simulador: en la columna del texto, sin pasar bajo el monitor */
.es-escenario .d--ffs > .fuente { right: auto; width: 600px; left: 110px; bottom: 92px; }
.grupo-ang { display: contents; }
.monitor.sin-angulo .grupo-ang { display: none; }

/* ══ Escenas de la ponencia completa ══════════════════════════════════ */

/* índice de capítulos arriba a la derecha (escenas.js lo inserta con data-cap) */
.caps { display: none; }
.es-escenario .caps { display: flex; gap: 24px; position: absolute; top: 50px; right: 110px; margin: 0; padding: 0; list-style: none; font: 500 13px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--linea2); }
.es-escenario .caps b { margin-right: 7px; font-weight: 600; }
.es-escenario .caps .on { color: var(--azul); }

/* textos */
.bloques { display: grid; gap: 26px; }
.es-escenario .bloque .l { font-size: 23px; line-height: 1.45; margin-top: 8px; }
.es-escenario .l--grande { font-size: 27px; line-height: 1.45; }
.l--nota { font: 400 15px/1.45 var(--mono) !important; color: var(--tenue) !important; letter-spacing: .02em; margin-top: 4px !important; }
.limites { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 18px; }
.limites li { position: relative; padding-left: 24px; font: 400 22px/1.42 var(--sans); color: var(--texto); }
.limites li::before { content: ''; position: absolute; left: 0; top: .58em; width: 9px; height: 9px; border-radius: 50%; background: var(--azul); }
.limites b, .flujo-hq b { color: var(--marino); font-weight: 600; }
.flujo-hq { margin: 0 0 30px; padding-left: 1.3em; display: grid; gap: 14px; font: 400 22px/1.42 var(--sans); color: var(--texto); }
.flujo-hq li::marker { font: 600 18px var(--mono); color: var(--azul); }
.es-lectura .limites li, .es-lectura .flujo-hq { font-size: 13px; }
.formula { letter-spacing: .04em; }
.es-escenario .defs .formula { font-size: 26px; }

/* lecturas compactas */
.lectura--fina { margin: 14px 0 0; padding: 2px 20px; }
.lectura--fina .fila { padding: 9px 0; }
.lectura--fina .fila span { font-size: 17px; }
.lectura--fina .fila b { font-size: 26px; }
.lectura--fina .fila.fuerte b { font-size: 32px; }
.lectura .segs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 18px; padding: 12px 0 16px; border-top: 1px solid var(--linea); }
.lectura .segs span { display: grid; gap: 3px; }
.lectura .segs i { font: 500 12.5px/1.2 var(--mono); font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: var(--tenue); }
.lectura .segs b { font: 500 26px/1 var(--serif); color: var(--marino); font-variant-numeric: tabular-nums; }

/* monitor: leyenda junto a los mandos; mandos del espectro solo con el espectro */
.monitor__leyenda { margin-left: 10px; font: 500 13px/1.3 var(--mono); letter-spacing: .06em; color: var(--tenue); }
.monitor--oscuro .monitor__leyenda { color: #7f8a9c; }
.monitor.sin-espectro .grupo-esp { display: none; }

/* 07 · deformación: el monitor y las cuatro curvas lado a lado */
.es-escenario .d--deform {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas: "cab cab" "fig curvas" "pie pie"; column-gap: 56px; row-gap: 28px; padding: 100px 110px 140px;
}
.es-escenario .d--deform .t { font-size: 62px; }
.es-escenario .d--deform .pie .clave { max-width: none; font-size: 25px; }
.curvas4 { grid-area: curvas; display: grid; grid-template-rows: auto repeat(4, minmax(0, 1fr)); gap: 12px; min-height: 0; }
.curvas4__cab { margin: 0; font: 500 14px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--tenue); }
.curva { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto minmax(0, 1fr); gap: 4px 12px; min-height: 0; padding: 10px 16px 8px; border: 1px solid var(--linea); border-radius: 14px; background: var(--hoja); }
.curva .k { font-size: 13px; }
.curva b[data-pico] { grid-row: 1; grid-column: 2; font: 500 15px/1.4 var(--mono); color: var(--marino); }
.curva svg { grid-column: 1 / -1; width: 100%; height: 100%; min-height: 50px; overflow: visible; }
.curva svg path, .curva svg line { vector-effect: non-scaling-stroke; }
.curva .sis { fill: var(--relleno); }
.curva .cero { stroke: var(--linea2); stroke-width: 1; }
.curva .ev { stroke: var(--linea2); stroke-width: 1; stroke-dasharray: 3 4; }
.curva path { fill: none; stroke-width: 2.6; stroke-linejoin: round; }
.curva .trazo-disp { stroke: var(--azul); }
.curva .trazo-vel { stroke: #0f8f7e; }
.curva .trazo-st { stroke: #c2410c; }
.curva .trazo-sr { stroke: var(--marino); }
.curva .cur { stroke: var(--tinta); stroke-width: 1.6; }
.es-lectura .curvas4 { gap: 8px; }
.es-lectura .curva { min-height: 90px; }

/* 08 · esquema del moteado */
.moteado { border-radius: 24px; overflow: hidden; background: #000; box-shadow: 0 24px 60px rgb(10 10 12 / 22%); }
.moteado__cv { position: absolute; inset: 0; display: block; }
.moteado__ley, .seg24__ley { position: absolute; left: 22px; bottom: 18px; z-index: 1; display: flex; gap: 22px; margin: 0; font: 500 13px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #9aa6b8; }
.c-bloque::before, .c-busca::before, .c-ed::before, .c-es::before { content: ''; display: inline-block; width: 14px; height: 10px; margin-right: 8px; vertical-align: -1px; border: 2.5px solid #6f86ff; }
.c-busca::before { border: 2px dashed #ffd23f; }

/* 10 · esquema de los 24 segmentos */
.seg24-fig { border: 1px solid var(--linea2); border-radius: 24px; background: var(--hoja); overflow: hidden; }
.seg24 { position: absolute; inset: 24px 24px 50px; width: calc(100% - 48px); height: calc(100% - 74px); }
.seg24 .ed { fill: none; stroke: #2f9e63; stroke-width: 2; stroke-dasharray: 6 6; opacity: .7; }
.seg24 .vivo { fill: rgb(47 158 99 / 7%); stroke: #2f9e63; stroke-width: 3.5; transition: stroke .3s; }
.seg24 .vivo.es { stroke: #d4a017; fill: rgb(212 160 23 / 8%); }
.seg24 .cuerda { stroke: var(--linea2); stroke-width: 1.4; }
.seg24 .cuerda.clave { stroke: var(--azul); stroke-width: 2.6; }
.seg24 .eje { stroke: var(--tenue); stroke-width: 1.4; stroke-dasharray: 4 5; }
.seg24 .rot { font: 500 17px var(--mono); fill: var(--tenue); letter-spacing: .06em; }
.seg24__ley { color: var(--tenue); }
.c-ed::before { border: 2px dashed #2f9e63; }
.c-es::before { border-color: #d4a017; }

/* 12 · la matriz de técnicas */
.es-escenario .d--tabla { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); grid-template-areas: "cab" "fig"; row-gap: 40px; padding: 100px 110px 140px; }
.es-escenario .d--tabla .t { font-size: 60px; }
.matriz { width: 100%; border-collapse: collapse; font: 400 20px/1.35 var(--sans); color: var(--texto); }
.matriz th { padding: 0 14px 14px; text-align: left; font: 500 13px/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--tenue); border-bottom: 1.5px solid var(--linea2); }
.matriz td { padding: 13px 14px; border-bottom: 1px solid var(--linea); vertical-align: baseline; }
.matriz td:first-child { font: 500 23px/1.2 var(--serif); color: var(--tinta); white-space: nowrap; }
.matriz .si, .matriz .no { text-align: center; font-family: var(--mono); }
.matriz th:nth-child(3), .matriz th:nth-child(4) { text-align: center; }
.matriz .si { color: var(--azul); font-size: 22px; }
.matriz .no { color: var(--tenue); font-size: 15px; }
.rciu { margin-top: 30px; padding: 18px 26px; border-left: 4px solid var(--azul); border-radius: 0 14px 14px 0; background: var(--azul-suave); }
.es-escenario .rciu .l { margin-top: 8px; font-size: 24px; max-width: none; }
.es-lectura .matriz { font-size: 10.5px; }
.es-lectura .matriz td:first-child { font-size: 12px; white-space: normal; }

/* 13 · conclusión */
.es-escenario .d--cierre .t { font-size: 84px; }
.ideas { list-style: none; margin: 40px 0 0; padding: 0; display: grid; gap: 18px; counter-reset: idea; }
.ideas li { font: 400 23px/1.4 var(--sans); color: var(--texto); max-width: 30em; }
.ideas b { display: block; margin-bottom: 3px; font: 500 13px/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--azul); }
.es-lectura .ideas li { font-size: 13px; }

/* ── Lectura (teléfono): el simulador no se carga; el monitor queda como un rótulo y las cifras del modelo ── */
.es-lectura .fig.monitor { flex: none; min-height: 0; }
.es-lectura .monitor__cab { padding: 10px 14px; font-size: 9.5px; }
.es-lectura .monitor__tag, .es-lectura .monitor__mandos { display: none; }
.es-lectura .monitor__vista { min-height: 64px; }
.es-lectura .monitor__espera { font-size: 0; padding: 0 14px; }
.es-lectura .monitor__espera::after { content: 'Simulador en vivo: abre la ponencia en una pantalla horizontal'; font-size: 9.5px; line-height: 1.4; letter-spacing: .1em; }
.es-lectura .tarjeta { padding: 12px 14px; }
.es-lectura .tarjeta .k, .es-lectura .tarjeta .nom { font-size: 9.5px; }
.es-lectura .tarjeta b { font-size: 26px; margin-top: 6px; }
.es-lectura .tarjeta b small { font-size: 11px; }
.es-lectura .tarjeta > p:last-child { font-size: 12px; }
.es-lectura .tarjeta:nth-child(odd) { border-right: 1px solid var(--linea); }
.es-lectura .tarjeta:nth-child(n+3) { border-top: 1px solid var(--linea); }
.es-lectura .monitor__nota { font-size: 9.5px; padding: 8px 14px; }
.es-lectura .moteado, .es-lectura .seg24-fig { min-height: 220px; }
.es-lectura .curvas4__cab { font-size: 9.5px; }
.es-lectura .curva .k, .es-lectura .curva b[data-pico] { font-size: 9.5px; }
/* en el teléfono cada lámina se lee de arriba abajo (las de esta ponencia tienen más texto que las del aula) */
.es-lectura .d { overflow-y: auto; overscroll-behavior-y: contain; }
.es-lectura .fig.curvas4, .es-lectura .d--tabla .fig, .es-lectura .fig.moteado, .es-lectura .fig.seg24-fig { flex: none; }
.es-lectura .curvas4 { display: flex; flex-direction: column; gap: 8px; }
.es-lectura .curva { min-height: 0; }
.es-lectura .curva svg { height: 56px; min-height: 0; }
.es-lectura .d--tabla .fig { overflow-x: auto; }
.es-lectura .matriz { min-width: 620px; }
.es-lectura .matriz th { font-size: 8.5px; padding: 0 6px 8px; }
.es-lectura .matriz td { padding: 7px 6px; }
.es-lectura .rciu { padding: 10px 14px; margin-top: 14px; }
.es-lectura .curvas4 { flex: none; }
.es-lectura .curva { grid-template-rows: auto 56px; }

/* ══ Correcciones del 07-11-2026 ═════════════════════════════════════ */

/* portada: credenciales sobrias */
.credenciales { display: grid; gap: 6px; }
.credenciales p { margin: 0; font: 400 21px/1.35 var(--sans); color: var(--texto); }
.credenciales .nombre { font: 500 30px/1.2 var(--serif); color: var(--tinta); margin-bottom: 6px; }
.es-lectura .credenciales p { font-size: 13px; }
.es-lectura .credenciales .nombre { font-size: 17px; }

/* leyenda de los tres anillos */
.ley-anillos { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 34px 0 0; font: 500 15px/1.2 var(--mono); letter-spacing: .06em; color: var(--tenue); }
.ley-anillos span::before { content: ''; display: inline-block; width: 26px; height: 6px; margin-right: 8px; vertical-align: 2px; border-radius: 3px; background: var(--c); }
.ley-anillos .a1 { --c: #1f5eff; } .ley-anillos .a2 { --c: #d61f8a; } .ley-anillos .a3 { --c: #f08a00; }
.ley-anillos .a0 { --c: #fff; } .ley-anillos .a0::before { box-shadow: inset 0 0 0 1.5px #15181d; }

/* textos que cambian con el botón (Doppler, FetalHQ, comparación) */
.objs { display: grid; }
.obj { grid-area: 1 / 1; opacity: 0; transform: translateY(8px); transition: opacity .4s var(--ease), transform .4s var(--ease); pointer-events: none; }
.obj.on { opacity: 1; transform: none; pointer-events: auto; }
.obj .l + .l, .obj .formula + .l { margin-top: 12px; }
.obj .formula { margin: 12px 0 0; font: 500 24px/1.3 var(--mono); color: var(--marino); }
.es-escenario .obj .l { font-size: 23px; line-height: 1.45; }
.es-lectura .obj { opacity: 1; transform: none; grid-area: auto; margin-bottom: 14px; }
/* Doppler: los botones de medida del gasto solo con el gasto */
.monitor .solo-GC { display: none; }
.monitor[data-obj="gc"] .solo-GC { display: inline-flex; }
.monitor[data-obj="gc"] .solo-noGC { display: none; }

/* speckle: los pasos */
.pasos-st { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 12px; counter-reset: st; }
.pasos-st li { counter-increment: st; font: 400 22px/1.35 var(--sans); color: var(--texto); }
.pasos-st li::before { content: counter(st); display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 12px; border-radius: 50%; background: var(--marino); color: #fff; font: 600 15px/1 var(--mono); }
.c-ama { color: #b58500; font-weight: 600; } .c-lila { color: #8a4fe0; font-weight: 600; }
.es-escenario .d--ffs .limites { margin-top: 26px; gap: 12px; }
.es-escenario .d--ffs .limites li { font-size: 19px; }

/* 13 · comparación: dos monitores lado a lado y el texto de cada paso debajo */
.es-escenario .d--comparar {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas: "cab cab" "a b" "pie pie"; column-gap: 36px; row-gap: 22px; padding: 96px 100px 120px;
}
.es-escenario .d--comparar .t { font-size: 56px; }
.d--comparar .cmp-a { grid-area: a; } .d--comparar .cmp-b { grid-area: b; }
.d--comparar .pie { grid-area: pie; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; column-gap: 34px; }
.d--comparar .cmp-mandos { border: 0; padding: 0; max-width: 700px; }
.cmp-texto { display: grid; grid-template-columns: minmax(0, 1fr) 470px; column-gap: 30px; align-items: start; }
.es-escenario .cmp-texto .obj .l { font-size: 21px; }
.fuente.fuente-in { position: static; margin: 10px 0 0; font-size: 13px; opacity: .85; }
.ffs-marca--b::before { background: #ff9a3c; box-shadow: 0 0 0 4px rgb(255 154 60 / 18%); }
.cmp-cifras { display: flex; flex-direction: column; min-width: 0; }
.cmp-cifras .cfila { display: grid; grid-template-columns: minmax(0, 1fr) 90px 90px 44px; align-items: baseline; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--linea); }
.cmp-cifras .cfila span { font: 400 17px/1.3 var(--sans); color: var(--texto); }
.cmp-cifras .cfila b { font: 500 28px/1 var(--serif); color: var(--marino); text-align: right; font-variant-numeric: tabular-nums; }
.cmp-cifras .cfila b.b { color: #c2410c; }
.cmp-cifras .cfila i { font: 500 13px/1 var(--mono); font-style: normal; color: var(--tenue); }
.cmp-cifras .cfila.cab { padding-top: 0; border-bottom: 1.5px solid var(--linea2); }
.cmp-cifras .cfila.cab b { font: 500 13px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--tenue); }
.cmp-cifras .cfila.cab b.b { color: #c2410c; }
.es-lectura .d--comparar .pie { display: block; }
.es-lectura .cmp-texto { grid-template-columns: 1fr; }

/* ══ Segunda ronda (07-11-2026) ═════════════════════════════════════ */
/* 08 · se queda como estaba (corazón a la izquierda, curvas a la derecha), por indicación de Jorge */
/* 13 · escenario del RCIU (leve o severo) en la cabecera de su monitor */
.cmp-grado { display: inline-flex; gap: 6px; margin-left: 14px; }
.mb--chico { height: 30px; min-width: 0; padding: 0 12px; font-size: 13px; }
.monitor--oscuro .monitor__cab .mb--chico { text-transform: none; letter-spacing: .02em; }
.cmp-carga { margin: 0; font: 500 15px/1.3 var(--mono); color: var(--tenue); }
.es-lectura .cmp-grado { display: none; }

/* ── Tercera ronda ─────────────────────────────────────────────────── */
/* lámina 01: las preguntas a la izquierda, el corazón grande a la derecha */
.es-escenario .d--preguntas { grid-template-columns: 500px minmax(0, 1fr); column-gap: 64px; }
.es-escenario .d--preguntas .t { font-size: 58px; }
.preguntas { list-style: none; margin: 40px 0 0; padding: 0; display: grid; gap: 26px; }
.preguntas li { border-left: 3px solid var(--linea); padding: 4px 0 4px 22px; }
.preguntas li .k { display: block; font: 500 14px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--azul); }
.preguntas li p { margin: 10px 0 0; font: 400 28px/1.25 var(--sans); color: var(--texto); text-wrap: pretty; }
.es-lectura .preguntas li p { font-size: 15px; }
/* rótulos de los grupos de mandos (Escala, Barrido) */
.mb-rot { font: 500 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #8a93a3; margin: 0 2px 0 4px; align-self: center; }
.mb-grupo { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }

/* (cuarta ronda) FetalHQ por condición: un estudio por fila, la variable (SI o FS) marcada y su cita en la celda */
.es-escenario .d--patrones { row-gap: 28px; padding-top: 90px; }
.matriz.patrones td { vertical-align: top; font-size: 19px; padding: 15px 16px; }
.matriz.patrones td:first-child { white-space: normal; width: 300px; font-size: 22px; }
.matriz.patrones td:nth-child(2) { width: 47%; }
.matriz.patrones td:nth-child(3) { color: var(--tenue); }
.patrones .coh { display: block; margin-top: 7px; font: 400 13px/1.2 var(--mono); letter-spacing: .06em; color: var(--tenue); }
.var { display: inline-block; margin-right: 7px; padding: 3px 7px 2px; border-radius: 5px; font: 600 12.5px/1 var(--mono); letter-spacing: .06em; vertical-align: 2px; }
.var.v-si { background: rgba(61, 111, 196, .13); color: #2d5aa6; }
.var.v-fs { background: rgba(207, 138, 42, .16); color: #96600f; }
.patrones .cita { display: block; margin-top: 8px; font-size: 12.5px; }
.d--patrones .def { margin: 20px 0 0; max-width: 1500px; font: 400 15.5px/1.5 var(--sans); color: var(--tenue); }
.d--patrones .def .var { margin-left: 4px; }
.d--patrones .conclusion { margin: 22px 0 0; max-width: 1450px; padding-left: 20px; border-left: 3px solid var(--azul); font: 400 27px/1.32 var(--serif); color: var(--tinta); }
.es-lectura .matriz.patrones td, .es-lectura .matriz.patrones td:first-child { font-size: 11px; width: auto; }
.es-lectura .d--patrones .conclusion { font-size: 15px; }
