@charset "UTF-8";
/* ============================================================================
   CONECTA COMUNIDAD · v5.0 · COMPONENTES
   ========================================================================== */

/* ───────────────────────────────────────────── Navegación ── */
.nav{
  position:sticky; top:0; z-index:100;
  background:color-mix(in oklab, var(--luz) 88%, transparent);
  backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid var(--filete);
}
@supports not (backdrop-filter:blur(1px)){ .nav{ background:var(--luz) } }

.nav__in{
  width:min(100%,88rem); margin-inline:auto; padding:0 var(--canal);
  display:flex; align-items:center; gap:var(--e-md); min-height:4.25rem;
}
.nav__marca{ display:flex; align-items:center; flex:0 0 auto; text-decoration:none }
.nav__marca img{ height:2rem; width:auto }
.nav__lista{
  display:flex; gap:.15rem; margin-left:auto; list-style:none; padding:0;
  overflow-x:auto; scrollbar-width:none;
}
.nav__lista::-webkit-scrollbar{ display:none }
.nav__lista a{
  display:block; font-family:var(--sans); font-weight:500; font-size:.9rem;
  text-decoration:none; color:var(--tinta-2); white-space:nowrap;
  padding:.85rem .72rem; border-bottom:2px solid transparent;
  transition:color .16s ease, border-color .16s ease;
}
.nav__lista a:hover{ color:var(--tinta) }
.nav__lista a[aria-current="page"]{ color:var(--marino); border-bottom-color:var(--ocre); font-weight:600 }
.nav__cta{ flex:0 0 auto; margin-left:var(--e-sm) }
@media (max-width:60rem){
  .nav__cta{ display:none }
  .nav__in{ min-height:3.5rem }
}

/* ───────────────────────────────────── Portada partida ── */
/* La tesis de la firma es «no nos crea, revísenos». Por eso el instrumento
   entra en la primera pantalla, junto al titular, y no cuatro secciones
   más abajo. El visitante puede tocarlo antes de leer una sola promesa. */
.portada{
  position:relative; isolation:isolate;
  background:var(--tinta); color:var(--sobre-tinta);
  overflow:hidden;
}
.portada__foto{ position:absolute; inset:0; z-index:-2 }
.portada__foto img{ width:100%; height:100%; object-fit:cover; object-position:60% 38%;
  filter:saturate(.76) contrast(1.04) brightness(1.30) }
.portada__velo{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(100deg,
      oklch(22% .045 245 / .90) 0%,
      oklch(22% .045 245 / .72) 32%,
      oklch(22% .045 245 / .28) 58%,
      oklch(22% .045 245 / .06) 100%),
    linear-gradient(0deg, oklch(22% .045 245 / .55), transparent 45%);
}
.portada__in{
  width:min(100%,88rem); margin-inline:auto; padding:clamp(2rem,4.5vh,3.5rem) var(--canal) clamp(1.75rem,4vh,3rem);
  display:grid; gap:var(--e-2xl); align-items:center;
  grid-template-columns:1fr;
  min-height:min(88svh, 46rem);
}
@media (min-width:64rem){
  .portada__in{ grid-template-columns:minmax(0,1.02fr) minmax(0,1fr); gap:var(--e-3xl) }
}
.portada h1{
  color:var(--luz);
  font-size:clamp(2.75rem, 5.3vw, 5.3rem);
  line-height:.94; letter-spacing:-.042em;
  max-width:11ch;
}
.portada h1 em{ font-style:normal; color:var(--celeste-cl) }
.portada__lede{ margin-top:var(--e-md); max-width:38ch; font-size:var(--t-lede);
  line-height:1.55; color:var(--sobre-marino) }
.portada__acciones{ display:flex; flex-wrap:wrap; gap:var(--e-sm); margin-top:var(--e-lg) }
.portada__pie{
  border-top:1px solid var(--filete-oscuro); margin-top:var(--e-xl); padding-top:var(--e-md);
  display:flex; flex-wrap:wrap; gap:var(--e-xs) var(--e-xl);
}
.portada__pie div{ min-width:8rem }
.portada__pie .k{ font-family:var(--sans); font-size:.7rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--sobre-tinta-mudo) }
.portada__pie .v{ font-family:var(--sans); font-size:.92rem; margin-top:.3rem; color:var(--luz) }

