/* «¿Cuánto te cuesta cada cliente nuevo?» (web/recurso-canales/LEEME.md).
   Pensada primero para el móvil: una columna, campos de 54 px de alto y nada que se salga a lo ancho. Desde 1000 px de ancho,
   los canales pasan de fichas a tabla, como en la hoja del recurso, con todo centrado.
   Sin nada escrito dentro de la página (ni <style> ni style="…"): lo pide la política de seguridad de varani.es.
   Colores: azul marino, blanco y dorado, y sus matices de varani.es. Ningún fondo gris oscuro ni negruzco. */

@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fuentes/playfair-display-latin-ext.woff2?v=56285678) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fuentes/playfair-display-latin.woff2?v=5d91eb5d) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 900;font-display:swap;src:url(/assets/fuentes/playfair-display-italic-latin-ext.woff2?v=4d6a5616) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 900;font-display:swap;src:url(/assets/fuentes/playfair-display-italic-latin.woff2?v=c6853004) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fuentes/inter-latin-ext.woff2?v=a28eb6d3) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fuentes/inter-latin.woff2?v=c9407645) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fuentes/ibm-plex-mono-500-latin.woff2?v=a76f53ca) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  /* Los tres colores de la marca, exactos */
  --marino: #0A192F;
  --blanco: #F8FAFC;
  --oro: #C5A059;
  /* Sus matices, los de varani.es. Los fondos son azul marino, blanco o un blanco azulado muy claro. */
  --marino-alza: #112742;
  --puro: #FFFFFF;
  --tibio: #EDF1F6;
  --oro-hondo: #9C7C3C;
  --oro-velo: rgba(197,160,89,.10);
  --oro-linea: rgba(197,160,89,.45);
  --linea-marino: #24405F;
  --linea-clara: #D8E0EA;
  --linea-campo: #BCC9D8;
  --tinta: #0A192F;
  --tinta-suave: #44597A;
  --tinta-tenue: #8494AB;
  --luz: #F1F5FA;
  --luz-suave: #C3CEDD;
  --luz-tenue: #8FA1BA;

  --display: "Playfair Display", "Iowan Old Style", Georgia, serif;
  --texto: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --lado: clamp(20px, 5vw, 48px);
  --ancho: 1040px;
  --suave: cubic-bezier(.22,.61,.36,1);
  color-scheme: light;
}

*, *::before, *::after{ box-sizing: border-box; }

html{ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }

body{
  margin: 0;
  background: var(--blanco);
  color: var(--tinta);
  font-family: var(--texto);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}

h1, h2, h3, p, ul, ol{ margin: 0; padding: 0; }
h1, h2, h3{ font-family: var(--display); font-weight: 500; line-height: 1.12; letter-spacing: -.012em; text-wrap: balance; }
ul, ol{ list-style: none; }
a{ color: inherit; }
b{ font-weight: 600; }
em{ font-style: italic; }
button, input{ font: inherit; color: inherit; margin: 0; }
output{ display: block; }
[hidden]{ display: none !important; }
:focus-visible{ outline: 2px solid var(--oro); outline-offset: 3px; }

.ancho{ width: 100%; max-width: var(--ancho); margin-inline: auto; padding-inline: var(--lado); }

/* ── Arriba: la marca y la portada (lo que se ve al llegar) ── */

.arriba{ position: relative; overflow: hidden; background: var(--marino); color: var(--luz); }
.arriba::before{
  content: ""; position: absolute; top: -34%; left: 50%; transform: translateX(-50%);
  width: 90vw; height: 70vw; max-width: 1000px; max-height: 760px;
  background: radial-gradient(ellipse, rgba(38,70,116,.5), transparent 62%);   /* un resplandor azul: con dorado, sobre el marino, tira a gris */
  pointer-events: none;
}
.cabecera{ position: relative; display: flex; align-items: center; padding-block: 10px; }
.marca{ display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; color: var(--luz); }
.marca__nombre{ font-family: var(--display); font-weight: 600; font-size: 19px; letter-spacing: .25em; line-height: 1; }
.marca__raya{ width: 22px; height: 1px; background: var(--oro); margin: 0 12px 0 8px; }
.marca__lema{ font-family: var(--mono); font-weight: 500; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; line-height: 1; color: var(--luz-tenue); }

.portada{ position: relative; text-align: center; padding-top: clamp(20px, 7vh, 72px); padding-bottom: clamp(44px, 10vh, 96px); }
.portada__titulo{ font-size: clamp(30px, 9.3vw, 64px); line-height: 1.06; }
.portada__titulo em, .titulo em{ color: var(--oro); }
.portada__frase{ max-width: 34em; margin: 20px auto 0; font-size: clamp(16.5px, 1.75vw, 19.5px); line-height: 1.55; font-weight: 300; color: var(--luz-suave); text-wrap: balance; }
.portada .boton{ margin-top: 28px; }

.ceja{
  display: flex; align-items: center; gap: 12px; margin-bottom: 14px;
  font-family: var(--mono); font-weight: 500; font-size: 12px; letter-spacing: .17em; text-transform: uppercase; line-height: 1.3;
  color: var(--oro-hondo);
}
.ceja::before{ content: ""; flex: none; width: 26px; height: 1px; background: var(--oro); }
.ceja--centro{ justify-content: center; margin-bottom: 18px; }
.ceja--centro::after{ content: ""; flex: none; width: 26px; height: 1px; background: var(--oro); }
.arriba .ceja, .banda--marino .ceja{ color: var(--oro); }
@media (max-width: 359px){
  .ceja--centro{ gap: 10px; font-size: 11px; letter-spacing: .1em; }
  .ceja--centro::before, .ceja--centro::after{ width: 18px; }
}

.raya{ width: 54px; height: 2px; margin-top: 20px; background: var(--oro); }
.raya--centro{ margin-inline: auto; }

.boton{
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 56px; padding: 14px 28px;
  background: var(--oro); color: var(--marino); border: 1px solid var(--oro); border-radius: 2px;
  font-size: 16px; font-weight: 600; line-height: 1.25; text-align: center; text-decoration: none;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: transform .35s var(--suave), box-shadow .35s var(--suave);
}
.boton__flecha{ transition: transform .35s var(--suave); }
@media (hover: hover){
  .boton:hover{ transform: translateY(-2px); box-shadow: 0 14px 34px rgba(197,160,89,.3); }
  .boton[href^="#"]:hover .boton__flecha{ transform: translateY(3px); }
  .boton[href^="/"]:hover .boton__flecha{ transform: translateX(4px); }
}
@media (max-width: 520px){
  .boton{ display: flex; width: 100%; padding-inline: 18px; }
}

/* ── Las bandas y lo que va dentro, de arriba abajo ── */

.banda{ padding-block: clamp(48px, 7vw, 92px); }
.banda--papel{ background: var(--blanco); }
.banda--tibia{ background: var(--tibio); }
.banda--marino{ background: var(--marino); color: var(--luz); }
.banda--marino .ancho > p{ color: var(--luz-suave); }

.banda > .ancho > * + *{ margin-top: 16px; }
.banda > .ancho > .paso{ margin-bottom: 26px; scroll-margin-top: 18px; }
.banda > .ancho > .paso + *{ margin-top: 0; }
.banda > .ancho > .formula, .banda > .ancho > .tabla, .banda > .ancho > .deja, .banda > .ancho > .distancias,
.banda > .ancho > .embudo, .banda > .ancho > .propio, .banda > .ancho > .ejemplo, .banda > .ancho > .casos{ margin-top: 26px; }
.banda > .ancho > .formula + *, .banda > .ancho > .tabla + *, .banda > .ancho > .deja + *, .banda > .ancho > .distancias + *,
.banda > .ancho > .propio + *{ margin-top: 26px; }
.banda > .ancho > .paso + .formula, .banda > .ancho > .paso + .casos{ margin-top: 0; }
.accion{ display: flex; justify-content: flex-start; }   /* debajo de su pregunta, alineado con ella */
.banda > .ancho > .accion{ margin-top: 20px; }
.banda > .ancho > .accion + *{ margin-top: 34px; }