/* ────────────────────────────────── Instrumento ICT-5 ── */
.mx{
  background:color-mix(in oklab, oklch(20% .042 245) 86%, transparent);
  backdrop-filter:blur(16px) saturate(1.15);
  border:1px solid var(--filete-oscuro);
  padding:clamp(1.1rem,2.2vw,1.9rem);
  box-shadow:0 1px 0 oklch(100% 0 0 / .06) inset;
}
@supports not (backdrop-filter:blur(1px)){ .mx{ background:oklch(20% .042 245) } }
.mx__cab{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--e-sm);
  flex-wrap:wrap; margin-bottom:var(--e-md) }
.mx__cab .rotulo{ margin:0 }
.mx__ayuda{ font-family:var(--sans); font-size:.8rem; color:var(--sobre-tinta-mudo) }

.mx__rejilla{ display:grid; grid-template-columns:minmax(6.5rem,auto) repeat(5,1fr);
  gap:.3rem; align-items:center }
.mx__nivel{ font-family:var(--sans); font-size:.66rem; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--sobre-tinta-mudo); text-align:center; padding-bottom:.3rem }
.mx__dim{ font-family:var(--sans); font-size:.86rem; font-weight:600; color:var(--luz);
  padding-right:.6rem; line-height:1.2 }
.mx__dim small{ display:block; font-weight:500; font-size:.68rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--sobre-tinta-mudo); margin-top:.15rem }

.mx__c{
  appearance:none; border:1px solid var(--filete-oscuro); background:oklch(100% 0 0 / .03);
  min-height:2.5rem; cursor:pointer; padding:0; position:relative;
  transition:background .14s ease, border-color .14s ease;
}
.mx__c:hover{ border-color:var(--sobre-tinta-mudo) }
.mx__c[data-bajo="true"]{ background:oklch(40% .050 245 / .78) }
.mx__c[data-sel="true"]{ background:var(--sobre-tinta); border-color:var(--sobre-tinta) }
.mx__c[data-debil="true"]{ background:var(--ocre); border-color:var(--ocre) }
.mx__c[data-debil="true"]::after{
  content:""; position:absolute; inset:auto 0 -1px 0; height:3px; background:var(--ocre-cl);
}

.mx__salida{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr)); gap:var(--e-md);
  border-top:1px solid var(--filete-oscuro); margin-top:var(--e-md); padding-top:var(--e-md);
}
.mx__dato .k{ font-family:var(--sans); font-size:.68rem; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--sobre-tinta-mudo) }
.mx__dato .v{ font-family:var(--sans); font-weight:700; font-size:1.75rem; line-height:1;
  letter-spacing:-.03em; margin-top:.35rem; font-variant-numeric:tabular-nums; color:var(--luz) }
.mx__dato .v[data-acento="true"]{ color:var(--ocre-cl) }
.mx__dato .u{ font-family:var(--sans); font-size:.8rem; color:var(--sobre-tinta-mudo); margin-top:.2rem }

.mx__dice{ font-family:var(--sans); font-size:.88rem; line-height:1.55;
  color:var(--sobre-marino); margin-top:var(--e-md); max-width:56ch }
.mx__dice b{ color:var(--ocre-cl); font-weight:600 }

.mx__aviso{
  font-family:var(--sans); font-size:.82rem; line-height:1.5; margin-top:var(--e-sm);
  padding:.7rem .9rem; border:1px solid var(--ocre); color:var(--ocre-cl);
  display:none;
}
.mx__aviso[data-on="true"]{ display:block }
.mx__aviso b{ display:block; font-weight:600; color:var(--ocre-cl); margin-bottom:.15rem }

.mx__reset{
  appearance:none; background:none; border:0; cursor:pointer;
  font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--sobre-tinta-mudo);
  border-bottom:1px solid var(--filete-oscuro); padding:.2rem 0; margin-top:var(--e-md);
}
.mx__reset:hover{ color:var(--celeste-cl); border-bottom-color:var(--celeste-cl) }

@media (max-width:34rem){
  .mx__rejilla{ grid-template-columns:minmax(4.6rem,auto) repeat(5,1fr); gap:.22rem }
  .mx__dim{ font-size:.74rem } .mx__dim small{ display:none }
  .mx__c{ min-height:2.5rem }
}

/* ─────────────────────────────────────────────── Cifras ── */
.cifras{ display:grid; gap:var(--e-lg); grid-template-columns:repeat(auto-fit,minmax(13rem,1fr)) }
.cifra .n{
  font-family:var(--sans); font-weight:700; letter-spacing:-.045em; line-height:.9;
  font-size:clamp(2.8rem,6.5vw,5rem); font-variant-numeric:tabular-nums;
  display:block; color:var(--tinta);
}
.cifra .n em{ font-style:normal; font-size:.46em; letter-spacing:-.01em; color:var(--gris);
  vertical-align:baseline }
.cifra[data-acento="true"] .n{ color:var(--ocre) }
.cifra .d{ font-family:var(--sans); font-size:.92rem; line-height:1.45; margin-top:var(--e-xs);
  color:var(--tinta-2); max-width:22ch }
.cifra .f{ font-family:var(--sans); font-size:.76rem; color:var(--gris); margin-top:var(--e-2xs) }
.banda--tinta .cifra .n,.banda--monte .cifra .n{ color:var(--luz) }
.banda--tinta .cifra .d,.banda--monte .cifra .d{ color:var(--sobre-tinta) }
.banda--tinta .cifra .f,.banda--monte .cifra .f{ color:var(--sobre-tinta-mudo) }

/* ───────────────────────────────── Rejilla de sección ── */
.reparto{ display:grid; gap:var(--e-xl) }
@media (min-width:62rem){ .reparto{ grid-template-columns:minmax(0,7fr) minmax(0,4fr); gap:var(--e-3xl) } }

.tres{ display:grid; gap:var(--e-lg); grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)) }
.tres > * > h3{ font-size:1.12rem; margin-bottom:var(--e-2xs) }
.tres > * > p{ color:var(--tinta-2); font-size:.98rem }
.banda--tinta .tres > * > p,.banda--monte .tres > * > p{ color:var(--sobre-tinta); opacity:.88 }

/* ──────────────────────────────────────── Ficha prueba ── */
.ficha{
  display:grid; gap:0; border:1px solid var(--filete); background:var(--luz);
}
@media (min-width:56rem){ .ficha{ grid-template-columns:minmax(0,5fr) minmax(0,6fr) } }
.ficha__foto img{ width:100%; height:100%; object-fit:cover; min-height:15rem;
  filter:saturate(.78) contrast(1.03) }
.ficha__cuerpo{ padding:clamp(1.4rem,3vw,2.4rem) }
.ficha__filas{ margin-top:var(--e-md); border-top:1px solid var(--filete) }
.ficha__filas div{ display:flex; gap:var(--e-md); padding:.7rem 0; border-bottom:1px solid var(--filete) }
.ficha__filas .k{ font-family:var(--sans); font-size:.74rem; font-weight:600; letter-spacing:.11em;
  text-transform:uppercase; color:var(--gris); flex:0 0 8.5rem }
.ficha__filas .v{ font-family:var(--sans); font-size:.92rem; color:var(--tinta) }

/* ───────────────────────────────────────── Negaciones ── */
.niega{ border-top:1px solid var(--filete-oscuro); padding:var(--e-md) 0;
  display:grid; gap:var(--e-2xs) }
@media (min-width:52rem){ .niega{ grid-template-columns:3.2rem 1fr; gap:var(--e-md); align-items:start } }
.niega__n{ font-family:var(--sans); font-weight:700; font-size:.9rem; color:var(--ocre-cl);
  font-variant-numeric:tabular-nums; padding-top:.35rem }