.titulo{ font-size: clamp(28px, 4.4vw, 44px); }
.subtitulo{ font-size: clamp(23px, 3vw, 29px); color: var(--luz); scroll-margin-top: 22px; }
.banda > .ancho > .subtitulo{ margin-top: 40px; }
.banda > .ancho > .subtitulo + p{ margin-top: 8px; }

.entrada{ display: grid; gap: 16px; margin-bottom: clamp(44px, 6vw, 68px); }
.entrada > p{ font-size: clamp(17px, 1.6vw, 19px); }

.nota{ border-left: 3px solid var(--oro); background: var(--oro-velo); padding: 15px 18px; }
.nota b{ display: block; }
.banda--marino .ancho > .nota{ background: var(--marino-alza); color: var(--luz); margin-top: 20px; }   /* sobre el marino, el velo dorado se vería gris */

.sigue{ font-weight: 600; }
.banda > .ancho > .sigue + p, .banda > .ancho > .sigue + .lista{ margin-top: 8px; }
.banda--marino .ancho > .sigue{ color: var(--luz); }
.lista{ display: grid; gap: 10px; }
.lista li{ position: relative; padding-left: 22px; }
.lista li::before{ content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; background: var(--oro); }

.entradilla{ font-size: clamp(17px, 1.6vw, 19px); }
.discreto{ display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.5; color: var(--tinta-suave); }
.discreto::before{ content: ""; flex: none; width: 14px; height: 1px; margin-top: .75em; background: var(--oro-hondo); }
.banda > .ancho > .discreto{ margin-top: 12px; }

/* La cuenta, escrita: en el móvil, una línea por término; desde 760 px, en una fila */
.formula{ display: grid; grid-template-columns: 48px minmax(0, 1fr); border: 1px solid var(--oro); background: var(--puro); color: var(--tinta); font-size: 16px; line-height: 1.4; }
.formula__t{ grid-column: 2; display: flex; align-items: center; padding: 14px 16px; }
.formula__t:first-child{ grid-column: 1 / -1; }
.formula__op{ grid-column: 1; display: flex; align-items: center; justify-content: center; font-family: var(--display); font-weight: 600; font-size: 24px; line-height: 1; background: rgba(197,160,89,.18); }
.formula__op, .formula__op + .formula__t{ border-top: 1px solid var(--oro-linea); }
.formula__t--sale{ background: var(--marino); color: var(--puro); font-weight: 600; }
@media (min-width: 760px){
  .formula{ grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr) 56px minmax(0, 1fr); text-align: center; }
  .formula__t, .formula__t:first-child, .formula__op{ grid-column: auto; }
  .formula__t{ justify-content: center; padding: 18px 16px; }
  .formula__op, .formula__op + .formula__t{ border-top: 0; }
  .formula__op{ border-inline: 1px solid var(--oro-linea); }
}

/* ── Los campos ── */

.celda{ display: grid; gap: 7px; min-width: 0; }
.rotulo{ font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--tinta); }
.caja{
  display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 14px;
  background: var(--puro); border: 1px solid var(--linea-campo); border-radius: 3px; cursor: text;
  transition: border-color .2s var(--suave), box-shadow .2s var(--suave);
}
.caja:focus-within{ border-color: var(--oro-hondo); box-shadow: 0 0 0 3px rgba(197,160,89,.26); transition: none; }   /* al pulsar se enciende al momento; al salir, se apaga despacio */
.campo{
  flex: 1 1 auto; min-width: 0; width: 100%; height: 52px; padding: 0; border: 0; border-radius: 0; outline: none; background: transparent;
  -webkit-appearance: none; appearance: none;
  font-family: var(--display); font-weight: 500; font-size: 22px; line-height: 1.2; text-align: right; color: var(--tinta);
  caret-color: var(--oro-hondo); font-variant-numeric: lining-nums tabular-nums;
}
.caja__u{ flex: none; font-size: 15px; line-height: 1; color: var(--tinta-suave); white-space: nowrap; }
.pista{ font-size: 13.5px; line-height: 1.45; color: var(--tinta-suave); }