.niega__t{ font-family:var(--sans); font-weight:600; font-size:clamp(1.15rem,2.4vw,1.55rem);
  letter-spacing:-.02em; line-height:1.15 }
.niega__d{ font-size:.98rem; color:var(--sobre-tinta); opacity:.82; max-width:52ch; margin-top:.3rem }

/* ────────────────────────────────────────── Formulario ── */
.form{ display:grid; gap:var(--e-md) }
.form__par{ display:grid; gap:var(--e-md) }
@media (min-width:44rem){ .form__par{ grid-template-columns:1fr 1fr } }
.campo{ display:grid; gap:.35rem }
.campo label{ font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--gris) }
.campo input,.campo textarea,.campo select{
  font-family:var(--lee); font-size:1rem; color:var(--tinta);
  background:var(--luz); border:1px solid var(--filete-firme); border-radius:0;
  padding:.85rem .95rem; width:100%; transition:border-color .16s ease;
}
.campo textarea{ min-height:8.5rem; resize:vertical; line-height:1.6 }
.campo input:focus,.campo textarea:focus,.campo select:focus{ border-color:var(--marino-2); outline:none }
.campo input:user-invalid,.campo textarea:user-invalid{ border-color:var(--alto) }
.campo .pista{ font-family:var(--sans); font-size:.78rem; color:var(--gris) }
.campo .error{ font-family:var(--sans); font-size:.78rem; color:var(--alto); display:none }
.campo[data-error="true"] .error{ display:block }

.form__legal{ font-family:var(--sans); font-size:.8rem; line-height:1.55; color:var(--gris);
  max-width:52ch }
.form__estado{ font-family:var(--sans); font-size:.92rem; padding:.9rem 1.1rem;
  border:1px solid var(--filete-firme); display:none }
.form__estado[data-on="true"]{ display:block }
.form__estado[data-tipo="ok"]{ border-color:var(--bajo); color:var(--bajo) }
.form__estado[data-tipo="mal"]{ border-color:var(--alto); color:var(--alto) }

/* ───────────────────────────────────────────────── Pie ── */
.pie{ background:var(--tinta); color:var(--sobre-tinta-mudo); padding-block:var(--e-2xl) }
.pie__in{ display:grid; gap:var(--e-xl) }
@media (min-width:56rem){ .pie__in{ grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr)) } }
.pie h4{ font-family:var(--sans); font-size:.74rem; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--sobre-tinta-mudo); margin-bottom:var(--e-sm) }
.pie ul{ list-style:none; margin:0; padding:0; display:grid; gap:.5rem }
.pie a{ font-family:var(--sans); font-size:.92rem; color:var(--luz); text-decoration:none }
.pie a:hover{ color:var(--celeste-cl) }
.pie__logo{ height:2.2rem; width:auto; margin-bottom:var(--e-md) }
.pie__legal{ border-top:1px solid var(--filete-oscuro); margin-top:var(--e-xl); padding-top:var(--e-md);
  font-family:var(--sans); font-size:.8rem; line-height:1.7 }

/* ──────────────────────────────────── Entrada al scroll ── */
/* Sin JavaScript. `animation-timeline: view()` deja que el propio navegador
   dispare la entrada según la posición del elemento en la ventana.
   Fuera de @supports el contenido simplemente está visible: es imposible que
   un fallo de script deje la página en blanco. Eso importa más que el efecto. */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    [data-entra]{
      animation:entra linear both;
      animation-timeline:view();
      animation-range:entry 2% entry 40%;
    }
    @keyframes entra{
      from{ opacity:0; transform:translateY(16px) }
      to  { opacity:1; transform:none }
    }
  }
}

/* Al imprimir no hay scroll que dispare la línea de tiempo: se anula
   la animación para que el papel salga completo y no en blanco. */
@media print{
  [data-entra]{ animation:none !important; opacity:1 !important; transform:none !important }
}

/* ────────────────────────────────────────── Operaciones ── */
/* Registro, no tarjetas. Cada operación es una fila con su territorio,
   su marco y su estado declarado. Si un dato no está confirmado, se dice. */
.ops{ margin-top:var(--e-xl); border-top:1px solid var(--filete) }
.op{
  display:grid; gap:var(--e-2xs) var(--e-lg); padding:var(--e-lg) 0;
  border-bottom:1px solid var(--filete); align-items:start;
}
@media (min-width:56rem){ .op{ grid-template-columns:3rem minmax(0,7fr) minmax(0,9fr) } }
.op__n{ font-family:var(--sans); font-weight:700; font-size:.85rem; color:var(--marino-mudo);
  font-variant-numeric:tabular-nums; padding-top:.5rem }
.op__lugar{ font-family:var(--sans); font-weight:700; letter-spacing:-.025em;
  font-size:clamp(1.35rem,2.8vw,1.95rem); line-height:1.06; color:var(--marino) }
.op__region{ font-family:var(--sans); font-size:.86rem; color:var(--marino-mudo); margin-top:.3rem }
.op__d{ color:var(--marino-3); max-width:46ch }
.op__meta{ display:flex; flex-wrap:wrap; gap:.4rem var(--e-lg); margin-top:var(--e-sm) }
.op__meta div{ min-width:7rem }
.op__meta .k{ font-family:var(--sans); font-size:.68rem; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--marino-mudo) }
.op__meta .v{ font-family:var(--sans); font-size:.9rem; color:var(--marino); margin-top:.15rem }
.op__meta .v[data-pendiente="true"]{ color:var(--ocre) }

/* ───────────────────────────── Portadilla de página interior ── */
.portadilla{ background:var(--papel-2); border-bottom:1px solid var(--filete);
  padding-block:clamp(3rem,7vw,6rem) }
.portadilla__in{ display:grid; gap:var(--e-md) }
.portadilla__t{ font-size:clamp(2.3rem,6vw,4.6rem); line-height:.98; letter-spacing:-.04em;
  color:var(--marino); max-width:16ch }
.portadilla__lede{ max-width:52ch }

.portadilla--foto{ position:relative; isolation:isolate; background:var(--marino);
  border-bottom:0; overflow:hidden; padding-block:clamp(4rem,10vw,8rem) }
.portadilla--foto .portadilla__foto{ position:absolute; inset:0; z-index:-2 }
.portadilla--foto .portadilla__foto img{ width:100%; height:100%; object-fit:cover;
  filter:saturate(.78) contrast(1.04) brightness(1.28) }
.portadilla--foto::before{ content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(96deg, oklch(22% .045 245 / .88) 0%, oklch(22% .045 245 / .60) 46%,
    oklch(22% .045 245 / .22) 100%) }
.portadilla--foto .portadilla__t{ color:var(--blanco) }
.portadilla--foto .rotulo{ color:var(--celeste-cl) }
.portadilla--foto .portadilla__lede{ color:var(--sobre-marino) }

/* ─────────────────────────────────── Salto entre páginas ── */
.salto{ display:grid; gap:var(--e-md); padding-block:var(--e-2xl);
  border-top:1px solid var(--filete) }
@media (min-width:48rem){ .salto{ grid-template-columns:1fr 1fr } }
.salto__a{ text-decoration:none; display:grid; gap:.3rem; padding:var(--e-md);
  border:1px solid var(--filete); transition:border-color .16s ease, background .16s ease }
.salto__a:hover{ border-color:var(--marino-3); background:var(--papel-2) }
.salto__a span{ font-family:var(--sans); font-size:.72rem; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--marino-mudo) }
.salto__a b{ font-family:var(--sans); font-weight:700; font-size:1.15rem; letter-spacing:-.02em;
  color:var(--marino) }
.salto__a--sig{ text-align:right }

/* ─────────────────────────────────────── Lista definitoria ── */
.def{ border-top:1px solid var(--filete); margin-top:var(--e-lg) }
.def__f{ display:grid; gap:var(--e-2xs) var(--e-xl); padding:var(--e-md) 0;
  border-bottom:1px solid var(--filete) }