/* ── Lo que sale ── */

.sale{ font-family: var(--display); font-weight: 500; font-size: 22px; line-height: 1.2; white-space: nowrap; text-align: right; color: var(--tinta); font-variant-numeric: lining-nums tabular-nums; }
.sale.is-raya{ color: var(--tinta-tenue); }
.sale--fuerte{ font-size: 32px; line-height: 1.1; text-align: left; }
.sale--grande{ font-size: clamp(38px, 10.5vw, 48px); line-height: 1.05; text-align: left; }
.sale[data-largo="m"]{ font-size: 19px; }
.sale[data-largo="l"]{ font-size: 16px; }
.sale[data-largo="xl"]{ font-size: 14px; }
.sale--fuerte[data-largo="m"]{ font-size: 26px; }
.sale--fuerte[data-largo="l"]{ font-size: 21px; }
.sale--fuerte[data-largo="xl"]{ font-size: 17px; }
.sale--grande[data-largo="m"]{ font-size: 32px; }
.sale--grande[data-largo="l"]{ font-size: 26px; }
.sale--grande[data-largo="xl"]{ font-size: 21px; }
.sale__nota{ font-size: 13.5px; line-height: 1.45; color: var(--tinta-suave); }

/* ── Los canales: fichas en el móvil ── */

.tabla{ display: grid; gap: 14px; }
.tabla__cab{ display: none; }
.canal{ display: grid; gap: 14px; padding: 18px 18px 20px; background: var(--puro); border: 1px solid var(--linea-clara); border-top: 2px solid var(--oro); }
.canal__nombre{ font-size: 23px; line-height: 1.2; }
.junto{ white-space: nowrap; }
.canal__nombre small{ display: block; margin-top: 4px; font-family: var(--texto); font-weight: 400; font-size: 14px; line-height: 1.4; letter-spacing: 0; color: var(--tinta-suave); }
.celda--sale{ grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: 14px; row-gap: 2px; }
.celda--sale > .rotulo{ font-weight: 400; color: var(--tinta-suave); }
.celda--fin{ grid-template-columns: minmax(0, 1fr); margin: 2px -18px -20px; padding: 14px 18px 16px; background: var(--oro-velo); border-top: 1px solid var(--oro-linea); }
.celda--fin > .rotulo{ font-weight: 600; color: var(--tinta); }
.canal__extra{ display: grid; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px dashed var(--linea-campo); }
.canal__apunte{ font-size: 14.5px; line-height: 1.5; color: var(--tinta-suave); }

.ejemplo{ border-left: 3px solid var(--oro); padding: 2px 0 2px 18px; color: var(--tinta-suave); }
.ejemplo > * + *{ margin-top: 8px; }
.ejemplo__t{ font-weight: 600; color: var(--tinta); }
.ejemplo > .lista{ margin-top: 10px; }
.banda--marino .ejemplo{ color: var(--luz-suave); }