@media (min-width:52rem){ .def__f{ grid-template-columns:minmax(0,4fr) minmax(0,7fr) } }
.def__k{ font-family:var(--sans); font-weight:700; font-size:1.02rem; color:var(--marino);
  letter-spacing:-.015em }
.def__k small{ display:block; font-weight:600; font-size:.7rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--marino-mudo); margin-top:.2rem }
.def__v{ color:var(--marino-3) }
.banda--tinta .def,.banda--monte .def{ border-top-color:var(--filete-oscuro) }
.banda--tinta .def__f,.banda--monte .def__f{ border-bottom-color:var(--filete-oscuro) }
.banda--tinta .def__k,.banda--monte .def__k{ color:var(--blanco) }
.banda--tinta .def__v,.banda--monte .def__v{ color:var(--sobre-marino); opacity:.9 }

/* ────────────────────────────────── Escalera de niveles ── */
.esc{ display:grid; gap:.35rem; margin-top:var(--e-lg) }
.esc__b{
  appearance:none; text-align:left; cursor:pointer; width:100%;
  background:var(--papel-2); border:1px solid var(--filete);
  padding:var(--e-sm) var(--e-md); display:grid; gap:.15rem;
  transition:background .16s ease, border-color .16s ease;
}
.esc__b:hover{ border-color:var(--marino-3) }
.esc__b[aria-pressed="true"]{ background:var(--marino); border-color:var(--marino) }
.esc__n{ font-family:var(--sans); font-size:.72rem; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--marino-mudo) }
.esc__t{ font-family:var(--sans); font-weight:700; font-size:1.1rem; letter-spacing:-.02em;
  color:var(--marino) }
.esc__b[aria-pressed="true"] .esc__n{ color:var(--celeste-cl) }
.esc__b[aria-pressed="true"] .esc__t{ color:var(--blanco) }
.esc__salida{ margin-top:var(--e-lg); padding:var(--e-md) var(--e-lg);
  border-left:3px solid var(--marino-2); background:var(--papel-2) }
.esc__salida .k{ font-family:var(--sans); font-size:.72rem; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--marino-mudo); margin-bottom:.35rem }

/* ─────────────────────────────────────────── La fórmula ── */
.form0{ background:var(--marino); color:var(--sobre-marino); padding:clamp(1.4rem,3vw,2.4rem) }
.form0__eq{ font-family:var(--sans); font-weight:700; font-size:clamp(1.6rem,4vw,2.6rem);
  letter-spacing:-.03em; color:var(--blanco); text-align:center; margin-bottom:var(--e-lg) }
.form0__eq em{ font-style:normal; color:var(--celeste-cl) }
.form0__mandos{ display:grid; gap:var(--e-md) }
@media (min-width:44rem){ .form0__mandos{ grid-template-columns:repeat(3,1fr) } }
.mando label{ display:flex; justify-content:space-between; align-items:baseline;
  font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.11em;
  text-transform:uppercase; color:var(--sobre-marino-mudo); margin-bottom:.5rem }
.mando label b{ font-size:1.15rem; letter-spacing:-.02em; color:var(--blanco);
  font-variant-numeric:tabular-nums }
.mando input[type=range]{ width:100%; appearance:none; background:transparent; cursor:pointer }
.mando input[type=range]::-webkit-slider-runnable-track{ height:2px; background:var(--marino-3) }
.mando input[type=range]::-moz-range-track{ height:2px; background:var(--marino-3) }
.mando input[type=range]::-webkit-slider-thumb{ appearance:none; width:1.15rem; height:1.15rem;
  background:var(--celeste-cl); margin-top:-.53rem; border:0 }
.mando input[type=range]::-moz-range-thumb{ width:1.15rem; height:1.15rem;
  background:var(--celeste-cl); border:0; border-radius:0 }
.form0__res{ border-top:1px solid var(--filete-oscuro); margin-top:var(--e-lg);
  padding-top:var(--e-lg); display:flex; align-items:baseline; gap:var(--e-md); flex-wrap:wrap }