@media (min-width: 640px) and (max-width: 999px){
  .tabla{ grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@media (min-width: 900px){
  body{ font-size: 18px; }
}

/* ── Desde 1000 px: los canales, en tabla, con todo centrado ── */

@media (min-width: 1000px){
  .tabla{ gap: 0; background: var(--puro); border: 1px solid var(--linea-clara); }
  .tabla__cab, .tabla > .canal{ display: grid; align-items: center; column-gap: 20px; padding-inline: 22px; }
  .tabla--cinco > .tabla__cab, .tabla--cinco > .canal{ grid-template-columns: 1.25fr 1.2fr .95fr 1.2fr 1.25fr; }
  .tabla--cuatro > .tabla__cab, .tabla--cuatro > .canal{ grid-template-columns: 1.1fr 1fr 1fr 1.1fr; }
  .tabla__cab{ padding-block: 14px; background: var(--marino); color: var(--puro); font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1.35; text-align: center; }
  .tabla > .canal{ row-gap: 0; padding-block: 18px; border: 0; border-top: 1px solid var(--linea-clara); text-align: center; }
  .tabla > .tabla__cab + .canal{ border-top: 0; }
  .tabla .canal__nombre{ font-size: 21px; }
  .tabla .canal__nombre small{ font-size: 13px; }
  .tabla > .canal > .celda{ justify-items: center; }
  .tabla > .canal > .celda > .rotulo{ position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .tabla > .canal > .celda > .caja{ width: 100%; max-width: 196px; }
  .tabla > .canal > .celda > .caja--corta{ max-width: 132px; }
  .tabla > .canal > .celda--sale{ grid-template-columns: minmax(0, 1fr); }
  .tabla > .canal > .celda--fin{ margin: 0; padding: 0; background: none; border-top: 0; }
  .tabla .sale{ text-align: center; }
  .tabla .sale--fuerte{ font-size: 27px; }
  .tabla .sale--fuerte[data-largo="m"]{ font-size: 21px; }
  .tabla .sale--fuerte[data-largo="l"]{ font-size: 17px; }
  .tabla .sale--fuerte[data-largo="xl"]{ font-size: 14px; }
  .tabla .sale__nota{ font-size: 12.5px; }
  .canal__extra{ grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 26px; margin-top: 16px; text-align: left; }
  .canal__extra .celda--linea{ grid-template-columns: auto 150px; align-items: center; column-gap: 14px; }
  .canal__extra .rotulo{ font-weight: 400; }
}

/* ── 3 · Lo que te deja un cliente ── */

.deja{ display: grid; gap: 18px; padding: 18px 18px 20px; background: var(--puro); border: 1px solid var(--linea-clara); border-top: 2px solid var(--oro); scroll-margin-top: 18px; }
.deja__campos{ display: grid; gap: 16px; }
/* Los rótulos de los dos campos, medio punto menos que los demás (14,5 px en vez de 15), para que cada uno quepa en una línea cuando
   van lado a lado (Mari, 13 oct). Su línea mide lo mismo que antes (15 × 1,35 = 20,25 px): así nada de lo de debajo cambia de sitio. */
.deja__campos .rotulo{ font-size: 14.5px; line-height: 20.25px; }
.deja__sale{ display: grid; gap: 4px; margin: 0 -18px -20px; padding: 16px 18px 18px; background: var(--oro-velo); border-top: 1px solid var(--oro-linea); }
@media (min-width: 900px){
  .deja{ grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 0; padding: 26px 28px; }
  .deja__campos{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; padding-right: 30px; align-items: start; }
  .deja__sale{ margin: -26px -28px -26px 0; padding: 26px 30px; border-top: 0; border-left: 1px solid var(--oro-linea); align-content: center; }
  /* Lado a lado, los dos campos comparten las mismas tres filas (rótulo, cuadro y pista): los dos cuadros caen SIEMPRE a la misma
     altura, aunque un día un rótulo ocupe dos líneas (el que ocupe menos se apoya abajo, pegado a su cuadro). */
  @supports (grid-template-rows: subgrid){
    .deja__campos{ grid-template-rows: auto auto auto; gap: 7px 24px; align-content: start; }
    .deja__campos > .celda{ grid-row: span 3; grid-template-rows: subgrid; }
    .deja__campos > .celda > .rotulo{ align-self: end; }
  }
  /* El rótulo del segundo campo es el largo: a 14,5 px mide 244 px, y su columna 246 (241 con la ventana a 1024 px). Puede alargarse por
     el hueco que tiene a su derecha (los 30 px que separan los campos del resultado), hasta 24 px: así sigue en una línea con la ventana
     más estrecha o si un navegador pinta la letra un pelo más ancha. Los cuadros y la raya del resultado no se mueven. */
  .deja__campos > .celda:last-child > .rotulo{ margin-right: -24px; }
}

/* ── 4 · Un canal propio (banda azul marino) ── */

.distancias{ display: grid; gap: 12px; }
.distancia{ padding: 16px 18px 17px; border: 1px solid var(--linea-marino); }
.distancia__k{ margin-bottom: 6px; font-family: var(--mono); font-weight: 500; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; line-height: 1.3; color: var(--luz-tenue); }
.distancia__v{ color: var(--luz); line-height: 1.5; }
.distancia--si{ border-color: var(--oro); }
.distancia--si .distancia__k{ color: var(--oro); }
@media (min-width: 760px){ .distancias{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; } }

.embudo__rotulo{ margin-bottom: 10px; font-family: var(--mono); font-weight: 500; font-size: 11.5px; letter-spacing: .15em; text-transform: uppercase; line-height: 1.4; color: var(--oro); }
.embudo__pasos{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--linea-marino); }
.embudo__pasos li{ padding: 14px 6px 13px; text-align: center; border-right: 1px solid var(--linea-marino); border-bottom: 1px solid var(--linea-marino); }
.embudo__pasos li:nth-child(3n){ border-right: 0; }
.embudo__pasos li:nth-child(n+4){ border-bottom: 0; }
.embudo__pasos b{ display: block; font-family: var(--display); font-weight: 500; font-size: 30px; line-height: 1.05; color: var(--luz); font-variant-numeric: lining-nums; }
.embudo__pasos span{ display: block; margin-top: 5px; font-size: 13px; line-height: 1.3; color: var(--luz-suave); }
.embudo__pasos li:last-child{ background: var(--oro); }
.embudo__pasos li:last-child b, .embudo__pasos li:last-child span{ color: var(--marino); }
@media (min-width: 760px){
  .embudo__pasos{ grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .embudo__pasos li, .embudo__pasos li:nth-child(n+4){ padding: 18px 8px 17px; border-bottom: 0; }
  .embudo__pasos li:nth-child(3n){ border-right: 1px solid var(--linea-marino); }
  .embudo__pasos li:last-child{ border-right: 0; }
  .embudo__pasos b{ font-size: 36px; }
  .embudo__pasos span{ font-size: 14px; }
}

.propio{ display: grid; border: 1px solid var(--linea-marino); }
.propio__campos{ display: grid; gap: 24px; align-content: start; padding: 20px 18px 22px; background: var(--blanco); color: var(--tinta); border-bottom: 3px solid var(--oro); }
.grupo{ display: grid; gap: 10px; }
.grupo__cab{ display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: 12px; }
.grupo__n{ font-family: var(--display); font-weight: 500; font-size: 34px; line-height: 1; font-variant-numeric: lining-nums tabular-nums; }
.escenarios{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.escenario{
  min-height: 48px; padding: 8px 4px;
  font-family: var(--mono); font-weight: 500; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
  color: var(--tinta-suave); background: var(--puro); border: 1px solid var(--linea-campo); border-radius: 0;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: border-color .2s var(--suave), color .2s var(--suave), background .2s var(--suave);
}
.escenario[aria-pressed="true"]{ background: var(--marino); border-color: var(--marino); color: var(--puro); }
.afina{ display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; column-gap: 10px; }
.afina__b{
  display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0;
  font-size: 22px; line-height: 1; color: var(--tinta); background: var(--puro); border: 1px solid var(--linea-campo); border-radius: 0;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.afina__b:disabled{ opacity: .35; cursor: default; }
.afina__t{ text-align: center; font-size: 13.5px; line-height: 1.35; color: var(--tinta-suave); }
@media (max-width: 359px){
  .escenario{ font-size: 10.5px; letter-spacing: .03em; }
}
@media (hover: hover){
  .escenario:hover, .afina__b:not(:disabled):hover{ border-color: var(--oro-hondo); color: var(--tinta); }
  .escenario[aria-pressed="true"]:hover{ color: var(--puro); }
}

.propio__sale{ display: grid; gap: 14px; align-content: center; padding: 22px 18px 20px; background: var(--marino-alza); color: var(--luz); }
.linea{ display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: 14px; }
.linea__k{ font-size: 15px; line-height: 1.35; color: var(--luz-suave); }
.linea__v{ font-family: var(--display); font-weight: 500; font-size: 23px; line-height: 1.1; white-space: nowrap; color: var(--luz); font-variant-numeric: lining-nums tabular-nums; }
.linea__v.is-raya{ color: var(--luz-tenue); }
.linea__v[data-largo="m"]{ font-size: 19px; }
.linea__v[data-largo="l"]{ font-size: 16px; }
.linea__v[data-largo="xl"]{ font-size: 14px; }
.total{ display: grid; gap: 6px; padding-top: 16px; border-top: 1px solid var(--linea-marino); }
.total__k{ font-family: var(--mono); font-weight: 500; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; line-height: 1.4; color: var(--oro); }
.total__n{ font-family: var(--display); font-weight: 500; font-size: clamp(42px, 12.4vw, 68px); line-height: 1; white-space: nowrap; color: var(--oro); font-variant-numeric: lining-nums tabular-nums; }
.total__n.is-raya{ opacity: .55; }
.total__n[data-largo="m"]{ font-size: clamp(30px, 8.6vw, 46px); }
.total__n[data-largo="l"]{ font-size: clamp(24px, 6.8vw, 36px); }
.total__n[data-largo="xl"]{ font-size: clamp(19px, 5.4vw, 28px); }
.total__falta{ font-size: 14.5px; line-height: 1.45; color: var(--luz-suave); }
.total__falta a, .enlace{ display: inline-block; padding-block: 13px; margin-block: -13px; color: var(--luz); text-decoration: underline; text-underline-offset: 3px; }
.propio__pie{ padding-top: 13px; border-top: 1px dashed var(--linea-marino); font-size: 13px; line-height: 1.5; color: var(--luz-tenue); }
@media (min-width: 900px){
  .propio{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .propio__campos{ padding: 30px 32px 32px; border-bottom: 0; border-right: 3px solid var(--oro); }
  .propio__sale{ padding: 30px 36px; gap: 16px; }
  .propio .caja--corta{ max-width: 220px; }
  .linea__k{ font-size: 16px; }
  .linea__v{ font-size: 26px; }
}

/* ── 5 · Qué haces con el resultado ── */

.casos{ display: grid; border-top: 1px solid var(--linea-clara); }
.casos p{ position: relative; padding: 18px 0 18px 24px; border-bottom: 1px solid var(--linea-clara); font-size: clamp(17px, 1.6vw, 19px); }
.casos p::before{ content: ""; position: absolute; left: 3px; top: calc(18px + .58em); width: 8px; height: 8px; background: var(--oro); transform: rotate(45deg); }

/* ── El cierre y el pie ── */

.cierre{ position: relative; overflow: hidden; background: var(--marino); color: var(--luz); text-align: center; padding-block: clamp(56px, 8vw, 100px) clamp(48px, 7vw, 76px); }
.cierre::before{
  content: ""; position: absolute; bottom: -46%; left: 50%; transform: translateX(-50%);
  width: 90vw; height: 70vw; max-width: 1000px; max-height: 760px;
  background: radial-gradient(ellipse, rgba(38,70,116,.45), transparent 62%);
  pointer-events: none;
}
.cierre__dentro{ position: relative; display: grid; justify-items: center; }
.cierre .titulo{ font-size: clamp(29px, 4.8vw, 48px); }
.cierre__p{ max-width: 36em; margin-top: 22px; font-size: clamp(17px, 1.6vw, 19px); line-height: 1.6; color: var(--luz-suave); text-wrap: balance; }
.cierre .boton{ margin-top: 30px; }

@media (hover: hover){ .enlace:hover, .total__falta a:hover{ color: var(--oro); } }   /* (v64) el pie, el de la web en dos pisos: recursos-comun/pie.css */

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{ transition: none !important; }
}

/* ══ El pie de la web (web/recursos-comun/pie.css; v64) ══ */

/* El pie de la web en dos pisos, en las páginas que no salen de la plantilla: los recursos gratuitos y /firmar/ (web v64, 24 oct de
   2026; Mari: «me parece oki»). Es el de la plantilla desde la v63 (Mari, 23 oct: «el pie de la web, más grande: arriba, mis páginas
   extra; abajo, los textos legales»), con sus mismas medidas y sus colores (aquí con su valor, para no chocar con los de cada página):
   arriba, la marca, Recursos gratuitos, Sobre mí, su LinkedIn y «Área de clientes»; una línea; abajo, el año y los textos legales.
   Hasta 980 px, cada piso centrado y lo suyo, uno debajo de otro. Sin «Configurar cookies»: estas páginas no ponen ninguna cookie
   ni llevan el aviso (es de la plantilla). Su HTML, el mismo en todas: web/recursos-comun/pie.html (lo comprueba recursos-comun/pie.py). */

.foot{ background: #06101F; color: #64789A; border-top: 1px solid #1C3352; padding-block: clamp(42px, 5vw, 58px) 30px; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 400; line-height: 1.5; text-align: left; }
.foot__inner{ width: 100%; max-width: 1160px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 48px); display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; font-size: 12.5px; }
.foot__top{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 36px; padding-bottom: 24px; border-bottom: 1px solid #1C3352; }
.foot__mark{ font-family: "Playfair Display", "Iowan Old Style", Georgia, serif; font-weight: 400; font-size: 19px; letter-spacing: .26em; text-indent: .26em; line-height: 1.5; color: #F1F5FA; }
.foot__pages{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 30px; font-size: 15.5px; }
.foot__pages a:not(.foot__in){ color: #93A5BE; text-decoration: none; transition: color .3s cubic-bezier(.22,.61,.36,1); }
.foot__pages a:not(.foot__in):hover, .foot__pages a:not(.foot__in):focus-visible{ color: #C5A059; }
.foot__in{ display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: -6px; color: #93A5BE; border-radius: 2px; transition: color .3s cubic-bezier(.22,.61,.36,1); }
.foot__in:hover, .foot__in:focus-visible{ color: #C5A059; }
.foot__in svg{ display: block; width: 15px; height: 15px; }
.foot__bottom{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; font-size: 12.5px; color: #64789A; }
.foot__legal{ display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 18px; color: #64789A; }
.foot__legal a{ color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.foot__legal a:hover{ color: #C5A059; }
.foot__area{ display: inline-flex; align-items: center; padding: 9px 16px; background: #C5A059; color: #0A192F; border: 1px solid #C5A059; border-radius: 2px; font-size: 12.5px; font-weight: 600; letter-spacing: .01em; line-height: 1.5; text-decoration: none; white-space: nowrap; transition: transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1); }
.foot__area:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px rgba(197,160,89,.28); }
.foot a:focus-visible{ outline: 2px solid #C5A059; outline-offset: 3px; }
@media (max-width: 980px){
  .foot__top, .foot__bottom{ flex-direction: column; justify-content: center; text-align: center; }
  .foot__legal{ justify-content: center; }
  .foot__area{ padding: 12px 22px; font-size: 13.5px; }
}
@media (max-width: 700px){
  .foot__pages{ gap: 0 26px; }
  .foot__pages a:not(.foot__in){ padding-block: 8px; }
  .foot__legal{ gap: 0 18px; }
  .foot__legal a{ padding-block: 8px; }
}
@media print{ .foot{ display: none; } }