.form0__res .n{ font-family:var(--sans); font-weight:700; font-size:clamp(2.6rem,7vw,4.2rem);
  line-height:.9; letter-spacing:-.04em; color:var(--blanco); font-variant-numeric:tabular-nums }
.form0__res .n[data-cero="true"]{ color:var(--ocre-cl) }
.form0__res .d{ font-family:var(--sans); font-size:.92rem; color:var(--sobre-marino-mudo);
  max-width:34ch }

/* ────────────────────────────────────────── Descargas ── */
.desc{ display:grid; gap:var(--e-md) }
.desc__i{ display:grid; gap:var(--e-2xs) var(--e-lg); padding:var(--e-lg);
  border:1px solid var(--filete); background:var(--papel-2) }
@media (min-width:48rem){ .desc__i{ grid-template-columns:minmax(0,1fr) auto; align-items:center } }
.desc__t{ font-family:var(--sans); font-weight:700; font-size:1.2rem; letter-spacing:-.02em;
  color:var(--marino) }
.desc__d{ color:var(--marino-3); font-size:.98rem; margin-top:.25rem; max-width:52ch }
.desc__m{ font-family:var(--sans); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--marino-mudo); margin-top:.5rem }
.desc__i[data-estado="pendiente"]{ background:transparent; border-style:dashed }
.desc__i[data-estado="pendiente"] .desc__m{ color:var(--ocre) }

/* ─────────────────────────────────────── Tira de territorio ── */
.tira{ display:grid; gap:var(--e-sm); grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)) }
.tira figure{ margin:0; overflow:hidden }
.tira img{ width:100%; aspect-ratio:3/2; object-fit:cover; filter:saturate(.72) contrast(1.03);
  transition:transform .5s ease, filter .5s ease }
.tira figure:hover img{ transform:scale(1.04); filter:saturate(.9) contrast(1.05) }
@media (prefers-reduced-motion:reduce){ .tira img{ transition:none } .tira figure:hover img{ transform:none } }

/* ─────────────────────────────────── Las siete negaciones ── */
/* Desnudas, sin explicación. Explicadas ocupan 280 palabras y se leen
   como justificación; así ocupan 45 y se leen como carácter. */
.nolist{ list-style:none; margin:var(--e-xl) 0 0; padding:0;
  border-top:1px solid var(--filete-oscuro) }
.nolist li{
  font-family:var(--sans); font-weight:600;
  font-size:clamp(1.15rem, 2.6vw, 1.75rem); letter-spacing:-.025em; line-height:1.25;
  color:var(--blanco); padding:var(--e-md) 0;
  border-bottom:1px solid var(--filete-oscuro);
  display:flex; gap:var(--e-md); align-items:baseline;
}
.nolist li::before{
  content:"—"; flex:0 0 auto; color:var(--ocre-cl); font-weight:700;
}

/* ──────────────────────────────────────────── Cierre amplio ── */
.cierre{ text-align:left; padding-block:clamp(4rem,10vw,8.5rem) }
.cierre .titular{ max-width:16ch }
.cierre .lede{ max-width:44ch }

/* ══════════════════════════ v5.3 · tras la crítica editorial ══ */

/* Leyenda de niveles del ICT-5 */
.mx__leyenda{ display:flex; flex-wrap:wrap; gap:.35rem; margin-top:var(--e-md);
  padding-top:var(--e-md); border-top:1px solid var(--filete-oscuro) }
.mx__chip{
  appearance:none; cursor:pointer; border:1px solid var(--filete-oscuro);
  background:oklch(100% 0 0 / .04); color:var(--sobre-marino);
  font-family:var(--sans); font-size:.76rem; font-weight:500;
  padding:.38rem .6rem; transition:border-color .15s ease, background .15s ease;
}
.mx__chip b{ color:var(--celeste-cl); font-weight:700; margin-right:.15rem }
.mx__chip:hover{ border-color:var(--sobre-marino-mudo) }
.mx__chip[data-on="true"]{ background:var(--celeste-cl); color:var(--marino) }
.mx__chip[data-on="true"] b{ color:var(--marino) }
.mx__leyenda-det{ font-family:var(--sans); font-size:.84rem; line-height:1.5;
  color:var(--sobre-marino); margin-top:var(--e-2xs); min-height:1.3em }

/* Promedio degradado: existe, pero no compite con el nivel declarable */
.mx__dato--menor .v{ font-size:1.15rem !important; color:var(--sobre-marino-mudo) !important }
.mx__dato--menor .k,.mx__dato--menor .u{ opacity:.75 }

/* La fórmula: resultado con escala y barra */
.form0__res .n small{ font-size:.42em; font-weight:600; letter-spacing:.02em;
  color:var(--sobre-marino-mudo) }
.form0__etiqueta{ font-family:var(--sans); font-weight:700; font-size:1.15rem;
  letter-spacing:-.01em; color:var(--celeste-cl); align-self:center }
.form0__etiqueta[data-cero="true"]{ color:var(--ocre-cl) }
.form0__barra{ position:relative; height:.5rem; background:oklch(30% .045 245);
  margin-top:var(--e-md); overflow:hidden }
.form0__barra i{ position:absolute; inset:0; background:var(--celeste-cl);
  transform-origin:left center; transform:scaleX(.336); transition:transform .25s ease }
@media (prefers-reduced-motion:reduce){ .form0__barra i{ transition:none } }
.form0__ilustrativo{ font-family:var(--sans); font-size:.78rem; color:var(--sobre-marino-mudo);
  margin-top:var(--e-2xs) }
.mando .pregunta{ display:block; font-weight:500; font-size:.72rem; letter-spacing:.02em;
  text-transform:none; color:var(--sobre-marino-mudo); margin-top:.15rem }

/* Banda fría, para las tiras fotográficas */
.banda--celeste{ background:var(--celeste-pal) }

/* Nosotros: retrato de la idea, no del cargo */
.bio{ display:grid; gap:var(--e-xl) }
@media (min-width:60rem){ .bio{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:start } }
.bio__foto img{ width:100%; aspect-ratio:4/3; object-fit:cover;
  filter:saturate(.78) contrast(1.03) }
.bio__hitos{ border-top:1px solid var(--filete); margin-top:var(--e-md) }
.bio__hitos div{ display:flex; gap:var(--e-md); padding:.65rem 0; border-bottom:1px solid var(--filete) }
.bio__hitos .k{ font-family:var(--sans); font-size:.72rem; font-weight:600; letter-spacing:.11em;
  text-transform:uppercase; color:var(--marino-mudo); flex:0 0 9rem; padding-top:.15rem }
.bio__hitos .v{ font-family:var(--sans); font-size:.94rem; color:var(--marino) }

/* El rótulo del pie no participa en la jerarquía de encabezados */
.pie__t{ font-family:var(--sans); font-size:.74rem; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--sobre-marino-mudo); margin:0 0 var(--e-sm) }

/* ══════════════════ v5.3.1 · correcciones del control móvil ══ */

/* El <nav> es hijo flex: sin min-width:0 no puede encogerse y desborda
   la página entera en pantallas angostas. La lista interior ya sabe
   desplazarse horizontalmente. */
.nav__in > nav{ min-width:0; flex:1 1 auto }

/* Objetivo táctil de los deslizadores: la pista mide 2px, pero el control
   entero debe dar dedo. */
.mando input[type=range]{ height:1.75rem }

/* Celdas de la matriz a 44px en táctil */
@media (max-width:34rem){
  .mx__c{ min-height:2.75rem }
  .mx__chip{ padding:.5rem .65rem }
}

/* Enlaces sueltos (pie y columnas laterales) con alto táctil */
.pie a{ display:inline-block; padding-block:.4rem }


/* En una sola columna el texto pisa la hoja blanca de la fotografía:
   velo casi plano y sin realce, medido contra WCAG (lede 5.8:1). */
@media (max-width:64rem){
  .portada__velo{ background:oklch(22% .045 245 / .85) }
  .portada__foto img{ filter:saturate(.72) contrast(1.04) brightness(1.05) }
}
